Beiträge von Keine_Person

    Grundliegende Dinge für Roleplay sind Systeme die einfach mit so vielen Freiheiten wie möglich das RP ermöglichen. Sprich keine Jobs,Crafting, Handel und Dienstleistungen unter Spielern. Keine Fraktionen sondern Schlüssel, Key Karten und andere Dinge die zB. ein PD ermöglichen. Wird auf jeden Fall mal eine neue Erfahrung als Scripter.


    Weiterhin auf der Suche!

    Hallo liebe Gemeinde!


    Wir "Forgotten Life" ein SAMP Hardcore Roleplay Server sind auf der Suche nach einem Hauptscripter und auf Wunsch alleinigen Scripter. Entwickelt werden muss ein kleiner und überschaulicher Mode der eigenständiges Roleplay unterstützen soll. Sprich keine Verankerungen im Script wie Jobs, Fraktionen und so weiter sondern die Grundlagen für Roleplay und ein demnach freies Spielen ohne Grenzen.


    Wir sind:


    Taddl (Projektleiter)
    ==Banger(Gamemanager)
    Dardy(Supporter)


    Zu finden auf: >DISCORD<



    Du willst das deutsche SAMP Roleplay unterstützen und spielst auch gerne die Hardcore Variante?
    Dann bist du bei uns genau richtig!





    Push: Wir suchen weiterhin!


    stock Load_Character(playerid)
    {
    new Stunde, Minute, Sekunde,Load_Log[128],Float:x,Float:y,Float:z;
    new file[128],string[128];
    gettime(Stunde, Minute, Sekunde);
    format(Load_Log,sizeof(Load_Log),"Load Account: %s %d %d %d",GetName(playerid),Stunde,Minute,Sekunde);
    print(Load_Log);
    //Account Load
    format(file,sizeof(file),"/Accounts/%s.inc",GetName(playerid));
    Info[playerid][pAdminLevel] = dini_Int(file,"Admin Level");
    Info[playerid][RpPoints] = dini_Int(file,"Roleplay Points");
    //Character Load
    format(file,sizeof(file),"/Accounts/%s/%s.inc",GetName(playerid),CharacterName[playerid]);
    Info[playerid][pMoney] = dini_Int(file,"Money");
    for(new i = 0; i<MAX_PRODUCTS;i++)
    {
    if(Inventar[playerid][Inventar_Daten:i] > 0)
    {
    format(string,sizeof(string),"%s",InventarName[Inventar_Name:i]);
    Inventar[playerid][Inventar_Daten:i] = dini_Float(file,string);
    }
    }
    gettime(Stunde, Minute, Sekunde);
    format(Load_Log,sizeof(Load_Log),"%d %d %d Inventar 1 loaded!",Stunde,Minute,Sekunde);
    print(Load_Log);
    for(new i = 0; i<MAX_NORMALINVENTAR;i++)
    {
    if(NormalInventar[playerid][NormalInventar_Daten:i] > 0)
    {
    format(string,sizeof(string),"%s",NormalInventarName[NormalInventar_Name:i]);
    NormalInventar[playerid][NormalInventar_Daten:i] = dini_Int(file,string);
    }
    }
    gettime(Stunde, Minute, Sekunde);
    format(Load_Log,sizeof(Load_Log),"%d %d %d Inventar 2 loaded!",Stunde,Minute,Sekunde);
    print(Load_Log);
    for(new i = 0; i<MAX_QUALI; i++)
    {
    if(IllegalInventar[playerid][Cannabis][i] > 0)
    {
    format(string,sizeof(string),"Cannabis Qualität: %d%:",i);
    IllegalInventar[playerid][Cannabis][i] = dini_Float(file,string);
    }
    if(IllegalInventar[playerid][CrystalMeth][i] > 0)
    {
    format(string,sizeof(string),"Crystal Qualität: %d%:",i);
    IllegalInventar[playerid][CrystalMeth][i] = dini_Float(file,string);
    }
    if(IllegalInventar[playerid][Heroin][i] > 0)
    {
    format(string,sizeof(string),"Heroin Qualität: %d%:",i);
    IllegalInventar[playerid][Heroin][i] = dini_Float(file,string);
    }
    if(IllegalInventar[playerid][Kokain][i] > 0)
    {
    format(string,sizeof(string),"Kokain Qualität: %d%:",i);
    IllegalInventar[playerid][Kokain][i] = dini_Float(file,string);
    }
    }
    gettime(Stunde, Minute, Sekunde);
    format(Load_Log,sizeof(Load_Log),"%d %d %d Inventar 3 loaded!",Stunde,Minute,Sekunde);
    print(Load_Log);
    x = dini_Float(file,"pX");
    y = dini_Float(file,"pY");
    z = dini_Float(file,"pZ");
    SetPlayerPos(playerid,x,y,z);
    gettime(Stunde, Minute, Sekunde);
    SetCameraBehindPlayer(playerid);
    format(Load_Log,sizeof(Load_Log),"%d %d %d Spawn: %s",Stunde,Minute,Sekunde,GetName(playerid));
    print(Load_Log);
    return 1;
    }


    Irgendwie kommt 2 mal in der cmd Box:
    format(Load_Log,sizeof(Load_Log),"Load Account: %s %d %d %d",GetName(playerid),Stunde,Minute,Sekunde);
    print(Load_Log);


    Ansonsten nichts und geldaen wird auch nicht.

    Das funzt schon mal. Jetzt habe ich das selbe Problem bei der Speicherung von Integers. Also selbe Zeile der Funktion und selbes Warning. Wenn ich jedoch vor NormalInventar..... ein Int: setze kommen neue Errors. Hier beides einmal:


    Vorangeheweise 1:

    enum NormalInventar_Name
    {
    OfficerMarke[128],
    SatelietenHandy[128],
    OfficerUniform[128]
    }
    enum NormalInventar_Daten
    {
    pMarkeOfficer,
    pSateliteHandy,
    pUniformOfficer
    };



    new NormalInventarName[NormalInventar_Name];
    new NormalInventar[MAX_PLAYERS][NormalInventar_Daten];


    for(new i = 0; i<MAX_NORMALINVENTAR;i++)
    {
    if(NormalInventar[playerid][NormalInventar_Daten:i] > 0)
    {
    format(string,sizeof(string),"%s",NormalInventarName[NormalInventar_Name:i]);
    NormalInventar[playerid][NormalInventar_Daten:i] = dini_Float(file,string);
    }
    }

    Warning: NormalInventar[playerid][NormalInventar_Daten:i] = dini_Float(file,string);
    C:\Users\Anuschka\Desktop\BigCityLife\gamemodes\bigcitylife.pwn(930) : warning 213: tag mismatch





    Vorangehweise 2:


    new Int:NormalInventar[MAX_PLAYERS][NormalInventar_Daten];


    else if(!sscanf(params,"s[128]d",produkt,qualitaet,menge))
    {
    for(new i = 0; i<MAX_NORMALINVENTAR; i++)
    {
    if(!strcmp(produkt, NormalInventarName[NormalInventar_Name:i]) /*&& !isnull(produkt) && !isnull(InventarName[Inventar_Name:i])*/)
    {
    new string[128];
    NormalInventar[playerid][NormalInventar_Daten:i] += menge;
    format(string,sizeof(string),"Objekt %s erstellt: %d",NormalInventarName[NormalInventar_Name:i],menge);
    SCM(playerid,blau,string);
    return 1;
    }



    Zeile: NormalInventar[playerid][NormalInventar_Daten:i] += menge;


    C:\Users\Anuschka\Desktop\BigCityLife\gamemodes\bigcitylife.pwn(351) : warning 213: tag mismatch
    C:\Users\Anuschka\Desktop\BigCityLife\gamemodes\bigcitylife.pwn(927) : warning 213: tag mismatch
    C:\Users\Anuschka\Desktop\BigCityLife\gamemodes\bigcitylife.pwn(930) : warning 213: tag mismatch
    C:\Users\Anuschka\Desktop\BigCityLife\gamemodes\bigcitylife.pwn(993) : warning 213: tag mismatch
    C:\Users\Anuschka\Desktop\BigCityLife\gamemodes\bigcitylife.pwn(993) : warning 213: tag mismatch
    C:\Users\Anuschka\Desktop\BigCityLife\gamemodes\bigcitylife.pwn(1043) : warning 213: tag mismatch
    C:\Users\Anuschka\Desktop\BigCityLife\gamemodes\bigcitylife.pwn(1043) : warning 213: tag mismatch


    Falls benötigt kann ich auch die anderen Zeilen raussuchen.

    Ne ich hab jetzt die mehrdimensionalen Enums entfernt und wollte sagen ich habe nur noch einfache drin. Das Ganze sieht jetzt so aus:


    enum Inventar_Name
    {
    PolosChickenwings[128],
    FreddysMargarithaPizza[128],
    Sprunk[128],
    }
    enum Inventar_Daten
    {
    //Bedarf Inventar
    Float:PolosChickenwings,
    Float:FreddysMargarithaPizza,
    Float:Sprunk,
    };



    new Inventar[MAX_PLAYERS][Inventar_Daten];
    new InventarName[Inventar_Name];


    for(new i = 0; i<MAX_PRODUCTS;i++)
    {
    if(Inventar[playerid][Inventar_Daten:i] > 0)
    {
    format(string,sizeof(string),"%s",InventarName[Inventar_Name:i]);
    Inventar[playerid][Inventar_Daten:i] = dini_Float(file,string);
    }
    }




    Warning in: Inventar[playerid][Inventar_Daten:i] = dini_Float(file,string);


    C:\Users\Anuschka\Desktop\BigCityLife\gamemodes\bigcitylife.pwn(923) : warning 213: tag mismatch

    Wie sieht es mit 3 dimensionalen Werten aus? zB: Inventar[playerid][Droge][Qualität]
    Speichert der die auch einfach so ab und müssen die Werte in einer Reihe sein die bleibt oder kann man auch dynamisch im Nachhinein die Reihenfolge verändern?

    Man soll halt .01 verkaufen können und das in 100 Qualitätststufen. Wie weit man mit dem Wert runtergeht bleibt dem Roleplay überlassen. Naja ich möchte jedenfalls ein solches System haben, aber irgendwie klappt es nicht.


    enum IllegalInventar_Daten
    {
    //Illegales Inventar
    Float:Cannabis[101],
    Float:CrystalMeth[101],
    Float:Heroin[101],
    Float:Kokain[101],
    };
    new IllegalInventarRPPlus[RPPlus_Daten] =
    {
    3,//Cannabis
    10,//CrystalMeth
    10,//Heroin
    5,//Kokain
    };



    C:\Users\Anuschka\Desktop\BigCityLife\gamemodes\bigcitylife.pwn(106) : warning 227: more initiallers than enum fields
    C:\Users\Anuschka\Desktop\BigCityLife\gamemodes\bigcitylife.pwn(107) : error 018: initialization data exceeds declared size

    Ich finde den Fehler nicht.


    enum Inventar_Name{ PolosChickenwings[128], FreddysMargarithaPizza[128], Sprunk[128], Cannabis[128], CrystalMeth[128], Heroin[128], Kokain[128]}enum Inventar_Daten{ //Bedarf Inventar Float:PolosChickenwings, Float:FreddysMargarithaPizza, Float:Sprunk, //Illegales Inventar Float:Cannabis[101], Float:CrystalMeth[101], Float:Heroin[101], Float:Kokain[101],};new Inventar[MAX_PLAYERS][Inventar_Daten];new InventarName[Inventar_Name];
    for(new i = 0; i<MAX_PRODUCTS;i++)
    {
    format(string,sizeof(string),"%s",InventarName[Inventar_Name:i]);
    Inventar[playerid][Inventar_Daten:i] = dini_Float(file,string); }


    • C:\Users\Anuschka\Desktop\BigCityLife\gamemodes\bigcitylife.pwn(907) : warning 213: tag mismatch


    Betroffenes Problem:
    format(string,sizeof(string),"%s",InventarName[Inventar_Name:i]); Inventar[playerid][Inventar_Daten:i] = dini_Float(file,string); }[/pwn]


    if(sscanf(params,"s[128]df",produkt,qualitaet,menge))
    {
    if(strcmp(produkt, InventarName[playerid][Cannabis]))
    {
    if(Inventar[playerid][Cannabis][qualitaet] >= menge)
    {
    Inventar[playerid][Cannabis][qualitaet] -= menge;
    Info[playerid][RpPoints] += InventarRPPlus[Cannabis];
    return 1;
    }
    else return SCM(playerid,rot,"Nicht genügend vorhanden!");
    }
    else if(strcmp(produkt, InventarName[playerid][CrystalMeth]))
    {
    if(Inventar[playerid][CrystalMeth][qualitaet] >= menge)
    {
    Inventar[playerid][CrystalMeth][qualitaet] -= menge;
    Info[playerid][RpPoints] += InventarRPPlus[CrystalMeth];
    return 1;
    }
    else return SCM(playerid,rot,"Nicht genügend vorhanden!");
    }
    else if(strcmp(produkt, InventarName[playerid][Heroin]))
    {
    if(Inventar[playerid][Heroin][qualitaet] >= menge)
    {
    Inventar[playerid][Heroin][qualitaet] -= menge;
    Info[playerid][RpPoints] += InventarRPPlus[Heroin];
    return 1;
    }
    else return SCM(playerid,rot,"Nicht genügend vorhanden!");
    }
    else if(strcmp(produkt, InventarName[playerid][Kokain]))
    {
    if(Inventar[playerid][Kokain][qualitaet] >= menge)
    {
    Inventar[playerid][Kokain][qualitaet] -= menge;
    Info[playerid][RpPoints] += InventarRPPlus[Kokain];
    return 1;
    }
    else return SCM(playerid,rot,"Nicht genügend vorhanden!");
    }
    else
    {
    SCM(playerid,rot,"Produkt nicht bekannt!");
    return 1;
    }



    }
    else if(sscanf(params,"s[128]f",produkt,menge))
    {
    if(strcmp(produkt, InventarName[playerid][Cannabis])||(produkt, InventarName[playerid][CrystalMeth])||(produkt, InventarName[playerid][Heroin])||(produkt, InventarName[playerid][Kokain]))
    {
    SCM(playerid,rot,"Benutze: /use [Produkt] [Qualitätsstufe] [Menge: 0.0]");
    return 1;
    }
    else
    {
    for(new i = 0; i<MAX_INVENTAR; i++)
    {
    if(strcmp(produkt, InventarName[playerid][Inventar_Name:i]) /*&& !isnull(produkt) && !isnull(InventarName[playerid][Inventar_Name:i])*/)
    {
    if(Inventar[playerid][Inventar_Daten:i] >= menge)
    {
    Inventar[playerid][Inventar_Daten:i] -= menge;
    Info[playerid][RpPoints] += InventarRPPlus[RPPlus_Daten:i];
    return 1;
    }
    else return SCM(playerid,rot,"Nicht genügend dabei!");
    }
    if(i == MAX_INVENTAR)
    {
    SCM(playerid,rot,"Produkt nicht bekannt!");
    return 1;
    }
    }
    }
    }
    else return SCM(playerid,rot,"Benutze: /use [Produkt] [Menge: 0.0]");
    return 1;



    Irgendwie kommt immer "Produkt nicht bekannt" statt "Benutze use...."
    Also wenn ich "/use" eintippe sollte doch das else abgerufen werden oder nicht?

    new produkt[128],qualitaet,Float:menge;
    if(sscanf(params,"sdf",produkt,qualitaet,menge))
    {
    if(strcmp(produkt, InventarName[playerid][Cannabis]))
    {
    if(Inventar[playerid][Cannabis][qualitaet] >= menge)
    {
    Inventar[playerid][Cannabis][qualitaet] -= menge;
    Info[playerid][RpPoints] += InventarRPPlus[Cannabis];
    return 1;
    }
    else return SCM(playerid,rot,"Nicht genügend vorhanden!");
    }
    }