SA-MP Forums Archive
[Ajuda] Й possivel? - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Й possivel? (/showthread.php?tid=636493)



Й possivel? - FabioGTP - 28.06.2017

й possivel fazer um comando que o player pode usar apenas uma vez no servidor? teria q fazer algum timer ou algo do tipo?


Re: Й possivel? - Maxwilson01 - 28.06.2017

Sim, vocк teria que criar uma variavel de controle pra quando ele usar ela mudar.

Ou vocк que vocк deseja que ele use apenas uma vez e nunca mais ?


Re: Й possivel? - FabioGTP - 28.06.2017

Quote:
Originally Posted by Maxwilson01
Посмотреть сообщение
Sim, vocк teria que criar uma variavel de controle pra quando ele usar ela mudar.

Ou vocк que vocк deseja que ele use apenas uma vez e nunca mais ?
Ele use apenas uma vez no servidor...


Re: Й possivel? - RazorGuigo - 28.06.2017

Quote:
Originally Posted by FabioGTP
Посмотреть сообщение
й possivel fazer um comando que o player pode usar apenas uma vez no servidor? teria q fazer algum timer ou algo do tipo?
Claro, й sу salvar em seu sistema de dados que o jogador jб executou o comando, e quando ele der o comando, verificar se ele jб fez isso alguma vez...


Re: Й possivel? - Maxwilson01 - 28.06.2017

Entendi, bom nesse caso vocк teria, quando player se registrar no servidor o gm criar campo no arquivo ou coluna se (for banco de dados) o valor muda quando ele usar comando.

Outra alternativa seria cria dois comandos um de liberar por um tempo, e o outro que player vai usar, quando admin liberar para player usar comando " x " ele sу vai conseguir usar por tempo quando terminar o tempo nгo poderб usar mais...


Re: Й possivel? - G4M30V3R - 28.06.2017

Se for para usar somente uma vez durante toda a execuзгo do servidor nгo precisa trabalhar com tempo, apenas uma variбvel.
Se caso a ideia seja liberar o comando depois de um tempo, pode-se trabalhar com gettime() ou GetTickCount(). Mas lembre-se que nгo hб necessidade de timer!


Re: Й possivel? - rolex - 28.06.2017

Vocк terб que criar uma variбvel que seja salva FORA do gamemode e que quando o gamemode iniciar carregue ela, Ex:
PHP код:
new COMANDO_X[MAX_PLAYERS]; // <- variбvel de verificaзгo unica para cada jogador. 
E o seu comando caso use SSCANF poderб ser algo semelhante а isso:
PHP код:
CMD:X(playeridparams[])
{
    if(
COMANDO_X[playerid] == 1) return SendClientMessage(playerid, -1"Vocк nгo pode mais usar este comando!");
    
COMANDO_X[playerid] = 1;
    
SendClientMessage(playerid, -1"Vocк agora executou o comando X! Nunca mais poderб usa-lo.");
    return 
1;




Re: Й possivel? - G4M30V3R - 28.06.2017

Quote:
Originally Posted by rolex
Посмотреть сообщение
Vocк terб que criar uma variбvel que seja salva FORA do gamemode e que quando o gamemode iniciar carregue ela, Ex:
PHP код:
new COMANDO_X[MAX_PLAYERS]; // <- variбvel de verificaзгo unica para cada jogador. 
E o seu comando caso use SSCANF poderб ser algo semelhante а isso:
PHP код:
CMD:X(playeridparams[])
{
    if(
COMANDO_X[playerid] == 1) return SendClientMessage(playerid, -1"Vocк nгo pode mais usar este comando!");
    
COMANDO_X[playerid] = 1;
    
SendClientMessage(playerid, -1"Vocк agora executou o comando X! Nunca mais poderб usa-lo.");
    return 
1;

FORA das funзхes. Uma variбvel global, o correto.
E nesse caso nгo precisa de sscanf e nem parвmetros...


Re: Й possivel? - rolex - 28.06.2017

Nгo sу fora das funзхes como FORA tambйm do gamemode, se variбvel nгo for salva fora do gamemode quando iniciar novamente vai estar setada como 0 podendo o jogador executar o comando novamente.


Re: Й possivel? - FabioGTP - 28.06.2017

Quote:
Originally Posted by rolex
Посмотреть сообщение
Vocк terб que criar uma variбvel que seja salva FORA do gamemode e que quando o gamemode iniciar carregue ela, Ex:
PHP код:
new COMANDO_X[MAX_PLAYERS]; // <- variбvel de verificaзгo unica para cada jogador. 
E o seu comando caso use SSCANF poderб ser algo semelhante а isso:
PHP код:
CMD:X(playeridparams[])
{
    if(
COMANDO_X[playerid] == 1) return SendClientMessage(playerid, -1"Vocк nгo pode mais usar este comando!");
    
COMANDO_X[playerid] = 1;
    
SendClientMessage(playerid, -1"Vocк agora executou o comando X! Nunca mais poderб usa-lo.");
    return 
1;

isso que eu quero saber, mais como eu vou fazer uma variбvel fora do gm?