Hallo,
Also zu meinem 1 Problem mit dem IsPlayerInRangeOfPoint und zwar habe ich für Staatsfraktionen einen Rep Punkt und wenn ich in diesem stehe und /rep eingebe steht da das ich an keinem Repair Point wäre warum ? Hier die Zeile:
if(strcmp(cmd,"/rep",true) == 0)
{
if(IsACop(playerid) || IsPlayerInFrac(playerid,4) || IsPlayerInFrac(playerid,7))
{
if(IsPlayerInRangeOfPoint(playerid,4.0,796.9246,-2102.7170,12.6823) || IsPlayerInRangeOfPoint(playerid,4.0,1196.0211,-1351.2733,13.4017) || IsPlayerInRangeOfPoint(playerid,4.0,1547.5663,-1610.0396,13.3828) || IsPlayerInRangeOfPoint(playerid,4.0,-1628.6464,652.0121,7.1875) ||IsPlayerInRangeOfPoint(playerid,4.0,1244.3359,-2042.6630,59.8744) || IsPlayerInRangeOfPoint(playerid, 4.0, 1571.3887,-1705.3455,28.3948) || IsPlayerInRangeOfPoint(playerid, 4.0, 1692.5320,-1539.5343,13.5469))
{
if(IsPlayerInRangeOfPoint(playerid,4.0,-1407.8838,507.2498,18.2344) || IsPlayerInRangeOfPoint(playerid,4.0,-1234.6599,473.8205,7.1875) || IsPlayerInRangeOfPoint(playerid,4.0,1136.2015,-1342.8668,13.7693))
{
new veh = GetPlayerVehicleID(playerid);
if(IsAnAmbulance(veh) || IsACopCar(veh) ||IsAArmyCar(veh) || IsAPraesiCar(veh))
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
new Float:vehX, Float:vehY, Float:vehZ, Float:vehA;
GetVehiclePos(veh,vehX,vehY,vehZ);
GetVehicleZAngle(veh,vehA);
RemovePlayerFromVehicle(playerid);
FreezePlayer(playerid);
SetVehicleToRespawn(veh);
SetTimerEx("Rep",5000,0,"iiffff",playerid,veh,vehX,vehY,vehZ,vehA);
GameTextForPlayer(playerid,"~g~Fahrzeugreperatur~n~~y~Bitte warten...",4500,3);
}
else SendClientMessage(playerid,COLOR_RED," Du bist nicht der Fahrer!");
}
else SendClientMessage(playerid,COLOR_RED," Du bist in keinem Staatsfahrzeug!");
}
else SendClientMessage(playerid,COLOR_RED," Du bist an keinem /rep-Punkt!");
}
else SendClientMessage(playerid,COLOR_RED," Du bist an keinem /rep-Punkt!");
}
else SendClientMessage(playerid,COLOR_RED," Du bist nicht berechtigt, dein Fahrzeug auf Kosten des Staats zu reparieren!");
return 1;
}
Und mein 2 Problem ist das ich ein Sirenen Filterscript habe und wenn ich /sirene an eingebe eigentlich eine Sirene erscheinen soll tut sie aber nicht?
Hier die Zeile:
ocmd:sirene(playerid,params[])
{
new status[4];
if(sscanf(params,"s",status))return SendClientMessage(playerid,0xFF0000,"Info: /sirene [an/aus]");
if(IsPlayerInAnyVehicle(playerid))
{
new vid = GetPlayerVehicleID(playerid);
if(strcmp(status,"an",true) == 0)
{
if(sirenean[vid] == true)return SendClientMessage(playerid,0xFF0000,"Dieses Fahrzeug hat bereits eine Sirene!");
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
sirene[vid] = CreateObject(18646,x,y,z,0,0,0,100);
AttachObjectToVehicle(sirene[vid],vid,0.2,0,0.71,0,0,0);
sirenean[vid] = true;
SendClientMessage(playerid,0xFF0000,"Du hast die Sirene angeschaltet!");
}
else
if(strcmp(status,"aus",true) == 0)
{
if(sirenean[vid] == false)return SendClientMessage(playerid,0xFF0000,"Dieses Fahrzeug hat keine Sirene");
DestroyObject(sirene[vid]);
sirenean[vid] =false;
SendClientMessage(playerid,0xFF0000,"Du hast die Sirene ausgeschaltet!");
}
}
return 1;
}
Danke für Hilfe!
MFG murmelrund