nö nur zu klein, aus der 2 muss ne 3.
PannenDienst rufen wie?
- WhiteWay
- 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
-
-
Bsp:
new PCall[MAX_PLAYERS];
new AcceptP[MAX_PLAYERS];
ocmd:pannenruf_akzept(playerid,params[])
{
new pID
if(sscanf(params,"u",pID)) return SendClientMessage(playerid, color, "/pannenruf_akzept [ID / Name]");
if(PCall[pID] != 1) return SendClientMessage(playerid, color, "Der Spieler hat niemanden gerufen!");
if(AcceptP[playerid] != 999) return SendClientMessage(playerid, color, "Du hast bereits einen Auftrag");
PCall[pID] = 2;
AcceptP[playerid] = pID;
return 1;
}Ich würde 2 Arrays machen, welche den jeweiligen Zustand mit den einzelnen Werten abfragt.
Wobei hier, PCall für den Spieler, der vorher gerufen hat steht, welches man zum Spam schutz,
und beim Logout verwenden kann (Damit der Mechaniker oder was weiß ich auch eine Nachricht kriegt, dass sein Kunde weg ist).
AcceptP übernimmt die pID, das heißt die ID von dem Kunden, welcher Hilfe braucht.
Dann setzten wir PCall für den Kunden auf 2, damit er sieht, dass ein Spieler unterwegs ist.
-> Nicht vergessen: Beim Login sollte AcceptP immer auf 999 gemacht werden! (Nicht auf 0, da es die playerid ja auch gibt).L.G.
heyho//edit:
new Float:Pos[3];
GetPlayerPos(anrufer,Pos[0],Pos[1],Pos[2]);
SetPlayerCheckpoint(playerid, Pos[0],Pos[1],Pos[2], 3.0);Index größe von 2 auf 3 ändern
Also Bei dir Bekomm ich (11115) : error 001: expected token: ";", but found "if"
if(sscanf(params,"u",pID)) return SendClientMessage(playerid, ROT, "/pannenruf_akzept [ID / Name]");
-
nach einer abfrage kein ;
if(sscanf(params,"u",pID)) return SendClientMessage(playerid, ROT, "/pannenruf_akzept [ID / Name]") -
nö nur zu klein, aus der 2 muss ne 3.
Poste nicht wenn du keine Ahnung hast... PAWNO fängt bei 0 an zu zählen ^^..
0 = 1
1 = 2
2 = 3Also ist die 2 da schon richtig ..
-
nach einer abfrage kein ;
if(sscanf(params,"u",pID)) return SendClientMessage(playerid, ROT, "/pannenruf_akzept [ID / Name]")
(11115) : error 001: expected token: ";", but found "if"
(11116) : error 001: expected token: ";", but found "if"
Ja dann Bekomm ich das xDD//EDIT der fehler wurd entdeckt
//EDIT² Aber nun klappt es doch ein problem da steht immer "Dieser Spieler hat keinen PannenDienst Gerufen
-
hups, sry das kommt da wieder hin, ich dachte das wäre nach der abfrage
du hsat aber nach dem new pID ein semikolon vergessen.@[IRP]K3VIN:
Wenn du keine ahnung hast poste nix ne
0,1,2
da du zählen kannst, siehst du dass das 3 werte sind, und nicht 2 -
//EDIT² Aber nun klappt es doch ein problem da steht immer "Dieser Spieler hat keinen PannenDienst Gerufen
Ich Zitiere mich selbst falls du es nicht gesehen hast -
hups, sry das kommt da wieder hin, ich dachte das wäre nach der abfrage
du hsat aber nach dem new pID ein semikolon vergessen.@[IRP]K3VIN:
Wenn du keine ahnung hast poste nix ne
0,1,2
da du zählen kannst, siehst du dass das 3 werte sind, und nicht 2
& was habe ich eben mit meinem Beitrag erklärt ?Edit: WhiteWay: Du setzt den Wert auch auf 2
-
Poste nicht wenn du keine Ahnung hast... PAWNO fängt bei 0 an zu zählen ^^..
0 = 1
1 = 2
2 = 3Also ist die 2 da schon richtig ..
das hast du erklärt, ich hoffe doch wir meinen das selbe, ich meinte ich hatte bei dem
new Float:Pos[3]; vorher ne 2.
Falls du was anderes meintest, sry. -
Hä welchen wert auf 2? -
Hä welchen wert auf 2?
PCall[pID] = 2; -
PCall[pID] = 2;
Wohin damit? xD -
Manchmal glaube ich ehrlich ihr stellt euch alle doof..
ocmd:pannenruf_akzept(playerid,params[])
{
new pID
if(sscanf(params,"u",pID)) return SendClientMessage(playerid, color, "/pannenruf_akzept [ID / Name]");
if(PCall[pID] != 1) return SendClientMessage(playerid, color, "Der Spieler hat niemanden gerufen!"); // HIER SENDEST DU IHM DIE NACHRICHT WENN ER NICHT 1 HAT...
if(AcceptP[playerid] != 999) return SendClientMessage(playerid, color, "Du hast bereits einen Auftrag");
PCall[pID] = 2; // HIER SETZT DU IHM DIE VARIABLE AUF 2...
AcceptP[playerid] = pID;
return 1;
} -
PCall[pID] = 2;
ist es doch auch schon dort auf 2 aber klappt immernoch net -
ist es doch auch schon dort auf 2 aber klappt immernoch net
Setz den Wert mal auf 1 -.- -
Setz den Wert mal auf 1 -.-
Nope Nichts -
Nope Nichts
Was nichts ? ... Send mir doch mal den ganzen code deines Pannendienst systems... dann kann ich dir auch schneller helfen
anstatt jetzt hier über 3 Seiten rum zu buckeln ... -
Was nichts ? ... Send mir doch mal den ganzen code deines Pannendienst systems... dann kann ich dir auch schneller helfen
anstatt jetzt hier über 3 Seiten rum zu buckeln ...
Der Befehl...
ocmd:pannenruf_akzept(playerid,params[])
{
new pID;
if(sscanf(params,"u",pID)) return SendClientMessage(playerid, ROT, "/pannenruf_akzept [ID / Name]");
if(PCall[pID] != 1) return SendClientMessage(playerid, ROT, "Der Spieler hat niemanden gerufen!");
if(AcceptP[playerid] != 999) return SendClientMessage(playerid, ROT, "Du hast bereits einen Auftrag");
PCall[pID] = 1;
AcceptP[playerid] = pID;
return 1;
}
Oh ja und die Liste
if(dialogid == DIALOG_SERVICE)//Service
{
if(response == 1)
{
switch (listitem)
//Pannen Dienst
{
case 0:
{
if(IsPlayerInFrac(playerid,4))
{
new playername[MAX_PLAYER_NAME], string[84];
GetPlayerName(playerid, playername, sizeof(playername));
format(string, sizeof(string), "*User [%i] %s hat den Pannendienst gerufen '/pannenruf_akzept'!", playerid, playername);
SendClientMessage(playerid, 0xFF0000FF, string);
}
}
case 1://Taxi
{
if(IsPlayerInFrac(playerid,6))
{
new playername[MAX_PLAYER_NAME], string[84];
GetPlayerName(playerid, playername, sizeof(playername));
format(string, sizeof(string), "*User [%i] %s hat einen Taxi Fahrer gerufen Akzeptiere mit '/taxi_akzept'", playerid, playername);
SendClientMessage(playerid, 0xFF0000FF, string);
}
}
}
}
} -
Da wo der Spieler den Pannendienst ruft:
PCall[playerid] = 1; -
Da wo der Spieler den Pannendienst ruft:
PCall[playerid] = 1;
Nun ist es soocmd:pannenruf_akzept(playerid,params[])
{
new pID;
if(sscanf(params,"u",pID)) return SendClientMessage(playerid, ROT, "/pannenruf_akzept [ID / Name]");
if(PCall[pID] != 1) return SendClientMessage(playerid, ROT, "Der Spieler hat niemanden gerufen!");
if(AcceptP[playerid] != 999) return SendClientMessage(playerid, ROT, "Du hast bereits einen Auftrag");
PCall[pID] = 2;
AcceptP[playerid] = pID;
return 1;
}
Und der Ruf für den Pannendienst
if(IsPlayerInFrac(playerid,4))
{
new playername[MAX_PLAYER_NAME], string[84];
GetPlayerName(playerid, playername, sizeof(playername));
format(string, sizeof(string), "*User [%i] %s hat den Pannendienst gerufen '/pannenruf_akzept'!", playerid, playername);
SendClientMessage(playerid, 0xFF0000FF, string);
PCall[playerid] = 1;
}
Aber nur wenn ich '/pannenruf_akzept WhiteWay' mache kommt 'Du hast bereits einen Auftrag?!?!' -
-
breadfish.de
Hat das Thema geschlossen.