Globaler Funktionsaufruf

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Ich wollte euch mal fragen wie ich eine wiederkehrende Funktion Global machen kann sozusagen.


    Z.B. die Userlevel Abfrage bei meinen Commands. Und zwar frage ich nunmal die Datei und den Level ab und das verbraucht schon einige Zeilen Code.


    Beispiel:


    ocmd:setweather(playerid,params[])
    {
    new weatherid;
    new pName[MAX_PLAYER_NAME], save[28];
    GetPlayerName(playerid,pName,sizeof(pName));
    format(save,sizeof(save),"/Spieler/%s.ini",pName);
    if(dini_Exists(save))
    {
    sInfo[playerid][level] = dini_Int(save,"Level");
    if(sInfo[playerid][level] > 2)
    {
    if(sscanf(params,"i",weatherid)) return SendClientMessage(playerid,COLOR_YELLOW,"Verwende: /setweather [WetterID]");
    {
    SetWeather(weatherid);
    }
    }
    }
    return 1;
    }


    Jemand eine Idee?

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche

  • Ich verändere die Variable doch gar nicht, außerdem brauche ich die Abfrage für den Userlevel. Beim Login wärs doch auch wieder nur Lokal und nicht Global..

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche

  • Du hast doch bestimmt deine sInfo[playerid][Level] in einem Enum festgelegt oder?
    dann ladest du in dieses Enum beim Login die Daten, und kannst dann dieses Enum zum abfragen benutzen.


    if(sInfo[playerid][Level] == 2) return SendClientMessage(playerid, COLOR_WHITE, "* Du bist Level 2 :D");


    mfg zunno