Re: [ Dъvidas Curtas ] -
[R] ousenber [K] - 28.03.2012
Nй ...
Aqui uma duvida
Qual melhor opзгo?
PHP код:
CMD:gritar(playerid, params[])
{
if(GetTickCount() - TimeGrito[playerid] < 5000) return SendClientMessage(playerid, -1, "[Erro]: Espere 5 segundos para recuperar o folego.");
if(isnull(params)) return SendClientMessage(playerid, Cinza, "Correto: /gritar <Texto> ");
format(stryng, 128, "%s grita: %s", GetPlayerNameEx(playerid), params);
IsPlayerInRangeForMessage(playerid, 20.0, -1, stryng);
TimeGrito[playerid] = GetTickCount();
return true;
}
CMD:gritar(playerid, params[])
{
if(TimeGrito[playerid] == true) return SendClientMessage(playerid, -1, "[Erro]: Espere 5 segundos para recuperar o folego.");
if(isnull(params)) return SendClientMessage(playerid, Cinza, "Correto: /gritar <Texto> ");
format(stryng, 128, "%s grita: %s", GetPlayerNameEx(playerid), params);
IsPlayerInRangeForMessage(playerid, 20.0, -1, stryng);
TimeGrito[playerid] = true;
SetTimerEx("ReuseTime", 5000, false, "i", playerid);
return true;
}
forward ReuseTime(playerid);
public ReuseTime(playerid)
return TimeGrito[playerid] = false;
Ou tanto faz?
E se eu for fazer varios comandos assim, й melhor usar Timer ou TickCount?
Master of Doubts
Re: [ Dъvidas Curtas ] -
Kmatsu - 28.03.2012
GetTickCount na minha opniao й melhor.
Porem nao lembro onde eu li, se o servidor tiver ligado mais de 24dias sem parar, o sistema com GetTickCount buga...
Re: [ Dъvidas Curtas ] -
Lucas_Alemao - 28.03.2012
Quote:
Originally Posted by Kmatsu
GetTickCount na minha opniao й melhor.
Porem nao lembro onde eu li, se o servidor tiver ligado mais de 24dias sem parar, o sistema com GetTickCount buga...
|
deve ter visto na Wiki Samp
https://sampwiki.blast.hk/wiki/GetTickCount
Re: [ Dъvidas Curtas ] -
Rick_DR - 17.06.2012
Ola de novo! Estou a precisar de fazer um comando para dar um valor ao jogador, mas nao sei como fazer isso, nunca estudei esses comandos.
Ou seja queria saber fazer o seguinte /darmoderador [id] [nivel]
Ate agora tinha o comando de /dar moderador sу
pawn Код:
if(strcmp(cmd, "/darmoderador", true) == 0)
{
new tmp[128];
tmp = strtok(cmdtext, idx);
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFFFFFFFF,"Comando reservado apenas para Administradores");
if(strlen(tmp) == 0) return SendClientMessage(playerid, 0xFFFFFFFF, "Uso do Comando: /darmoderador ID");
if(!IsPlayerConnected(strval(tmp))) return SendClientMessage(playerid, 0xFFFFFFFF, "Jogador invalido");
Moderadores[strval(tmp)] = 1;
SendClientMessage(strval(tmp), 0xFFFFFFFF, "{FF0000}Aviso:{A0D197} Agora es moderador do Patos-Tugas {FF0000}/moderador!");
SendClientMessage(playerid, TEAM_COMERCIO_COLOR, "{FF0000}Aviso:{A0D197} Desde moderaзгo a um jogador!");
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid,pName,sizeof(pName));
new pName1[MAX_PLAYER_NAME];
GetPlayerName(strval(tmp),pName1,sizeof(pName1));
new string[248];
format(string,sizeof(string),"{FFB01F}O administrador/a{FFEA00} %s{FFB01F} colocou o{FFEA00} %s como moderador!",pName,pName1);
SendClientMessageToAll(TEAM_COMERCIO_COLOR, string);
DOF2_SetInt("Nivel/moderadores.ini",PlayerName(strval(tmp)),Moderadores[strval(tmp)]);
DOF2_SaveFile();
return 1;
}
Re: [ Dъvidas Curtas ] -
Kon_BR - 17.06.2012
Pessoal, como eu posso criar um comando diferente usando strtok, por exemplo : " /Iniciar [ Teste ] ", no lugar de [ Teste ] seria onde eu ira colocar o " id " do teste que eu defini, e no lugar de [ Teste ] eu nгo possa colocar nenhuma outra coisa a nгo ser os ids dos mesmo ...
Por exemplo :
Uma lista dos testes :
Teste1
Teste2
Teste3
Agora no comando " /Iniciar " eu sу possa colocar um desses ids ...
Assim :
/Iniciar Teste1, ou /Iniciar Teste2, ou /Iniciar Teste3 ...
e caso eu coloque por exemplo : " /Iniciar Batata ", nгo funcionar o comando, e retornaria uma msg avisando que esse " id " nгo й valido ....
Agradeзo desde jб, quem entender e me ajudar rs
Re: [ Dъvidas Curtas ] -
ReDKiiL - 17.06.2012
ae pessoal como faзo para aparecer enveiz de 1000 na vida do veiculo aparecer apenas 100 ?
Re: [ Dъvidas Curtas ] -
EditPawn - 17.06.2012
Quote:
Originally Posted by ReDKiiL
ae pessoal como faзo para aparecer enveiz de 1000 na vida do veiculo aparecer apenas 100 ?
|
Divide por 10 na format, acho que й isso '-'
Exemplo:
pawn Код:
new Vehicle;
SetVehicleHealth(Vehicle, 850);
new Float:health, s[10];
GetVehicleHealth(Vehicle, health);
format(s, sizeof(s), "%d", health/10);
SendClientMessage(playerid, -1, s);
Re: [ Dъvidas Curtas ] -
ReDKiiL - 17.06.2012
Vlw mano edit <3 rep para ti
Re: [ Dъvidas Curtas ] -
EditPawn - 17.06.2012
Quote:
Originally Posted by ReDKiiL
Vlw mano edit <3 rep para ti
|
haha

