Beiträge von Andosius

    Ich weiß nicht, ob das Script auch in Ubuntu funktionieren wird, aber ich habe es damals für Debian 10 geschrieben.

    Da die Unterschiede nicht so gravierend sind, müsste es grundsätzlich funktionieren.


    Aufsetzen eines Minecraft-Servers unter Debian 10


    Da Paper die API-Version 1.0 nicht mehr laufen hat, müsste ich eben das Script fixen. Nehme mich dem mal eben an. :)

    Schreibe dir auf Discord, wenn das Script aktualisiert wurde - musst es lediglich als root Nutzer ausführen.


    //Edit: Script funktioniert wieder @ShadowKev1999

    Ich gebe es auf... Bitte lies dir in aller Ruhe nochmal die Beiträge durch, es ist doch wirklich nicht schwer verdammt.... Ich habe dir quasi eine ganze Anleitung geschrieben... Das oben war nur ein Beispiel mit der intid. Das steht sogar direkt oben drüber.

    das problem ist ich finde nicht mehr als nur diese tankstelle

    Wie hart hast du in dein Script reingezoomt, dass du das nicht finden kannst? Das ist - ohne zu übertreiben - wenn du nach der Zeile, die oben steht, suchst, direkt vor deinen Augen.

    Du musst sogar daran vorbei scrollen, wenn du zu der Zeile willst.


    Du hast dir offensichtlich meine Beiträge nicht richtig durchgelesen. Wie bereits mehrfach(!) erwähnt, geht es doch gar nicht mehr um Tankstellen sondern um alle Navigationspunkte zu irgendwelchen Gebäuden, bei denen listitem an Stelle der ID drinnen steht.


    Ein Beispiel (frei erfunden!):

    Code: example.pwn
    new intid = listitem;
    intid += 1;
    
    SetPlayerCheckPointEx(......, InteriorData[listitem][X], InteriorData[listitem][Y], InteriorData[listitem][Z], ......); // hier steht listitem an Stelle von intid...


    Du hast von mir sogar die Zeilenangabe bekommen, die zwei Dialoge darüber haben den gleichen Fehler..............

    Hierbei helfe ich dir aber nicht mehr. Du musst wirklich nur jeweils eine einzige Variable für diese 3 Dialoge kopieren und jeweils 3x einfügen.

    @ShadowKev1999

    C
    SetPlayerCheckpointEx(playerid,TankstellenInfo[listitem][tsPos_X],TankstellenInfo[listitem][tsPos_Y],TankstellenInfo[listitem][tsPos_Z],5.0); // Zeile 48263

    zu

    Code
    SetPlayerCheckpointEx(playerid,TankstellenInfo[tsid][tsPos_X],TankstellenInfo[tsid][tsPos_Y],TankstellenInfo[tsid][tsPos_Z],5.0);



    Das dürfte den Fehler beheben. :)


    Edit://

    Das gleiche Problem hast du auch bei den Ammunations, etc. Dort wird z.B. wie in diesem Fall hier für tsid die korrekte ID gesetzt aber statt dessen listitem als Variable verwendet. Einfach mit der Variable die etwas weiter oben steht austauschen. ;)

    wo muss ich das ändern?

    Das kann ich dir nicht sagen, das Script habe ich nicht geschrieben. Wie gesagt: Der Fehler wird mit hoher Wahrscheinlichkeit in OnDialogResponse sein. Du musst jetzt halt die Spur von DIALOG_NAVI zurückverfolgen, bis du an einer Stelle angekommen bist, an der ein Checkpoint gesetzt wird. Dort wird die Array-ID nicht stimmen. ^^

    Das liegt daran, dass die angegebenen Koordinaten bei 0.0, 0.0, 0.0 liegen.

    Schlussfolgernd wird in deinem Navi-Dialog bei OnDialogResponse die falsche ID berechnet/ermittelt.


    Bitte beantworte in Zukunft die Fragen direkt anstatt irgendetwas anderes zu posten, damit machst du es wirklich schwer dir bei deinem Problem zu helfen. ^^

    getVehicleName(GetVehicleModel(vID))


    Du überprüfst nicht, ob der Spieler in einem Fahrzeug sitzt; in getVehicleName wird vermutlich von 0 die 400 abgezogen, weshalb du bei deinem Fahrzeug-Namen-Array auf -400 zugreifst, was keine definierte Aktion ist.

    Abgesehen von den anderen syntaktischen Fehlern. :)

    Vorhin mein Wiki-Tool komplett neugeschrieben. Darauf erstmal eine Stunde geschlafen und mit frischem Mindset direkt UML-Diagramme zeichnen.

    Was gibt es schöneres? (Abgesehen davon keine UML-Diagramme zeichnen zu müssen ^^)


    Ich habe nun ein Script für die restlichen Designs und JavaScript-Dateien geschrieben. Es befindet sich ab sofort auch im Archiv und nennt sich "download_assets.py".

    Hierin befindet sich beim Download kein delay, da es sich gerade mal um 16 Dateien handelt.

    Hoffentlich nimmt es dem ein oder anderen etwas Arbeit ab. :)

    Schönen guten Morgen allerseits!



    Wie ich bereits vor einigen Tagen erwähnte, wollte ich mir eine private Kopie vom aktuellen SA-MP Wiki ziehen.

    Das ist prinzipiell nicht besonders schwer, wenn man das programmiertechnische Wissen hierzu hat aber oh boy.... es gab einige Hürden!


    Zu allererst musste ich herausfinden, welche Links es alle gibt. Da es soweit ich weiß keine Gesamtübersicht gibt, musste ich alle Links einzeln anklicken (lassen) und dann eine Menge erstellen, welche alle Verlinkungen der Seite enthält.

    Das war prinzipiell gar nicht mal so schwierig. Das Problem war ein ganz anderes: Uneinheitliche Links über das gesamte Wiki verteilt...

    Vermutlich werden es sich schon einige denken können: Das hat die meiste Zeit gekostet und mich während der Datensammlung definitiv am meisten angekotzt. Dieser Prozess dauert etwa eine Stunde bis 90 Minuten.

    Das Herunterladen aller Links, die auch tatsächlich funktionieren, hat bei mir (ohne gefilterte Liste) rund 5 Stunden gedauert. Die Anwendung wird also ganz klar über einen Server und nicht lokal über den PC empfohlen.



    Da Kalcor unberechenbar ist, möchte ich euch allen meine Tools weitergeben, damit (hoffentlich) für alle Menschen da draußen eine Kopie des Wikis möglich ist.

    Eine englische Kurzanleitung findet ihr in der README.md.


    Um euch einiges an Arbeit abzunehmen, veröffentliche ich gleich auch noch eine Liste mir den funktionierenden Links. :)

    Hier sind erstmal die noch funktionierenden Links: https://gist.github.com/Andosi…0be330e9c6432b3ebaf1aa5e9

    Ihr könnt den ersten Schritt überspringen, indem ihr den Inhalt der pastebin-Zeilen in eine Datei namens "internals.txt" im selben Ordner, indem sich auch die Script-Dateien befinden, einfügt.

    Daraus wird dann anschließend eine folders.txt erstellt (scan_folders.py) und mit dieser könnt ihr die Struktur rekonstruieren (create_folders.py).

    Mit scraper.py werden dann die Strukturen gefüllt - that's it.


    Die 5-6 Javascript und CSS-Dateien müsst ihr manuell von der Seite herunterladen. Das ist aber das kleinste übel, da sich alle Path-Informationen im Header befinden. :P


    Meine Tools sind alle in Python geschrieben und hier erhältlich: Download: https://wiki.andosius.de/samp_wiki_scraper.zip

    link_collector.py enthält zum Großteil den Source-Code dieser Seite: https://www.thepythoncode.com/…-all-website-links-python


    Daher einen riesen Dank an den Entwickler, der mir viel Arbeit abgenommen hat. kekw



    Viel Spaß damit.



    WICHTIGER HINWEIS: Checkt auf jeden Fall vorher, ob es einen Eintrag in der team.sa-mp.com/robots.txt gibt! Die kann euch u.U. das automatisierte Betreten der Webseite verbieten.

    Dies müsst ihr manuell überprüfen, das Script tut das nicht automatisch!!!

    Ich übernehme keine Haftung für Schäden oder sonstige Beeinträchtigungen, die durch die Ausführung des Scripts entstanden sind! Nutzung - wie immer - auf eigene Gefahr.