Anscheinend hat die Funktion dini_Get nen auslese Fehler... Bei SII musste ich beim auslesen auch als optionalen Parameter angeben, wielang der zu lesende String sein soll, da oftmals ein Lesefehler entstand. Schau dir also die Dini Include an und verfolge nach, ob er auch wirklich das Auslesen richtig übernimmt.
Beiträge von Templer
-
-
Bitte tu mir den gefallen und beachte nächstes mal meine Kommentare... Du hast den Fehler gemacht, welchen Ich dir vorhin vermeiden wollte! Wenn du in einem Timer ein Textdraw Erstellen lässt, dann wird es klarerweise immer neu erstellt und führt zu Anzeige Bugs, schaue dir nun also diese Datei im Anhang genau an und halte dich auch daran, oK? Danke
-
Hab dir alle Fehler kommentiert mit //... Siehe Anhang
-
Hab dir ne Schöne Datei gebastelt Have Fun (siehe Anhang)
-
Nun es kann auch daran liegen, da du unter den SA-MP Limits bist, dass ein Object dabei ist, welcher ungültig ist und die Spieler zum crashen bringen! Vielleicht testest du es einfach Blockweise, sagen wir +5 Objekte pro Test bzw. 10-20, damit es schneller geht ^^. Und wenn ein Block nicht funktioniert, dann kannst du diesen einzeln durchtesten und du hast dein faules Objekt. Zeitaufwand: 20-30Minuten.
-
Da dich die Entscheidung sehr interessiert, sag ich mal was vorerst ab. Der Scripter muss immer entscheiden, ob er CPU Freundlich oder RAM Freundlich programmiert. Beides geht nicht! Als Beispiel habe ich dir mal in "Anhang_1", eine kleine Sache dazu zu zeigen.
Zu deinem PVar ist es logisch zu erklären. Natürlich spart das PVar an RAM Speicher, jedoch verbraucht es an CPU-Leistung bei Ausführung und ein enum verbraucht nen RAM-Speicher, jedoch (fast) gar keine CPU-Leistung. Irgendwo hab ich auch gelesen, dass Funktionen langsamer aufgerufen werden, als Definitionen bzw. Array´s/enum´s!
Bedeutet, wenn du es schaffst, dann neben dem PVar den Rest, auch wenn es lustig klingt, RAM belastend programmierst, wie im Anhang_1 zu sehen ist, dann hast du den perfekten Ausgleich ^^. Jedoch stell dir bitte nicht vor, dass so ein PVar gleichviel CPU-Leistung verbraucht, als der Startvorgang von Windows 98 bei der Hardware erkennung. Sondern es handelt sich halt bei den beiden Sachen sagen wir mal um 2-3ms Differenz... Sehr grob geschätzt!
Ich hoffe ich habe es dir vorerst genug erklärt und vielleicht kommt jemand anders und korrigiert oder erweitert meine Aussage
-
Entweder, dass was noir gesagt hat, oder du benützt die Abfrage zum definieren wie zB so:
pdtorvar=true; //oder halt sonstwas
jedoch nützt du diese Variable nicht zur Abfrage wie zB so:
if(pdtorvar==true) //usw...
Am besten, du schaust nach der Variable mit der Suche und definierst es zu ende. -
Nur als Info, die crashinfo.txt bringt nur Kye was, da er den Sourcecode besitzt und er dir möglicherweise eine korrekte Fehlerbehebung sagen könnte. Die Server Log würde uns auch nur Helfen, wenn du ein Debbugging gemacht hast mit sagen wir:
print("Debug 1");
//Code Ausführungprint("Debug 2");
//Code Ausführungprint("Debug 3");
//Code Ausführung
//usw...
Aber nach deiner Fehlerbeschreibung, liegt es wohl an eurem CallBack "OnPlayerDeath", höchstwahrscheinlich wird irgendwas falsch ausgeführt! -
Da Maddin dir einfach sein eigenes reinkopiert hat und Funktionen benützt, welche du höchstwahrscheinlich nicht implementiert hast, siehe im Anhang nach meinen Beispielen.
-
Vielleicht informierst dich mal näher um die Funktion strval? Denn diese konvertiert einen String zu einem Integer..
Also ändere das
txt = strval(strget(cmdtext,1));zu dem hier:
format(txt,sizeof(txt),strget(cmdtext,1)); -
Ich wollte mich endlich mal wieder melden und möchte mich gerne für den derzeitigen Flopp entschuldigen, dass die meißten Sachen nicht funktionieren. Ich verspreche euch noch bis zum Donnerstag, dass ich diese Include überarbeiten werden um den vollen Funktionsumfang zu genießen, weiters noch eine verbesserung hingegen Erkennung von DM´ler die außerhalb von der NoDM Zone auf Spieler, die in der NoDM Zone sind, zu erkennen. Danke trotzdem für die Bugmeldungen und Kritik.
Mfg Templer
Nebenbei, auch wenn es lustig und komisch klingt, finde ich mich mit dem Include grad nichtmehr zurecht Aber bis Donnerstag wirds behoben.
Edit: Habe nun das NoDM Include doch heute schon gefixxt, alle Neuerungen wurden auf der ersten Seite genannt!
-
Auch dieses Projekt ist ein totaler Flopp, den aus irgendwelchen Gründen entstehen komische Bug´s durch das Nützen dieses Includes (Eigene Erfahrung).. Was bis jetzt ohne zweifel ging, ist die normale Funktion SetFastTimer, andere Funktionen hingegen haben Fehler aufgewiesen in der Zuordnung nebenbei auch bei zuvielen Timer es zu kleinen Lags führt. Aus diesem Grunde gebe ich Trooper doch Recht, jedoch nur für diese Version, aber für die Kommende wird es anders sein ^^. Ich werde, da ich schon bis Donnerstag mein NoDM Include behebe, erst bis zum Wochenende fertigstellen. Ansonsten danke ich wiedermal für Kritik und Bugmeldungen...
-
@ [FoR]Hardcore Sry für die so späte Meldung, jedoch wenn du dir es genau ansiehst ist das Beispiel nur für den Godfaher, bedeutet man kann seine eigenen Definitionen einfügen! Wichtig ist nur die Funktion als public, aber das hat rein gar nichts mit Godfather zu tun
Ansonsten ja sry, dass die Screenshots nichtmehr gehen, jedoch kann man es auch so schnell testen, indem man ein leeres GameMode öffnet, dort das Include einbettet und den Spawn nach LS nähe BSN mit einem Fahrzeug verlegen. Sollte nicht schwer sein Nebenbei wer sich die Mühe machen will die Screenshots zu machen, kann es gerne machen und werde es auch im Topic anmerken.
-
Das müsstest du nachscripten in einem schnellen Timer mit GetPlayerKeys um zu überprüfen, ob der Spieler gehen möchte.
-
Nun wenn es am PickUp liegt, kannst du es austesten indem du dein PickUp ganz oben im OnGameModeInit einfügst, dass es als erstes PickUp geladen wird. Die Sache zum verschwinden wäre nur logisch wenn du DestroyPickup falsch verwendest! Ein Beispiel wäre wenn du ein PickUp in der Variable testlol speicherst und es dann mit
DestroyPickup(testlol);
löscht, und du die Variable nicht entwertest durch die Zahl -1 oder INVALID_PICKUP_ID, dann wird beim nächsten Ausführen vom PickUp zerstören, der PickUp gelöscht, welcher nach dem Zerstören von testlol erstellt wurde. Um jedoch diesen Fehler auch zu vermeiden starte ein leeres GameMode mit deinem PickUp und du wirst es höchstwahrscheinlich sehen! Also kontrollier alle DestroyPickup, ob Sie auch wirklich ordnungsgemäß das richtige zerstören.. -
-
Es liegt wohl an deinem DINI, wo er wohl Probleme mim auslesen hat.. Lade dir mal das Dini Include neu runter bzw. kann auch sein, dass du irgendwie es ned richtig kopiert hast das Support System.. Sry aber da kann ich dir ned helfen. Hier mal der Link von deinem Supporter Teil: http://samp.pastebin.com/FYdeckUg
-
Ehm sry, hab vergessen zu sagen du sollst den Befehl ausführen und erst dann die Log schicken.. Danke
-
Das was er geschrieben hat ist kein Spam!
Er aht Recht!
Mit Dcmd ist es erstens Kürzer,zweitens schneller und drittens leichter zu verstehen/schreiben!Nunja, eigentlich bin ich eher auf der Seite von "playerid", da er Recht hat. Dein Beitrag ist um einiges produktiver als der von Trooper...
@Topic: Siehe Dateianhang
-
Zeig uns mal alle anderen Codeausschnitte wo LocateID[playerid] vorkommt..
Denn du hast höchstwahrscheinlich den Codeausschnit vergessen, der in einem Timer jede Sekunde den Checkpoint auf den zu suchenden Spieler draufhaut.
Jedoch hab ich dir mal ne abgespackte Version hier, was dir helfen könnte (siehe Anhang)