[Ajuda] Salvar Minutos / Segundos SQLite
#1

Entгo pessoal, to com um probleminha, nгo era pra estar porque jб tentei de tudo e essa budega nгo pega. Enfim, To fazendo um fucking reloginho de UP, atй ai ele ta funcionando de boas, sу que tem um problema, o SQLite geta o valor que ta na DB, ele coloca no textdraw, mas o principal que й salvar ele nгo salva.

Cуdigo do UP:

PHP код:
new XP[MAX_PLAYERS], MinutosU[MAX_PLAYERS], SegundosU[MAX_PLAYERS];
forward Upar(playerid);
public 
Upar(playerid)
{
    new 
str[256], Query[80], nameMAX_PLAYER_NAME ];
    
GetPlayerName(playeridnamesizeof(name));
    
SegundosU[playerid] --;
    
format(strsizeof(str), "~r~+UP:~w~ %02i:%02i"MinutosU[playerid], SegundosU[playerid]);
    
PlayerTextDrawSetString(playeridHUD[9][playerid], str);
    if(
SegundosU[playerid] <= 0)
    {
        
MinutosU[playerid] --;
        
SegundosU[playerid] = 60;
        if(
MinutosU[playerid] <= 0)
        {
            
XP[playerid] ++;
            
format(strsizeof(str), "| EXP | Vocк ganhou +1 ponto de Experiкncia [ %i / 6 ]"XP[playerid]);
            
SendClientMessage(playeridC_INFOstr);
            
PlayerPlaySound(playerid,1139,0.0,0.0,0.0), GameTextForPlayer(playerid,"+EXP",5000,6);
            if(
XP[playerid] == 6)
            {
                new 
Nivel GetPlayerScore(playerid);
                
SetPlayerScore(playerid,Nivel+1);
                
XP[playerid] = 0;
                
format(strsizeof(str), "| LEVEL UP | Vocк juntou 6/6 pontos de Experiкncia e upou para o Nivel %i", ++Nivel);
                
SendClientMessage(playeridC_INFOstr);
                
PlayerPlaySound(playerid,1149,0.0,0.0,0.0), GameTextForPlayer(playerid,"UP!",5000,6);
                
MinutosU[playerid] = 9;
                return 
false;
            }
            
MinutosU[playerid] = 9;
            
format(Query,sizeof(Query),"UPDATE `USERS` SET MINUTOS = '%i', SEGUNDOS = '%i' WHERE `NICK` = '%s' COLLATE NOCASE"MinutosU[playerid], SegundosU[playerid], DB_Escape(name));
             
db_query(DatabaseQuery);
             
printf("%i %i"MinutosU[playerid], SegundosU[playerid]);
        }
    }
    return 
true;

Caso seja necessбrio o OnPlayerDisconnect:

PHP код:
public OnPlayerDisconnect(playeridreason)
{
    new 
Query256 ], nameMAX_PLAYER_NAME ];
    
GetPlayerName(playeridnamesizeof(name));
    if(
Bit1_Get(p_Logadoplayerid) == 1)
    {
         
GetPlayerPos(playeridXYZ);
         
GetPlayerHealth(playeridVida);
         
        
format(Query,sizeof(Query),"UPDATE `USERS` SET LEVEL = '%d', EXP = '%i', DINHEIRO = '%d', ADMINLEVEL = '%d', SKIN = '%d', GASOLINA = '%d', DIESEL = '%d', `POSX` = %f, `POSY` = %f, `POSZ` = %f, `VIDA` = %f WHERE NICK = '%s' COLLATE NOCASE",GetPlayerScore(playerid),XP[playerid],GetPlayerReal[playerid],Bit16_Get(p_Adminplayerid),GetPlayerSkin(playerid), GetPlayerGasolina[playerid], GetPlayerDiesel[playerid],X,Y,Z,Vida,DB_Escape(name));
        
db_query(DatabaseQuery);
        
printf("%i %i"MinutosU[playerid], SegundosU[playerid]);
        
Bit1_Set(p_Logadoplayeridfalse);
    }
    return 
1;

OBS: eu botei pra salvar no UP para testar, porque no onplayerdisconnect parava o SAMP por exceder os caracteres creio eu, entгo eu fiz um UPDATE abaixo e tambйm nгo resultou, fiz um printf pra ver se os valores estavam certos e estгo certos, eles puxam os valores certos, mas nгo salvam, poderiam me dar essa forcinha ?
Reply
#2

@Resolvido

Caso alguйm queira saber como resolvi:

Era sу remover o COLLATE NOCASE que o cуdigo funcionava, agora jб estб salvando perfeitamente.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)