Fraktionssystem geht net so richtig!

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
  • Hey Leute,


    mir jemand ein Fraktionssystem gemacht habe auch alles verstanden aber es klappt nicht so richtig.


    Wenn ich Spawn coordis eingebe passiert einfach nichts sondern dan kommt der Spawn Button wieder!


    Code:


    forward SpielerSpeichern(playerid);
    public SpielerSpeichern(playerid)
    {
    GetPlayerName(playerid, Name, sizeof( Name));
    format(Datei,sizeof(Datei),"/Spieler/%s.ini",Name);
    if(!fexist(Datei)) //fexist = file exists = Datei existiert?
    {
    dini_Create(Datei);
    dini_Set(Datei,"Passwort",SInfo[playerid][Passwort]);
    dini_IntSet(Datei,"Geld",40000);
    dini_IntSet(Datei,"Skin",23);
    dini_IntSet(Datei,"Level",1);
    dini_IntSet(Datei,"Adminlevel",0);
    dini_IntSet(Datei,"gebannt",0);
    dini_IntSet(Datei,"Fraktion",0);
    dini_IntSet(Datei,"Rang",0);
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Bitte Tippe dein Passwort ein, um dich zu einzuloggen","Einloggen","Abbrechen");
    }
    else
    {
    dini_IntSet(Datei,"Geld",SInfo[playerid][pGeld]);
    dini_IntSet(Datei,"Skin", GetPlayerSkin(playerid));
    dini_IntSet(Datei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Datei,"Adminlevel",SInfo[playerid][Adminlevel]);
    dini_IntSet(Datei,"gebannt",SInfo[playerid][gebannt]);
    dini_IntSet(Datei,"Fraktion",SInfo[playerid][Fraktion]);
    dini_IntSet(Datei,"Rang",SInfo[playerid][Rang]);
    }
    return 1;
    }


    forward SpielerLaden(playerid);
    public SpielerLaden(playerid)
    {
    GetPlayerName(playerid, Name, sizeof( Name));
    format(Datei,sizeof(Datei),"/Spieler/%s.ini",Name);
    SInfo[playerid][pGeld] = dini_Int(Datei,"Geld");
    SInfo[playerid][pskin] = dini_Int(Datei, "Skin");
    SetPlayerScore(playerid,dini_Int(Datei,"Level"));
    SInfo[playerid][Adminlevel] = dini_Int(Datei,"AdminLevel");
    SInfo[playerid][gebannt] = dini_Int(Datei,"gebannt");
    SInfo[playerid][Fraktion] = dini_Int(Datei,"Fraktion");
    SInfo[playerid][Rang] = dini_Int(Datei,"Rang");
    SetSpawnInfo( playerid,0,SInfo[playerid][pskin],1721.3622,-1627.8937,20.2129,136.8591,0,0,0,0,0,0); //XYZ Ändern Muss gemacht werde sonst wirst du bei 0.3D Gekickt!
    SpielerSpawn(playerid);
    if(SInfo[playerid][gebannt]==1)
    {
    SendClientMessage(playerid,0xF50000FF,"Du bist doch vom Server gebannt");
    Kick(playerid);
    }
    return 1;
    }


    forward SpielerSpawn(playerid);
    public SpielerSpawn(playerid)
    {
    new frakid = SInfo[playerid][Fraktion];
    SetSpawnInfo(playerid,0,SInfo[playerid][pskin],Fraktionsspawn[frakid][0],Fraktionsspawn[frakid][1],Fraktionsspawn[frakid][2],Fraktionsspawn[frakid][3],0,0,0,0,0,0);
    SetPlayerInterior(playerid,Fraktionspawnint[frakid][0]);
    SetPlayerVirtualWorld(playerid,Fraktionsspawnvw[frakid][0]);
    SpawnPlayer(playerid);
    return 1;
    }


    new fraktionstext[][] = {
    "Zivilisten",
    "LSPD",
    "FBI",
    "Army"
    };


    new Float:Fraktionsspawn[][4] = {
    {0.0,0.0,0.0,0.0}, //Zivi
    {0.0,0.0,0.0,0.0}, //LSPD
    {0.0,0.0,0.0,0.0}, //FBI
    {0.0,0.0,0.0,0.0} //ARMY
    };


    new Fraktionspawnint[][1] = {
    0, //Zivilist
    0, //LSPD
    0, //FBI
    0 //ARMY
    };


    new Fraktionsspawnvw[][1] = {
    0, //Zivilist
    0, //LSPD
    0, //FBI
    0 //ARMY
    };


    enum Spielerdaten
    {
    pGeld,
    Passwort[32],
    pskin,
    Adminlevel,
    gebannt,
    Fraktion,
    Rang
    }
    new SInfo[MAX_PLAYERS][Spielerdaten];


    dcmd_makeleader(playerid,params[])
    {
    new frakid,pID;
    if(IsPlayerAnAdmin(playerid,4))
    {
    SendClientMessage(playerid,0xF50000FF,"Du bist kein Admin oder dein Rang ist zu klein!.");
    }
    else
    {
    if(sscanf(params,"ui",pID,frakid))
    {
    SendClientMessage(playerid,0xF50000FF,"Tippe: /makeleader [playerid][frakid].");
    }
    else if(frakid < 0 || frakid > 3)
    {
    SendClientMessage(playerid,0xF50000FF,"Die frakid muss zwischen 0 und 3 liegen.");
    }
    else if(pID == INVALID_PLAYER_ID)
    {
    SendClientMessage(playerid,0xF50000FF,"Diesen Spieler gibt es nicht.");
    }
    else
    {
    SInfo[pID][Fraktion] = frakid;
    SInfo[pID][Rang] = 12;
    format(str,sizeof(str),"Admin %s hat dich zum Leader der %s ernannt.",SpielerName(playerid),fraktionstext[frakid]);
    SendClientMessage(pID,0xF50000FF,str);
    format(str,sizeof(str),"Du hast %s zum Leader der %s ernannt.",SpielerName(pID),fraktionstext[frakid]);
    SendClientMessage(playerid,0xF50000FF,str);
    if(frakid == 0)
    {
    SInfo[pID][Rang] = 0;
    }
    SpielerSpeichern(pID);
    return 1;
    }
    return 1;
    }
    return 1;
    }


    Hoffe es kann wer helfen


    Mfg


    Moritt