08.01.2014, 09:51
(
Последний раз редактировалось lHesoyaml; 08.01.2014 в 10:25.
)
Tente isso.
pawn Код:
forward Medico_CheckPlayers(playerid);
public Medico_CheckPlayers(playerid)
{
for (new PlayerToCheck; PlayerToCheck < MAX_PLAYERS; PlayerToCheck++)
{
if (IsPlayerConnected(PlayerToCheck))
{
if (APlayerData[PlayerToCheck][MedicoNeeded] == true)
SetPlayerMarkerForPlayer(playerid, PlayerToCheck, 0xFF0000FF);
else
{
switch (APlayerData[PlayerToCheck][PlayerClass])
{
case ClassTruckDriver: SetPlayerMarkerForPlayer(playerid, PlayerToCheck, ColorClassTruckDriver);
case ClassBusDriver: SetPlayerMarkerForPlayer(playerid, PlayerToCheck, ColorClassBusDriver);
case ClassPilot: SetPlayerMarkerForPlayer(playerid, PlayerToCheck, ColorClassPilot);
case ClassPolice: SetPlayerMarkerForPlayer(playerid, PlayerToCheck, ColorClassPolice);
case ClassMafia: SetPlayerMarkerForPlayer(playerid, PlayerToCheck, ColorClassMafia);
case ClassCourier: SetPlayerMarkerForPlayer(playerid, PlayerToCheck, ColorClassCourier);
}
}
}
}
}
Medico_FixVehicle(playerid)
{
new vid, Float:vhealth, Float:FPayment, Payment, Float:x, Float:y, Float:z, Name[24], MedicoName[24], Msg[128];
GetPlayerName(playerid, MedicoName, sizeof(MedicoName));
for (new OtherPlayer; OtherPlayer < MAX_PLAYERS; OtherPlayer++)
{
if (IsPlayerConnected(OtherPlayer))
{
if (OtherPlayer != playerid)
{
if (APlayerData[OtherPlayer][MedicoNeeded] == true)
{
GetPlayerPos(OtherPlayer, x, y, z);
if (IsPlayerInRangeOfPoint(playerid, 5.0, x, y, z))
{
APlayerData[OtherPlayer][MedicoNeeded] = false;
GetPlayerName(OtherPlayer, Name, sizeof(Name));
GetPlayerHealth(vid, vhealth);
FPayment = (1000.0 - vhealth) * 1.0;
Payment = floatround(FPayment, floatround_round);
SetPlayerHealth(playerid, 100);
RewardPlayer(playerid, Payment * 2, 1);
RewardPlayer(OtherPlayer, -Payment, 0);
format(Msg, 128, "{00FF00}Sua vida foi restaurada para {FFFF00}R$%i{00FF00} por {FFFF00}%s", Payment, MedicoName);
SendClientMessage(OtherPlayer, 0xFFFFFFFF, Msg);
format(Msg, 128, "{00FF00}Vocк deu vida para {FFFF00}%s{00FF00}, e ganhou {FFFF00}R$%i", Name, Payment);
SendClientMessage(playerid, 0xFFFFFFFF, Msg);
RewardPlayer(playerid, Payment * 2, 1);
RewardPlayer(OtherPlayer, -Payment, 0);
APlayerData[playerid][StatsMedico]++;
format(Msg, 128, "{00FF00}Sua vida foi restaurada para {FFFF00}R$%i{00FF00} por {FFFF00}%s", Payment, MedicoName);
SendClientMessage(OtherPlayer, 0xFFFFFFFF, Msg);
format(Msg, 128, "{00FF00}Vocк deu vida para {FFFF00}%s{00FF00}, e ganhou {FFFF00}R$%i", Name, Payment);
SendClientMessage(playerid, 0xFFFFFFFF, Msg);
PlayerFile_Save(playerid);
}
}
}
}
}
return 1;
}
Medico_FixOwnVehicle(playerid)
{
SetPlayerHealth(playerid, 100);
SendClientMessage(playerid, 0xFFFFFFFF, "Vocк se deu vida");
}
Medico_EndJob(playerid)
{
KillTimer(APlayerData[playerid][PlayerCheckTimer]);
for (new PlayerToCheck; PlayerToCheck < MAX_PLAYERS; PlayerToCheck++)
{
if (IsPlayerConnected(PlayerToCheck))
{
switch (APlayerData[PlayerToCheck][PlayerClass])
{
case ClassTruckDriver: SetPlayerMarkerForPlayer(playerid, PlayerToCheck, ColorClassTruckDriver);
case ClassBusDriver: SetPlayerMarkerForPlayer(playerid, PlayerToCheck, ColorClassBusDriver);
case ClassPilot: SetPlayerMarkerForPlayer(playerid, PlayerToCheck, ColorClassPilot);
case ClassPolice: SetPlayerMarkerForPlayer(playerid, PlayerToCheck, ColorClassPolice);
case ClassMafia: SetPlayerMarkerForPlayer(playerid, PlayerToCheck, ColorClassMafia);
case ClassCourier: SetPlayerMarkerForPlayer(playerid, PlayerToCheck, ColorClassCourier);
case ClassMedico: SetPlayerMarkerForPlayer(playerid, PlayerToCheck, ColorClassMedico);
}
}
}
return 1;
}

