So, ich stehe nun vor einem wichtigen Problem. Ich möchte, dass Befehle miteinander "arbeiten".
Es geht um /accept Befehle, welche jedoch selfmade gescriptet sind.
Zur Zeit sieht es noch so aus:
COMMAND:repair(playerid,params[])
{
new pID, Float:x,Float:y,Float:z;
if(sscanf(params, "u",pID))return SendClientMessage(playerid,0xC8C8C8FF,"/repair [ID/Name]");
if (!IsPlayerConnected(pID))return SendClientMessage(playerid,0xC8C8C8FF,"Dieser Spieler ist nicht online!");
if (pID == playerid)return SendClientMessage(playerid,0xC8C8C8FF,"Du kannst dir nicht selber eine Reparatur anbieten!");
if(pInfo[playerid][Job] != 3) return SendClientMessage(playerid, 0xC8C8C8FF, "Du bist kein Mechaniker!");
GetPlayerPos(playerid,x,y,z);
{
if(!IsPlayerInRangeOfPoint(pID,3.0,x,y,z))return SendClientMessage(playerid, 0xC8C8C8FF, "Dieser Spieler ist nicht in deiner Nähe!");
{
new str[128] ,str2[128];
format(str,sizeof(str),"%s hat dir eine Reperatur angeboten, /acceptrepair zum annehmen!",SpielerName[playerid]);
format(str2,sizeof(str2),"Du hast %s eine Reperatur angeboten!",SpielerName[pID]);
SendClientMessage(pID,0x00A8FFFF,str);
SendClientMessage(playerid,0x00A8FFFF,str2);
SetPVarInt(pID,"repair", 1);
}
return 1;
}
}
COMMAND:acceptrepair(playerid,params[])
{
if(GetPVarInt(playerid, "repair") == 0) return SendClientMessage(playerid,0xC8C8C8FF,"Dir wurde keine Reperatur angeboten!");
else
{
TogglePlayerControllable(playerid,0);
SetTimerEx("repairunfreeze", 4000,0,"d",playerid);
}
return 1;
}
public repairunfreeze(playerid)
{
new vehicleid = GetPlayerVehicleID(playerid);
SetVehicleHealth(vehicleid, 1000.0);
RepairVehicle(vehicleid);
SetPVarInt(playerid,"repair", 0);
TogglePlayerControllable(playerid,1);
GameTextForPlayer(playerid,"~g~Motor und Blechschaden~w~ repariert",2500,1);
return 1;
}
Ziemlich undynamisch, wie ich finde. Es geht darum, dass man beim /accept-Befehl z.B. eine bestimmte Summe
die im /repair Befehl festgelegt wurde abzieht. Oder das beim /accept-Befehl
erscheint, dass der Spieler (%s) deine Reperatur angenommen hat. Also mit Namen, der vom /repair-Befehl aus kommen muss.
Wäre nett, wenn mir jmd. ein wenig auf die Sprünge helfen könnte..
mfG
Dixon