Modularer Gamemode

Aus gegebenem Anlass: Sichert eure Backupcodes wenn ihr die Zwei-Faktor-Authentifizierung aktiviert habt!

Infos dazu findet ihr nochmal hier

  • Hallo,


    wie der Titel sagt, möchte ich meinen Gamemode gerne wieder modular aufbauen. Es erschließt sich mir jedoch eine Frage, die ich damals schon immer im Kopf hatte.


    Stellen wir uns folgende Struktur der Ordner vor;


    Code
    1. gamemodes
    2. -> selfmade.pwn
    3. -> server
    4. -> database.pwn
    5. -> players

    Beispielweise befindet sich im Server Ordner der Aufbau der Datenbankverbindung als Code und dort wird zum Beispiel die Funktion OnGameModeInit benötigt.
    Gut, ich könnte es jetzt wie folgt machen:
    forward Database_OnGameModeInit();
    public Database_OnGameModeInit()
    {
    ///CODE
    }



    Letztendlich könnte ich dann im Haupt Gamemode das ganze einfach per Database_OnGameModeInit(); abrufen. Möchte ich aber nicht.
    Es gibt sicherlich die Möglichkeit in der Database.pwn die Funktion zu hooken, dass ich im Haupt Gamemode keine Änderungen eintragen muss. Richtig?

  • Beitrag von Fernandez_ ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Hi wollte jetzt nicht ein neues Thema öffnen aber ist es möglich ein public was nicht von samp ist zu hooken? Z.B. würde ich gerne OnPlayerEditDynamicObject hooken geht aber nicht da es kein public von samp ist.
    Würde es gerne so machen das ich im Gamemode nix dafür ändern muss sondern lediglich nur die .pwn includen muss.

    itsma.png


  • Du kannst jedes Callback hooken, unabhängig davon, ob es von SA-MP ist, oder nicht.

    ja allerdings muss man z.b. bei der neuen ysi Version anstattOnPlayerEditDynamicObjectOnPlayerEditDynObject schreiben ist mir gestern aufgefallen.

    itsma.png


  • ja allerdings muss man z.b. bei der neuen ysi Version anstattOnPlayerEditDynamicObjectOnPlayerEditDynObject schreiben ist mir gestern aufgefallen.

    #define OnPlayerEditDynamicObject OnPlayerEditDynObject


    Wo war da jz die Schwierigkeit dran? Eine Definition hätte auch gereicht. 😳

    -—-—-—-—-—-—-—-—-—-—-—-—-—-—-
    ~> S Z E R T O C K Z — I S — B A C K <~
    -—-—-—-—-—-—-—-—-—-—-—-—-—-—-

  • #define OnPlayerEditDynamicObject OnPlayerEditDynObject


    Wo war da jz die Schwierigkeit dran? Eine Definition hätte auch gereicht. 😳

    Wieso so unnötig den Compiler diesen Define durchgehen lassen, wenn, OnPlayerEditDynObject nur einmal im Script verwendet werden kann.

    itsma.png


  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Wieso so unnötig den Compiler diesen Define durchgehen lassen, wenn, OnPlayerEditDynObject nur einmal im Script verwendet werden kann.

    Du hast gefragt und ich hab dir nur eine einfache Lösung auf dein Anliegen geliefert! 😁 Dann benutz doch die kurze Variation, shit happens.

    -—-—-—-—-—-—-—-—-—-—-—-—-—-—-
    ~> S Z E R T O C K Z — I S — B A C K <~
    -—-—-—-—-—-—-—-—-—-—-—-—-—-—-

  • Du hast gefragt und ich hab dir nur eine einfache Lösung auf dein Anliegen geliefert! 😁 Dann benutz doch die kurze Variation, shit happens.

    Danke aber ich habe nirgendwo eine Frage gestellt ich habe nur eine Antwort auf Jeffrys Antwort gegeben

    Shit happens

    itsma.png


  • Zu YSI kann ich nichts sagen, ich habe das nie verwendet, da es auf Grund seiner unnötig komplexen Struktur nur völlig unflexibel einsetzbar ist.

    Ich kann nur jedem raten, solche "Black Boxes" zu meiden, wo es geht.

    1WV8i3b.png

  • Zu YSI kann ich nichts sagen, ich habe das nie verwendet, da es auf Grund seiner unnötig komplexen Struktur nur völlig unflexibel einsetzbar ist.

    Ich kann nur jedem raten, solche "Black Boxes" zu meiden, wo es geht.

    Verstehe ich nicht wie würdest du den Modular/Strukturiert Scripten?

    itsma.png


  • Verstehe ich nicht wie würdest du den Modular/Strukturiert Scripten?

    Wahrscheinlich, wie alle Includes gehookt werden.


    Beispiel: