Tja, also wie die ueberschrift schon sagt kann man bei meinem GF aus jeder entfernung tazern. Ich weiss aber nicht woran der fehler ist.
if(strcmp(cmd, "/tazer", true) ==0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3|| PlayerInfo[playerid][pMember] == 21 || PlayerInfo[playerid][pLeader] == 21)
{
if(OnDuty[playerid]==0)
{
SendClientMessage(playerid, COLOR_GREY, "Du bist nicht im Dienst!");
return 1;
}
if(IsPlayerInAnyVehicle(playerid))
{
SendClientMessage(playerid, COLOR_GREY, "Du kannst das nicht benutzen während du im Fahrzeug sitzt!");
return 1;
}
new suspect = GetClosestPlayer(playerid);
if(IsPlayerConnected(suspect))
{
if(PlayerCuffed[suspect] > 1)
{
SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler ist schon getazed!");
return 1;
}
if(OnDuty[playerid]==1)
{
if(IsPlayerInAnyVehicle(suspect))
{
SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler ist in einem Fahrzeug! Bringe in zuerst raus!");
return 1;
}
GetPlayerName(suspect, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* Du wurdest von %s mit seinem Elektroschocker geschockt.", sendername);
SendClientMessage(suspect, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Du hast %s niedergestreckt.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* %s nimmt seinen Elektroschocker raus und streckt %s nieder.", sendername ,giveplayer);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
GameTextForPlayer(suspect, "~y~Geschockt!", 3000, 3);
TogglePlayerControllable(suspect, 0);
PlayerCuffed[suspect] = 1;
PlayerCuffedTime[suspect] = 8;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Niemand ist in deiner Nähe!");
return 1;
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du bist kein Beamter!");
}
}
return 1;
}
-
-
/push
-
da fehlt auch isplayerinrangeofpoint^^
musst du erst die x,y,z koos von dem holen der getazerd werden soll und in IsPlayerInRangeOfPoint eintragen
als range trägst du dann einfach 3 ein fertig -
Im GF is ne Funktion die heißt GetDistance... schau ma danach
-
machs so ;D
if(strcmp(cmd, "/tazer", true) ==0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1 || PlayerInfo[playerid][pMember] == 2 || PlayerInfo[playerid][pLeader] == 2 || PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3|| PlayerInfo[playerid][pMember] == 21 || PlayerInfo[playerid][pLeader] == 21)
{
if(OnDuty[playerid]==0)
{
SendClientMessage(playerid, COLOR_GREY, "Du bist nicht im Dienst!");
return 1;
}
if(IsPlayerInAnyVehicle(playerid))
{
SendClientMessage(playerid, COLOR_GREY, "Du kannst das nicht benutzen während du im Fahrzeug sitzt!");
return 1;
}
new suspect = GetClosestPlayer(playerid);
if(IsPlayerConnected(suspect))
{
if(PlayerCuffed[suspect] > 0)
{
SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler ist schon getazed!");
return 1;
}
if(OnDuty[playerid]==1)
{
if(IsPlayerInAnyVehicle(suspect))
{
SendClientMessage(playerid, COLOR_GREY, "Dieser Spieler ist in einem Fahrzeug! Bringe in zuerst raus!");
return 1;
}
if(GetDistanceBetweenPlayers(playerid,suspect) < 8)
{
GetPlayerName(suspect, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "* Du wurdest von %s mit seinem Elektroschocker geschockt.", sendername);
SendClientMessage(suspect, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Du hast %s niedergestreckt.", giveplayer);
SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* %s nimmt seinen Elektroschocker raus und streckt %s nieder.", sendername ,giveplayer);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
GameTextForPlayer(suspect, "~y~Geschockt!", 3000, 3);
TogglePlayerControllable(suspect, 0);
PlayerCuffed[suspect] = 1;
PlayerCuffedTime[suspect] = 8;
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Niemand ist in deiner Nähe!");
return 1;
}
else
{
SendClientMessage(playerid,COLOR_GREY,"Du bist nicht im Dienst!");
}
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Du bist kein Beamter!");
}
}
return 1;
}
Du hast nicht abgefragt ob "suspect" in der nähe von "playerid" ist. Dies kannst du mit "GetDistanceBetweenPlayers(p1,p2);Mfg
flippxtar aka sorkovitsch -
breadfish.de
Hat das Thema geschlossen.