Returne 1 bzw. true bei Erfolg und 0 bzw. false falls es nicht gelungen ist. Das ist das Prinzip, das die meisten verfolgen (sollten). Demnach ist klar, ob es erfolgreich oder nicht erfolgreich war ohne jeglichen Schnick-Schnack.
Beiträge von Campbell
-
-
Das liegt nicht an deinem Script, sondern an deinen Server-Einstellungen/Server-Dateien.
-
Deine Parameter in SetTimerEx() sind falsch: http://wiki.sa-mp.com/wiki/SetTimerEx
-
Du verwendest eine Parameter zuviel in CreatePickup(): http://wiki.sa-mp.com/wiki/CreatePickup
-
Die Klammern sind nicht benötigt und Strings kann man eben weiterhin nicht über ein simples '=' zuweisen.
-
Nein. Es gibt zwar goto (http://www.compuphase.com/pawn/Pawn_Language_Guide.pdf - Seite 117), dennoch ist es nicht in Funktionen zu verwenden.
-
Verständnisproblem:
true ist definiert als (int) >= 1.
false ist definiert als (int) 0.Zwar entspricht true dem Integerwert 1 und false dem Integerwert 0, dennoch möchte Pawno nicht, dass man bei booleans von Integerwerten Gebrauch macht. Zum Beispiel bei einer Typumwandlung zu einem Integer wird false 0 und true 1 ergeben.
Siehe Seite 105/106: http://www.compuphase.com/pawn/Pawn_Language_Guide.pdf
-
Aber es ist ja auch unpraktisch/unreal, wenn man keinen Motor mehr anmachen kann? In Reallife kann man auch tanken und wegfahren.
Es ist ein unrealistisches Feature, das aus einer unrealistischen Bedingung folgt. Aus diesem Grund wurde extra nochmals nachgefragt.
Ich werde mich ma Dran Versuchen kann ich falls ich fragen habe mich an dich wenden ?Jep.
-
Du meinst, dass nie etwas passiert. Na dann überprüfe doch mal, ob der entsprechende Teil in OnDialogResponse() überhaupt aufgerufen wird. Teste, ob deine DialogID richtig ist und falls sie das ist, dann überprüfe per Ausgaben, wo dein Script hängen bleibt. Stichwort: Debugging.
-
- Erstelle ein simples Tanksystem, wie es auch generell erstellt wird.
- Erstelle einen Array, der alle Autos umfasst (MAX_VEHICLES) und zweidimensional ist.
- Sobald das Auto aufgetankt wird, setzt du den Parameter für das Auto im Array, damit dieses Auto nicht mehr anspringen wird, solange nicht bezahlt wird (Voraussetzung: Zum Tanken muss der Motor aus sein - realistisch).
- Sobald der entsprechende Betrag im Interior bezahlt wurde wir der Parameter wieder zurückgesetzt und das Auto kann wieder anspringen.
Ein Timer hier zu verwenden ist wiedermal unpraktisch/unnötig. Das Ganze ist natürlich stark ausbaubar, je nachdem wie realistisch und genau es sein sollte. Zum Beispiel könnte man die Koordinaten des Tankdeckels von jedem Auto erfassen und einen Checkpoint am Tank erstellen, an dem man dann tanken kann etc.
-
Du verwechselst ModelID mit VehicleID.
-
Die Frage ist, ob es möglich sein sollte, ohne zu bezahlen weiterzufahren oder ob das Bezahlen durch den Script gesichert sein sollte.
-
Es ist empfehlenswert die Player-Textdraws bereits in OnPlayerConnect() zu laden und sie dann nur noch in OnPlayerSpawn() anzuzeigen.
Um das Problem zu lösen würde ich dir einfaches debugging empfehlen. Schließe zB. einfach mal die bekannten und benötigten Textdraws aus und lasse sie nicht anzeigen bzw. gehe alle Textdraws durch, die du irgendwann einmal einblendest. Evt. findest du dann den Grund für das Problem. Weiter kann ich dir nicht helfen, da ich deinen kompletten Quellcode nicht kenne. -
natives sind soweit ich weiß keine Funktionen, die man zum SCripten anwenden kann korrigiert mich, wenn ich falsch liege
Ich stimme nicht komplett zu:ZitatThe only means that a pawn program has to manipulate objects in the host application is by calling subroutines, so called “native functions”, that the host application provides.
Quelle: http://www.compuphase.com/pawn/Pawn_Language_Guide.pdf
Zitat[...] is a part of source code within a larger computer program that performs a specific task and is relatively independent of the remaining code.
Quelle: http://en.wikipedia.org/wiki/Subroutine
Ich habe die neuste samp version zum scripten aber wenn ich was von den neuen sachen amwenden möchte bekomme ich ausgegeben das es eine Unbekannte Funktion ist.
Wo muss ich diese Natives eintragen oder wie mache ich es das es geht ?
Alle natives, die du benötigst sind bereits in a_samp.inc eingetragen. Du musst demnach nur diese Datei includen bzw. den Inhalt kopieren und im Kopfteil deines Quellcodes einfügen. -
Kann es sein, dass du noch den alten Textdraw drin hast? Du überschreibst nähmlich nach meinem Beispiel nur den String des Textdraws. Demnach dürfte sich dieser einzelne Textdraw nicht 'überschneiden'.
-
Dein Befehl muss etwas zurückgeben (return), daher muss nach dem Ausführen der Funktion noch mindestens ein return kommen. Man kann sie nicht 'abbrechen'.
-
Hier sind alle benötigten Funktionen aufgelistet: http://wiki.sa-mp.com/wiki/TextDraws
-
dennoch ist das egal der streamer lädt die objekte trotzdem
Das würde ich so nicht so unterschreiben. Der Plugin entspricht nicht dem, was das Include vor hat. Wenn sich also irgendetwas verändert hat, wodurch es nun zu einem unerwartetem Ereignis kommen kann wäre dies sub-optimal (das muss nicht immer direkt auf den ersten Blick sichbar sein). Also würde ich mich darum bemühen auch diese Warnung zu entfernen. Es ist ja nicht umsonst eine Warnung. -
Eine Möglichkeit etwas 'abzubrechen' ist mir nicht bekannt. Soweit ich weiß ist nur durch Validierung der Rückgabe möglich, einen Teil nicht ausführen zu lassen. Du musst dir das ja so vorstellen, dass das Script von oben nach unten arbeitet. Demnach muss auch dein Befehl irgendwann etwas zurückgeben, damit es an anderer Stelle weitergeht. Ob ein 'Abbrechen' dann überhaupt sinnvoll ist, ist fraglich.
-
// Für Textdraws:
new Text:Deaths2;
new Text:Kills2;// Für Player-Textdraws (siehe auch Quellcode oben):
new PlayerText:Deaths2;
new PlayerText:Kills2;