[Ajuda] Settime
#1

Bom Pessoal criei esse settimer para salvar as contas dos jogadores a cada 1 segundo mais ele nгo funciona
Estou criando esse settime para quando o samp-server fechar as contas estiver salvas.


Na public OnPlayerConnect(playerid)
PHP код:
       SetTimer("salvarcontas"5000false); 
Final do GM
PHP код:
forward salvarcontas(playerid);
public 
salvarcontas(playerid)
{
    
OnPlayerSave(playerid);
    return 
1;

Reply
#2

Coloque:
pawn Код:
SetTimer("salvarcontas", 1000, 1);
Na Public:
pawn Код:
OnGameModeInit
Reply
#3

Nгo й necessбrio um SetTimer para salvar as contas no GMX, apesar de quando desligar o samp-server nгo passar pela OnPlayerDisconnect, passa pela OnGameModeExit

pawn Код:
public OnGameModeExit()
{
    for ( new i ; i < MAX_PLAYERS ; ++ i )
        if ( IsPlayerConnected ( i ) )
            OnPlayerSave ( i );    
}
Reply
#4

Quote:
Originally Posted by TheKoDaK
Посмотреть сообщение
Coloque:
pawn Код:
SetTimer("salvarcontas", 1000, 1);
Na Public:
pawn Код:
OnGameModeInit
Vlw funciono!
Reply
#5

Quote:
Originally Posted by PetterAdriano
Посмотреть сообщение
Vlw funciono!
Nгo vai funcionar. Tenho quase certeza.
Reply
#6

Quote:
Originally Posted by Juniiro3
Посмотреть сообщение
Nгo й necessбrio um SetTimer para salvar as contas no GMX, apesar de quando desligar o samp-server nгo passar pela OnPlayerDisconnect, passa pela OnGameModeExit

pawn Код:
public OnGameModeExit()
{
    for ( new i ; i < MAX_PLAYERS ; ++ i )
        if ( IsPlayerConnected ( i ) )
            OnPlayerSave ( i );    
}
Mais Janiiro3 ele quer e salve de 1 em 1 Segundo e nгo quando desconectar


@Ediit se ele disse que funcionou e porque ele testou e funcionou
Reply
#7

Quote:
Originally Posted by TheKoDaK
Посмотреть сообщение
Mais Janiiro3 ele quer e salve de 1 em 1 Segundo e nгo quando desconectar


@Ediit se ele disse que funcionou e porque ele testou e funcionou
"Estou criando esse settime para quando o samp-server fechar as contas estiver salvas."

O objetivo dele й que as contas sejam salvas quando o servidor for desligado, e ele provavelmente disse que funcionou porque compilou o GM , mas nгo vou ficar discorrendo sobre isso aqui, apenas acho que sua lуgica nгo estб correta.
Reply
#8

Quote:
Originally Posted by Juniiro3
Посмотреть сообщение
"Estou criando esse settime para quando o samp-server fechar as contas estiver salvas."

O objetivo dele й que as contas sejam salvas quando o servidor for desligado, e ele provavelmente disse que funcionou porque compilou o GM , mas nгo vou ficar discorrendo sobre isso aqui, apenas acho que sua lуgica nгo estб correta.
Eu testei e deu tudo certo aki... Pois tenho certeza que nгo tem nada de errado '-'
Reply
#9

Quote:
Originally Posted by TheKoDaK
Посмотреть сообщение
Eu testei e deu tudo certo aki... Pois tenho certeza que nгo tem nada de errado '-'
Vou tentar explicar com poucas palavras:

Esse cуdigo nгo apresenta nenhum erro de sintaxe. Mas o que й sintaxe?

Sintaxe й a escrita, isso estб correto:

pawn Код:
SendClientMessage ( playerid , Cor , Mensagem );
Mas isso nгo:

pawn Код:
SendclientMessage ( playerid , Cor , Mensagem );
Porque o 'c' estб minъsculo quando deveria ser maiъsculo. Entгo um erro de sintaxe й acusado pelo compilador, mas um erro de lуgica nгo. Esse cуdigo abaixo ira compilar, mas nгo irб funcionar

pawn Код:
//Supondo que vocк queria verificar se o veнculo ID 400 existe
if ( GetPlayerVehicleModel ( playerid ) == 400 )
    return 1;
Esse cуdigo acima irб compilar, porйm o resultado obtido nгo serб o desejado, pois a funзгo usada retorna o modelo do veнculo, e nгo seu ID.




Deu pra entender o que й um erro de lуgica?


Agora vou explicar porque esse cуdigo nгo estб correto. Um SetTimer a princнpio deve ser colocado na callback OnGameModeInit, atй aн a lуgica estб certa, e para que esse timer funcione й necessбrio uma public, atй aн perfeito. Mas vocк se esqueceu de um detalhe importante: parвmetros.

Para que esse timer tenha o resultado obtido, й necessбrio que ele tenha um parвmetro, que serб o ID do jogador que terб a conta salva, e isso deve ser declarado no timer, e para isso, deve ser usado um SetTimerEx.

pawn Код:
//OnPlayerConnect
SetTimerEx("Salvar" , 100 , true , "i" , playerid );

//Topo do GM
forward Salvar ( playerid );

//Fim do GM
public Salvar ( playerid )
{
    //Funзхes
}
Vendo o exemplo acima deve ter ficado mais claro o que eu quis dizer.


-----------------------------------------------------------------------------------------

Para resumir a explicaзгo acima, esse timer irб compilar, mas nгo irб funcionar, pois vocк estб usando um parвmetro nгo declarado no timer, porйm declarado no forward.
Reply
#10

Quote:
Originally Posted by Juniiro3
Посмотреть сообщение
Nгo й necessбrio um SetTimer para salvar as contas no GMX, apesar de quando desligar o samp-server nгo passar pela OnPlayerDisconnect, passa pela OnGameModeExit

pawn Код:
public OnGameModeExit()
{
    for ( new i ; i < MAX_PLAYERS ; ++ i )
        if ( IsPlayerConnected ( i ) )
            OnPlayerSave ( i );    
}
Note que se vocк digitar /Q e tiver a funзгo de salvar no OnPlayerDisconnect e ela nгo tiver com problemas, irб salvar, mas fechando o samp-server ele nгo salva mesmo, deve ser normal...

Imagina sу, vocк hospeda seu servidor na sua prуpria net e tem 50 players online, de repente vocк resolve fechar o samp-server, ele na mesma hora para de executar tudo, nгo irб salvar nenhuma conta!

Note que se vocк digitar /Q e tiver a funзгo de salvar no OnPlayerDisconnect e ela nгo tiver com problemas, irб salvar, mas fechando o samp-server ele nгo salva mesmo, deve ser normal...

Imagina sу, vocк hospeda seu servidor na sua prуpria net e tem 50 players online, de repente vocк resolve fechar o samp-server, ele na mesma hora para de executar tudo, nгo irб salvar nenhuma conta!

entгo eu fiz um timer repetindo de 1 segundo salvando as contas.

Estou falando do samp-server vocк colocou GMX no assunto do nada.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)