Page 2 of 3

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

Posted: 2011 Jul 22 14:45
by psychical
aaarnas wrote:Na naujausia versija gana neblogai padaryta rodos.
Kada išleista? Ir gal link galėtum?

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

Posted: 2011 Jul 22 15:35
by aaarnas

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

Posted: 2011 Jul 23 11:23
by psychical
Nu kad pagal mane ten jis dabar tik mažus bugus tetvarko...

P.S. Su turimu gunxp turiu problemą, kai keičiasi map neišsaugo arba kai jungiasi pasikeitus map neįkelia lvl, o palieka senajį koks buvo, gal yra minčiu kodėl taip galėtų būti? (Saugau pokolkas mysql)

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#" , PlayerLevel[id], PlayerXp[id]);                    nvault_set( g_Vault , szKey , szData );        }        else        {               static szQuery[ 128 ];             formatex( szQuery, 127, "REPLACE INTO `mytable` (`player_id`, `player_level`, `player_xp`) VALUES ('%s', '%d', '%d');", g_szAuthID[id] , PlayerLevel[id], PlayerXp[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#" , PlayerLevel[id], PlayerXp[id]);                    nvault_set( g_Vault , szKey , szData );        }        else        {            static szQuery[ 128 ];             formatex( szQuery, 127, "REPLACE INTO `mytable` (`player_id`, `player_level`, `player_xp`) VALUES ('%s', '%d', '%d');", g_szAuthIP[id] , PlayerLevel[id], PlayerXp[id]);            SQL_ThreadQuery( g_hTuple, "QuerySetData", szQuery);        }    }} LoadLevel(id){    if ( get_pcvar_num(savexp) )    {        if ( !get_pcvar_num(save_type) )        {            new szData[256];            new szKey[40];             formatex( szKey , 39 , "%s-ID" , g_szAuthID[id] );             formatex(szData , 255, "%i#%i#", PlayerLevel[id], PlayerXp[id])                         nvault_get(g_Vault, szKey, szData, 255)              replace_all(szData , 255, "#", " ")            new xp[32], level[32]            parse(szData, level, 31, xp, 31)             PlayerLevel[id] = str_to_num(level)            PlayerXp[id] = str_to_num(xp)          }        else        {            static szQuery[ 128 ], iData[ 1 ];             formatex( szQuery, 127, "SELECT `player_level`, `player_xp` FROM `mytable` WHERE ( `player_id` = '%s' );", g_szAuthID[id] );                  iData[ 0 ] = id;            SQL_ThreadQuery( g_hTuple, "QuerySelectData", szQuery, iData, 1 );        }    }    else    {        if ( !get_pcvar_num(save_type) )        {            new szData[256];            new szKey[40];             formatex( szKey , 39 , "%s-IP" , g_szAuthIP[id] );             formatex(szData , 255, "%i#%i#", PlayerLevel[id], PlayerXp[id])                         nvault_get(g_Vault, szKey, szData, 255)              replace_all(szData , 255, "#", " ")            new xp[32], level[32]            parse(szData, level, 31, xp, 31)             PlayerLevel[id] = str_to_num(level)            PlayerXp[id] = str_to_num(xp)          }        else        {            static szQuery[ 128 ], iData[ 1 ];             formatex( szQuery, 127, "SELECT `player_level`, `player_xp` FROM `mytable` WHERE ( `player_id` = '%s' );", g_szAuthIP[id] );                  iData[ 0 ] = id;            SQL_ThreadQuery( g_hTuple, "QuerySelectData", szQuery, iData, 1 );        }    }}public QuerySelectData( iFailState, Handle:hQuery, szError[ ], iError, iData[ ], iDataSize, Float:fQueueTime ) {     if( iFailState == TQUERY_CONNECT_FAILED     || iFailState == TQUERY_QUERY_FAILED )     {         log_amx( "%s", szError );                return;    }     else     {         new id = iData[ 0 ];                new ColLevel = SQL_FieldNameToNum(hQuery, "player_level")         new ColXp = SQL_FieldNameToNum(hQuery, "player_xp")                while (SQL_MoreResults(hQuery))         {            PlayerLevel[id] = SQL_ReadResult(hQuery, ColLevel);            PlayerXp[id] = SQL_ReadResult(hQuery, ColXp);                                SQL_NextRow(hQuery)        }    } }

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

Posted: 2011 Jul 23 12:31
by beast
REPLACE INTO yra daug lėtesnis atnaujinimo metodas nei UPDATE, nežinau ar tai padėtų, bet gali pabandyti persidaryti SaveLevel(id) su UPDATE.

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

Posted: 2011 Jul 23 13:03
by psychical

Code: Select all

formatex( szQuery, 127, "UPDATE `mytable` SET `player_level` = '%d', `player_xp` = '%d' WHERE `player_id` = '%s';",  PlayerLevel[id], PlayerXp[id], g_szAuthIP[id]);
Tai atrodytu kažkaip taip?

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

Posted: 2011 Jul 23 22:45
by aaarnas
Jis naudojo REPLACE INTO kad nueiti paprastesniu keliu. Jei naudoti UPDATE, reikia naujus įrašus dėti su INSERT INTO, nes UPDATE negali įdėti naujo įrašo.

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

Posted: 2011 Jul 23 22:59
by psychical
Tai taip gaunasi, kad reik tikrint ar issaugota ir poto jei yra irasas update, jei nera insert?

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

Posted: 2011 Jul 23 23:03
by morka
Insert sukuria eilute, o update atnaujina ta eilute ir visus duomenis kurie yra toje eiluteje.

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

Posted: 2011 Jul 23 23:18
by psychical
kropto wrote:Insert sukuria eilute, o update atnaujina ta eilute ir visus duomenis kurie yra toje eiluteje.
Tu galvoji as toks atsijupes? :D As klausiau visai ko kito, jei neisigilini i klausima, geriau nekomentuok :D

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

Posted: 2011 Jul 24 12:12
by morka
Tai kad tu pats i savo klausima atsakiai.

As nemanau kad tu toks, cia tu taip manai apie save.