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.