Vor der Ticket-Abfrage:
new driver = GetVehicleDriver(vehicleid);
if(!IsPlayerConnected(driver))
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid,x,y,z);
SetPlayerPos(playerid,x+2,y+2,z+2);
Spieler[playerid][pTicket] = false;
return SCM(playerid,GELB, "Du musst auf den Lockführer warten!");
}
Beiträge von Jeffry
-
-
und möchte ein moderneres Login Design haben. Zum Beispiel in diesem Style :
Im Spiel? Das wird mit Textdraws nur schwer bis gar nicht möglich sein. Die Optik bekommt man so nicht hin.
Schaue dir z.B. folgenden Release an: [INCLUDE] Einzigartige Login/Register TextDraws
Sowas lässt sich machen. -
new driver = GetVehicleDriver(vehicleid);
zu:
new driver = GetVehicleDriver(vehicleid);
if(!IsPlayerConnected(driver))
{
TextDrawShowForPlayer(playerid,InfoSign);
PlayerTextDrawSetString(playerid,INFOdraw[playerid][2],"~r~Info:~w~~n~Kein Taxifahrer im Taxi.");
PlayerTextDrawShow(playerid,INFOdraw[playerid][2]);
SetTimerEx("HideInfoBox",3000,0,"i",playerid);
return RemovePlayerFromVehicle(playerid);
} -
Soviel ich weiß, geht das bei Zügen nicht mit RemovePlayerFromVehicle.
Nutze stattdessen:
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid,x,y,z);
SetPlayerPos(playerid,x+2,y+2,z+2);Alternativ dazu kannst du versuchen, den Code bei OnPlayerEnterVehicle hinzusetzen, und statt RemovePlayerFromVehicle das zu nutzen:
TogglePlayerControllable(playerid, false);
TogglePlayerControllable(playerid, true); -
der wird nicht vom zug rausgeschmissen
Unter welchem Callback steht der Code?
-
ja aber irgendwie muss dass doch machbar sein oder nicht
Ist es exakt 1 Tag mehr (genau 24h)?
Beachte bitte außerdem dies: http://forum.sa-mp.com/showpost.php?p=3807026&postcount=72
-
Da muss ich dir leider widersprechen, ich habe auf einer Autowaschanlage gearbeitet der Wachs ist immer dabei ohne das der Kunde das weiß Natürlich gibt es (Schaumwachs) extra.
Gut, die Aussage war darauf bezogen was angeboten wird. Ob tatsächlich Wachs dabei ist kann ich natürlich nicht genau sagen.
Dann aber so minimal, dass man es auf dem Lack nicht bemerkt und auch kein Abperleffekt entsteht.
Ich habe den Vergleich schon gemacht, bei der Premium Wäsche war der Abperleffekt deutlich da, bei der Basis Wäsche überhaupt nicht (siehe Bilder im vorherigen Post).Deswegen reicht immer die billigste zu nehmen, da sie alles hat
Felgenreinigung hat die auch nicht bei der Shell. Brauch ich aber auch nicht, da ich das von Hand mache, muss man danach sowieso noch, ob mit oder ohne.

