Kopfgeld Geht nicht richtig
- TimeLine
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Musst doch irgentwo die strtok funktion haben da diese kein bestandteil von samp ist.
-
Musst doch irgentwo die strtok funktion haben da diese kein bestandteil von samp ist.
meinst du das ??
stock strtok(const string[], &index)
{
new length = strlen(string);
while ((index < length) && (string[index] <= ' '))
{
index++;
}
new offset = index;
new result[256];
while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = string[index];
index++;
}
result[index - offset] = EOS;
return result;
} -
Nichts für ungut, aber nutze einen CMD-Prozessor wie ocmd,zcmd,ycmd,rcmd...
Und mach dir das Leben einfach & performant
-
Nichts für ungut, aber nutze einen CMD-Prozessor wie ocmd,zcmd,ycmd,rcmd...
Und mach dir das Leben einfach & performant
kannst du mir das nicht um schreiben auf ocmd oder soo ?
-
Sieht dann so aus:
C
Alles anzeigenocmd:contract(playerid, params[]) { // Wenn der Spieler in der Fraktion 18 ist brauchen wir auch nicht Prüfen was er eingegeben hat da er es sowieso nicht darf. if(PlayerInfo[playerid][pMember] == 18) return SCM(playerid, COLOR_GRAU, "Du kannst keinen Auftrag in deiner eigenen Agentur abgeben!"); new pID,kopfgeld; if(sscanf(params,"ud",pID,kopfgeld)) return SCM(playerid, COLOR_RED, "{33CCFF}FEHLER:{FFFFFF} /contract [playerid] [kopfgeld]"); if(!IsPlayerConnected(pID)) return SCM(playerid, COLOR_GRAU, "Ein Spieler mit dieser ID ist nicht online!"); // Wir prüfen hier schon ob der Spieler der selbe ist der den Command eingegeben hat dergleiche ist wie der Zielspieler // Unabhängig davon ob der Spieler der den Command eingegeben hat mehr oder weniger als 10k bzw 100k eingegeben hat. if(giveplayerid == playerid) return SCM(playerid, COLOR_GRAU, "Du kannst auf dich keinen Auftrag setzen!"); if(kopfgeld < 10000 || kopfgeld > 100000) return SCM(playerid, COLOR_GRAU, "Nicht weniger als €10.000 oder mehr als €100.000!"); if (PlayerMoney[playerid] < kopfgeld) return SCM(playerid, COLOR_GRAD1, "Sie besitzen zu wenig Geld für diese Summe!"); PlayerMoney[playerid] = SafeGivePlayerMoney(playerid, -kopfgeld); PlayerInfo[pID][pKopfgeld]+=kopfgeld; new string[128]; format(string, sizeof(string), "%s hat ein Kopfgeld auf %s ausgesetzt, Lohn €%d.",GetName(playerid), GetName(pID), kopfgeld); SendFamilyMessage(18, COLOR_YELLOW, string); format(string, sizeof(string), "* Du hast ein kopfgeld auf %s ausgesetzt, Lohn €%d.",GetName(playerid), GetName(pID)); SCM(playerid, COLOR_LIGHTBLUE, string); PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0); return 1; } //Und die GetName Funktion: stock GetName(playerid) { static n[MAX_PLAYER_NAME]; return GetPlayerName(playerid,n,MAX_PLAYER_NAME),n; }
-
Sieht dann so aus:
C
Alles anzeigenocmd:contract(playerid, params[]) { // Wenn der Spieler in der Fraktion 18 ist brauchen wir auch nicht Prüfen was er eingegeben hat da er es sowieso nicht darf. if(PlayerInfo[playerid][pMember] == 18) return SCM(playerid, COLOR_GRAU, "Du kannst keinen Auftrag in deiner eigenen Agentur abgeben!"); new pID,kopfgeld; if(sscanf(params,"ud",pID,kopfgeld)) return SCM(playerid, COLOR_RED, "{33CCFF}FEHLER:{FFFFFF} /contract [playerid] [kopfgeld]"); if(!IsPlayerConnected(pID)) return SCM(playerid, COLOR_GRAU, "Ein Spieler mit dieser ID ist nicht online!"); // Wir prüfen hier schon ob der Spieler der selbe ist der den Command eingegeben hat dergleiche ist wie der Zielspieler // Unabhängig davon ob der Spieler der den Command eingegeben hat mehr oder weniger als 10k bzw 100k eingegeben hat. if(giveplayerid == playerid) return SCM(playerid, COLOR_GRAU, "Du kannst auf dich keinen Auftrag setzen!"); if(kopfgeld < 10000 || kopfgeld > 100000) return SCM(playerid, COLOR_GRAU, "Nicht weniger als €10.000 oder mehr als €100.000!"); if (PlayerMoney[playerid] < kopfgeld) return SCM(playerid, COLOR_GRAD1, "Sie besitzen zu wenig Geld für diese Summe!"); PlayerMoney[playerid] = SafeGivePlayerMoney(playerid, -kopfgeld); PlayerInfo[pID][pKopfgeld]+=kopfgeld; new string[128]; format(string, sizeof(string), "%s hat ein Kopfgeld auf %s ausgesetzt, Lohn €%d.",GetName(playerid), GetName(pID), kopfgeld); SendFamilyMessage(18, COLOR_YELLOW, string); format(string, sizeof(string), "* Du hast ein kopfgeld auf %s ausgesetzt, Lohn €%d.",GetName(playerid), GetName(pID)); SCM(playerid, COLOR_LIGHTBLUE, string); PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0); return 1; } //Und die GetName Funktion: stock GetName(playerid) { static n[MAX_PLAYER_NAME]; return GetPlayerName(playerid,n,MAX_PLAYER_NAME),n; }
ich habe schon ein Getname kann ich das auch nutzen ?
stock GetName(playerid)
{
new getthename[MAX_PLAYER_NAME];
GetPlayerName(playerid,getthename,sizeof(getthename));
return getthename;
} -
Ja kannste auch nutzen
-
Ja kannste auch nutzen
kannst du mir ocmd erklären ?
und dieser error kommt error 017: undefined symbol "giveplayerid"
dasteht jz nur noch Sie besitzen zu wenig Geld für diese Summe! -
wenn ich's richtig sehe musst du statt giveplayerid die Variable pID nehmen da du ja sonst nirgendwo giveplayerid definiert hast.
(Handy)
-
wenn ich's richtig sehe musst du statt giveplayerid die Variable pID nehmen da du ja sonst nirgendwo giveplayerid definiert hast.
(Handy)
kannst du mir ocmd erklären ?
und dieser error kommt error 017: undefined symbol "giveplayerid"
dasteht jz nur noch Sie besitzen zu wenig Geld für diese Summe!es geht jz aber wird bei den hitmans bei aufträge angezeigt
-
breadfish.de
Hat das Thema geschlossen.