Beiträge von Kameltreiber


    stock Login(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);


    if(gettime()<dini_Int(Spielerdatei,"timeban"))
    {
    SendClientMessage(playerid,ROT,"Du bist noch gebannt. Komm später wieder.");
    Kick(playerid);
    return 1;
    }


    if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),false))
    {
    LoadAccount(playerid);
    SendClientMessage(playerid,BLAU,"Erfolgreich eingeloggt.");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,BLAU,"Falsches Passwort.");
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
    return 1;
    }
    }

    Hallo Community,
    seit ca 2 Wochen beschäftige Ich mich damit und bis heute habe ich keine Lösung gefunden.
    Ich spawne mit dem Skin "26" (wanderer Skin) ... und überspringe dadurch am anfang die Skin Selection. Dass will ich ja auch so haben.
    Im Spiel geh ich in einen Skin Shop und ändere denn Skin .. bei /kill bleibt der Skin auch beim neuem Spawn erhalten. Sobald Ich aber das Game restarte bzw einfach mal beende und
    später nochmal starte, dann spawn er wieder mit dem wanderer Skin.
    D.h. ja im Grunde irgendetwas stimmt beim OnPlayerDisco nicht? oder beim SpielerSpeichern ... ich weiß es nicht!! :(



    enum playerdata
    {
    SkinID,
    Skinshop
    }


    new pInfo[MAX_PLAYERS][playerdata];
    public OnPlayerRequestClass(playerid, classid)
    {
    if(pInfo[playerid][Skinshop]==1)
    {
    SetPlayerPos(playerid,216.8071,-98.6221,1005.2578);
    SetPlayerFacingAngle(playerid,271.9583);
    SetPlayerCameraPos(playerid,216.8071,-98.6221,1005.2578);
    SetPlayerCameraLookAt(playerid,216.8071,-98.6221,1005.2578);
    SetPlayerInterior(playerid,15);
    pInfo[playerid][SkinID]=GetPlayerSkin(playerid);
    pInfo[playerid][Skinshop]=1;
    ApplyAnimation(playerid,"DANCING","DNCE_M_B",4.0,1,0,0,0,-1);
    PlayerPlaySound(playerid, 1097,-119.9460,23.1096,12.2238);
    }
    else
    {
    SetSpawnInfo( playerid, 0, 26, 2001.1754,1520.2993,17.0625,0.9500, 0, 0,0, 0, 0, 0 );
    SpawnPlayer(playerid);
    }
    return 1;
    }


    public OnPlayerConnect(playerid)
    {


    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_Exists(Spielerdatei))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_INPUT,"Login","Dein Account wurde gefunden. Gib bitte das Passwort ein.","Login","Abbrechen");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrieren","Gib bitte das gewünschte Passwort ein:","Register","Abbrechen");
    }
    return 1;



    }
    public OnPlayerDisconnect(playerid, reason)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    SpielerSpeichern(playerid);
    }
    }
    public OnPlayerSpawn(playerid)
    {
    // LSPD SPAWN
    if(isPlayerInFrakt(playerid,1))
    {
    SetPlayerPos(playerid,246.783996,63.900199,1003.64062); SetPlayerInterior(playerid,6);
    }

    // MAFIA SPAWN
    if(isPlayerInFrakt(playerid,2))
    {
    if(GetPVarInt(playerid,"Rang")<=4)
    {
    SetPlayerSkin(playerid,111);
    }
    }
    if(isPlayerInFrakt(playerid,2))
    {
    if(GetPVarInt(playerid,"Rang")>4)
    {
    SetPlayerSkin(playerid,113);GivePlayerWeapon(playerid,4,1);GivePlayerWeapon(playerid,23,40);
    }
    }
    if(pInfo[playerid][Skinshop]==1)
    {
    SetPlayerPos(playerid,216.8071,-98.6221,1005.2578);
    SetPlayerFacingAngle(playerid,271.9583);
    SetPlayerInterior(playerid,15);
    pInfo[playerid][Skinshop]=0;
    PlayerPlaySound(playerid, 1186, 0.0, 0.0, 0.0);
    ClearAnimations(playerid);
    }

    return 1;
    }
    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerSkin(playerid,dini_Int(Spielerdatei,"SkinID"));

    return 1;
    }


    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"SkinID",GetPlayerSkin(playerid));
    }
    return 1;
    }
    public OnPlayerDisconnect(playerid, reason)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    SpielerSpeichern(playerid);
    }
    }

    public OnPlayerSpawn(playerid)
    {
    // LSPD SPAWN
    if(isPlayerInFrakt(playerid,1))
    {
    SetPlayerPos(playerid,246.783996,63.900199,1003.64062); SetPlayerInterior(playerid,6);
    }

    // MAFIA SPAWN
    if(isPlayerInFrakt(playerid,2))
    {
    if(GetPVarInt(playerid,"Rang")<=4)
    {
    SetPlayerSkin(playerid,111);
    }
    }
    if(isPlayerInFrakt(playerid,2))
    {
    if(GetPVarInt(playerid,"Rang")>4)
    {
    SetPlayerSkin(playerid,113);GivePlayerWeapon(playerid,4,1);GivePlayerWeapon(playerid,23,40);
    }
    }

    return 1;
    }

    Hab das jetzt so versucht. Er überspringt es leider nicht.. er spawnt erst dann wenn ich die pfeiltasten bediene bzw spawn klicke (aber mit dem richtigem skin) nur wie überspringe ich die class selection?

    Hallo Leute .. ich will , dass wenn man schon einen Skin zuvor ausgewählt hatte "nach dem Registrieren" ..dass dann der spieler direkt spawnt mit dem Skin der gespeichert werden soll nach dem man disconectet



    public OnGameModeInit()
    {
    AddPlayerClass(1,2047.4270,1336.5569,10.6719,188.9284,0,0,0,0,0,0);
    AddPlayerClass(2,2047.4270,1336.5569,10.6719,188.9284,0,0,0,0,0,0);
    AddPlayerClass(3,2047.4270,1336.5569,10.6719,188.9284,0,0,0,0,0,0);
    AddPlayerClass(4,2047.4270,1336.5569,10.6719,188.9284,0,0,0,0,0,0);
    AddPlayerClass(5,2047.4270,1336.5569,10.6719,188.9284,0,0,0,0,0,0);
    AddPlayerClass(6,2047.4270,1336.5569,10.6719,188.9284,0,0,0,0,0,0);
    AddPlayerClass(7,2047.4270,1336.5569,10.6719,188.9284,0,0,0,0,0,0);
    }


    public OnPlayerRequestClass(playerid, classid)
    {
    if(IsPlayerNPC(playerid))return 1;
    SetPlayerPos(playerid,2047.4270,1336.5569,10.6719);
    SetPlayerFacingAngle(playerid,188.9284);
    SetPlayerCameraPos(playerid,2047.6205,1333.3314,10.6719);
    SetPlayerCameraLookAt(playerid,2047.4270,1336.5569,10.6719);
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    SpielerSpeichern(playerid);
    }
    }


    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"SkinID",GetPlayerSkin(playerid));
    ..................


    }
    return 1;
    }


    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerSkin(playerid,dini_Int(Spielerdatei,"SkinID"));
    .........


    return 1;
    }



    Hallo Leute,


    ich will dass wenn der spieler bereits registriert ist und schon einen Skin hat ...
    dass er dann direkt spawnen soll und nicht erst wieder einen Skin aussuchen braucht..


    danke

    Hallo wieso macht er die animation nicht .. muss die iwoanders definiert werden oder wie??


    ocmd:cuff(playerid,params[])
    {
    new pID;
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,BLAU,"/cuff [playerid]");
    if(isPlayerInFrakt(playerid,1))
    {
    new Float:cx,Float:cy,Float:cz;
    GetPlayerPos(playerid,cx,cy,cz);
    for(new i = 0; i< MAX_PLAYERS; i++)
    if(IsPlayerInRangeOfPoint(i,2.0,cx,cy,cz))
    {
    TogglePlayerControllable(pID,0);
    SetPlayerSpecialAction(pID,SPECIAL_ACTION_CUFFED);
    SetPlayerAttachedObject(pID, 0, 19418, 6, -0.011000, 0.028000, -0.022000, -15.600012, -33.699977, -81.700035, 0.891999, 1.000000, 1.168000);
    return 1;
    }

    }
    return 1;
    }

    Hallo Leute,


    ich habe jetzt bei http://wiki.sa-mp.com/wiki/SetPlayerAttachedObject geguckt aber um ehrlich zu sein .. weiß ich nicht wie ich die animation hinbekomme dass er sich auch hinkniet bzw. handschellen bekommt..


    zudem will ich eine abfrage machen ob er der Spieler getazert wurde bevor man ihm handschellen anlegen kann .. ist er es nicht dann soll es hallt nicht gehen ..
    muss ich dafür einen stock erstellen oder wie?



    ocmd:tazer(playerid,params[])
    {
    new pID;
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,BLAU,"/tazer [playerid]");
    if(isPlayerInFrakt(playerid,1))
    {
    new Float:cx,Float:cy,Float:cz;
    GetPlayerPos(playerid,cx,cy,cz);
    for(new i = 0; i < MAX_PLAYERS; i++)
    if(IsPlayerInRangeOfPoint(i,2.0,cx,cy,cz))
    {
    TogglePlayerControllable(pID,0);
    SetTimer("tazertimer",15000, false);
    return 1;
    }
    }
    return 1;
    }
    ocmd:cuff(playerid,params[])
    {
    new pID;
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,BLAU,"/cuff [playerid]");
    if(isPlayerInFrakt(playerid,1))
    {
    new Float:cx,Float:cy,Float:cz;
    GetPlayerPos(playerid,cx,cy,cz);
    for(new i = 0; i< MAX_PLAYERS; i++)
    if(IsPlayerInRangeOfPoint(i,2.0,cx,cy,cz))
    {
    TogglePlayerControllable(pID,0);
    return 1;
    }

    }
    return 1;
    }

    Hallo Leute,
    wenn ich jemanden einen wantedpunkt gebe kommt immer die fehlermeldung er kann nicht im minus sein ..
    davor ging es iwie . .aber wenn ich z.b 40 + 40 gemacht habe kam 80 und ich will ja eigtl nur bis 60 :(


    gruß Kamel



    ocmd:su(playerid,params[])
    {
    new pID,wanted,reason[128];
    if(isPlayerInFrakt(playerid,1))
    if(sscanf(params,"uis",pID,wanted,reason))return SendClientMessage(playerid,ROT,"Benutze /su [id] [wantedpunkte] [grund]");
    if(GetPVarInt(pID,"Wantedpunkte") >= 60)
    {
    return SendClientMessage(playerid,ROT,"Er hat schon die maximale Anzahl an Wantedpunkten");
    }
    if(GetPVarInt(pID,"Wantedpunkte") <= 0)
    {
    return SendClientMessage(playerid,ROT,"Er kann nicht im Minus sein LOL");
    }
    SetPVarInt(pID,"Wantedpunkte",GetPVarInt(pID,"Wantedpunkte")+ wanted);
    new text1[64], text2[64];
    format(text1,sizeof text1,"*%s hat dir %i Wanteds gegeben. Du hast nun %i. Wanteds",SpielerName(playerid),wanted),GetPVarInt(pID,"Wantedpunkte");
    SendClientMessage(pID, ROT,text1);
    format(text2,sizeof text2,"*Du hast dem Spieler %s %i Wanteds gegeben.",pID,wanted);
    SendClientMessage(playerid, ROT, text2);
    SpielerSpeichern(pID);
    return SendClientMessage(playerid,LILA,"Erfolgreich");
    }

    Hey Leute ...


    wenn ich /tazer 0 1 eingebe (bsp)
    dann steht da : /tazer [playerid]


    kann mir jemand helfen



    ocmd:tazer(playerid,params[])
    {
    new pID;
    if(sscanf(params,"ui",pID))return SendClientMessage(playerid,BLAU,"/tazer [playerid]");
    if(isPlayerInFrakt(playerid,1))
    {
    new Float:cx,Float:cy,Float:cz;
    GetPlayerPos(playerid,cx,cy,cz);
    for(new i = 0; i < MAX_PLAYERS; i++)
    if(IsPlayerInRangeOfPoint(i,2.0,cx,cy,cz))
    {
    TogglePlayerControllable(pID,0);
    SetTimer("tazertimer",5000, false);
    return 1;
    }
    }
    return 1;
    }



    danke gruß Kamel

    Hey Community...


    ich habe wiedermal ein Problem ...


    wo ist hier der Fehler ...


    1. Wenn ich starte .. spawne Ich in LV
    2. wenn ich dann /stats mache steht Zivlist .. ist ja auch noch okay.. (als CJ)
    3. wenn ich /makeleader 0 1 (also lspd) mache .. werde ich lspd leader hab ne andere uniform an . auch noch okay
    4. wenn ich /kill mache spawne ich wie ich auch wollte am pd aber .. im CJ skin wieder
    5. wenn ich meinen script so angucke denke ich habe ich mir das leben selber schwer gemacht..
    6. wenn ich mich wieder neu einlogge sind die sachen also LSPD leader etc nicht gespeichert obwohl das vorher ging :(
    7. ich wollte eigtl fraktionen erstellen mit membern und einer rangordnung .. kann mir einer helfen??
    mega verzweifelt :((( hier ausschnitte aus dem script


    lg Kamel




    //Fraktionen
    #define Team_Zivi 0
    #define Team_LSPD 1
    #define Team_Mafia 2
    #define Team_Medic 3
    #define Team_STAAT 4


    //Fraktionsränge
    #define Praktikant 1
    #define Polizeimeisteranwärter 2
    #define Polizeikommissar 3
    #define Polizeioberkommissar 4
    #define Polizeihauptkommissar 5
    #define Polizeidirektor 6
    #define Leitender Polizeidirektor 7
    #define Mafiosi 8
    #define Berater 9
    #define Mafiaboss 10



    enum SInfo
    {
    Adminlevel,
    Fraktion,
    Fraktionsrang,
    Leader
    }
    new SpielerInfo[MAX_PLAYERS][SInfo];



    public OnPlayerRequestClass(playerid, classid)
    {
    if(IsPlayerNPC(playerid))return 1;
    SetPlayerPos(playerid,2047.4270,1336.5569,10.6719);
    SetPlayerFacingAngle(playerid,188.9284);
    SetPlayerCameraPos(playerid,2047.6205,1333.3314,10.6719);
    SetPlayerCameraLookAt(playerid,2047.4270,1336.5569,10.6719);
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    SpielerSpeichern(playerid);
    }
    }


    public OnPlayerSpawn(playerid)
    {


    if(SpielerInfo[playerid][Fraktion] == Team_LSPD)
    {
    if(SpielerInfo[playerid][Fraktionsrang] == Praktikant)
    {
    SetPlayerPos(playerid,lspdspawn);SetPlayerColor(playerid,BLAU);GivePlayerWeapon(playerid,35,5);SetPlayerSkin(playerid,28);
    }
    else if(SpielerInfo[playerid][Fraktionsrang] == Polizeimeisteranwärter)
    {
    SetPlayerPos(playerid,lspdspawn);SetPlayerColor(playerid,BLAU);GivePlayerWeapon(playerid,35,5);SetPlayerSkin(playerid,28);
    }
    else if(SpielerInfo[playerid][Fraktionsrang] == Polizeikommissar)
    {
    SetPlayerPos(playerid,lspdspawn);SetPlayerColor(playerid,BLAU);GivePlayerWeapon(playerid,35,5);SetPlayerSkin(playerid,281);
    }
    else if(SpielerInfo[playerid][Fraktionsrang] == Polizeioberkommissar )
    {
    SetPlayerPos(playerid,lspdspawn);SetPlayerColor(playerid,BLAU);GivePlayerWeapon(playerid,35,5);SetPlayerSkin(playerid,281);
    }
    SetPlayerPos(playerid,lspdspawn);SetPlayerColor(playerid,BLAU);GivePlayerWeapon(playerid,35,5);
    }
    if(SpielerInfo[playerid][Fraktion] == Team_Mafia)
    {
    SetPlayerPos(playerid,mafiaspawn);GivePlayerWeapon(playerid,24,100);SetPlayerSkin(playerid,111);
    }
    return 1;
    }


    ocmd:makeleader(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Rang zu Niedrig.");
    new pID,fID;
    if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid,BLAU,"/makeleader [playerid] [fraktionsid]");
    SetPVarInt(pID,"Fraktion",fID);
    SetPVarInt(pID,"Leader",fID);
    SendClientMessage(playerid,BLAU,"Erfolgreich.");
    if(fID == 1){SetPlayerSkin(playerid,283);SpielerInfo[playerid][Fraktion]=1;SpielerInfo[playerid][Leader]=1;}
    if(fID == 2){SetPlayerSkin(playerid,113);SpielerInfo[playerid][Fraktion]=2;}
    // und immer so weiter


    return 1;
    }


    if(strcmp(cmdtext,"/stats",true)==0)
    {
    new string[128];
    new ftext[20];
    new frakt = SpielerInfo[playerid][Fraktion];
    if(frakt == 0) { ftext= "Zivilist"; }
    else if(frakt == 1) { ftext= "LSPD"; }
    else if(frakt == 2) { ftext= "Mafia"; }



    //1 reihe
    format(string,sizeof(string),"[Name: %s] [Level: %i] [Adminlevel: %i] [Fraktion: %s] [Zeit seit Payday: %iMinuten] ",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Adminlevel"),ftext,GetPVarInt(playerid,"Paytime"));
    SendClientMessage(playerid,BLAU,string);
    //2 reihe
    return 1;
    }


    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,"Fraktionsrang",dini_Int(Spielerdatei,"Fraktionsrang"));
    SetPVarInt(playerid,"Leader",dini_Int(Spielerdatei,"Leader"));
    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
    SetPVarInt(playerid,"Paytime",dini_Int(Spielerdatei,"Paytime"));
    if(GetPVarInt(playerid,"Baned")==1)
    {
    SendClientMessage(playerid,ROT,"Du bist vom Server gebannt.");
    Kick(playerid);
    }
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }


    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"Fraktionsrang",GetPVarInt(playerid,"Fraktionsrang"));
    dini_IntSet(Spielerdatei,"Leader",GetPVarInt(playerid,"Leader"));
    dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
    dini_IntSet(Spielerdatei,"timeban",GetPVarInt(playerid,"timeban"));
    dini_IntSet(Spielerdatei,"Paytime",GetPVarInt(playerid,"Paytime"));
    }
    return 1;


    stock ResetVariablen(playerid)
    {
    SpielerInfo[playerid][Adminlevel]=0;
    return 1;
    }


    //Fraktion
    stock IstSpielerInFraktion(playerid, fraktionsid)
    {
    if(SpielerInfo[playerid][Fraktion] == fraktionsid) return 1;
    return 0;
    }


    //Admin


    stock isPlayerAnAdmin(playerid,rang)
    {
    if(GetPVarInt(playerid,"Adminlevel")>=rang)return 1;
    return 0;
    }


    Hallo ...
    ich bekomme folgende fehlermeldung : error 029: invalid expression, assumed zero
    für if(SpielerInfo[playerid][Fraktion] == Team_LSPD)
    und if(SpielerInfo[playerid][Fraktion] == Team_Mafia)


    zudem ist die abfrage ob er in einer Fraktion ist falsch oder??
    ich weiß nicht wo ich anfangen soll und wie überhaupt ..
    habe alles davor mit PVars gemacht und nun versuch ich das ins enum umzuschreiben


    lg Kamel



    :(







    //Fraktionen
    #define Team_LSPD
    #define Team_Mafia
    #define Team_Medic
    #define Team_STAAT


    enum SInfo
    {
    Adminlevel,
    Fraktion,
    Leader
    }
    new SpielerInfo[MAX_PLAYERS][SInfo];



    public OnPlayerSpawn(playerid)
    {
    if(SpielerInfo[playerid][Fraktion] == Team_LSPD)
    {
    SetPlayerPos(playerid,lspdspawn);SetPlayerColor(playerid,BLAU);GivePlayerWeapon(playerid,35,5);SetPlayerSkin(playerid,286);
    }
    if(SpielerInfo[playerid][Fraktion] == Team_Mafia)
    {
    SetPlayerPos(playerid,mafiaspawn);GivePlayerWeapon(playerid,24,100);SetPlayerSkin(playerid,111);
    }
    return 1;
    }




    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }


    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {


    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));


    }
    return 1;0
    }


    stock ResetVariablen(playerid)
    {
    SpielerInfo[playerid][Adminlevel]=0;
    SpielerInfo[playerid][Fraktion]=0;
    SpielerInfo[playerid][Leader]=0;
    return 1;
    }




    Hallo liebe Community ...


    ich habe mit dem scripten vor 3 Tagen angefangen ....
    es macht spaß , aber es stellen sich oft probleme in den weg..


    Ich habe bereits das speichern und laden des spielers sowie ein vernünftiges reg und log script ... einen adminscrip hab ich auch schon..



    nun ja wo ist nun das problem ..
    und zwar will ich mit erstellen der Fraktionen anfangen ...


    das hat ja auch bislang gut geklappt nur ..


    wie vereinfache ich mir das .. wenn ihr unten in den script schaut .. ist das normal?? es muss doch bestimmt leichter gehen..


    denn wie mache ich jetzt dass falls man mafia leader ist ...die rangzuteilung??


    dieses gTeam habe ich nicht so genau verstanden? was ist sinnvoller bzw einfacher?


    brauche dringend hilfe ..


    danke


    gruß Kamel






    //Fraktionsnamen
    #define fraktname1 "LSPD"
    #define fraktname2 "Mafia"
    #define fraktname3 "Medic"
    #define fraktname4 "STAAT"





    //Fraktionsränge
    #define PDRang1 "Praktikant"
    #define PDRang2 "Polizeimeisteranwärter"
    #define PDRang3 "Polizeikommissar "
    #define PDRang4 "Polizeioberkommissar "
    #define PDRang5 "Polizeihauptkommissar "
    #define PDRang6 "Polizeidirektor "





    //Fraktionsleadernamen





    #define PDLeader "Leitender Polizeidirektor"
    #define MAFLeader "Mafiaboss"














    ocmd:setleader(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Rang zu Niedrig.");
    new pID,fID;
    if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid,BLAU,"/makeleader [playerid] [fraktionsid]");
    SetPVarInt(pID,"Fraktion",fID);
    SetPVarInt(pID,"Leader",fID);
    SpielerSpeichern(pID);
    SendClientMessage(playerid,BLAU,"Erfolgreich.");
    return 1;
    }
    ocmd:unsetleader(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Rang zu Niedrig.");
    new pID;
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,BLAU,"/unsetleader [playerid]");
    SetPVarInt(pID,"Fraktion",0);
    SetPVarInt(pID,"Leader",0);
    SetPVarInt(pID,"Fraktionsrang",0);
    SpielerSpeichern(pID);


    ocmd:invitemember(playerid,params[])
    {
    if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,ROT,"Du bist nicht dafür authorisiert.");
    if(!isPlayerFraktLeader(playerid,1))return SendClientMessage(playerid,ROT,"Du bist nicht Leitender Polizeidirektor.");
    new pID,fID;
    if(sscanf(params,"ui",pID,fID))return SendClientMessage(playerid,BLAU,"/invitemember [playerid] [fraktionsid]");
    SetPVarInt(pID,"Fraktion",fID);
    SendClientMessage(playerid,BLAU,"Erfolgreich.");
    return 1;
    }
    ocmd:giverang(playerid,params[])
    {
    if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,ROT,"Du bist nicht dafür authorisiert.");
    if(!isPlayerFraktLeader(playerid,1))return SendClientMessage(playerid,ROT,"Du bist Fett.");
    new pID,rank;
    if(sscanf(params,"ui",pID,rank))return SendClientMessage(playerid,BLAU,"/giverank [playerid] [rank]");
    SetPVarInt(pID,"Fraktion",1);
    SetPVarInt(pID,"Fraktionsrang",rank);
    SpielerSpeichern(pID);
    SendClientMessage(playerid,BLAU,"Erfolgreich.");
    return 1;
    }






    if(strcmp(cmdtext,"/stats",true)==0)
    {
    new string[128];
    new fraktname[64];
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0:{fraktname="Keine";}
    case 1:{fraktname=fraktname1;}
    case 2:{fraktname=fraktname2;}
    case 3:{fraktname=fraktname3;}
    case 4:{fraktname=fraktname4;}
    }
    new fraktrang[64];


    switch(GetPVarInt(playerid,"Fraktionsrang"))
    {
    case 0:{fraktrang="Delo";}
    case 1:{fraktrang=PDRang1;}
    case 2:{fraktrang=PDRang2;}
    case 3:{fraktrang=PDRang3;}
    case 4:{fraktrang=PDRang4;}
    case 5:{fraktrang=PDRang5;}
    case 6:{fraktrang=PDRang6;}
    case 7:{fraktrang=PDLeader;}
    }
    new pleader[64];
    switch(GetPVarInt(playerid,"Leader"))
    {
    case 0:{pleader="Kein";}
    case 1:{pleader=PDLeader;}
    case 2:{pleader=MAFLeader;}
    }


    //1 reihe
    format(string,sizeof(string),"[Name: %s] [Level: %i] [Adminlevel: %i] [Fraktion: %s] [Fraktionsrang: %s] [Zeit seit Payday: %iMinuten] ",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Adminlevel"),fraktname,fraktrang,GetPVarInt(playerid,"Paytime"));
    SendClientMessage(playerid,BLAU,string);


    return 1;
    SendClientMessage(playerid,BLAU,"Erfolgreich.");
    return 1;
    }









    stock isPlayerInFrakt(playerid,fraktid)
    {
    if(GetPVarInt(playerid,"Fraktion")==fraktid)return 1;
    return 0;
    }


    stock isPlayerRang(playerid,rang)
    {
    if(GetPVarInt(playerid,"Fraktionsrang")>=rang)return 1;
    return 0;
    }


    stock isPlayerFraktLeader(playerid,pleader)
    {
    if(GetPVarInt(playerid,"Leader")==pleader)return 1;
    return 0;
    }