-
Nein, du setzt ja PlayerCP immer auf den neuen Checkpoint, der der gerade angezeigt wird.
-
Wenn du eine ID zurück bekommst benötigst du ebenfalls eine Variable bzw ein Array in dem du die speicherst.
Prinzipiell kannst du es auch wie bei den Dialogen machen, mit den defines.
#define TUTORIAL_CP1 1
PlayerCP[playerid] = TUTORIAL_CP1;
SetPlayerCheckpoint(...);
if(PlayerCP[playerid] == TUTORIAL_CP1)
{
//...
}Andernfalls würdest du dir deinen eigenen Streamer schreiben, das geht natürlich auch.
-
Dann musst du es so machen, wenn du den entsprechenden Checkpoint setzt:
Tutorialcp[playerid] = 1;
SetPlayerCheckpoint(playerid,x,y,z,2.5);Das wäre dann für den ersten Checkpoint.
Bei OnPlayerEnterCheckpoint kannst du dann abfragen, ob das Tutorialcp 1 ist. -
Nutze dafür am besten das Streamer Plugin, damit kannst du das machen. Dort gibt es die Funktion CreateDynamicCP.
https://github.com/samp-incogn…wiki/Natives-(Checkpoints)Andernfalls müsstest du die ID immer zusätzlich manuell vergeben, das macht es nur umständlich.
-
Was heißt, du fällst aus der Welt?
Hast du einen Code dazu, der in diesem Fall nicht korrekt ausgeführt wird? (SetPlayerPos?)Wird die .ini Datei im Fehlerfall trotzdem korrekt und mit korrektem Inhalt angelegt?
Werden die Daten (z.B. Level) im Fehlerfall korrekt ausgelesen? -
Würde das so gehen ?
Nein, aber so:
new Mietcar[MAX_PLAYERS] = {-1,...};Das "..." gibt an, dass es für alle möglichen Indizes auf -1 gesetzt wird.
-
Mache es so:
new GasMax[] = {
50,
30,
45,
120,
40,
40,
180,
60
};Dann kannst du so auf den Tank zugreifen:
Tank[modelid-400]
Also zum Beispiel:
new modelid = GetVehicleModel(vehicleid);
if(modelid >= 400 && modelid <= 611) printf("GasMax für modelid %d ist %d.", modelid, GasMax[modelid-400]); -
Der X Wert ist die Position PLUS die Größe des nach rechts anklickbaren Bereiches. Der Y Wert ist die geschätzte Höhe.
Angenommen du erstellst dein Textdraw bei X = 120 und Y = 90. Dann machst du den Text "Hallo Welt" da rein. Sagen wir, der Text ist so groß, dass er in etwa über ein Zehntel deines Bildschirmes geht (musst du abschätzen, oder mit einem Lineal abmessen), dann heißt das 640 durch 10, das wäre 64. Somit ist PlayerTextDrawTextSize-X = 120 + 64 = 184.
Nun misst, bzw. schätzt, du die Höhe des Textdraws, sagen wir mal du bekommst den Text in etwa 20 mal untereinander hin, bis dein Bildschirm von oben nach unten voll damit wäre. Heißt also: 480 durch 20, das gibt 24. Somit wäre PlayerTextDrawTextSize-Y = 24.In deinem Fall in z.B. für die 10 so:
PlayerTextDrawTextSize(playerid, SP_CRequestTD[playerid][10], 546.295898 + 30.0, 10.0);Die 30 und 10 sind nur geschätzt. Das kann natürlich mehr/weniger sein. Passe es dann entsprechend an.
-
einen Ratschlag für die aktuell besten Plugins vor allem was MYSQL angeht
[jTuT] MySQL R41-2 (Installation, XAMPP, Verwendung, Bedienung & Registrations-System)
Wenn du dich Schritt für Schritt durch das Tutorial arbeitest, dann hast du schon mal eine gute Grundlage bezüglich MySQL und auch einen guten Start für den neuen Gamemode.
-
Sieht nach MySQL R5 (oder eine Version um den Dreh) aus.
Download hier:
MySQL (Installation, Zugriff, Einstellungen, Login & Register Beispiel) -
Na woanders. Ich kenne deinen Code nicht, daher kann ich dir nicht sagen wo.
Nutze die Suchfunktion in pawno und suche nach Verheiratet. Dort wo danach kein Komma kommt, ist der Fehler.
In obigem Code ist ein Komma vorhanden, daher kann der Fehler dort nicht sein. -
In dem Code ist der Fehler auch nicht drin.
-
Laut Fehlermeldung nicht.
Daher muss der Fehler von einem anderen Code Stück kommen, in dem das Komma zwischen Verheiratet und payday fehlt.