Klausimėlis tam, kuris apie tai ką nors žino...

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
User avatar
psychical
Viršininkas
Posts: 2094
Joined: 2011 Mar 12 22:19
Skype: tautvydas11
Location: Linksmakalnis
Contact:

Re: Klausimėlis tam, kuris apie tai ką nors žino...

Post by psychical »

kropto wrote:Tai kad tu pats i savo klausima atsakiai.

As nemanau kad tu toks, cia tu taip manai apie save.
Gerai, nebandysiu aš čia dabar tau lipt per galva ir vaidint PRO kadangi toks nesu ir niekados nebūsiu ;) Praeitu postu pasakiau tai, kad tu tiesiog neįsiskaitei į mano užpraeitą postą.

P.S. Tiems kas žino:

tai mano MYSQLx_Init ir SaveLevel turėtų atrodyti taip:

Code: Select all

public MySQLx_Init(){    if ( !get_pcvar_num(p_Enabled) || !get_pcvar_num(save_type) )        return;        new szHost[64], szUser[32], szPass[32], szDB[128];        get_pcvar_string( mysqlx_host, szHost, charsmax( szHost ) );    get_pcvar_string( mysqlx_user, szUser, charsmax( szUser ) );    get_pcvar_string( mysqlx_pass, szPass, charsmax( szPass ) );    get_pcvar_string( mysqlx_db, szDB, charsmax( szDB ) );        g_hTuple = SQL_MakeDbTuple( szHost, szUser, szPass, szDB );        new Error[512], ErrorCode    SqlConnection = SQL_Connect(g_hTuple, ErrorCode, Error, charsmax(Error))        if(SqlConnection == Empty_Handle)        log_amx(Error)        for ( new i = 0; i < sizeof szTables; i++ )    {        SQL_ThreadQuery( g_hTuple, "QueryCreateTable", szTables[i])    }}

Code: Select all

SaveLevel(id){     if ( get_pcvar_num(savexp) )    {        if ( !get_pcvar_num(save_type) )        {            new szData[256];            new szKey[64];                        formatex( szKey , 63 , "%s-ID" , g_szAuthID[id]);            formatex( szData , 255 , "%i#%i#%i#" , PlayerLevel[id], PlayerXp[id], PlayerPrestige[id]);                    nvault_set( g_Vault , szKey , szData );        }        else        {            new Handle:Query = SQL_PrepareQuery(SqlConnection,"SELECT * FROM `mytable` WHERE `player_id` = '%s'", g_szAuthID[id]);                        new total_rows            if(SQL_Execute(Query))                total_rows = SQL_NumResults(Query);                            if(total_rows)            {                static szQuery[ 128 ];                 formatex( szQuery, 127, "UPDATE `mytable` SET `player_level` = '%d', `player_xp` = '%d', `player_prestige` = '%d' WHERE `player_id` = '%s';", PlayerLevel[id], PlayerXp[id], PlayerPrestige[id], g_szAuthID[id]);                SQL_ThreadQuery( g_hTuple, "QuerySetData", szQuery);            }            else            {                static szQuery[ 128 ];                 formatex( szQuery, 127, "INSERT INTO `mytable` VALUES '%s', '%d', '%d', '%d';", g_szAuthID[id], PlayerLevel[id], PlayerXp[id], PlayerPrestige[id]);                SQL_ThreadQuery( g_hTuple, "QuerySetData", szQuery);            }        }    }    else    {        if ( !get_pcvar_num(save_type) )        {            new szData[256];            new szKey[64];                        formatex( szKey , 63 , "%s-IP" , g_szAuthIP[id] );            formatex( szData , 255 , "%i#%i#%i#" , PlayerLevel[id], PlayerXp[id], PlayerPrestige[id]);                    nvault_set( g_Vault , szKey , szData );        }        else        {            new Handle:Query = SQL_PrepareQuery(SqlConnection,"SELECT * FROM `mytable` WHERE `player_id` = '%s'", g_szAuthIP[id]);                        new total_rows            if(SQL_Execute(Query))                total_rows = SQL_NumResults(Query);                            if(total_rows)            {                static szQuery[ 128 ];                 formatex( szQuery, 127, "UPDATE `mytable` SET `player_level` = '%d', `player_xp` = '%d', `player_prestige` = %d WHERE `player_id` = '%s';", PlayerLevel[id], PlayerXp[id], PlayerPrestige[id], g_szAuthIP[id]);                SQL_ThreadQuery( g_hTuple, "QuerySetData", szQuery);            }            else            {                static szQuery[ 128 ];                 formatex( szQuery, 127, "INSERT INTO `mytable` VALUES '%s', '%d', '%d', %d;", g_szAuthIP[id], PlayerLevel[id], PlayerXp[id], PlayerPrestige[id]);                SQL_ThreadQuery( g_hTuple, "QuerySetData", szQuery);            }        }    }}
?

Jei yra klaidų, būtų ne pro šal jas žinoti :/
Last edited by psychical on 2011 Jul 24 13:32, edited 1 time in total.

User avatar
aurimasko
Flooderis arba specialistas
Posts: 736
Joined: 2010 Sep 04 08:45

Re: Klausimėlis tam, kuris apie tai ką nors žino...

Post by aurimasko »

Code: Select all

 INSERT INTO `mytable` (`player_level`, `player_xp`, `player_prestige`, `player_id`) VALUES ('%d', '%d', '%d', '%s')", PlayerLevel[id], PlayerXp[id], PlayerPrestige[id], g_szAuthID[id]) 
kažkas panašaus..

Beto nežinau ar reikia, bet:

Code: Select all

 if(total_rows > 0) 

User avatar
psychical
Viršininkas
Posts: 2094
Joined: 2011 Mar 12 22:19
Skype: tautvydas11
Location: Linksmakalnis
Contact:

Re: Klausimėlis tam, kuris apie tai ką nors žino...

Post by psychical »

Pirmasis tavo INSERT yra bet kurios kalbos variantas tuo atveju, jeigu tu bent 1 dalyką nori praleisti T.Y. Lentele: vardas, pavarde, amzius, PVZ.: tu nori irasyti tik vardas, amzius, taip, naudojam tavo su (), o jei nori irasyti vardas,pavarde,amzius gali naudoti ir be (), tiesgio rasydamas values ir viskas.

Antrasis pastebėjimas geras, tačiau pas mane total_rows kas bebūtų bus tik 1 arba 0, todėl jokio skirtumo, rašant į if'a tik kintamajį jis pasirinks visus skaičius išskyrus 0. T.Y. Pasiims: 1, -1, 2, -2. Neims 0, jei parasysi "total_rows > 0" jis ims tik sveikus skaičius.

Post Reply

Who is online

Users browsing this forum: No registered users and 2 guests