Beiträge von Avantiii

    Also, den isPlayerAnAdmin stock habe ich jetzt geändert, aber wie muss das jetzt z.B. hier aussehen:


    ocmd:aduty(playerid, params[])
    {
    #pragma unused params
    if(!isPlayerAnAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
    {
    if(aDuty[playerid]==1) return SendClientMessage(playerid, ROT, "Du bist bereits On Duty!");
    else
    {
    aDuty[playerid] = 1;
    new str[128], pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(str, sizeof(str),"%s hat sich als Supporter angemeldet!", pname);
    SendClientMessageToAll( 0x0069FFFF, str);
    SetPlayerColor(playerid, 0x050000FF);
    SetPlayerArmour(playerid, 100);
    }
    }
    return 1;
    }


    Denn wenn ich jetzt eingebe /aduty wird mir gesagt Du bist kein Admin.

    Da kommt dann error:


    C:\Users\Lukas\Desktop\Scripting\Mein Server\gamemodes\Somalia.pwn(344) : error 029: invalid expression, assumed zero
    C:\Users\Lukas\Desktop\Scripting\Mein Server\gamemodes\Somalia.pwn(344) : warning 215: expression has no effect
    C:\Users\Lukas\Desktop\Scripting\Mein Server\gamemodes\Somalia.pwn(344) : error 001: expected token: ";", but found ")"
    C:\Users\Lukas\Desktop\Scripting\Mein Server\gamemodes\Somalia.pwn(344) : error 029: invalid expression, assumed zero
    C:\Users\Lukas\Desktop\Scripting\Mein Server\gamemodes\Somalia.pwn(344) : fatal error 107: too many error messages on one line

    Ich habe mich als Adminlevel 5 gemacht.
    Aber wenn ich jetzt im Spiel eingebe /admins wir mir Adminlevel 1 Moderrator angezeigt.


    ocmd:admins(playerid,params[])
    {
    #pragma unused params
    SendClientMessage(playerid, BLAU, "|______Supporter / Administratoren Online:______|");


    new i = 0, aname[256], string[256];
    for(; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(isPlayerAnAdmin(i,1))
    {
    GetPlayerName(i, aname, sizeof(aname));
    format(string, 256, " Moderrator: %s", aname);
    SendClientMessage(playerid, GRAU, string);
    }
    else if(isPlayerAnAdmin(i,2))
    {
    GetPlayerName(i, aname, sizeof(aname));
    format(string, 256, " Supporter: %s", aname);
    SendClientMessage(playerid, GRAU, aname);
    }
    else if(isPlayerAnAdmin(i,3))
    {
    GetPlayerName(i, aname, sizeof(aname));
    format(string, 256, " Super Supporter: %s", aname);
    SendClientMessage(playerid, GRAU, string);
    }
    else if(isPlayerAnAdmin(i,4))
    {
    GetPlayerName(i, aname, sizeof(aname));
    format(string, 256, " Administrator: %s", aname);
    SendClientMessage(playerid, GRAU, string);
    }
    else if(isPlayerAnAdmin(i,5))
    {
    GetPlayerName(i, aname, sizeof(aname));
    format(string, 256, " Projektleiter: %s", aname);
    SendClientMessage(playerid, GRAU, string);
    }
    }
    }
    return 1;
    }


    Meine Adminabfrage sieht so aus:
    stock isPlayerAnAdmin(playerid,rang)
    {
    if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
    return 0;
    }


    /Edit


    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
    SetPVarInt(playerid,"Kills",dini_Int(Spielerdatei,"Kills"));
    SetPVarInt(playerid,"Deaths",dini_Int(Spielerdatei,"Deaths"));
    if(GetPVarInt(playerid,"Baned")==1)
    {
    SendClientMessage(playerid,ROT,"Du bist vom Server gebannt.");
    Kick(playerid);
    }
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }

    Das sieht bei mir so aus:


    public OnPlayerConnect(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(dini_Exists(Spielerdatei))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte dein Passwort ein:","Login","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Herzlich Willkommen,\nGib bitte das gewünschte Passwort ein:","Register","Abbrechen");
    }
    return 1;
    }

    Eigentlich lich nicht, aber es ist seit dem da, seit dem ich meinen /kick command an mir ausproebiert habe.
    Der sieht so aus:


    ocmd:kick(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
    new pID, reason[128],string[128];
    if(sscanf(params,"us",pID,reason))return SendClientMessage(playerid,BLAU,"Nutze: /kick [id] [grund]");
    format(string,sizeof(string),"AdmCmd: %s wurde von %s gekickt. Grund: %s",SpielerName(pID),SpielerName(playerid),reason);
    SendClientMessageToAll(ROT,string);
    Kick(pID);
    return 1;
    }

    Sobald ich mich Einlogge und mein Passwort eingeben und gespawnt werde steht da aufeinmal immer da Server Closed the connection.
    Hat der irgendjemand eine Ahnung was ich da machen könnte ?
    Ich weiß auch nicht woran es liegt ...

    Ich habe mir ein makeleader command erstellt, aber immer wenn ich eingebe /makleader 0 1 dann wir im chat keine fraktion angezeigt.




    ocmd:makeleader(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,5))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
    new pID, fID;
    new string[128], fraktname[64];
    if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid,BLAU,"Nutze: /makeleader [playerid] [fraktionsid]");
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0:{fraktname="Zivilist";}
    case 1:{fraktname=fraktname1;}
    case 2:{fraktname=fraktname2;}
    case 3:{fraktname=fraktname3;}
    }
    format(string,sizeof(string),"AdmCmd: %s hat dich zum Leader der Fraktion %s ernannt.",SpielerName(pID),fraktname);
    SendClientMessage(pID,ROT,string);
    SetPVarInt(pID,"Fraktion",fID);
    SendClientMessage(playerid,BLAU,"Erfolgreich.");
    return 1;
    }

    Guten Tag,


    Ich habe mich entschlossen dass ich anfangen möchte mir mal einen kleinen RL Server zu Scripten mit einem Freund.
    Aber ich habe ka, wie man Scriptet.
    Darum möchte ich euch fragen, wie lerne ich Scripten.


    Mit freundlichen Grüßen:
    Avantiii