Eine explizite Funktion gibt es dafür nicht.
Du müsstest in einem Timer immer wieder überprüfen, ob der Spieler sich innerhalb eines bestimmten Radius befindet.
Dafür kannst du IsPlayerInRangeOfPoint() verwenden, mit der Position des Mähdreschers und dem Radius, den du möchtest (je nach dem, wie weit man sich vom Mähdrescher entfernen darf).
Beiträge von Le FlasH
-
-
Alles, was du dazu wissen musst, findest du hier: http://wiki.sa-mp.com/wiki/Colour_Embedding#Color_embedding
-
Wenn ich dich richtig verstehe mit "es steht schief", dann meinst du dass die Position zwar richtig ist, aber die Ausrichtung nicht.
Diese solltest du mitspeichern und dann logischerweise auch auslesen und setzen.
Bei Spielern mit SetPlayerFacingAngle() und GetPlayerFacingAngle(). -
Was soll denn die Schleife eigentlich bringen?
Du setzt dem Spieler direkt nacheinander alle möglichen Skins, möglicherweise passiert das SetPlayerSkin so schnell, dass man nur den letzten FraktionsSkin überhaupt am Player sieht.
Du müsstest doch warten, bis der Spieler den nächsten Skin wechseln will, und nicht in einer Schleife alle Skins auf einmal setzen. -
Das wird wohl daran liegen, dass strval(inputtext) 0 zurückgibt, wenn es keinen korrekten Zahlenwert in dem String findet.
Abhilfe: vorher mit IsNumeric() prüfen, ob der eingegebene Text einer Zahl entspricht. Wenn nicht, ist die Eingabe fehlerhaft. -
Hast du das EnterInfo-Array mit dem 3DText-Tag angelegt?
-
@[DT]Done: Nein das ist korrekt so.
Master147:
Schau dir mal diesen Code nochmal an:
else
{
SetPlayerPos(playerid,Hauser[x][pEnterX],Hauser[x][pEnterY],Hauser[x][pEnterZ]);
SetPlayerInterior(playerid,Hauser[x][pInt]);
}
Kurz zum Mitdenken: Wenn man nicht der Owner ist und wenn man nicht der Mieter ist und wenn nicht abgeschlossen ist, kommt man rein.
Also kommt jeder rein, solange das Haus nicht verschlossen ist. War das dein Denkfehler? -
Überprüfe mal, ob die beiden Dialog-IDs von Fahrschule und Stadthalle nicht identisch sind.
Edit: Bzw. dass du die Dialoge auch mit den richtigen IDs aufrufst
Anders kann ich mir den Fehler nicht wirklich erklären. -
Direkt beim Besteigen eines Motorrads = OnPlayerEnterVehicle() --> http://wiki.sa-mp.com/wiki/OnPlayerEnterVehicle
Einen Helm aufsetzen = SetPlayerAttachedObject() --> http://wiki.sa-mp.com/wiki/SetPlayerAttachedObjectDiese Funktionen hättest du auch selbst im SA:MP Wiki suchen können, wäre sogar schneller gewesen.
-
Wenn du eine Variable nur in einer Funktion brauchst, dann ist eine lokale Variable natürlich ressourcensparender.
Der Speicher für lokale Variablen wird nach ihrem Gültigkeitsbereich wieder freigegeben, der Speicher für globale Variablen muss hingegen die ganze Zeit reserviert bleiben, da man ja jederzeit im Script darauf zugreifen kann.
Fazit: Globale Variablen nur dann, wenn du die Variable in verschiedenen Funktionen brauchst. -
Dann siehts schlecht aus, bei meiner rechten Pfeiltaste habe ich das gleiche Problem.
Auf der Taste sieht man keine Beschädigung, aber sie rastet nicht mehr ein.
Evtl. mit einem guten Superkleber ankleben. -
Sieht aus wie die Tastatur meines Acer-Laptops.
Wenn nichts abgebrochen ist, einfach stark auf die Taste draufdrücken, damit sie wieder einrastet. -
Ich verstehe nicht ganz das Problem?
Die Funktion lautet:
dini_Set(filename[], key[], value[])
Also einfach diese Funktion anwenden:
dini_Set("file.txt", "Wohnort", Spieler[playerid][Wohnort])
Davor musst du logischerweise erst der Variable Spieler[playerid][Wohnort] einen Wert bzw. in dem Fall eine Stadt zuweisen. -
Das ist im Grunde genommen gar nicht schwierig, wenn man vorhandene Includes verwendet.
Schau dir einfach mal das Tutorial für die Include dini an, diese ist sehr einfach zu benutzen: [ SCRIPTING ] Dateiensystem dini - Dateien erstellen, löschen, speichern, ladenMaster147:
Wenn er sagt, er will es in einer Datei speichern, wird er wohl nicht MySQL meinen ... -
Sicher dass du auch alle Include hattest und das Compilen erfolgreich war, sprich ohne Errors und mit amx-Datei im richtigen Ordner?
Sicher dass du keine Plugins für das Script brauchst? -
Ja das kann man eventuell manchmal brauchen.
Noch interessanter wäre es, wenn man wie bei der date()-Funktion aus PHP den String direkt aus einem FormatString erstellen könnte. -
Hast du berücksichtigt, dass die random()-Funktion einen Zufallswert zwischen 0 und dem MAX-Parameter errechnet?
Da du ja nur 2 Spieler hast, ist also die Wahrscheinlichkeit 30% dass random() eine 0 als Zufallswert zurückgegeben hat.
Wenn dir das noch nicht bewusst war, einfach den Random-Maxwert -1 rechnen und dafür der Variable "var" grundsätzlich random()+1 zuweisen.
Abgesehen davon habe ich eigentlich keinen Fehler gefunden. -
Was du da mit dem dest-Array machst verstehe ich nicht ganz. Ein mehrdimensionales Array, das in der ersten Dimension aber nur einen Index hat?!
Und der Grund, warum nur die letzte Aufgabe angezeigt wird, ist folgender:
Bei jeder MySQL-Reihe überschreibst du den info-String. Du müsstest aber die neue Aufgabe an den bereits vorhandenen info-String anhängen, am einfachsten mit strcat(). -
-
Wie sieht dein jetziger /goto-Befehl denn aus?
Mit dem derzeitigem Code kann man dir erklären, wie du weiter vorgehen musst.