Guten Tag,
Ich habe einen Befehl geschrieben wo man die aktuellen Contracts sieht.
Ich möchte das jeder Contract eine Auftragsid bekommt, jedoch funtkioniert das bei mir nicht.
Die Auftragsid ist immer gleich, und sie sollten ja normal unterschiedlich sein.
Wie stelle ich das ein das jeder COntract eine eigene ID hat?
Hier die folgenden Codes :
Code
ocmd:ctinfo(playerid,params[])
{
new string[128];
if(!IsPlayerMember(playerid,8)) return SendClientMessage(playerid,GRAU,"Du bist kein Mitglied der Hitman-Agency!");
SendClientMessage(playerid,ROT,"Folgende Aufträge sind vorhanden:");
for(new i=0; i<MAX_PLAYERS;i++)
{
if(GetPVarInt(i,"Contract")==1)
{
format(string,sizeof(string),"-%s | Auftragsid: %i | Kopfgeld: %i $",SpielerName(i),GetPVarInt(i,"Auftragid"),GetPVarInt(i,"Kopfgeld"));
SendClientMessage(playerid,WEIS,string);
SpielerSpeichern(i);
}
}
SpielerSpeichern(playerid);
return 1;
}
Alles anzeigen
Code
ocmd:contract(playerid,params[])
{
new pID,kopfgeld,string1[128],string2[128];
if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,GRAU,"Dieser Spieler ist nicht online!");
if(sscanf(params,"ui",pID,kopfgeld)) return SendClientMessage(playerid,GRAU,"Verwende: /contract [ID / Name] [Kopfgeld]");
if(kopfgeld<10000) return SendClientMessage(playerid,GRAU,"Das Maximal Kopfgeld beträgt 10.0000$");
if(kopfgeld>1000000) return SendClientMessage(playerid,GRAU,"Du kannst kein Kopfgeld über 1.000.000$ setzen");
if(GetPlayerScore(playerid)<3) return SendClientMessage(playerid,GRAU,"Du musst Level 3 sein um Contract's zu setzen!");
if(GetPlayerScore(pID)<3) return SendClientMessage(playerid,GRAU,"Du darfst keine Contract's auf unter Level 3er setzen!");
if(IsPlayerMember(playerid,1) || IsPlayerMember(playerid,2) || IsPlayerMember(playerid,3)) return SendClientMessage(playerid,GRAU,"Auf Behörden müssen mindestens 100.000$ gesetzt werden!");
if(GetPlayerMoney(playerid) < kopfgeld) return SendClientMessage(playerid,GRAU,"Soviel Geld besitzt du nicht!");
if(pID == playerid) return SendClientMessage(playerid,GRAU,"Du kannst dir selbst keine Contract's setzen!");
SetPVarInt(pID,"Contract",1);
SetPVarInt(pID,"Kopfgeld",kopfgeld);
GivePlayerMoney(playerid,-kopfgeld);
format(string2,sizeof(string2),"Du hast auf %s ein Kopfgeld ausgesetzt. Kopfgeld: %i$",SpielerName(pID),kopfgeld);
SendClientMessage(playerid,HELLBLAU,string2);
SpielerSpeichern(playerid);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(GetPVarInt(i,"Fraktion")==8)
{
SetPVarInt(i,"Auftragid",GetPVarInt(i,"Auftragid")+1);
SendClientMessage(i,GELB,"|_________________Agentur-Nachrichten_________________|");
SendClientMessage(i,GELB,"*** Ein Auftrag ist verfügbar. ***");
format(string1,sizeof(string1),"*** Person: %s, ID: %i, Kopfgeld: %i$ ***",SpielerName(pID),pID,kopfgeld);
SendClientMessage(i,GELB,string1);
SendClientMessage(i,GELB,"*** Verwende: /givehit um einen Auftrag zuzuweisen ***");
SendClientMessage(i,GELB,"|_____________________________________________________|");
}
}
return 1;
}
Alles anzeigen