Settime -
PetterAdriano - 07.10.2013
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", 5000, false);
Final do GM
PHP код:
forward salvarcontas(playerid);
public salvarcontas(playerid)
{
OnPlayerSave(playerid);
return 1;
}
Re: Settime -
TheKoDaK - 07.10.2013
Coloque:
pawn Код:
SetTimer("salvarcontas", 1000, 1);
Na Public:
Re: Settime -
Juniiro3 - 07.10.2013
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 );
}
Re: Settime -
PetterAdriano - 07.10.2013
Quote:
Originally Posted by TheKoDaK
Coloque:
pawn Код:
SetTimer("salvarcontas", 1000, 1);
Na Public:
|
Vlw funciono!
Re: Settime -
Juniiro3 - 07.10.2013
Quote:
Originally Posted by PetterAdriano
Vlw funciono!
|
Nгo vai funcionar. Tenho quase certeza.
Re: Settime -
TheKoDaK - 07.10.2013
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
Re: Settime -
Juniiro3 - 07.10.2013
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.
Re: Settime -
TheKoDaK - 07.10.2013
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 '-'
Re: Settime -
Juniiro3 - 07.10.2013
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.
Re: Settime -
Petrick™ - 07.10.2013
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.