Beiträge von [SomL]RePnaix

    Hallo, habe schonmal ein Thema deswegen erstellt aber komme nicht mehr weiter. Ich weiss nicht wo ich die 3dtexte und icons einfügen muss damit sie bei dem Haussystem auch geladen werden. Denn die Icons werden nach restart vom server nicht mehr geladen.


    stock LoadHaus(hausid)
    {
    new inhalt[35],File:f;
    format(inhalt,20,"Häuser/Haus %d.ini",hausid);
    if(!fexist(inhalt)) return false;
    f=fopen(inhalt,io_read);
    while(fread(f,inhalt))
    {
    StripNL(inhalt);
    if(strfind(inhalt,"Besitzer: ")!=-1) strdel(inhalt,0,10), format(Haus[hausid][Besitzer],MAX_PLAYER_NAME,inhalt);
    else if(strfind(inhalt,"Gekauft: ")!=-1) strdel(inhalt,0,9), Haus[hausid][Gekauft]=(strval(inhalt))?true:false;
    else if(strfind(inhalt,"Abgeschlossen: ")!=-1) strdel(inhalt,0,15), Haus[hausid][Abgeschlossen]=(strval(inhalt))?true:false;
    else if(strfind(inhalt,"AußenPosX: ")!=-1) strdel(inhalt,0,11), Haus[hausid][Pos][0]=floatstr(inhalt);
    else if(strfind(inhalt,"AußenPosY: ")!=-1) strdel(inhalt,0,11), Haus[hausid][Pos][1]=floatstr(inhalt);
    else if(strfind(inhalt,"AußenPosZ: ")!=-1) strdel(inhalt,0,11), Haus[hausid][Pos][2]=floatstr(inhalt);
    else if(strfind(inhalt,"InnenPosX: ")!=-1) strdel(inhalt,0,11), Haus[hausid][Pos][3]=floatstr(inhalt);
    else if(strfind(inhalt,"InnenPosY: ")!=-1) strdel(inhalt,0,11), Haus[hausid][Pos][4]=floatstr(inhalt);
    else if(strfind(inhalt,"InnenPosZ: ")!=-1) strdel(inhalt,0,11), Haus[hausid][Pos][5]=floatstr(inhalt);
    else if(strfind(inhalt,"Interior: ")!=-1) strdel(inhalt,0,10), Haus[hausid][Int]=strval(inhalt);
    else if(strfind(inhalt,"VirtualWorld: ")!=-1) strdel(inhalt,0,14), Haus[hausid][VirtualWorld]=strval(inhalt);
    else if(strfind(inhalt,"Preis: ")!=-1) strdel(inhalt,0,7), Haus[hausid][Preis]=strval(inhalt);
    }
    Haus[hausid][PickupID] = CreatePickup((Haus[hausid][Gekauft])?1239:1273,1,Haus[hausid][Pos][0],Haus[hausid][Pos][1],Haus[hausid][Pos][2]);
    fclose(f);
    return true;
    }
    stock SaveHaus(hausid)
    {
    if(!Haus[hausid][Int]) return false;
    new inhalt[35],File:f;
    format(inhalt,35,"Häuser/Haus %d.ini",hausid);
    f=fopen(inhalt,io_write);
    format(inhalt,35,"Besitzer: %s\r\n",Haus[hausid][Besitzer]),fwrite(f,inhalt);
    format(inhalt,35,"Gekauft: %d\r\n",Haus[hausid][Gekauft]),fwrite(f,inhalt);
    format(inhalt,35,"Abgeschlossen: %d\r\n",Haus[hausid][Abgeschlossen]),fwrite(f,inhalt);
    format(inhalt,35,"AußenPosX: %f\r\n",Haus[hausid][Pos][0]),fwrite(f,inhalt);
    format(inhalt,35,"AußenPosY: %f\r\n",Haus[hausid][Pos][1]),fwrite(f,inhalt);
    format(inhalt,35,"AußenPosZ: %f\r\n",Haus[hausid][Pos][2]),fwrite(f,inhalt);
    format(inhalt,35,"InnenPosX: %f\r\n",Haus[hausid][Pos][3]),fwrite(f,inhalt);
    format(inhalt,35,"InnenPosY: %f\r\n",Haus[hausid][Pos][4]),fwrite(f,inhalt);
    format(inhalt,35,"InnenPosZ: %f\r\n",Haus[hausid][Pos][5]),fwrite(f,inhalt);
    format(inhalt,35,"Interior: %d\r\n",Haus[hausid][Int]),fwrite(f,inhalt);
    format(inhalt,35,"VirtualWorld: %d\r\n",Haus[hausid][VirtualWorld]),fwrite(f,inhalt);
    format(inhalt,35,"Preis: %d\r\n",Haus[hausid][Preis]),fwrite(f,inhalt);
    fclose(f);
    return true;
    }
    stock CreateHaus(Owner[],Float:X,Float:Y,Float:Z,Float:iX,Float:iY,Float:iZ,Interior,p)
    {
    new ID=GetFreeHausID();
    if(ID==-1) print("Es sind bereits zuviele Häuser erstellt worden | Lösch zu erst eins");
    format(Haus[ID][Besitzer],MAX_PLAYER_NAME,Owner);
    Haus[ID][Gekauft]=false;
    Haus[ID][Abgeschlossen]=true;
    Haus[ID][Pos][0]=X;
    Haus[ID][Pos][1]=Y;
    Haus[ID][Pos][2]=Z;
    Haus[ID][Pos][3]=iX;
    Haus[ID][Pos][4]=iY;
    Haus[ID][Pos][5]=iZ;
    Haus[ID][Int]=Interior;
    Haus[ID][Preis]=p;
    Haus[ID][VirtualWorld]=GetFreeInteriorVW(Haus[ID][Int]);
    Haus[ID][PickupID] = CreatePickup(1273,1,X,Y,Z);
    for(new i,j=GetMaxPlayers();i!=j;i++) if(IsPlayerConnected(i)) SetPlayerMapIcon(i,STARTMAPICON+ID,X,Y,Z,31,0xFFFFFFFF);
    new string[55];
    format(string,55,"Dieses Haus steht zum Verkauf\n\nPreis: %d $",Haus[ID][Preis]);
    Haus[ID][Label] = Create3DTextLabel(string,0x33AA33FF,X,Y,Z,100.0,0,1);
    return ID;
    }
    stock DeleteHaus(hausid)
    {
    strdel(Haus[hausid][Besitzer],0,MAX_PLAYER_NAME);
    Haus[hausid][Gekauft]=false;
    Haus[hausid][Abgeschlossen]=false;
    Haus[hausid][Pos][0]=0;
    Haus[hausid][Pos][1]=0;
    Haus[hausid][Pos][2]=0;
    Haus[hausid][Pos][3]=0;
    Haus[hausid][Pos][4]=0;
    Haus[hausid][Pos][5]=0;
    Haus[hausid][Int]=0;
    Haus[hausid][VirtualWorld]=0;
    DestroyPickup(Haus[hausid][PickupID]);
    Delete3DTextLabel(Haus[hausid][Label]);
    for(new i,j=GetMaxPlayers();i!=j;i++) if(IsPlayerConnected(i)) RemovePlayerMapIcon(i,STARTMAPICON+hausid);
    new pfad[20];
    format(pfad,20,"Häuser/Haus %d.ini",hausid);
    fremove(pfad);
    return true;
    }


    public OnFilterScriptInit()
    {
    for(new i;i!=MAX_HAUSER;i++) LoadHaus(i);
    return true;
    }
    public OnFilterScriptExit()
    {
    for(new i;i!=MAX_HAUSER;i++) SaveHaus(i);
    return true;
    }
    public OnGameModeExit()
    {
    for(new i;i!=MAX_HAUSER;i++) SaveHaus(i);
    return true;
    }


    Hoffe jemand kann mir deswegen nochmal helfen.

    Hallo habe ein problem und zwar wird das geld nicht gechpeichert und ich weiss nicht warum...


    Hier mal die Codes:


    stock Register(playerid,password[])
    {
    new Accounts[64];
    new pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pName,sizeof(pName));
    format(Accounts,sizeof(Accounts),"/Accounts/%s.txt",pName);
    dini_Create(Accounts);
    dini_Set(Accounts,"pPasswort",password);
    dini_IntSet(Accounts,"pAdminlevel",0);
    dini_IntSet(Accounts,"pLevel",0);
    dini_IntSet(Accounts,"pFraktion",0);
    dini_IntSet(Accounts,"pTeam",0);
    dini_IntSet(Accounts,"pLeader",0);
    dini_IntSet(Accounts,"pMember",0);
    dini_IntSet(Accounts,"pAlter",0);
    dini_IntSet(Accounts,"pLand",0);
    dini_IntSet(Accounts,"pMoney",0);
    dini_IntSet(Accounts,"pRang",0);
    SendClientMessage(playerid,COLOR_BLUE,"Du hast dich erfolgreich registriert. Dein Account wird erstellt...");
    SpawnPlayer(playerid);
    GivePlayerMoney(playerid,25000);
    return 1;
    }


    stock Login(playerid,password[])
    {
    new Accounts[64];
    new pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pName,sizeof(pName));
    format(Accounts,sizeof(Accounts),"/Accounts/%s.txt",pName);
    if(!strcmp(password,dini_Get(Accounts,"pPasswort"),true))
    {
    SendClientMessage(playerid,COLOR_BLUE,"Du hast dich erfolgreich eingeloggt!");
    PlayerLoad(playerid);
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Das angegebene Passwort ist Falsch! Versuche es erneut!");
    ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_INPUT,"Login","{FEFEFE}Dein {FF9600}Account {FEFEFE}wurde in unserer Datenbank gefunden, bitte gebe nun dein Passwort ein und logge dich somit ein.","Login","Abbrechen");
    return 1;
    }
    }


    stock PlayerSave(playerid)
    {
    new Accounts[64];
    new pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pName,sizeof(pName));
    format(Accounts,sizeof(Accounts),"/Accounts/%s.txt",pName);
    if(dini_Exists(Accounts))
    {
    dini_IntSet(Accounts,"pAdminlevel",pPlayer[playerid][pAdminlevel]);
    dini_IntSet(Accounts,"pLevel",pPlayer[playerid][pLevel]);
    dini_IntSet(Accounts,"pFraktion",pPlayer[playerid][pFraktion]);
    dini_IntSet(Accounts,"pTeam",pPlayer[playerid][pTeam]);
    dini_IntSet(Accounts,"pLeader",pPlayer[playerid][pLeader]);
    dini_IntSet(Accounts,"pMember",pPlayer[playerid][pMember]);
    dini_IntSet(Accounts,"pAlter",pPlayer[playerid][pAlter]);
    dini_IntSet(Accounts,"pLand",pPlayer[playerid][pLand]);
    dini_IntSet(Accounts,"pMoney",pPlayer[playerid][pMoney]);
    dini_IntSet(Accounts,"pRang",pPlayer[playerid][pRang]);
    }
    return 1;
    }


    stock PlayerLoad(playerid)
    {
    new Accounts[64];
    new pName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pName,sizeof(pName));
    format(Accounts,sizeof(Accounts),"/Accounts/%s.txt",pName);
    if(dini_Exists(Accounts))
    {
    SetPlayerScore(playerid,dini_Int(Accounts,"Level"));
    pPlayer[playerid][pAdminlevel] = dini_Int(Accounts,"pAdminlevel");
    pPlayer[playerid][pLevel] = dini_Int(Accounts,"pLevel");
    pPlayer[playerid][pFraktion] = dini_Int(Accounts,"pFraktion");
    pPlayer[playerid][pTeam] = dini_Int(Accounts,"pTeam");
    pPlayer[playerid][pLeader] = dini_Int(Accounts,"pLeader");
    pPlayer[playerid][pMember] = dini_Int(Accounts,"pMember");
    pPlayer[playerid][pAlter] = dini_Int(Accounts,"pAlter");
    pPlayer[playerid][pLand] = dini_Int(Accounts,"pLand");
    pPlayer[playerid][pMoney] = dini_Int(Accounts,"pMoney");
    pPlayer[playerid][pRang] = dini_Int(Accounts,"pRang");
    pPlayer[playerid][pLogin] = 1;
    SpawnPlayer(playerid);
    }
    return 1;
    }


    stock PlayerReset(playerid)
    {
    pPlayer[playerid][pAdminlevel] = 0;
    pPlayer[playerid][pLevel] = 0;
    pPlayer[playerid][pFraktion] = 0;
    pPlayer[playerid][pTeam] = 0;
    pPlayer[playerid][pLeader] = 0;
    pPlayer[playerid][pMember] = 0;
    pPlayer[playerid][pAlter] = 0;
    pPlayer[playerid][pLand] = 0;
    pPlayer[playerid][pMoney] = 0;
    pPlayer[playerid][pRang] = 0;
    return 1;
    }


    enum PlayerDaten
    {
    pAdminlevel,
    pLevel,
    pFraktion,
    pTeam,
    pLogin,
    pLeader,
    pMember,
    pAlter,
    pLand,
    pMoney,
    pRang
    };


    Hoffe jemand kann mir helfen. :D

    Danke! Habe aber leider noch einen Error bekommen:


    .pwn(187) : error 052: multi-dimensional arrays must be fully initialized


    [pwn=168]new FraktionInfo[19][7][24] = {
    {"Zivilist", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//0. Zivilist (einfach ignorieren)
    {"Polizei", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//1. Polizei
    {"FBI", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//2. FBI
    {"Army", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//3. Army
    {"SWAT", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//4. SWAT
    {"Medic", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//5. Medic
    {"Feuerwehr", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//6. Feuerwehr
    {"Praesi", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//7. Praesi
    {"OAmt", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//8. OAmt
    {"CNN", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//9. CNN
    {"LCN", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//10. LCN
    {"Grove", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//11. Grove
    {"Aztecas", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//12. Aztecas
    {"RS", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//13. RS
    {"Fahrschule", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//14. Fahrschule
    {"Wheelman", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//15. Wheelman
    {"Hitman", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//16. Hitman
    {"RMafia", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"}//18. RMafia
    };[/pwn]


    //EDIT: Habs. {"Ballas", "rang1", "rang2", "rang3", "rang4", "rang5", "rang6"},//12. Ballas hat gefehlt. Danke für die Hilfe! :D

    Ah danke hat geklappt. Muss nur bei dem /frc code die SetVehicleToRespawn die ----Vehs Ändern da manche falsch sind. Da ich bei den Aztecas die BallasVehs zurückgespawnt habe aber das griege ich selber hin. ;) Danke!


    Noch eine Frage: Wissen Sie viell. noch wie ich den Rängen 1-6 Namen geben kann für jede einzelne Frak? bzw wie ich einen /giverang Befehl machen kann? Wäre echt super wenn Sie mir dabei noch helfen würden. :D

    if (strcmp("/frakrc", cmdtext, true, 10) == 0 || strcmp("/frc", cmdtext, true, 10) == 0)
    {
    if(pPlayer[playerid][pLeader] == 1)
    {
    for(new pv = 0; pv < sizeof(PolizeiVehs); pv++)
    {
    SetVehicleToRespawn(PolizeiVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 2)
    {
    for(new pv = 0; pv < sizeof(FBIVehs); pv++)
    {
    SetVehicleToRespawn(FBIVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 3)
    {
    for(new pv = 0; pv < sizeof(ArmyVehs); pv++)
    {
    SetVehicleToRespawn(ArmyVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 4)
    {
    for(new pv = 0; pv < sizeof(SWATVehs); pv++)
    {
    SetVehicleToRespawn(SWATVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 5)
    {
    for(new pv = 0; pv < sizeof(MedicVehs); pv++)
    {
    SetVehicleToRespawn(MedicVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 6)
    {
    for(new pv = 0; pv < sizeof(FeuerVehs); pv++)
    {
    SetVehicleToRespawn(FeuerVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 7)
    {
    for(new pv = 0; pv < sizeof(PraesiVehs); pv++)
    {
    SetVehicleToRespawn(PraesiVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 8)
    {
    for(new pv = 0; pv < sizeof(OAmtVehs); pv++)
    {
    SetVehicleToRespawn(OAmtVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 9)
    {
    for(new pv = 0; pv < sizeof(CNNVehs); pv++)
    {
    SetVehicleToRespawn(CNNVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 10)
    {
    for(new pv = 0; pv < sizeof(LCNVehs); pv++)
    {
    SetVehicleToRespawn(LCNVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 11)
    {
    for(new pv = 0; pv < sizeof(GroveVehs); pv++)
    {
    SetVehicleToRespawn(GroveVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 12)
    {
    for(new pv = 0; pv < sizeof(BallasVehs); pv++)
    {
    SetVehicleToRespawn(BallasVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 13)
    {
    for(new pv = 0; pv < sizeof(AztecasVehs); pv++)
    {
    SetVehicleToRespawn(AztecasVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 14)
    {
    for(new pv = 0; pv < sizeof(RSVehs); pv++)
    {
    SetVehicleToRespawn(RSVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 15)
    {
    for(new pv = 0; pv < sizeof(FahrschulVehs); pv++)
    {
    SetVehicleToRespawn(FahrschulVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 16)
    {
    for(new pv = 0; pv < sizeof(WheelmanVehs); pv++)
    {
    SetVehicleToRespawn(WheelmanVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 17)
    {
    for(new pv = 0; pv < sizeof(HitmanVehs); pv++)
    {
    SetVehicleToRespawn(HitmanVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 18)
    {
    for(new pv = 0; pv < sizeof(RMafiaVehs); pv++)
    {
    SetVehicleToRespawn(RMafiaVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, " Du bist kein Leader einer Fraktion!");
    }
    return 1;
    }


    dcmd_makeleader(playerid, params[])
    {
    new pID, pFrak;
    if(sscanf(params,"ud",pID,pFrak))
    {
    return SendClientMessage(playerid,COLOR_GREY,"Benutze: /makeleader [pID] [frakID]");
    }
    if(pFrak > 25 || pFrak < 0)
    {
    return SendClientMessage(playerid,COLOR_RED,"Nicht kleiner als 0 und nicht höher als 25!");
    }
    if(isPlayerAdmin(playerid, 5))
    {
    if(pID == INVALID_PLAYER_ID)
    {
    return SendClientMessage(playerid,COLOR_RED,"Ungültiger Spieler!");
    }
    if(isPlayerInFrac(pID,pFrak) == pFrak)
    {
    return SendClientMessage(playerid,COLOR_RED,"Der angegebene Spieler ist schon in einer Fraktion!");
    }
    else
    {
    pPlayer[pID][pFraktion] = pFrak;
    pPlayer[pID][pRang] = 6;
    SendClientMessage(pID,COLOR_LIGHTBLUE,"Du bist nun in einer Fraktion!");
    SendClientMessage(pID,COLOR_LIGHTBLUE,"Du hast den angegebenen Spieler in die Fraktion gesteckt!");
    }
    }
    else
    {
    return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
    }
    return 1;
    }


    Das waren die befehle und ich wollte nur das gangs und fraks ränge von 1-6 haben. Also Rang 1-5 = pMember und 6 = pLeader und nur pLeader darf /frc benutzen das bekomme ich nicht hin. ?( Bin grad voll verwirrt :D


    Und die autos respawnen immernoch nicht.


    [00:13:09] makeleader | spieler: 0 | fraktion: 13
    [00:13:15] frakrc | spieler: 0 | fraktion: 13
    [00:13:24] frakrc | spieler: 0 | fraktion: 13

    Das erscheint in der Server Console und in der Server-Log


    [00:03:42] frakrc | spieler: %d | fraktion: %d


    //EDIT: [00:06:22] makeleader | spieler: %d | fraktion: %d
    [00:06:26] frakrc | spieler: %d | fraktion: %d
    [00:06:28] frakrc | spieler: %d | fraktion: %d
    [00:06:32] frakrc | spieler: %d | fraktion: %d
    [00:06:33] frakrc | spieler: %d | fraktion: %d
    [00:06:39] makeleader | spieler: %d | fraktion: %d
    [00:06:49] frakrc | spieler: %d | fraktion: %d


    Das kam. Und es kam auch nun Das ich alle Autos zurückgespawnt habe aber die autos wurden nicht zurückgespawn

    Nein die Fraktionsid wird mit pFraktion abgespeichert. Mit pLeader wollte ich den /frc befehl verbessern da man ihn vorher einfach so in der Gang/Fraktion frei benutzen konnte.
    Und halt befehle für pMember oder spawns für pMember. Aber ich schaffe es nicht den Befehl nur für Leader zu schreiben. Den in meiner .txt datei bei den Accounts wird bei pLeader auch keine pLeader:6(Max.Level einer Frak/Gang sprich = Leader) abgespeichert nur pLeader:0 aber pRang:6.


    Und nein die Codes klappen auch nicht.

    Hallo habe ein problem mit meinem makeleader Befehl.
    Und zwar habe ich den /FRC Befehl so geschrieben das man als Leader der fraktion nur die autos zurückspawnen kann.(Ist ja standart)


    Aber wenn ich den befehl dann eingebe steht dort: Du bist kein leader einer Fraktion!


    Makeleader befehl


    dcmd_makeleader(playerid, params[])
    {
    new pID, pFrak;
    if(sscanf(params,"ud",pID,pFrak))
    {
    return SendClientMessage(playerid,COLOR_GREY,"Benutze: /makeleader [pID] [frakID]");
    }
    if(pFrak > 25 || pFrak < 0)
    {
    return SendClientMessage(playerid,COLOR_RED,"Nicht kleiner als 0 und nicht höher als 25!");
    }
    if(isPlayerAdmin(playerid, 5))
    {
    if(pID == INVALID_PLAYER_ID)
    {
    return SendClientMessage(playerid,COLOR_RED,"Ungültiger Spieler!");
    }
    if(isPlayerInFrac(pID,pFrak) == pFrak)
    {
    return SendClientMessage(playerid,COLOR_RED,"Der angegebene Spieler ist schon in einer Fraktion!");
    }
    else
    {
    pPlayer[pID][pFraktion] = pFrak;
    pPlayer[pID][pRang] = 6;
    SendClientMessage(pID,COLOR_LIGHTBLUE,"Du bist nun in einer Fraktion!");
    SendClientMessage(pID,COLOR_LIGHTBLUE,"Du hast den angegebenen Spieler in die Fraktion gesteckt!");
    }
    }
    else
    {
    return SendClientMessage(playerid,COLOR_RED,"Du bist kein Admin!");
    }
    return 1;
    }


    /frc befehl


    if (strcmp("/frakrc", cmdtext, true, 10) == 0 || strcmp("/frc", cmdtext, true, 10) == 0)
    {
    if(pPlayer[playerid][pLeader] == 1)
    {
    for(new pv = 0; pv < sizeof(PolizeiVehs); pv++)
    {
    SetVehicleToRespawn(PolizeiVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 2)
    {
    for(new pv = 0; pv < sizeof(FBIVehs); pv++)
    {
    SetVehicleToRespawn(FBIVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 3)
    {
    for(new pv = 0; pv < sizeof(ArmyVehs); pv++)
    {
    SetVehicleToRespawn(ArmyVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 4)
    {
    for(new pv = 0; pv < sizeof(SWATVehs); pv++)
    {
    SetVehicleToRespawn(SWATVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 5)
    {
    for(new pv = 0; pv < sizeof(MedicVehs); pv++)
    {
    SetVehicleToRespawn(MedicVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 6)
    {
    for(new pv = 0; pv < sizeof(FeuerVehs); pv++)
    {
    SetVehicleToRespawn(FeuerVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 7)
    {
    for(new pv = 0; pv < sizeof(PraesiVehs); pv++)
    {
    SetVehicleToRespawn(PraesiVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 8)
    {
    for(new pv = 0; pv < sizeof(OAmtVehs); pv++)
    {
    SetVehicleToRespawn(OAmtVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 9)
    {
    for(new pv = 0; pv < sizeof(CNNVehs); pv++)
    {
    SetVehicleToRespawn(CNNVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 10)
    {
    for(new pv = 0; pv < sizeof(LCNVehs); pv++)
    {
    SetVehicleToRespawn(LCNVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 11)
    {
    for(new pv = 0; pv < sizeof(GroveVehs); pv++)
    {
    SetVehicleToRespawn(GroveVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 12)
    {
    for(new pv = 0; pv < sizeof(BallasVehs); pv++)
    {
    SetVehicleToRespawn(BallasVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 13)
    {
    for(new pv = 0; pv < sizeof(AztecasVehs); pv++)
    {
    SetVehicleToRespawn(AztecasVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 14)
    {
    for(new pv = 0; pv < sizeof(RSVehs); pv++)
    {
    SetVehicleToRespawn(RSVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 15)
    {
    for(new pv = 0; pv < sizeof(FahrschulVehs); pv++)
    {
    SetVehicleToRespawn(FahrschulVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 16)
    {
    for(new pv = 0; pv < sizeof(WheelmanVehs); pv++)
    {
    SetVehicleToRespawn(WheelmanVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 17)
    {
    for(new pv = 0; pv < sizeof(HitmanVehs); pv++)
    {
    SetVehicleToRespawn(HitmanVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else if(pPlayer[playerid][pLeader] == 18)
    {
    for(new pv = 0; pv < sizeof(RMafiaVehs); pv++)
    {
    SetVehicleToRespawn(RMafiaVehs[pv]);
    SendClientMessage(playerid, COLOR_GREY, "Du hast deine Fraktionsautos erfolgreich zurückgespawnt!");
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, " Du bist kein Leader einer Fraktion!");
    }
    return 1;
    }


    Hoffe jemand kann mir helfen.

    [pwn=103]stock LoadHaus(hausid)
    {
    new inhalt[35],File:f;
    format(inhalt,20,"Häuser/Haus %d.ini",hausid);
    if(!fexist(inhalt)) return false;
    f=fopen(inhalt,io_read);
    while(fread(f,inhalt))
    {
    StripNL(inhalt);
    if(strfind(inhalt,"Besitzer: ")!=-1) strdel(inhalt,0,10), format(Haus[hausid][Besitzer],MAX_PLAYER_NAME,inhalt);
    else if(strfind(inhalt,"Gekauft: ")!=-1) strdel(inhalt,0,9), Haus[hausid][Gekauft]=(strval(inhalt))?true:false;
    else if(strfind(inhalt,"Abgeschlossen: ")!=-1) strdel(inhalt,0,15), Haus[hausid][Abgeschlossen]=(strval(inhalt))?true:false;
    else if(strfind(inhalt,"AußenPosX: ")!=-1) strdel(inhalt,0,11), Haus[hausid][Pos][0]=floatstr(inhalt);
    else if(strfind(inhalt,"AußenPosY: ")!=-1) strdel(inhalt,0,11), Haus[hausid][Pos][1]=floatstr(inhalt);
    else if(strfind(inhalt,"AußenPosZ: ")!=-1) strdel(inhalt,0,11), Haus[hausid][Pos][2]=floatstr(inhalt);
    else if(strfind(inhalt,"InnenPosX: ")!=-1) strdel(inhalt,0,11), Haus[hausid][Pos][3]=floatstr(inhalt);
    else if(strfind(inhalt,"InnenPosY: ")!=-1) strdel(inhalt,0,11), Haus[hausid][Pos][4]=floatstr(inhalt);
    else if(strfind(inhalt,"InnenPosZ: ")!=-1) strdel(inhalt,0,11), Haus[hausid][Pos][5]=floatstr(inhalt);
    else if(strfind(inhalt,"Interior: ")!=-1) strdel(inhalt,0,10), Haus[hausid][Int]=strval(inhalt);
    else if(strfind(inhalt,"VirtualWorld: ")!=-1) strdel(inhalt,0,14), Haus[hausid][VirtualWorld]=strval(inhalt);
    else if(strfind(inhalt,"Preis: ")!=-1) strdel(inhalt,0,7), Haus[hausid][Preis]=strval(inhalt);
    }
    Haus[hausid][PickupID] = CreatePickup((Haus[hausid][Gekauft])?1239:1273,1,Haus[hausid][Pos][0],Haus[hausid][Pos][1],Haus[hausid][Pos][2]);
    fclose(f);
    return true;
    }
    stock SaveHaus(hausid)
    {
    if(!Haus[hausid][Int]) return false;
    new inhalt[35],File:f;
    format(inhalt,35,"Häuser/Haus %d.ini",hausid);
    f=fopen(inhalt,io_write);
    format(inhalt,35,"Besitzer: %s\r\n",Haus[hausid][Besitzer]),fwrite(f,inhalt);
    format(inhalt,35,"Gekauft: %d\r\n",Haus[hausid][Gekauft]),fwrite(f,inhalt);
    format(inhalt,35,"Abgeschlossen: %d\r\n",Haus[hausid][Abgeschlossen]),fwrite(f,inhalt);
    format(inhalt,35,"AußenPosX: %f\r\n",Haus[hausid][Pos][0]),fwrite(f,inhalt);
    format(inhalt,35,"AußenPosY: %f\r\n",Haus[hausid][Pos][1]),fwrite(f,inhalt);
    format(inhalt,35,"AußenPosZ: %f\r\n",Haus[hausid][Pos][2]),fwrite(f,inhalt);
    format(inhalt,35,"InnenPosX: %f\r\n",Haus[hausid][Pos][3]),fwrite(f,inhalt);
    format(inhalt,35,"InnenPosY: %f\r\n",Haus[hausid][Pos][4]),fwrite(f,inhalt);
    format(inhalt,35,"InnenPosZ: %f\r\n",Haus[hausid][Pos][5]),fwrite(f,inhalt);
    format(inhalt,35,"Interior: %d\r\n",Haus[hausid][Int]),fwrite(f,inhalt);
    format(inhalt,35,"VirtualWorld: %d\r\n",Haus[hausid][VirtualWorld]),fwrite(f,inhalt);
    format(inhalt,35,"Preis: %d\r\n",Haus[hausid][Preis]),fwrite(f,inhalt);
    fclose(f);
    return true;
    }
    stock CreateHaus(Owner[],Float:X,Float:Y,Float:Z,Float:iX,Float:iY,Float:iZ,Interior,p)
    {
    new ID=GetFreeHausID();
    if(ID==-1) print("Es sind bereits zuviele Häuser erstellt worden | Lösch zu erst eins");
    format(Haus[ID][Besitzer],MAX_PLAYER_NAME,Owner);
    Haus[ID][Gekauft]=false;
    Haus[ID][Abgeschlossen]=true;
    Haus[ID][Pos][0]=X;
    Haus[ID][Pos][1]=Y;
    Haus[ID][Pos][2]=Z;
    Haus[ID][Pos][3]=iX;
    Haus[ID][Pos][4]=iY;
    Haus[ID][Pos][5]=iZ;
    Haus[ID][Int]=Interior;
    Haus[ID][Preis]=p;
    Haus[ID][VirtualWorld]=GetFreeInteriorVW(Haus[ID][Int]);
    Haus[ID][PickupID] = CreatePickup(1273,1,X,Y,Z);
    for(new i,j=GetMaxPlayers();i!=j;i++) if(IsPlayerConnected(i)) SetPlayerMapIcon(i,STARTMAPICON+ID,X,Y,Z,31,0xFFFFFFFF);
    new string[55];
    format(string,55,"Dieses Haus steht zum Verkauf\n\nPreis: %d $",Haus[ID][Preis]);
    Haus[ID][Label] = Create3DTextLabel(string,0x33AA33FF,X,Y,Z,100.0,0,1);
    return ID;
    }
    stock DeleteHaus(hausid)
    {
    strdel(Haus[hausid][Besitzer],0,MAX_PLAYER_NAME);
    Haus[hausid][Gekauft]=false;
    Haus[hausid][Abgeschlossen]=false;
    Haus[hausid][Pos][0]=0;
    Haus[hausid][Pos][1]=0;
    Haus[hausid][Pos][2]=0;
    Haus[hausid][Pos][3]=0;
    Haus[hausid][Pos][4]=0;
    Haus[hausid][Pos][5]=0;
    Haus[hausid][Int]=0;
    Haus[hausid][VirtualWorld]=0;
    DestroyPickup(Haus[hausid][PickupID]);
    Delete3DTextLabel(Haus[hausid][Label]);
    for(new i,j=GetMaxPlayers();i!=j;i++) if(IsPlayerConnected(i)) RemovePlayerMapIcon(i,STARTMAPICON+hausid);
    new pfad[20];
    format(pfad,20,"Häuser/Haus %d.ini",hausid);
    fremove(pfad);
    return true;
    }[/pwn]


    [pwn=78]public OnFilterScriptInit()
    {
    for(new i;i!=MAX_HAUSER;i++) LoadHaus(i);
    return true;
    }
    public OnFilterScriptExit()
    {
    for(new i;i!=MAX_HAUSER;i++) SaveHaus(i);
    return true;
    }
    public OnGameModeExit()
    {
    for(new i;i!=MAX_HAUSER;i++) SaveHaus(i);
    return true;
    }[/pwn]


    Hat niemand eine Idee woran das liegt?

    Hallo, habe gerade ein Haussystem als Filterscript eingefügt. Alles klappt bis auf die Icons. Nach einem Restart des Servers werden zwar die Häuser gespeichert, doch die Icons die vor den Häusern normalerweise zu finden sind, wo auch der Besitzer usw. steht verschwinden. Nach dem verkauf des Hauses taucht das icon allerdings wieder auf. Aber nach einem Serverneustart verschwinden die Icons immer.


    Hoffe jemand weiß woran das liegen könnte.

    Habe es mal so umgeschrieben:


    [pwn=1612]ocmd:o(playerid, params[])
    {
    if(OOC == 1)
    {
    new OOCText[156], String[156], sName[MAX_PLAYER_NAME];
    if(sscanf(params,"s", OOCText)) return SendClientMessage(playerid, COLOR_GREY, "Verwendung: /o [Dein Text]");
    format(String, sizeof(String), "%s: %s", sName, OOCText);
    SendClientMessageToAll(COLOR_WHITE, String);
    new string[145];//Ab hier steht das was in OnPlayerText stand wegen den Adminrang namen
    GetPlayerName(playerid, sName, sizeof(sName));
    format(string, sizeof(string),"[%s] %s: %s",GetAdminRank(playerid),sName, OOCText);
    SendClientMessageToAll(COLOR_RED, string);
    }
    return 1;
    }
    ocmd:togooc(playerid, params[])
    {
    if(isPlayerAdmin(playerid, 4))
    {
    if(OOC == 1)
    {
    SendClientMessage(playerid, COLOR_GREY,"Du hast den OOC-Chat ausgeschaltet.");
    OOC = 0;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "DU hast den OOC Chat angeschaltet");
    OOC = 1;
    }
    }
    else
    {
    return SendClientMessage(playerid, COLOR_RED,"Du bist kein Admin!");
    }
    return 1;
    }[/pwn]


    Und habe keine errors mehr. Habe das GetPlayerName(playerid, sName, sizeof(sName)); oben entfernt und habe das else anders gesetzt
    Danke für die Hilfe. :D Ich teste grad mal im Spiel ob alles geklappt hat. ^^


    Habe es gerade getestet und alles klappt soweit nur das wenn man mit /o schreibt kommt normal im text dies :Hallo (das was man geschrieben hat im /o chat) Und alles wird in rot gezeigt auch ohne admin rang

    [pwn=1612]ocmd:o(playerid, params[])
    {
    if(OOC == 1)
    {
    new OOCText[156], String[156], sName[MAX_PLAYER_NAME];
    if(sscanf(params,"s", OOCText)) return SendClientMessage(playerid, COLOR_GREY, "Verwendung: /o [Dein Text]");
    GetPlayerName(sName, sizeof(sName));
    format(String, sizeof(String), "%s: %s", sName, OOCText);
    SendClientMessageToAll(COLOR_WHITE, String);
    new string[145];//Ab hier steht das was in OnPlayerText stand wegen den Adminrang namen
    GetPlayerName(playerid, sName, sizeof(sName));
    format(string, sizeof(string),"[%s] %s: %s",GetAdminRank(playerid),sName, OOCText);
    SendClientMessageToAll(COLOR_RED, string);
    }
    return 1;
    }
    ocmd:togooc(playerid, params[])
    {
    if(isPlayerAdmin(playerid, 4))
    {
    if(OOC == 1)
    {
    SendClientMessage(playerid, COLOR_GREY,"Du hast den OOC-Chat ausgeschaltet.");
    OOC = 0;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "DU hast den OOC Chat angeschaltet");
    OOC = 1;
    }
    else
    {
    return SendClientMessage(playerid, COLOR_RED,"Du bist kein Admin oder hast nicht den benötigten Rang");
    }
    }
    return 1;
    }[/pwn]


    .pwn(1618 ) : error 035: argument type mismatch (argument 1)
    .pwn(1618 ) : error 035: argument type mismatch (argument 2)
    .pwn(1643) : error 029: invalid expression, assumed zero


    Habe das bei OnPlayerText jetzt dort eingefügt, weiß aber nicht ob es richtig ist. ?(

    Hab leider glaube ich was falsch gemacht..


    .pwn(1618 ) : error 017: undefined symbol "OCAn"
    .pwn(1622) : error 035: argument type mismatch (argument 1)
    .pwn(1622) : error 035: argument type mismatch (argument 2)
    .pwn(1643) : error 029: invalid expression, assumed zero


    ocmd:o(playerid, params[])
    {
    if(OCAn == 1)
    {
    new OOCText[156], String[156], sName[MAX_PLAYER_NAME];
    if(sscanf(params,"s", OOCText)) return SendClientMessage(playerid, COLOR_GREY, "Verwendung: /o [Dein Text]");
    GetPlayerName(sName, sizeof(sName));
    format(String, sizeof(String), "%s: %s", sName, OOCText);
    SendClientMessageToAll(COLOR_WHITE, String);
    }
    return 1;
    }


    ocmd:togooc(playerid, params[])
    {
    if(isPlayerAdmin(playerid, 4))
    {
    if(OOC == 1)
    {
    SendClientMessage(playerid, COLOR_GREY,"Du hast den OOC-Chat ausgeschaltet.");
    OOC = 0;
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "DU hast den OOC Chat angeschaltet");
    OOC = 1;
    }
    else
    {
    return SendClientMessage(playerid, COLOR_RED,"Du bist kein Admin oder hast nicht den benötigten Rang");
    }
    }
    return 1;
    }