[Ajuda] Tapete de prego para policias. - 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] Tapete de prego para policias. (
/showthread.php?tid=371905)
Tapete de prego para policias. -
davi54723 - 24.08.2012
Eu tenho um tapete de prego aqui, e quero deixa apenas para policias.
Olhem o meu "TEAM":
Код:
#define TEAM_COP 1
#define TEAM_ARMY 2
#define TEAM_MEDIC 3
#define TEAM_CARFIX 4
#define TEAM_CIA 5
#define TEAM_DRIVER 6
#define TEAM_BISTRO 7
#define TEAM_JAILTK 8
#define TEAM_PVTMED 9
#define TEAM_CIVIL 10
#define TEAM_GASDEL 11
#define TEAM_DRGDEL 12
#define TEAM_HITMAN 13
#define TEAM_GUNDEL 14
#define TEAM_SNITCH 15
#define TEAM_RAPIST 16
#define TEAM_BOUNTY 17
#define TEAM_KIDNAP 18
#define TEAM_DJUNKIE 19
#define TEAM_THIEF 20
#define TEAM_PIMP 21
#define TEAM_PILOT 22
#define TEAM_SMUG 23
#define TEAM_TERRO 24
#define TEAM_CARJACK 25
#define TEAM_FIRE 26
#define TEAM_EGG 27
E o meu [FS] do tapete:
Код:
#include <a_samp>
#include <SpikeStrip>
strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[20];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256];
new idx;
cmd = strtok(cmdtext, idx);
if (strcmp(cmd,"/ctapete",true) == 0)
{
new Float:plocx,Float:plocy,Float:plocz,Float:ploca;
GetPlayerPos(playerid, plocx, plocy, plocz);
GetPlayerFacingAngle(playerid,ploca);
CreateStrip(plocx,plocy,plocz,ploca);
return 1;
}
else if (strcmp(cmd,"/rtapete",true) == 0)
{
DeleteClosestStrip(playerid);
return 1;
}
else if (strcmp(cmd,"/removerall",true) == 0)
{
DeleteAllStrip();
return 1;
}
return 0;
}
Quem puder me ajudar agradeзo.
Re: Tapete de prego para policias. -
steeldark - 24.08.2012
Axo que seria isso:
pawn Код:
if (strcmp(cmd,"/ctapete",true) == 0)
{
if(GetPlayerTeam(playerid) != TEAM_COP && GetPlayerTeam(playerid) != TEAM_CIA) return SendClientMessage(playerid,-1, "Somente policiais podem usar este comando");
new Float:plocx,Float:plocy,Float:plocz,Float:ploca;
GetPlayerPos(playerid, plocx, plocy, plocz);
GetPlayerFacingAngle(playerid,ploca);
CreateStrip(plocx,plocy,plocz,ploca);
return 1;
}
if (strcmp(cmd,"/rtapete",true) == 0)
{
if(GetPlayerTeam(playerid) != TEAM_COP && GetPlayerTeam(playerid) != TEAM_CIA) return SendClientMessage(playerid,-1, "Somente policiais podem usar este comando");
DeleteClosestStrip(playerid);
return 1;
}
if (strcmp(cmd,"/removerall",true) == 0)
{
if(GetPlayerTeam(playerid) != TEAM_COP && GetPlayerTeam(playerid) != TEAM_CIA) return SendClientMessage(playerid,-1, "Somente policiais podem usar este comando");
DeleteAllStrip();
return 1;
}
presumindo que vc use SetPlayerTeam, para definir as orgs..
Re: Tapete de prego para policias. -
Delay - 25.08.2012
Topo..
pawn Код:
dcmd(ctapete,7,cmdtext); //7 letras
dcmd(removerall,10,cmdtext); //10 letras
Finale
pawn Код:
dcmd_ctapete(playerid,params[])
{
#pragma unused params //nгo necessita params, porem deixei e anulei.
if(gTeam[playerid] != TEAM_COP && gTeam[playerid] != TEAM_ARMY && gTeam[playerid] != TEAM_CIA) //defini a org que usara o cmd
{
SendClientMessage(playerid, COLOR_WHITE, "Vocк nгo й um Policial."); //msg que vai enviar caso n for uma das orgs definidas
return 1;
}
new Float:plocx,Float:plocy,Float:plocz,Float:ploca; (inc.)
GetPlayerPos(playerid, plocx, plocy, plocz); (include..)
GetPlayerFacingAngle(playerid,ploca); (angulo include)
CreateStrip(plocx,plocy,plocz,ploca); //criaзгo do tapete (feita na include)
return 1;
}
pawn Код:
dcmd_removerall(playerid,params[])
{
#pragma unused params
if(gTeam[playerid] != TEAM_COP && gTeam[playerid] != TEAM_ARMY && gTeam[playerid] != TEAM_CIA)
{
SendClientMessage(playerid, COLOR_WHITE, "Vocк nгo й um Policial.");
return 1;
}
else
{
DeleteAllStrip();
return 1;
}
}
Repare que em no primeiro fiz direto, no segundo usei
Else por curiosidade, nao sei qual foi a diferenзa porem funcionou.

abrass