Beiträge von Kaliber

    Ups, sorry ^^

    Hier der Code noch mal ein bisschen anders geschrieben, kannst an einigen Stellen auf einiges verzichten.


    Zudem solltest du versuchen keine globalen Strings zu verwenden.



    Habe direkt mal eine mögliche Lösung im Code angegeben, über inputtext kannst du dann die Datenbankid abfragen.


    Hier mal, was inputtext für den jeweiligen Dialog Typ enthält: https://wiki.sa-mp.com/wiki/Dialog_Styles


    Man kann es auch anders lösen, z.B. indem du das temporär in PVars zwischenspeicherst o.ä.


    Aber so ist es eigentlich am einfachsten :)

    konstrukive Diskussionen sind nicht möglich

    Hmm? Doch natürlich, kannst gerne schreiben, was dich stört, nur dann solltest du auch schon eine Alternative bieten und keine einfaches, ja das ist nicht gut.
    Zumal man deine Szenarien auch durch eine 2. Variablen lösen könnte wie...er ist Gast oder er muss Angemeldet sein.

    Wie dem auch sei, ich würde sowas über einen zusätzlichen Parameter im ocmd Kopf umsetzen. Das braucht keine Zeile Code, kann pro Befehl gesteuert werden, und benötigt keine Ausnahmen in dem Callback, die im schlimmsten Fall auch noch mit strcmp gemacht werden, und womöglich auch vergessen werden, was ein Notfall Update nach sich zieht. Den zugehörigen Code baut man dann in das Callback ein oder direkt in die Include.

    Das ist zwar eine nette Idee, aber mit ocmd, kaum bzw gar nicht realisierbar.


    Woher soll man im Callback auch wissen, dass im Funktionsheader der Parameter auf true gesetzt wurde?!


    Das müsste man dann zwischenspeichern und das wäre sehr aufwändig...da ist es einfach ein paar Ausnahmen zu schreiben oder das anders zu realisieren.
    Aber im Endeffekt ist das noch um einiges umständlicher und viel schwieriger.


    Mein Vorschläge sind einfach zu realisieren & zu integrieren.
    Klar könnte man direkt auch auf Plugins wie https://forum.sa-mp.com/showthread.php?t=608474 umsteigen, wo man schon eine größere Funktionalität geboten bekommt, aber darum ging es ja eigentlich nicht.

    aber ich hätte es glaube ich so geregelt

    Also die Idee mit der Schleife ist schon gut, aber dein Code wird nicht funktionieren, da du x,y,z nicht updatest + nicht als erstes abfragst.


    Desweiteren verwendest du hier 2 globale Variablen mit dem index MAX_PLAYERS, ich zeige mal, dass man das nicht brauch und der Code effizienter wird:


    Zudem sollte man eine Zeitsperre einbauen, damit man den Command nicht spammt, während man sich noch bewegt:



    Damit hast du dann auch den /register und /login Befehl deaktiviert, man könnte sich daher nicht mehr einloggen bzw. registrieren, ohne eingeloggt zu sein.


    Ebenso Befehle wie /help oder /contact. Diese sollten durchaus ohne Login möglich sein. Daher macht es meiner Meinung nach keinen Sinn, dieses Callback für diesen Zweck zu nutzen, da der eine oder andere Befehl mehr, weniger oder andere Abfragen benötigt.

    1. Wer nutzt dafür heute noch Befehle?


    2. Man kann dafür Ausnahmen einfügen, ich hoffe das ist dir bewusst. Nur weil man 3 Befehle verwenden mag, soll man also in allen anderen 1000 diese Zeile Code nutzen?! aha.

    Okay, also die IP ist erreichbar ohne Probleme.


    Dann noch 3 Versuche:


    1. Deaktiviere dein Antiviren System, manchmal blocken die evtl auch was.


    2. Deaktiviere den Windows Defender.


    3.

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Oh sorry, habe mich verlesen, dachte der Server läuft auf deinem PC.


    Naja, wenn der Server von überall aus erreichbar ist, nur nicht von deinem Laptop aus, liegt das an deinem Laptop.


    Hat dein Laptop denn Internet? :D


    Deaktiviere eventuell mal die Firewall, starte SA:MP mal als Administrator...evtl verschiebe den Pfad wo sich GTA:SA und so befindet mal.