Hilfe mit Adminbefehl

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
  • Guten tag ich habe ein problem mit dem befehl /makeadmin


    das hier ist mein code


    dcmd_makeadmin(playerid,params[])//Ocmd ist der erzeuger des Befehls, playerid ist die ID und params sind die parameter
    {
    new pID, rang, string[128];
    if(sscanf(params,"ui",pID,rang))return SendClientMessage(playerid,Orange,"Benutzung: /makeadmin [playerid] [rang]");
    format(string,sizeof(string),"%s sie wurden von %s zum Administrator Level %i ernannt. Herzlichen Glückwunsch!",GetSpielerName(pID),GetSpielerName(playerid),rang);
    if(IsPlayerConnected(pID))
    {
    Spieler[playerid][Adminlevel] = rang;
    SendClientMessageToAll(Blau,string);


    }
    return 1;
    }


    ich bekomme zwa keine errors aber wen ich diesen befehl nutze wierden die namen und der rang in der nachricht nicht angezeigt und das adminlevel wird auch nicht gesetzt kan jemadn helfen ??

  • Spieler[playerid][Adminlevel] = rang;



    in


    Spieler[pID][Adminlevel] = rang;
    ändern.


    //Edit:


    Du musst auch GetPlayerName verwenden um den Namen rauszubekommen ;)

    Die deutsche Rechtschreibung ist Freeware, sprich du darfst sie kostenlos nutzen...
    Sie ist aber nicht Open Source, somit darfst du sie nicht verändern oder in veränderter Form veröffentlichen!


  • Spieler[pID][Adminlevel] = rang;


    hab ich jetzt geändert kans aber gerade nicht ausprobieren weil ich niemanden zum testen habe aber nochmal zum namen ich habe da nochwas habs bloß vergessen mit zu posten hier das ist der absatzt der gefehlt hat wegen name geht aber trozdem nicht
    forward GetSpielerName(playerid);
    public GetSpielerName(playerid)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    return 1;
    }

  • Schreibe die Abfrage mal so:


    stock GetPlayerName(playerid)
    {
    new name[24];
    GetPlayerName(playerid, name, 24);
    return name;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(3572) : warning 219: local variable "name" shadows a variable at a preceding level
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(4445) : error 021: symbol already defined: "GetPlayerName"
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(4448) : error 021: symbol already defined: "GetPlayerName"
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(4449) : error 010: invalid function or declaration
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(4455) : error 017: undefined symbol "GetSpielerName"
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(6377) : warning 219: local variable "name" shadows a variable at a preceding level
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(6393) : warning 219: local variable "name" shadows a variable at a preceding level
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(6413) : warning 219: local variable "name" shadows a variable at a preceding level
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(6433) : warning 219: local variable "name" shadows a variable at a preceding level
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(6617) : warning 219: local variable "name" shadows a variable at a preceding level
    C:\Users\D.Fence\Desktop\SAMP Hamachi Server\gamemodes\Selfmade.pwn(6699) : warning 203: symbol is never used: "name"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

  • Du musst natürlich deins löschen



    hab ich ich glaube das ist i-wo anders nochmal ich guck mal


    //edit:


    ja hier fürs login
    if(IsPlayerNPC(playerid))return 1;
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(dini_Int(Spielerdatei,"Baned")==1)
    {
    SendClientMessage(playerid, BLAU, "Du bist vom Server Gebannt");
    Kick(playerid);
    }
    if(dini_Exists(Spielerdatei))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Gebe dein Passwort Ein","Login","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gebe nun dein Passwort ein\nDiese brauchst du später zum Login","Register","Abbrechen");
    }



    aber ich kan das ja nicht einfach rauslöschen

    Einmal editiert, zuletzt von D.Fence ()

  • Du musst den stock ganz unten in dein Script einfügen, sodass es in keinem Callback (public) steht !


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Dein Public "GetSpielerName" kannst du einfach entfernen. Diese Funktion ersetzen wir mit der Funktion/Stock GetSpielerName, da ein Public unnötig ist.
    Diese Funktion fügst du nun in dein Script ein.


    stock GetSpielerName(playerid)
    {
    new pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
    return pName;
    }


    Nun sollten die Namen richtig angezeigt werden. Dein Login/Register System kann mit deiner alten Funktion gar nicht funktioniert haben.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen

  • Ehm...Ich hatte den stock schon gepostet du Spammer :S

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S