Cargos -
Jeree10 - 07.10.2014
Hola quisiera saber como hacer para que a los policias no les den cargos en zona seguro, dejo codigo:
Код:
public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid)
{ for(new i = 0; i < MAX_PLAYERS; i++)
{
if(Info[playerid][pWantedLevel] == 0)
{
new Float: x, Float: y, Float: z;
new zone[MAX_ZONE_NAME];
new string[200], attacker[MAX_PLAYER_NAME];
GetPlayer2DZone(playerid, zone, MAX_ZONE_NAME);
GetPlayerName(playerid,attacker,sizeof(attacker));
PlayerPlaySoundEx(1084, x, y, z);
SetTimerEx("QuitarCargos1", 300000, 0, "d", playerid);
SetPlayerWantedLevel(playerid, 1);
Info[playerid][pWantedLevel] = 1;
SetPlayerMarkerForPlayer(i, playerid, c1_color);
SendClientMessage(playerid, COLOR_WHITE, "Fuiste descubierto por un guardia de seguridad, escapa de la zona.");
SendClientMessage(playerid, COLOR_WHITE, "Si te escondes bien durante 5 minutos, la policнa perderб tu rastro.");
format(string, sizeof(string), "[Central de policia] {FFFFFF}reportando: {00CCFF}%s {FFFFFF}[%d] estб atacando a la gente en %s.", attacker, playerid, zone);
SendRadioMessage(1, TEAM_BLUE_COLOR, string);
}
}
return 1;
}
Respuesta: Cargos -
Ghost112397 - 07.10.2014
Proba asн:
pawn Код:
public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid)
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(VariableDePolicia >= 1) return 1;
{
if(Info[playerid][pWantedLevel] == 0)
{
new Float: x, Float: y, Float: z;
new zone[MAX_ZONE_NAME];
new string[200], attacker[MAX_PLAYER_NAME];
GetPlayer2DZone(playerid, zone, MAX_ZONE_NAME);
GetPlayerName(playerid,attacker,sizeof(attacker));
PlayerPlaySoundEx(1084, x, y, z);
SetTimerEx("QuitarCargos1", 300000, 0, "d", playerid);
SetPlayerWantedLevel(playerid, 1);
Info[playerid][pWantedLevel] = 1;
SetPlayerMarkerForPlayer(i, playerid, c1_color);
SendClientMessage(playerid, COLOR_WHITE, "Fuiste descubierto por un guardia de seguridad, escapa de la zona.");
SendClientMessage(playerid, COLOR_WHITE, "Si te escondes bien durante 5 minutos, la policнa perderб tu rastro.");
format(string, sizeof(string), "[Central de policia] {FFFFFF}reportando: {00CCFF}%s {FFFFFF}[%d] estб atacando a la gente en %s.", attacker, playerid, zone);
SendRadioMessage(1, TEAM_BLUE_COLOR, string);
}
}
}
return 1;
}
Respuesta: Cargos -
SickAttack - 07.10.2014
No ocupas un loop, solamente lo hara mas lento al ejecutarlo.
pawn Код:
new bool:VariableDePolicia[MAX_PLAYERS] = false,
bool:VariableDeEnZonaSegura[playerid] = false;
VariableDePolicia[playerid] = true; // OnPlayerSpawn(playerid) > Solamente si es policia.
VariableDePolicia[playerid] = false; // OnPlayerDisconnect(playerid).
VariableDeEnZonaSegura[playerid] = true; // Cuando entra una zona segura.
VariableDeEnZonaSegura[playerid] = false; // Cuando sale de una zona segura.
public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid)
{
if(VariableDePolicia[playerid] == true && VariableDeEnZonaSegura[playerid] == true) return 1;
if(Info[playerid][pWantedLevel] == 0)
{
new Float: x, Float: y, Float: z, zone[MAX_ZONE_NAME], string[200], attacker[MAX_PLAYER_NAME];
GetPlayer2DZone(playerid, zone, MAX_ZONE_NAME);
GetPlayerName(playerid,attacker,sizeof(attacker));
PlayerPlaySoundEx(1084, x, y, z);
SetTimerEx("QuitarCargos1", 300000, 0, "d", playerid);
SetPlayerWantedLevel(playerid, 1);
Info[playerid][pWantedLevel] = 1;
SetPlayerMarkerForPlayer(i, playerid, c1_color);
SendClientMessage(playerid, COLOR_WHITE, "Fuiste descubierto por un guardia de seguridad, escapa de la zona.");
SendClientMessage(playerid, COLOR_WHITE, "Si te escondes bien durante 5 minutos, la policнa perderб tu rastro.");
format(string, sizeof(string), "[Central de policia] {FFFFFF}reportando: {00CCFF}%s {FFFFFF}[%d] estб atacando a la gente en %s.", attacker, playerid, zone);
SendRadioMessage(1, TEAM_BLUE_COLOR, string);
}
return 1;
}
Respuesta: Cargos -
[J]ulian - 07.10.2014
Necesita el loop para saber si hay un guardia cerca, pero estб mal ubicado como lo tiene.