Danke erstmal für die Hilfe.
Habs grad ausprobiert und mir wird die Nachricht nur einmal geschickt.
Nur leider Checkt der Befehl nur ob ich an der 1. von mir angegebenen Tankstelle bin. Wenn nicht kommt die Nachricht "Du bist nicht an einer Tankstelle!".
Nur mal so ne vermutung...
MfG
//Edit: Habs hinbekommen, trotzdem danke
//Edit 2: Anstatt für den selben Command einen neuen Thread zu starten stell ich meine Frage hier. Der Command funktioniert nich richtig, findet jemand Fehler?
MfG
COMMAND:repair(playerid,params[])
{
new vID, vID2, Float:vDamage, Float:vHealth, Money, msg[128];
vID = GetClosestCar(playerid, 7.0);
vID2 = GetPlayerVehicleID(playerid);
if(Motor[vID]==true)return SCM(playerid, COLOR_RED,"Willst du den Motor nicht noch ausschalten?");
if(IsPlayerInVehicle(playerid, vID2))return SCM(playerid, COLOR_RED,"Willst du das Auto wirklich von innen heraus reparieren?");
GetVehicleHealth(vID, vHealth);
if(vHealth>=1000)return SCM(playerid, COLOR_RED, "Das Fahrzeug hat keinen Schaden!");
vDamage=1000-vHealth;
Money = floatround(vDamage/1000*100);
if(GetPVarInt(playerid,"Fraktion") == 5)
{
if(Motorschaden[vID]==true)
{
for(new i=0;i<MAX_TANKSTELLEN;i++)
{
if(i==MAX_TANKSTELLEN+1)return SendClientMessage(playerid,COLOR_RED,"Motorschäden können nur an Tankstellen repariert werden!");
if(IsPlayerInRangeOfPoint(playerid,15.0,Tankstellen[i][0],Tankstellen[i][1],Tankstellen[i][2])) continue;
{
WithdrawPlayerMoney(playerid,Money*3);
RepairVehicle(vID);
Motorschaden[vID]=false;
format(msg, sizeof(msg),"Du hast das Fahrzeug für %d$ repariert! Du kannst %d$ verlangen!", Money*3, Money*5);
SCM(playerid, COLOR_GREEN, msg);
return 1;
}
}
}
else
{
WithdrawPlayerMoney(playerid,Money*3);
RepairVehicle(vID);
Motorschaden[vID]=false;
format(msg, sizeof(msg),"Du hast das Fahrzeug für %d$ repariert! Du kannst %d$ verlangen!", Money*3, Money*5);
SCM(playerid, COLOR_GREEN, msg);
return 1;
}
}
else
{
for(new i=0;i<MAX_TANKSTELLEN+1;i++)
{
if(i==MAX_TANKSTELLEN)return SendClientMessage(playerid,COLOR_RED,"Du bist nicht an einer Tankstelle!");
if(!IsPlayerInRangeOfPoint(playerid,15.0,Tankstellen[i][0],Tankstellen[i][1],Tankstellen[i][2])) continue;
{
WithdrawPlayerMoney(playerid,Money*8);
RepairVehicle(vID);
Motorschaden[vID]=false;
format(msg, sizeof(msg),"Du hast dein Fahrzeug für %d$ repariert!", Money*10);
SCM(playerid, COLOR_GREEN, msg);
return 1;
}
}
}
return 1;
}