De nada '-'
Re: [ Dъvidas Curtas ] -
ReDKiiL - 17.06.2012
Me ajuda com essa ae tambem rsrs como coloco o simbolo de "%" no textdraw ? kkkk noob -q
Re: [ Dъvidas Curtas ] -
EditPawn - 17.06.2012
Quote:
Originally Posted by ReDKiiL
Me ajuda com essa ae tambem rsrs como coloco o simbolo de "%" no textdraw ? kkkk noob -q
|
TextDrawSetString
https://sampwiki.blast.hk/wiki/TextDrawSetString
Re: [ Dъvidas Curtas ] -
ReDKiiL - 17.06.2012
Isso jб sei mano mais quando coloco % nao da ceerto -q
pawn Код:
format(fcime, sizeof(fcime),"~y~KM/H:~w~%02d~n~~y~STATUS:~w~%d~y~%",GetPlayerSpeed(playerid),floatround(VHEAL/10,floatround_round));
TextDrawSetString(Cime[playerid],fcime);
Olha como fica meus textdraw
Re: [ Dъvidas Curtas ] -
EditPawn - 17.06.2012
TextDrawShowForPlayer apуs TextDrawSetString
tenta ae
Re: [ Dъvidas Curtas ] -
CidadeNovaRP - 04.07.2012
Quote:
Originally Posted by F_Cinco
Bom, estou com esses Anims aq, da categoria "Smoke", sу q quando digito: /smoke 2 por ex. retorna o sendclientmessage.
cmd:
pawn Код:
CMD:smoke(playerid,params[]) { new IDanims; if(sscanf(params, "u", IDanims)) return SCM(playerid, 0xEFEFF7AA, "|USO| /smoke [1~4]");
switch(IDanims + 28) { case 0: ApplyAnimation(playerid, "SMOKING", "M_smklean_loop", 4.0, 1, 0, 0, 0, 0); case 1: ApplyAnimation(playerid, "SMOKING", "F_smklean_loop", 4.0, 1, 0, 0, 0, 0); case 2: ApplyAnimation(playerid, "SMOKING", "M_smkstnd_loop", 4.0, 1, 0, 0, 0, 0); case 3: ApplyAnimation(playerid, "SMOKING", "M_smk_out", 4.0, 1, 0, 0, 0, 0); default: SCM(playerid, 0xEFEFF7AA, "|USO| /smoke [1~4]"); } return 1; }
:S
|
pawn Код:
CMD:smoke(playerid,params[])
{
new IDanims;
if(sscanf(params, "i", IDanims)) return SCM(playerid, 0xEFEFF7AA, "|USO| /smoke [1~4]");
if(IDanims == 1)
ApplyAnimation(playerid, "SMOKING", "M_smklean_loop", 4.0, 1, 0, 0, 0, 0);
else if(IDanims == 2)
ApplyAnimation(playerid, "SMOKING", "F_smklean_loop", 4.0, 1, 0, 0, 0, 0);
else if(IDanims == 3)
ApplyAnimation(playerid, "SMOKING", "M_smkstnd_loop", 4.0, 1, 0, 0, 0, 0);
else if(IDanims == 4)
ApplyAnimation(playerid, "SMOKING", "M_smk_out", 4.0, 1, 0, 0, 0, 0);
else
SCM(playerid, 0xEFEFF7AA, "|USO| /smoke [1~4]");
return 1;
}
Cara, eu te cutuco toda hora kkk
Re: [ Dъvidas Curtas ] -
F_Cinco - 04.07.2012
Quote:
Originally Posted by CidadeNovaRP
pawn Код:
CMD:smoke(playerid,params[]) { new IDanims; if(sscanf(params, "i", IDanims)) return SCM(playerid, 0xEFEFF7AA, "|USO| /smoke [1~4]"); if(IDanims == 1) ApplyAnimation(playerid, "SMOKING", "M_smklean_loop", 4.0, 1, 0, 0, 0, 0); else if(IDanims == 2) ApplyAnimation(playerid, "SMOKING", "F_smklean_loop", 4.0, 1, 0, 0, 0, 0); else if(IDanims == 3) ApplyAnimation(playerid, "SMOKING", "M_smkstnd_loop", 4.0, 1, 0, 0, 0, 0); else if(IDanims == 4) ApplyAnimation(playerid, "SMOKING", "M_smk_out", 4.0, 1, 0, 0, 0, 0); else SCM(playerid, 0xEFEFF7AA, "|USO| /smoke [1~4]"); return 1; }
Cara, eu te cutuco toda hora kkk
|
kk, num sei dessa "cutucadas" n, hein

