Beiträge von Madd92
-
-
-
-
-
Der Codeschnipsel führt nicht dazu, dass kein Dialog mehr angezeigt wird.
-
"Geht nicht" reicht mir nicht, was geht nicht?
-
-
C
Alles anzeigenif (taxifare > 150 || taxifare < 50) { ShowPlayerDialog(playerid, DIALOG_TAXI_ENTER, DIALOG_STYLE_INPUT, "{FFFF00}Taxi - Preis festlegen", "{FFFFFF}Lege den Preis für die Taxifahrt fest:", "Ok", "Abbrechen"); return SendClientMessage(playerid, 0xFF0000FF, "[TAXI] Der Preis muss zwischen 50 und 150$ liegen."); } new oldvehicleid = GetPVarInt(playerid, "taxiid"); new vehicleid = GetPlayerVehicleID(playerid); if (oldvehicleid > 0 && vehicleid != oldvehicleid) SetVehicleToRespawn(oldvehicleid); SetPVarInt(playerid, "taxiid", vehicleid); SetPVarInt(playerid, "taxifare", taxifare);
Allerdings kann es dann natürlich passieren, dass in der Zeit jemand anderes das alte Taxi nutzt, man muss also viele Dinge dabei noch beachten.
-
Beim Beantworten des Dialogs die Fahrzeug-ID auslesen und speichern. Und davor eben abfragen, ob eine Fahrzeug-ID gespeichert ist und diese dann respawnen.
-
Dann weiß ich auch nicht weiter, wenn du die Variable beim Beantworten des Dialogs auf 1 setzt, danach nirgendwo auf 0 setzt und bei der Abfrage der Variable aber trotzdem wieder false kommt. Ich würde dir empfehlen, nochmal deine Gedanken zu ordnen, wie du es eigentlich haben willst und dann Schritt für Schritt nochmal die Funktionen und Variablen die gesetzt werden müssen durchzugehen.
-
Das kann eigentlich nur daran liegen, dass das Adminlevel des einen Spielers nicht zwischen 1 und 4 liegt.
-
Ich würde es eher so machen:
C
Alles anzeigennew admin[MAX_PLAYER_NAME]; new string[256]; SendClientMessage(playerid, Weiß, "Anwesende Admins:"); for(new i = 0; i < MAX_PLAYERS; i++) { if(!IsPlayerConnected(i) || sSpieler[i][Adminlevel] == 0) continue; GetPlayerName(i, admin, sizeof(admin)); switch(sSpieler[i][Adminlevel]) { case 1: format(string, sizeof(string), "Supporter: %s", admin); case 2: format(string, sizeof(string), "Moderator: %s", admin); case 3: format(string, sizeof(string), "Super Moderator: %s", admin); case 4: format(string, sizeof(string), "Vorstand: %s", admin); default: continue; } SendClientMessage(playerid, Weiß, string); } return 1;
-
Na pTaxiDuty soll ja ein Wert, wahrscheinlich in einem Enum sein oder zumindest definiert, als Index über den man auf das Array zugreift. Wenn du das nicht definiert hast, würde der Compiler einen Fehler ausgeben.
-
Wie ist denn das Array Spieler und pTaxiDuty definiert?
-
ne ich meine das der dialog nicht kommt wenn ich schon duty bin MfG Lui
nö Geht nicht wenn ich austeige und wieder einsteige kommt der wieder MfG Lui
Ja ist doch logisch, wenn du den Dienst beendest, wenn der Spieler das Fahrzeug verlässt...
-
Und an welcher Stelle steht das? Die Frage ist ja, wann der Spieler den Job beenden soll. Per Befehl? Wenn er aussteigt? Wenn er eine bestimmte Zeit lang ausgestiegen ist?
-
Und wo setzt du sie wieder auf 0? Und wie ist pTaxiDuty definiert?
-
Du setzt doch beim Beantworten des Dialogs die Variable Spieler[playerid][pTaxiDuty] = 1;. Setzt du sie beim Aussteigen oder anderswo wieder auf 0?
-
C
Alles anzeigenif(IsVehicleATaxi(vehicleid)) { if(Spieler[playerid][pJob] != 17) { TextDrawShowForPlayer(playerid,InfoSign); PlayerTextDrawSetString(playerid,INFOdraw[playerid][2],"~r~Info:~w~~n~Du besitzt nicht den jeweiligen Job."); PlayerTextDrawShow(playerid,INFOdraw[playerid][2]); SetTimerEx("HideInfoBox",3000,0,"i",playerid); return RemovePlayerFromVehicle(playerid); } if(Spieler[playerid][pTaxiDuty] == 0) { ShowPlayerDialog(playerid, DIALOG_TAXIPICE, DIALOG_STYLE_INPUT, "{FFFF00}Taxi - Preis festlegen", "{FFFFFF}Lege den Preis für die Taxifahrt fest:", "Ok", "Abbrechen"); } }
Das funktioniert also nicht?
-
Du gräbst hier ein ewig altes Thema wieder aus DROT wird im Script definiert sein und vermutlich Dunkelrot meinen, also 0x8B0000FF oder so.