I need a little help! I found a good job system but it's bugged for ID 0..
Код:
#include <a_samp>
#define BLANCO 0xFFFFFFFF
#define NEGRO 0x000000FF
#define ROJO 0xFF0000FF
#define AZUL 0x0000FFFF
#define VERDE 0x00FF00FF
#define VERDEO 0x008000FF
#define NARANJO 0xFF8000FF
#define AMARILLO 0xFFFF00FF
#define GRIS 0xFF0000AA
#define ROJOO 0x800000FF
#define CELESTE 0x00FFFFFF
#define NEGROA 0x000000BE
#define MORADO 0xFF0080FF
//----------------------
#define CIVILES 1
#define PACOS 2
#define CAOS 3
#define MEDICOS 4
//------------------
static gTeam[MAX_PLAYERS];
new gPlayerClass[MAX_PLAYERS];
new Tickeado[MAX_PLAYERS];
new Encarcelado[MAX_PLAYERS];
new Paco;
new Medico1[MAX_PLAYERS];
new Medico2;
new string5[250];
//Forwards
forward SetPlayerTeamFromClass(playerid,classid);
forward SetPlayerToTeamColor(playerid);
forward Ticket(ID);
forward Carcel(ID);
new params[128];
if(strcmp(cmdtext, "/tk", true) == 0)
{
new ID = strval(params);
if(gTeam[playerid] == PACOS && IsPlayerNearPlayer(playerid,ID,3) && Tickeado[ID] == 0 && gTeam[ID] != PACOS)
{
if(GetPlayerWantedLevel(ID) == 1)
{
format(string5,sizeof(string5),"%s kiszabott neked 250$ bьntetйst! Fizesd ki a /pay paranccsal!!",Nombre(playerid));
SendClientMessage(ID,AZUL,string5);
GameTextForPlayer(playerid,"~w~fizesd ki a 250$ ~r~buntetest!~n~~y~/pay",3000,3);
Tickeado[ID] = 1;
Paco = playerid;
EnviarMensajeAPacos(AZUL,"Bьntetйs:._______________________________________");
format(string5,sizeof(string5),"Bűnцs: %s [%d] Rendőr: %s [%d]",Nombre(ID),ID,Nombre(playerid),playerid);
EnviarMensajeAPacos(AZUL,string5);
EnviarMensajeAPacos(AZUL,"Bьntetйs: 250$ | OK: Kцrцzйsi Szint = 1");
EnviarMensajeAPacos(AZUL,"____________________________________________________");
SetTimerEx("Ticket",60000,0,"i",ID);
}
if(GetPlayerWantedLevel(ID) == 2)
{
format(string5,sizeof(string5),"%s kiszabott neked 500$ bьntetйst! Fizesd ki a /pay paranccsal!",Nombre(playerid));
SendClientMessage(ID,AZUL,string5);
GameTextForPlayer(playerid,"~w~fizesd ki az 500$ ~r~buntetest!~n~~y~/pay",3000,3);
Tickeado[ID] = 1;
Paco = playerid;
EnviarMensajeAPacos(AZUL,"Bьntetйs:._______________________________________");
format(string5,sizeof(string5),"Bűnцs: %s [%d] Rendőr: %s [%d]",Nombre(ID),ID,Nombre(playerid),playerid);
EnviarMensajeAPacos(AZUL,string5);
EnviarMensajeAPacos(AZUL,"Bьntetйs: 500$ | OK: Kцrцzйsi Szint = 2");
EnviarMensajeAPacos(AZUL,"____________________________________________________");
SetTimerEx("Ticket",60000,0,"i",ID);
}
if(GetPlayerWantedLevel(ID) == 3)
{
format(string5,sizeof(string5),"%s kiszabott neked 1000$ bьntetйst! Fizesd ki a /pay paranccsal!",Nombre(playerid));
SendClientMessage(ID,AZUL,string5);
GameTextForPlayer(playerid,"~w~fizesd ki az 1000$ ~r~buntetest!~n~~y~/pay",3000,3);
Tickeado[ID] = 1;
Paco = playerid;
EnviarMensajeAPacos(AZUL,"Bьntetйs:._______________________________________");
format(string5,sizeof(string5),"Bűnцs: %s [%d] Rendőr: %s [%d]",Nombre(ID),ID,Nombre(playerid),playerid);
EnviarMensajeAPacos(AZUL,string5);
EnviarMensajeAPacos(AZUL,"Bьntetйs: 1000$ | OK: Kцrцzйsi Szint = 3");
EnviarMensajeAPacos(AZUL,"____________________________________________________");
SetTimerEx("Ticket",60000,0,"i",ID);
}
}
else SendClientMessage(playerid,GRIS,"Te nem vagy rendőr, vagy nincs elйg kцzel, vagy mбr kapott bьntetйst a jбtйkos!");
return 1;
}
if(strcmp(cmdtext, "/pay", true) == 0)
{
#pragma unused params
if(Tickeado[playerid] == 1)
{
if(GetPlayerWantedLevel(playerid) == 1)
{
SendClientMessage(playerid,AZUL,"Kifizetted a 250$ bьntetйst!");
GameTextForPlayer(playerid,"~w~buntetes kifizetve!~n~~r~250$",3000,3);
Tickeado[playerid] = 0;
F_GivePlayerMoney(playerid,-250);
F_GivePlayerMoney(Paco,250);
Paco = MAX_PLAYERS;
SetPlayerWantedLevel(playerid,0);
SetPlayerColor(playerid,BLANCO);
format(string5,sizeof(string5),"%s [%d] kifizette a 250$ bьntetйsйt!",Nombre(playerid),playerid);
EnviarMensajeAPacos(AZUL,string5);
}
if(GetPlayerWantedLevel(playerid) == 2)
{
SendClientMessage(playerid,AZUL,"Kifizetted a 500$ bьntetйst!");
GameTextForPlayer(playerid,"~w~buntetes kifizetve!~n~~r~500$",3000,3);
Tickeado[playerid] = 0;
F_GivePlayerMoney(playerid,-500);
F_GivePlayerMoney(Paco,500);
SetPlayerWantedLevel(playerid,0);
SetPlayerColor(playerid,BLANCO);
Paco = MAX_PLAYERS;
format(string5,sizeof(string5),"%s [%d] kifizette az 500$ bьntetйsйt!",Nombre(playerid),playerid);
EnviarMensajeAPacos(AZUL,string5);
}
if(GetPlayerWantedLevel(playerid) == 3)
{
SendClientMessage(playerid,AZUL,"Kifizetted az 1000$ bьntetйst!");
GameTextForPlayer(playerid,"~w~buntetes kifizetve!~n~~r~1000$",3000,3);
Tickeado[playerid] = 0;
F_GivePlayerMoney(playerid,-500);
F_GivePlayerMoney(Paco,500);
SetPlayerWantedLevel(playerid,0);
SetPlayerColor(playerid,BLANCO);
Paco = MAX_PLAYERS;
format(string5,sizeof(string5),"%s [%d] kifizette az 1000$ bьntetйsйt!",Nombre(playerid),playerid);
EnviarMensajeAPacos(AZUL,string5);
}
}
if(Medico1[playerid] == 1)
{
SendClientMessage(playerid,ROJO,"Kifizetted a 100$ dнjat!");
GameTextForPlayer(playerid,"~w~dij kifizetve!~n~~r~100$",3000,3);
F_GivePlayerMoney(playerid,-100);
F_GivePlayerMoney(Medico2,100);
format(string5,sizeof(string5),"%s elfogadta a szolgбltatбst!",Nombre(playerid));
SendClientMessage(Medico2,ROJO,string5);
SetPlayerHealth(playerid,100);
}
return 1;
}
if(strcmp(cmdtext, "/heal", true) == 0)
{
new ID = strval(params);
if(gTeam[playerid] == MEDICOS && IsPlayerNearPlayer(playerid,ID,3))
{
new Float:Hola;
GetPlayerHealth(ID,Hola);
if(Hola < 100)
{
format(string5,sizeof(string5),"%s felajбnlotta, hogy meggyуgyнt! Бr: 100$",Nombre(playerid));
SendClientMessage(ID,ROJO,string5);
Medico1[ID] = 1;
Medico2 = playerid;
format(string5,sizeof(string5),"Felajбnlottad %s [ID: %d] jбtйkosnak, hogy meggyуgyнtod! Jutalom: 100$",Nombre(ID),ID);
SendClientMessage(playerid,ROJO,string5);
}
else SendClientMessage(playerid,GRIS,"Ennek a jбtйkosnak nincs szьksйge orvosra!");
}
else SendClientMessage(playerid,GRIS,"Te nem vagy orvos, vagy tъl messze van a jбtйkos!");
return 1;
}
if(strcmp(cmdtext, "/ar", true) == 0)
{
new ID = strval(params);
if(gTeam[playerid] == PACOS && Encarcelado[ID] == 0 && gTeam[ID] != PACOS)
{
if(GetPlayerWantedLevel(ID) == 4)
{
format(string5,sizeof(string5),"Letartуztattak! Bьntetйsed: 1:30 perc.",Nombre(playerid));
SendClientMessage(ID,AZUL,string5);
GameTextForPlayer(ID,"~b~letartoztattak!",3000,3);
Encarcelado[ID] = 1;
SetPlayerInterior(ID,3);
SetPlayerVirtualWorld(playerid,1);
SetPlayerPos(ID,197.6661,173.8179,1003.0234);
EnviarMensajeAPacos(AZUL,"Bцrtцn:._______________________________________");
format(string5,sizeof(string5),"Bűnцs: %s [%d] Rendőr: %s [%d]",Nombre(ID),ID,Nombre(playerid),playerid);
EnviarMensajeAPacos(AZUL,string5);
EnviarMensajeAPacos(AZUL,"Bьntetйs: Bцrtцn | Idő: 1:30 perc | OK: Kцrцzйsi Szint = 4");
EnviarMensajeAPacos(AZUL,"____________________________________________________");
SetTimerEx("Carcel",90000,0,"i",ID);
SetPlayerWantedLevel(ID,0);
F_GivePlayerMoney(playerid,5000);
}
if(GetPlayerWantedLevel(ID) == 5)
{
format(string5,sizeof(string5),"Letartуztattak! Bьntetйsed: 2 perc.",Nombre(playerid));
SendClientMessage(ID,AZUL,string5);
GameTextForPlayer(ID,"~b~letartoztattak!",3000,3);
Encarcelado[ID] = 1;
SetPlayerInterior(ID,3);
SetPlayerVirtualWorld(playerid,1);
SetPlayerPos(ID,197.6661,173.8179,1003.0234);
EnviarMensajeAPacos(AZUL,"Bцrtцn:._______________________________________");
format(string5,sizeof(string5),"Bűnцs: %s [%d] Rendőr: %s [%d]",Nombre(ID),ID,Nombre(playerid),playerid);
EnviarMensajeAPacos(AZUL,string5);
EnviarMensajeAPacos(AZUL,"Bьntetйs: Bцrtцn | Idő: 2 perc | OK: Kцrцzйsi Szint = 5");
EnviarMensajeAPacos(AZUL,"____________________________________________________");
SetTimerEx("Carcel",120000,0,"i",ID);
SetPlayerWantedLevel(ID,0);
F_GivePlayerMoney(playerid,5000);
}
if(GetPlayerWantedLevel(ID) == 6)
{
format(string5,sizeof(string5),"Letartуztattak! Bьntetйsed: 2:30 perc.",Nombre(playerid));
SendClientMessage(ID,AZUL,string5);
GameTextForPlayer(ID,"~b~letartoztattak!",3000,3);
Encarcelado[ID] = 1;
SetPlayerInterior(ID,3);
SetPlayerVirtualWorld(playerid,1);
SetPlayerPos(ID,197.6661,173.8179,1003.0234);
EnviarMensajeAPacos(AZUL,"Bцrtцn:._______________________________________");
format(string5,sizeof(string5),"Bűnцs: %s [%d] Rendőr: %s [%d]",Nombre(ID),ID,Nombre(playerid),playerid);
EnviarMensajeAPacos(AZUL,string5);
EnviarMensajeAPacos(AZUL,"Bьntetйs: Bцrtцn | Idő: 2:30 perc | OK: Kцrцzйsi Szint = 6");
EnviarMensajeAPacos(AZUL,"____________________________________________________");
SetTimerEx("Carcel",150000,0,"i",ID);
SetPlayerWantedLevel(ID,0);
F_GivePlayerMoney(playerid,5000);
}
}
else SendClientMessage(playerid,GRIS,"Te nem vagy rendőr, vagy nincs elйg kцzel, vagy mбr letartуztattбk a jбtйkost!");
return 1;
}
if(strcmp(cmdtext, "/exit", true) == 0)
{
#pragma unused params
if(GetPlayerInterior(playerid) == 3 && Encarcelado[playerid] == 0)
{
SetPlayerPos(playerid,202.6802,168.2477,1003.0234);
SetPlayerInterior(playerid,3);
SetPlayerVirtualWorld(playerid,1);
SendClientMessage(playerid,COLOR_YELLOW,"Kijцttйl a bцrtцnből!");
}
else SendClientMessage(playerid,GRIS,"Te nem vagy bцrtцnben!");
return 1;
}
if(strcmp(cmdtext, "/cm", true) == 0)
{
#pragma unused params
SendClientMessage(playerid,AZUL,"_____.:Kцrцzцtt Bűnцzők:._____");
SendClientMessage(playerid,AZUL,"_____.:Kцrцzйsi Szint 1 - 3:._____");
for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(GetPlayerWantedLevel(i) >= 1 && GetPlayerWantedLevel(i) <= 3)
{
format(string5,sizeof(string5),"%s", Nombre(i));
SendClientMessage(playerid,AMARILLO,string5);
}
}
SendClientMessage(playerid,AZUL,"_____.:Kцrцzйsi Szint 4 - 5:._____");
for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(GetPlayerWantedLevel(i) == 4 || GetPlayerWantedLevel(i) == 5)
{
format(string5,sizeof(string5),"%s", Nombre(i));
SendClientMessage(playerid,NARANJO,string5);
}
}
SendClientMessage(playerid,AZUL,"_____.:Legveszйlyesebbek:._____");
for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(GetPlayerWantedLevel(i) == 6)
{
format(string5,sizeof(string5),"%s", Nombre(i));
SendClientMessage(playerid,NARANJO,string5);
}
}
SendClientMessage(playerid,AZUL,"__________________________________________");
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
iSpawnSet[playerid] = 0;
SetupPlayerForClassSelection(playerid);
SetPlayerTeamFromClass(playerid,classid);
gPlayerClass[playerid] = classid;
if (classid == 0 || classid == 1 || classid == 2 || classid == 3 || classid == 4 || classid == 5 || classid == 6 || classid == 7 || classid == 8 || classid == 9 || classid == 10 || classid == 11)
{
GameTextForPlayer(playerid, "~w~Civil", 500, 3);
}
else if (classid == 12 || classid == 13 || classid == 14 || classid == 15 || classid == 16 || classid == 17 || classid == 18 || classid == 19 || classid == 20 || classid == 21 || classid == 22 || classid == 23)
{
GameTextForPlayer(playerid, "~b~Rendor", 500, 3);
}
else if (classid == 24 || classid == 25 || classid == 26 || classid == 27 || classid == 28 || classid == 29 || classid == 30 || classid == 31 || classid == 32 || classid == 33 || classid == 34 || classid == 35)
{
GameTextForPlayer(playerid, "~r~Bunozo", 500, 3);
}
else if (classid == 36 || classid == 37 || classid == 38 || classid == 39 || classid == 40 || classid == 41)
{
GameTextForPlayer(playerid, "~g~Orvos", 500, 3);
}
return 1;
}
public SetPlayerTeamFromClass(playerid,classid)
{
if(classid == 0 || classid == 1 || classid == 2 || classid == 3 || classid == 4 || classid == 5 || classid == 6 || classid == 7 || classid == 8 || classid == 9 || classid == 10 || classid == 11)
{
gTeam[playerid] = CIVILES;
}
else if(classid == 12 || classid == 13 || classid == 14 || classid == 15 || classid == 16 || classid == 17 || classid == 18 || classid == 19 || classid == 20 || classid == 21 || classid == 22 || classid == 23)
{
gTeam[playerid] = PACOS;
}
else if(classid == 24 || classid == 25 || classid == 26 || classid == 27 || classid == 28 || classid == 29 || classid == 30 || classid == 31 || classid == 32 || classid == 33 || classid == 34 || classid == 35)
{
gTeam[playerid] = CAOS;
}
else if(classid == 36 || classid == 37 || classid == 38 || classid == 39 || classid == 40 || classid == 41)
{
gTeam[playerid] = MEDICOS;
}
}
public SetPlayerToTeamColor(playerid)
{
if(gTeam[playerid] == CIVILES) {
SetPlayerColor(playerid,BLANCO);
}
else if(gTeam[playerid] == PACOS) {
SetPlayerColor(playerid,AZUL);
SendClientMessage(playerid,AZUL,"Te most rendőr vagy!");
SendClientMessage(playerid,AZUL,"Adj bьntetйst (/tk) a citromsбrga embereknek!");
SendClientMessage(playerid,AZUL,"Tartуztasd le (/ar) a narancssбrga embereket!");
}
else if(gTeam[playerid] == CAOS) {
SetPlayerColor(playerid,AMARILLO);
SendClientMessage(playerid,AMARILLO,"Te most bűnцző vagy!");
SetPlayerWantedLevel(playerid,1);
}
else if(gTeam[playerid] == MEDICOS) {
SetPlayerColor(playerid,ROJO);
SendClientMessage(playerid,ROJO,"A te feladatod, hogy meggyуgyнtsd az embereket!");
}
}stock Nombre(playerid) {
new name[255];
GetPlayerName(playerid, name, 255);
return name;
}
stock IsPlayerNearPlayer(playerid, nearplayerid, Float:maxdis)
{
new Float:pos[6];
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
GetPlayerPos(nearplayerid, pos[3], pos[4], pos[5]);
if (pos[0] >= floatsub(pos[3], maxdis) && pos[0] <= floatadd(pos[3], maxdis)
&& pos[1] >= floatsub(pos[4], maxdis) && pos[1] <= floatadd(pos[4], maxdis)
&& pos[2] >= floatsub(pos[5], maxdis) && pos[2] <= floatadd(pos[5], maxdis))
{
return 1;
}
return 0;
}
EnviarMensajeAPacos(color,const string[])
{
for(new i = 0; i <= MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) == 1)
{
if (gTeam[i] == PACOS)
{
SendClientMessage(i, color, string);
}
}
}
return 1;
}
public Ticket(ID)
{
if(Tickeado[ID] == 1)
{
new string[250];
SetPlayerWantedLevel(ID,GetPlayerWantedLevel(ID) + 1);
SendClientMessage(ID,AZUL,"Nem fizetted ki a bьntetйsed!");
format(string,sizeof(string),"%s [%d] nem fizette ki a bьntetйsйt!",Nombre(ID),ID);
EnviarMensajeAPacos(AZUL,string);
Tickeado[ID] = 0;
if(GetPlayerWantedLevel(ID) >= 4) SetPlayerColor(ID,NARANJO);
}
}
public Carcel(ID)
{
if(Encarcelado[ID] == 1)
{
SendClientMessage(ID,AZUL,"Letцltцtted a bьntetйsed! Нrd be /exit - Kilйpsz a bцrtцnből.");
GameTextForPlayer(ID,"~w~letoltotted a buntetesed!~n~~r~/exit",3000,3);
Encarcelado[ID] = 0;
SetPlayerColor(ID,BLANCO);
}
}
btw, you can use if(IsPlayerConnected(i)) instead of if(IsPlayerConnected(i) == 1)
pawn Код:
if(strcmp(cmdtext, "/ar", true) == 0)
{
for(new i=0;i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) == 1)
{
new ID = strval(params);
if(gTeam[playerid] == PACOS && Encarcelado[ID] == 0 && gTeam[ID] != PACOS)
{
if(GetPlayerWantedLevel(ID) == 4)
{
format(string5,sizeof(string5),"Letartуztattak! Bьntetйsed: 1:30 perc.",Nombre(playerid));
SendClientMessage(ID,AZUL,string5);
GameTextForPlayer(ID,"~b~letartoztattak!",3000,3);
Encarcelado[ID] = 1;
SetPlayerInterior(ID,3);
SetPlayerVirtualWorld(playerid,1);
ResetPlayerWeapons(playerid);
SetPlayerPos(ID,197.6661,173.8179,1003.0234);
EnviarMensajeAPacos(AZUL,"__________.:Bцrtцn:.__________");
format(string5,sizeof(string5),"Bűnцs: %s [%d] Rendőr: %s [%d]",Nombre(ID),ID,Nombre(playerid),playerid);
EnviarMensajeAPacos(AZUL,string5);
EnviarMensajeAPacos(AZUL,"Bьntetйs: Bцrtцn | Idő: 1:30 perc | OK: Kцrцzйsi Szint = 4");
EnviarMensajeAPacos(AZUL,"____________________________________________________");
SetTimerEx("Carcel",90000,0,"i",ID);
SetPlayerWantedLevel(ID,0);
F_GivePlayerMoney(playerid,5000);
}
if(GetPlayerWantedLevel(ID) == 5)
{
format(string5,sizeof(string5),"Letartуztattak! Bьntetйsed: 2 perc.",Nombre(playerid));
SendClientMessage(ID,AZUL,string5);
GameTextForPlayer(ID,"~b~letartoztattak!",3000,3);
Encarcelado[ID] = 1;
SetPlayerInterior(ID,3);
SetPlayerVirtualWorld(playerid,1);
ResetPlayerWeapons(playerid);
SetPlayerPos(ID,197.6661,173.8179,1003.0234);
EnviarMensajeAPacos(AZUL,"__________.:Bцrtцn:.__________");
format(string5,sizeof(string5),"Bűnцs: %s [%d] Rendőr: %s [%d]",Nombre(ID),ID,Nombre(playerid),playerid);
EnviarMensajeAPacos(AZUL,string5);
EnviarMensajeAPacos(AZUL,"Bьntetйs: Bцrtцn | Idő: 2 perc | OK: Kцrцzйsi Szint = 5");
EnviarMensajeAPacos(AZUL,"____________________________________________________");
SetTimerEx("Carcel",120000,0,"i",ID);
SetPlayerWantedLevel(ID,0);
F_GivePlayerMoney(playerid,5000);
}
if(GetPlayerWantedLevel(ID) == 6)
{
format(string5,sizeof(string5),"Letartуztattak! Bьntetйsed: 2:30 perc.",Nombre(playerid));
SendClientMessage(ID,AZUL,string5);
GameTextForPlayer(ID,"~b~letartoztattak!",3000,3);
Encarcelado[ID] = 1;
SetPlayerInterior(ID,3);
SetPlayerVirtualWorld(playerid,1);
ResetPlayerWeapons(playerid);
SetPlayerPos(ID,197.6661,173.8179,1003.0234);
EnviarMensajeAPacos(AZUL,"__________.:Bцrtцn:.__________");
format(string5,sizeof(string5),"Bűnцs: %s [%d] Rendőr: %s [%d]",Nombre(ID),ID,Nombre(playerid),playerid);
EnviarMensajeAPacos(AZUL,string5);
EnviarMensajeAPacos(AZUL,"Bьntetйs: Bцrtцn | Idő: 2:30 perc | OK: Kцrцzйsi Szint = 6");
EnviarMensajeAPacos(AZUL,"____________________________________________________");
SetTimerEx("Carcel",150000,0,"i",ID);
SetPlayerWantedLevel(ID,0);
F_GivePlayerMoney(playerid,5000);
}
}
else SendClientMessage(playerid,GRIS,"Te nem vagy rendőr, vagy nincs elйg kцzel, vagy mбr letartуztattбk a jбtйkost!");
return 1;
}
}
}
ID 0 can't arrest or can't give ticket.