, zoa..
Cara, comeзei pawn a uns 3~4 mкses atrбs, +/- por aн, tenha calma, estou aprendendo devagarzinho.

eu tinha colocado atй "i", n sei pq troquei LoL, kk
Re: [ Dъvidas Curtas ] -
leonardo1434 - 04.07.2012
O cуdigo deveria ser assim, jб que caso ele digita um numero diferente de 1~4 retorna a mensagem. ao invйs do outro, que estб sendo atribuнdo caso seja diferente de 4. tambйm poderia usar apenas if's.
pawn Код:
CMD:smoke(playerid,params[])
{
new IDanims;
if(sscanf(params, "i", IDanims)) return SCM(playerid, 0xEFEFF7AA, "|USO| /smoke [1~4]");
if(IDanims < 1 IDanims > 4) return SCM(playerid, 0xEFEFF7AA, "|USO| /smoke [1~4]");
if(IDanims == 1)
ApplyAnimation(playerid, "SMOKING", "M_smklean_loop", 4.0, 1, 0, 0, 0, 0);
else if(IDanims == 2)
ApplyAnimation(playerid, "SMOKING", "F_smklean_loop", 4.0, 1, 0, 0, 0, 0);
else if(IDanims == 3)
ApplyAnimation(playerid, "SMOKING", "M_smkstnd_loop", 4.0, 1, 0, 0, 0, 0);
else if(IDanims == 4)
ApplyAnimation(playerid, "SMOKING", "M_smk_out", 4.0, 1, 0, 0, 0, 0);
return 1;
}
Re: [ Dъvidas Curtas ] -
F_Cinco - 04.07.2012
Quote:
Originally Posted by leonardo1434
O cуdigo deveria ser assim, jб que caso ele digita um numero diferente de 1~4 retorna a mensagem. ao invйs do outro, que estб sendo atribuнdo caso seja diferente de 4. tambйm poderia usar apenas if's.
pawn Код:
CMD:smoke(playerid,params[]) { new IDanims; if(sscanf(params, "i", IDanims)) return SCM(playerid, 0xEFEFF7AA, "|USO| /smoke [1~4]"); if(IDanims < 1 IDanims > 4) return SCM(playerid, 0xEFEFF7AA, "|USO| /smoke [1~4]"); if(IDanims == 1) ApplyAnimation(playerid, "SMOKING", "M_smklean_loop", 4.0, 1, 0, 0, 0, 0); else if(IDanims == 2) ApplyAnimation(playerid, "SMOKING", "F_smklean_loop", 4.0, 1, 0, 0, 0, 0); else if(IDanims == 3) ApplyAnimation(playerid, "SMOKING", "M_smkstnd_loop", 4.0, 1, 0, 0, 0, 0); else if(IDanims == 4) ApplyAnimation(playerid, "SMOKING", "M_smk_out", 4.0, 1, 0, 0, 0, 0); return 1; }
|
Vai da tudo no msm, porйm, dessa maneira o cmd se torna mais eficaz.
Re: [ Dъvidas Curtas ] -
F_Cinco - 04.07.2012
Fiz uma funзгozinha quando o player entrar em um veнculo e se tiver afim, ouvir uma mъsica, etc. Porйm as funзхes:
pawn Код:
PlayAudioStreamForPlayer
StopAudioStreamForPlayer
pedem para serem definidas, mais ao definir com 2 news, da vбrios erros. :S
Re: [ Dъvidas Curtas ] -
BreakDriFT - 04.07.2012
E so atualizar suas Includes !
Re: [ Dъvidas Curtas ] -
F_Cinco - 04.07.2012
Quote:
Originally Posted by BreakDriFT
E so atualizar suas Includes !
|
Quais includes contйm essas funзхes?