Beiträge von sLy

    Vorstellung 1/10
    Forum 2/10
    Server 0/10


    Das ist wirklich ein SEHR schlechter Server...


    User werden von den Admins als "kleine dumme Kinder die keine Ahnung haben und zu schlecht sind" oder "IHR HATTET WANTEDS IHR WIXXER" beleidigt!
    Ich frage mich wirklich , was das für ein Server, bzw. Team ist..
    Es ist ein kaum editierter GF-Edit. Admins (Die Admins waren in einer Cop-Fraktion) teleportieren sich hinter den Verbrechern her und schiessen mit Raketenwerfer...
    Dann wurd ich noch wegen "Beleidigung" gebannt , obwohl ich nichtmal was beleidigendes geschrieben habe..
    Video kommt auch bald , allerdings hört man dort meine Stimme nicht , da ich Record External Input vergessen habe anzuschalten , sondern nur die von meinem Freund :D
    In dem Video wird oft Luca gesagt , Luca = MrKnow_It


    Foren Link: http://cobra-reallife.mymp.cc/…p?page=Thread&threadID=25


    Video Link:

    Spoiler anzeigen
    [video]
    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.
    [/video]

    public checkcountdown()
    {
    if(countdown >= 1)
    {
    new string[128];
    format(string,sizeof(string),"~r~%d",countdown);
    GameTextForAll(string,1000,3);
    countdown --;
    SetTimer("checkcountdown",1000,0);
    }
    else
    {
    GameTextForAll("~g~ Someone has been infected",1000,3);
    new rand=random(MAX_PLAYERS);
    GivePlayerWeapon(rand,WaffeID,Munition);
    SetPlayerSkin(rand,SkinID);
    }
    }


    Ungetestet

    Bei meinem Stock SpielerLaden , der mit OnPlayerConnect verbunden ist :D
    Es wird ja alles gegeben ,außer die Waffen ^^

    Bei mir werden die Waffen gespeichert aber nicht gegeben :D



    dini_IntSet(Spieler,"Waffe1",weapons[0][0]);
    dini_IntSet(Spieler,"Waffe2",weapons[1][0]);
    dini_IntSet(Spieler,"Waffe3",weapons[2][0]);
    dini_IntSet(Spieler,"Waffe4",weapons[3][0]);
    dini_IntSet(Spieler,"Waffe5",weapons[4][0]);
    dini_IntSet(Spieler,"Waffe6",weapons[5][0]);
    dini_IntSet(Spieler,"Waffe7",weapons[6][0]);
    dini_IntSet(Spieler,"Waffe8",weapons[7][0]);
    dini_IntSet(Spieler,"Waffe9",weapons[8][0]);
    dini_IntSet(Spieler,"Waffe10",weapons[9][0]);
    dini_IntSet(Spieler,"Waffe11",weapons[10][0]);
    dini_IntSet(Spieler,"Waffe12",weapons[11][0]);
    dini_IntSet(Spieler,"Waffe13",weapons[12][0]);
    dini_IntSet(Spieler,"Muni1",weapons[0][1]);
    dini_IntSet(Spieler,"Muni2",weapons[1][1]);
    dini_IntSet(Spieler,"Muni3",weapons[2][1]);
    dini_IntSet(Spieler,"Muni4",weapons[3][1]);
    dini_IntSet(Spieler,"Muni5",weapons[4][1]);
    dini_IntSet(Spieler,"Muni6",weapons[5][1]);
    dini_IntSet(Spieler,"Muni7",weapons[6][1]);
    dini_IntSet(Spieler,"Muni8",weapons[7][1]);
    dini_IntSet(Spieler,"Muni9",weapons[8][1]);
    dini_IntSet(Spieler,"Muni10",weapons[9][1]);
    dini_IntSet(Spieler,"Muni11",weapons[10][1]);
    dini_IntSet(Spieler,"Muni12",weapons[11][1]);
    dini_IntSet(Spieler,"Muni13",weapons[12][1]);


    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe1"),dini_Int(Spieler,"Muni1"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe2"),dini_Int(Spieler,"Muni2"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe3"),dini_Int(Spieler,"Muni3"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe4"),dini_Int(Spieler,"Muni4"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe5"),dini_Int(Spieler,"Muni5"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe6"),dini_Int(Spieler,"Muni6"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe7"),dini_Int(Spieler,"Muni7"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe8"),dini_Int(Spieler,"Muni8"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe9"),dini_Int(Spieler,"Muni9"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe10"),dini_Int(Spieler,"Muni10"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe11"),dini_Int(Spieler,"Muni11"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe12"),dini_Int(Spieler,"Muni12"));
    GivePlayerWeapon(playerid,dini_Int(Spieler,"Waffe13"),dini_Int(Spieler,"Muni13"));

    Hey ^^


    Also ich habe folgendes Problem:
    Wenn ich eine Waffe im Ammunation kaufe, bekommt das Ammunation biz nichts in die Bizkasse!


    Beispielcode der Deagle:


    if(Waffe[playerid]==24)
    {
    new Munitionpreis = strval(inputtext)*10+2500;
    if(Munitionpreis <= GetPlayerMoney(playerid))
    {
    for(new b=1;b<MAX_BIZ;b++)
    {
    new Biz[64];
    format(Biz,sizeof(Biz),"Biz/biz%d.txt",b);
    if(strcmp(bInfo[b][Namme],"Ammunation",false) == 0)
    {
    new mwst=(4500+Munitionpreis)*19/100;
    GivePlayerMoney(playerid,-Munitionpreis);
    dini_IntSet(string,"Bizkasse",bInfo[b][Bizkasse]+mwst);
    bInfo[b][Bizkasse] = dini_Int(string,"Bizkasse");
    //GivePlayerMoney(playerid,-2500);
    GivePlayerWeapon(playerid,24,Munition);
    SendClientMessage(playerid,Gruen,"Du hast die Waffe erfolgreich gekauft.");
    Waffe[playerid]=0;
    return true;
    }
    }
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du hast nicht genug Geld!");
    Waffe[playerid]=0;
    }

    [video]

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.
    [/video]


    http://www.tape.tv/musikvideos…inst/The-Good-Left-Undone

    Wenn du es als Integer da in die Funktion floatround als Parameter übergibst, dann sollte der Compiler dir ein Fehler wegen "tag mismatch" gegben.


    Ja^^
    Aber wofür Floatround ?
    Das Geld auf dem Kontostand ist ja kein Float , sondern ein Integer ._.

    floatround braucht als Parameter eine Float-Tag Variable, weshalb man den Wert erst von einem Integer zu Float umwandeln muss.


    Ja , aber wofür machst du das Geld zu einem Float?
    Weil bei float(geld) ist doch der momentante Kontostand gemeint , oder ?
    Weil dieser ist ja ein Integer

    Wieso um Gottes Willen definierst du so viele strings mit einem Index von 256 wenn du nicht einmal 80 nutzt? .....


    Keine Ahnung :D
    Das Payday System hab ich schon länger drin , da hab ich jeden string mit 256 definiert ^^


    Zitat

    Die Formel einen Zinsatz zu berechnen ist X / 100 * Y


    Und nicht X * Y / 1000


    Ist mir schon klar , aber wenn man bspw. 1,5kk aufm konto hat , mit einem Zinssatz von 3%, bekommt man 45k Zinsen.
    Da ich das für zu viel halte , mache ich halt /1000 :D

    Hey :P


    Ich möchte gerne für mein Payday system , dass der Spieler Zinsen bekommt.


    Wenn er garnichts hat , sprich kein Haus/Biz , bekommt er 3% Zinsen.
    Wenn er nur ein Haus/Biz hat , bekommt er 4% Zinsen und wenn er Ein Haus und ein Biz hat bekommt er 5% Zinsen , sprich für jedes "Extra" 1% Zinsen mehr.


    Nur weiß ich nicht wie ich es scripten soll :o


    Die Rechnung ohne alles wäre: GetPVarInt(playerid,"Kontostand")*3/1000



    public pimer(playerid)
    {
    pPlaytime[playerid]++; // ++ ist wie +1 also wird es alle 60000 milliskunden um 1 erhöht soll die Spielzeit sein
    if(pSincePayday[playerid] >= 35) // wenn Zeitseitpayday 60 oder über 6o ist wird das in der Klammer ausgelöst
    {
    new Spieler[64];
    format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
    new levelbonus;
    dini_IntSet(Spieler,"Levelpunkte",dini_Int(Spieler,"Levelpunkte")+1);
    new gehalt;
    if(GetPlayerFrakRang(playerid,0))
    {
    gehalt=2500;
    }
    if(GetPlayerFrakRang(playerid,1))
    {
    gehalt=4000;
    }
    if(GetPlayerFrakRang(playerid,2))
    {
    gehalt=5000;
    }
    if(GetPlayerFrakRang(playerid,3))
    {
    gehalt=6000;
    }
    if(GetPlayerFrakRang(playerid,4))
    {
    gehalt=9000;
    }
    if(GetPlayerFrakRang(playerid,5))
    {
    gehalt=12000;
    }
    if(dini_Int(Spieler,"Levelpunkte")>=dini_Int(Spieler,"Level"))
    {
    dini_IntSet(Spieler,"Levelpunkte",0);
    SetPlayerScore(playerid,dini_Int(Spieler,"Level")+1);
    new string[256];
    format(string,sizeof(string),"Du hast 0 von %i Levelpunkten!",GetPlayerScore(playerid));
    dini_IntSet(Spieler,"Level",GetPlayerScore(playerid));
    SendClientMessage(playerid,Orange,"~Payday~");
    SendClientMessage(playerid,Gelb,"Glückwunsch! Du bist ein Level aufgestiegen!");
    new string3[256];
    format(string3,sizeof(string3),"Du bist nun Level %i !",GetPlayerScore(playerid));
    SendClientMessage(playerid,Gelb,string3);
    SendClientMessage(playerid,Gelb,string);
    levelbonus=GetPlayerScore(playerid)*300;
    new bankkontostring[256];
    new levelbonusstring[256];
    new gehaltstring[256];
    new bankkontostringneu[256];
    format(bankkontostring,sizeof(bankkontostring),"Alter Kontostand: %i$",GetPVarInt(playerid,"Kontostand"));
    format(levelbonusstring,sizeof(levelbonusstring),"Levelbonus: %i$",levelbonus);
    //format(hartz4string,sizeof(hartz4string),"Hartz IV: 500");
    format(gehaltstring,sizeof(gehaltstring),"Gehalt: %i$",gehalt);
    SendClientMessage(playerid,Gelb,bankkontostring);
    SendClientMessage(playerid,Gelb,levelbonusstring);
    if(dini_Int(Spieler,"Hartz4")>=1)
    {
    SendClientMessage(playerid,Gelb,"Hartz IV: 500$");
    }
    SendClientMessage(playerid,Gelb,gehaltstring);
    SetPVarInt(playerid,"Kontostand",GetPVarInt(playerid,"Kontostand")+levelbonus);
    SetPVarInt(playerid,"Kontostand",GetPVarInt(playerid,"Kontostand")+gehalt);
    if(dini_Int(Spieler,"Hartz4")>=1)
    {
    SetPVarInt(playerid,"Kontostand",GetPVarInt(playerid,"Kontostand")+500);
    }
    format(bankkontostringneu,sizeof(bankkontostringneu),"Neuer Kontostand: %i$",GetPVarInt(playerid,"Kontostand"));
    SendClientMessage(playerid,Gelb,bankkontostringneu);
    pSincePayday[playerid] = 0;
    SpielerSpeichern(playerid);
    }
    else
    {
    new string[256];
    format(string,sizeof(string),"Du hast %i von %i Levelpunkten!",dini_Int(Spieler,"Levelpunkte"),GetPlayerScore(playerid));
    SendClientMessage(playerid,Orange,"~Payday~");
    SendClientMessage(playerid,Gelb,string);
    levelbonus=GetPlayerScore(playerid)*300;
    new bankkontostring[256];
    new levelbonusstring[256];
    new gehaltstring[256];
    new bankkontostringneu[256];
    format(bankkontostring,sizeof(bankkontostring),"Alter Kontostand: %i$",GetPVarInt(playerid,"Kontostand"));
    format(levelbonusstring,sizeof(levelbonusstring),"Levelbonus: %i$",levelbonus);
    format(gehaltstring,sizeof(gehaltstring),"Gehalt: %i$",gehalt);
    SendClientMessage(playerid,Gelb,bankkontostring);
    SendClientMessage(playerid,Gelb,levelbonusstring);
    if(dini_Int(Spieler,"Hartz4")>=1)
    {
    SendClientMessage(playerid,Gelb,"Hartz IV: 500$");
    }
    SendClientMessage(playerid,Gelb,gehaltstring);
    SetPVarInt(playerid,"Kontostand",GetPVarInt(playerid,"Kontostand")+levelbonus);
    SetPVarInt(playerid,"Kontostand",GetPVarInt(playerid,"Kontostand")+gehalt);
    if(dini_Int(Spieler,"Hartz4")>=1)
    {
    SetPVarInt(playerid,"Kontostand",GetPVarInt(playerid,"Kontostand")+500);
    }
    format(bankkontostringneu,sizeof(bankkontostringneu),"Neuer Kontostand: %i$",GetPVarInt(playerid,"Kontostand"));
    SendClientMessage(playerid,Gelb,bankkontostringneu);
    pSincePayday[playerid] = 0;
    SpielerSpeichern(playerid);
    }
    }
    else
    {
    pSincePayday[playerid]++; // ZEit seit Payday wird um 1 erhöht
    }
    return 1;
    }


    Ich wollte grade schreiben , dass ich keine Häuser mehr kaufen kann , aber dank BlackAce gehts :*


    Bei dem LoadBizz hab ich das break gemacht , weil wenn ich zB. oben


    #define BIZZ_FILES 5


    habe , und im Biz ordner nur 1 Biz , wird trzdm. 5x geloggt , dass das Biz erfolgreich geladen hat ^^


    Ich editiere oben meinen 2. Fehler rein :)

    Okay ^^


    Also ist es so richtig ? Muss ich überall break; hinmachen ? :)


    ocmd:hauskaufen(playerid,params[])
    {
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    if(IsPlayerInRangeOfPoint(playerid,5,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]))
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof name);
    if(strcmp(HausInfo[haus][haus_besitzer],name,false) == 0)return SendClientMessage(playerid,Rot,"Dieses Haus gehört dir bereits!");
    if(strcmp(HausInfo[haus][haus_besitzer],"Niemand",false))return SendClientMessage(playerid,Rot,"Dieses Haus steht nicht zum Verkauf!");
    // wenn das Haus frei ist dann kaufen:
    if(GetPlayerMoney(playerid) < HausInfo[haus][haus_preis])return SendClientMessage(playerid,Rot,"Du hast nicht genug Geld!");
    GivePlayerMoney(playerid,-HausInfo[haus][haus_preis]); // Geld abziehen
    new Hausstring[50];
    format(Hausstring,50,"/haus/%d.txt",haus); // Pfad formatieren
    dini_Set(Hausstring,"besitzer",name); // Besitzer überschreiben
    SendClientMessage(playerid,Gelb,"Du hast das Haus erfolgreich gekauft!");
    KillHaus(haus); // Hauspickup löschen
    LoadHaus(haus); // Haus laden
    break;
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du bist in keinem Hauspickup!");
    break;
    }
    }
    return 1;
    }

    Danke erstmal für die Hilfe an alle :)


    Habe noch nie mit break; gearbeitet , habe folgende Errors :\


    Code
    C:\Users\xSpeciiaL\Desktop\0.3e RC 6 fix\gamemodes\ScriptV0.1.pwn(5101) : error 024: "break" or "continue" is out of context
    C:\Users\xSpeciiaL\Desktop\0.3e RC 6 fix\gamemodes\ScriptV0.1.pwn(5102) : warning 209: function "LoadBizz" should return a value


    stock LoadBizz(bizid)
    {
    for(new b = 1; b <BIZ_FILES; b++)
    {
    new Biz[64];
    format(Biz,sizeof(Biz),"Biz/biz%d.txt",b);
    if(dini_Exists(Biz))
    {
    bInfo[bizid][PossX] = dini_Float(Biz,"PosX"); //Float X speichern
    bInfo[bizid][PossY] = dini_Float(Biz,"PosY"); //Float Y speichern
    bInfo[bizid][PossZ] = dini_Float(Biz,"PosZ"); //Float Z speichern
    bInfo[bizid][Bizkasse] = dini_Int(Biz,"Bizkasse");
    format(bInfo[bizid][Namme],64,"%s",dini_Get(Biz,"Name"));
    bInfo[bizid][Preis] = dini_Int(Biz,"Preis"); // Preis / kauf kosten speichern
    bInfo[bizid][Besetzt] = dini_Int(Biz,"Besetzt"); // Ob das Bizz besetzt ist
    format(bInfo[bizid][Besitzer],64,"%s",dini_Get(Biz,"Besitzer")); //Besitzername Speichern
    if(bInfo[bizid][Besetzt] == 0) //wenn das Bizz nicht Besetzt ist
    {
    bInfo[bizid][Pickup] = CreatePickup(1238 ,23,bInfo[bizid][PossX],bInfo[bizid][PossY],bInfo[bizid][PossZ],0); //Pickup erstellen


    new string[196];
    format(string,196,"*[BIZINFO]*\nName: %s\nBesitzer: Staat\nPreis: %i\n***",bInfo[bizid][Namme],bInfo[bizid][Preis]); //Hier wird der string für Den 3DTextLabel geschrieben was alles drin sein soll, wenn das Bizz frei ist
    bInfo[bizid][Label] = Create3DTextLabel(string,0xFFFF00FF,bInfo[bizid][PossX],bInfo[bizid][PossY],bInfo[bizid][PossZ],20,0,0); //Hier wird der 3DText erstellt
    return print("Das Biz wurde erfolgreich geladen"); //Das schreibt in die Konsole
    }
    if(bInfo[bizid][Besetzt] == 1) //wenn das Biz besetzt ist
    {
    bInfo[bizid][Pickup] = CreatePickup(1238 ,23,bInfo[bizid][PossX],bInfo[bizid][PossY],bInfo[bizid][PossZ],0); //Pickup erstellen
    new string[196];
    format(string,196,"*[BIZINFO]*\nName: %s\nBesitzer: %s\n***",bInfo[bizid][Namme],bInfo[bizid][Besitzer]); //Hier wird der string für Den 3DTextLabel geschrieben was alles drin sein soll, wenn das Bizz frei ist
    bInfo[bizid][Label] = Create3DTextLabel(string,0xFFFF00FF,bInfo[bizid][PossX],bInfo[bizid][PossY],bInfo[bizid][PossZ],20,0,0); //Hier wird der 3DText erstellt
    return print("Das Biz wurde erfolgreich geladen"); //Das schreibt in die Konsole
    }
    }//wenn die Datei existiert, sonst return 0;
    else
    {
    return 0;
    }
    }
    break;//5101
    return 1;//5102
    }

    Hey :D


    Habe einem Problem mit meinem Haus&Bizsystem.


    Problem 1: [GEKLÄRT]

    Spoiler anzeigen
    Undzwar , wenn man zB /hauskaufen macht , und in keinem Hauspunkt steht , wird die Nachricht 30x gespammt (Oben definiert , sprich #define MAX_HAUS 30)

    Spoiler anzeigen
    Das gleiche auch beim Bizsystem , nur dass da die Nachricht 5x kommt (#define BIZZ_FILES 5)

    Spoiler anzeigen

    ocmd:hauskaufen(playerid,params[])
    {
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    if(IsPlayerInRangeOfPoint(playerid,5,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]))
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof name);
    if(strcmp(HausInfo[haus][haus_besitzer],name,false) == 0)return SendClientMessage(playerid,Rot,"Dieses Haus gehört dir bereits!");
    if(strcmp(HausInfo[haus][haus_besitzer],"Niemand",false))return SendClientMessage(playerid,Rot,"Dieses Haus steht nicht zum Verkauf!");
    // wenn das Haus frei ist dann kaufen:
    if(GetPlayerMoney(playerid) < HausInfo[haus][haus_preis])return SendClientMessage(playerid,Rot,"Du hast nicht genug Geld!");
    GivePlayerMoney(playerid,-HausInfo[haus][haus_preis]); // Geld abziehen
    new Hausstring[50];
    format(Hausstring,50,"/haus/%d.txt",haus); // Pfad formatieren
    dini_Set(Hausstring,"besitzer",name); // Besitzer überschreiben
    SendClientMessage(playerid,Gelb,"Du hast das Haus erfolgreich gekauft!");
    KillHaus(haus); // Hauspickup löschen
    LoadHaus(haus); // Haus laden
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du bist in keinem Hauspickup!");
    }
    }
    return 1;
    }

    Spoiler anzeigen

    ocmd:bizkaufen(playerid,params[])
    {
    new string[256];
    for(new b = 1; b < BIZ_FILES; b++)
    {
    format(string, sizeof(string), "/Biz/biz%d.txt", b);
    if(IsPlayerInRangeOfPoint(playerid,5,bInfo[b][PossX],bInfo[b][PossY],bInfo[b][PossZ]))
    {
    if(bInfo[b][Besetzt] == 0)
    {
    if(strcmp(bInfo[b][Besitzer],PlayerName(playerid),false) == 0)return SendClientMessage(playerid,0xFFFF00FF,"Dieses Biz gehört dir bereits!");
    if(GetPlayerMoney(playerid) >= bInfo[b][Preis]) //Bizz Preis
    GivePlayerMoney(playerid,-bInfo[b][Preis]);
    format(string,64,"/Biz/biz%d.txt",b); //öffnet die Datei
    dini_IntSet(string,"Besetzt",1); //setzt Besetzt auf 1
    bInfo[b][Besetzt] = 1;
    dini_Set(string,"Besitzer",PlayerName(playerid)); //Hier wird der Besitzer name gesetzt
    SendClientMessage(playerid,0xFFFF00FF,"Du hast erfolgreich das Bizz gekauft!");
    KillBizz(b); //stock wird aufgerufen
    LoadBizz(b); //Stock wird aufgerufen
    }
    else
    {
    SendClientMessage(playerid,Rot,"Das Biz steht nicht zum Verkauf!");
    }
    }
    else
    {
    SendClientMessage(playerid,Rot,"Du bist in keinem Biz-Kaufpunkt.");
    }
    }
    return 1;
    }


    Problem 2: [GEKLÄRT]

    Spoiler anzeigen
    Ich kann nur 1 Biz erstellen!
    Ich habe oben #define BIZZ_FILES 5 gemacht , aber ich kann immer nur 1 Biz erstellen.
    Sprich wenn 1 Biz erstellt ist , kann ich /createbiz machen , aber es passiert ingame garnichts, es wird aber die Datei erstellt.
    Wenn ich das Biz aus dem Ordner lösche und den Server neustarte , kann ich wieder ein neues Biz erstellen , aber immer nur 1 !

    Spoiler anzeigen

    stock LoadBizz(bizid)
    {
    for(new b = 1; b <BIZ_FILES; b++)
    {
    new Biz[64];
    format(Biz,sizeof(Biz),"Biz/biz%d.txt",b);
    if(!fexist(Biz))return 0;
    {
    bInfo[bizid][PossX] = dini_Float(Biz,"PosX");
    bInfo[bizid][PossY] = dini_Float(Biz,"PosY");
    bInfo[bizid][PossZ] = dini_Float(Biz,"PosZ");
    bInfo[bizid][Bizkasse] = dini_Int(Biz,"Bizkasse");
    format(bInfo[bizid][Namme],64,"%s",dini_Get(Biz,"Name"));
    bInfo[bizid][Preis] = dini_Int(Biz,"Preis");
    bInfo[bizid][Besetzt] = dini_Int(Biz,"Besetzt");
    format(bInfo[bizid][Besitzer],64,"%s",dini_Get(Biz,"Besitzer"));
    if(bInfo[bizid][Besetzt] == 0)
    {
    bInfo[bizid][Pickup] = CreatePickup(1238 ,23,bInfo[bizid][PossX],bInfo[bizid][PossY],bInfo[bizid][PossZ],0);
    new string[196];
    format(string,196,"*[BIZINFO]*\nName: %s\nBesitzer: Staat\nPreis: %i\n***",bInfo[bizid][Namme],bInfo[bizid][Preis]);
    bInfo[bizid][Label] = Create3DTextLabel(string,0xFFFF00FF,bInfo[bizid][PossX],bInfo[bizid][PossY],bInfo[bizid][PossZ],20,0,0);
    return print("Das Biz wurde erfolgreich geladen");
    }
    if(bInfo[bizid][Besetzt] == 1)
    {
    bInfo[bizid][Pickup] = CreatePickup(1238 ,23,bInfo[bizid][PossX],bInfo[bizid][PossY],bInfo[bizid][PossZ],0);
    new string[196];
    format(string,196,"*[BIZINFO]*\nName: %s\nBesitzer: %s\n***",bInfo[bizid][Namme],bInfo[bizid][Besitzer]);
    bInfo[bizid][Label] = Create3DTextLabel(string,0xFFFF00FF,bInfo[bizid][PossX],bInfo[bizid][PossY],bInfo[bizid][PossZ],20,0,0);
    return print("Das Biz wurde erfolgreich geladen");
    }
    }
    }
    return 1;
    }

    Spoiler anzeigen
    stock CreateBizz(Float:x,Float:y,Float:z,namme[64],besitzer[64],preis)
    {
    new Biz[64];
    for(new b = 1; b < BIZ_FILES; b++)
    {
    format(Biz,64,"/Biz/biz%d.txt",b);
    if(!fexist(Biz))
    {
    dini_Create(Biz);
    dini_FloatSet(Biz,"PosX",x);
    dini_FloatSet(Biz,"PosY",y);
    dini_FloatSet(Biz,"PosZ",z);
    dini_Set(Biz,"Name",namme);
    dini_IntSet(Biz,"Preis",preis);
    dini_IntSet(Biz,"Besetzt",0);
    dini_Set(Biz,"Besitzer",besitzer);
    dini_IntSet(Biz,"Bizkasse",0);
    return LoadBizz(b);
    }
    }
    return 1;
    }

    Spoiler anzeigen
    ocmd:createbiz(playerid,params[])
    {
    new Float:x,Float:y,Float:z,preis;
    new namme[64];
    if(sscanf(params,"s[64]d",namme,preis))return SendClientMessage(playerid,Rot,"Fehler: /createbiz [Name] [Preis]");
    {
    GetPlayerPos(playerid,x,y,z);
    CreateBizz(x,y,z,namme,"Staat",preis);
    }

    Spoiler anzeigen
    return 1;
    }


    Problem 3:
    Wenn ich /hausverkaufen mache , kommt, dass ich kein Haus habe , obwohl ich eins habe ^^
    Wenn ich /bizverkaufen mache , kommt das gleiche wie bei /hausverkaufen !



    ocmd:hausverkaufen(playerid,params[])
    {
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof name);
    new Spieler[50];
    format(Spieler,50,"/Spieler/%s.txt",name);
    if(strcmp(HausInfo[haus][haus_besitzer],name,false) == 0)
    {
    GivePlayerMoney(playerid,HausInfo[haus][haus_preis]/2);
    new Hausstring[50];
    format(Hausstring,50,"/haus/%d.txt",haus);
    SendClientMessage(playerid,Gelb,"Du hast dein Haus verkauft.");
    dini_Set(Hausstring,"besitzer","Niemand");
    dini_IntSet(Spieler,"Haus",0);
    dini_IntSet(Hausstring,"Besetzt",0);
    KillHaus(haus);
    LoadHaus(haus);
    return true;
    }
    else
    {
    return SendClientMessage(playerid,Rot,"Du hast kein Haus!");
    }
    }
    return 1;
    }


    ocmd:bizverkaufen(playerid,params[])
    {
    new string[256];
    for(new b= 1; b< MAX_BIZ; b++)
    {
    format(string,sizeof(string),"/Biz/biz%d.txt", b);
    if(strcmp(bInfo[b][Besitzer],PlayerName(playerid),false) == 0)
    {
    GivePlayerMoney(playerid,bInfo[b][Preis]/2);
    format(string,64,"/Biz/biz%d.txt",b);
    dini_IntSet(string,"Besetzt",0);
    bInfo[b][Besetzt] = 0;
    dini_Set(string,"Besitzer","Staat");
    SendClientMessage(playerid,0xFFFF00FF,"Du hast das Biz erfolgreich verkauft!");
    KillBizz(b);
    LoadBizz(b);
    return true;
    }
    else
    {
    return SendClientMessage(playerid,Rot,"Du hast kein Biz!");
    }
    }
    return 1;
    }