Dynamisches Haus und Buisness System, nur wie ?

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
  • Hallo,


    ich würde gerne ein Dynamisches Haus und Biz System selbst scripten, nur weiß ich nicht wirklich wie.
    Ich suche hier seid einiger Zeit nach hilfreichen sachen, aber außer Filterscripts die nicht das sind, was ich suche finde ich nichts.


    Bei meinem Haus system habe ich folgene wünsche, ich möchte wenn ich als Admin ein neues erstelle festlegen können : Den Erstverkaufspreis, das Level, die Zimmeranzahl und welches Interior.
    Ausserdem sollte man sich einmieten können, und der Besitzer kann den Mietpreis festlegen.


    Mein Bizsystem sollte dies ebenfalls beinhalten, allerdings keine Mietfreigabe und wieviele Zimmer es hat.
    Ein Problem dabei ist das nicht jedes BIZ ein Interior haben soll (zB die Autohäuser ) aber er ja als Input trotzdem eins braucht.


    Ich möchte kein komplett fertiges System gescriptetet bekommen, sondern erstmal lediglich wie ich überhaupt damit anfange.
    Und dann einzelen Schritte anfängerfreundlich erklärt bekommen. Quasi wie ein Tutorial, was ich hier im Forum leider nicht Finde.


    Ich benutze ocmd und dini.


  • // Haus System //
    stock CreateHaus(Float:x,Float:y,Float:z,preis,besitzer[32],innenraum)
    {
    new pfad[50];
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    format(pfad,50,"/haus/%d.txt",haus);
    if(!fexist(pfad))
    {
    dini_Create(pfad);
    dini_FloatSet(pfad,"x",x);
    dini_FloatSet(pfad,"y",y);
    dini_FloatSet(pfad,"z",z);
    dini_IntSet(pfad,"preis",preis);
    dini_Set(pfad,"besitzer",besitzer);
    dini_IntSet(pfad,"innenraum",innenraum);
    return LoadHaus(haus);
    }
    }
    return 1;
    }


    stock LoadHaus(hausid)
    {
    new pfad[50];
    format(pfad,50,"/haus/%d.txt",hausid);
    if(!fexist(pfad))return 0;
    // {
    HausInfo[hausid][haus_x] = dini_Float(pfad,"x");
    HausInfo[hausid][haus_y] = dini_Float(pfad,"y");
    HausInfo[hausid][haus_z] = dini_Float(pfad,"z");
    HausInfo[hausid][haus_preis] = dini_Int(pfad,"preis");
    HausInfo[hausid][haus_innenraum] = dini_Int(pfad,"innenraum");
    format(HausInfo[hausid][haus_besitzer],32,"%s",dini_Get(pfad,"besitzer"));
    HausInfo[hausid][haus_pickup] = CreatePickup(1273,23,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],0);
    new s[128];
    format(s,128,"***Haus***\nBesitzer: %s\nPreis %d$",HausInfo[hausid][haus_besitzer],HausInfo[hausid][haus_preis]);
    HausInfo[hausid][haus_label] = Create3DTextLabel(s,BLAU,HausInfo[hausid][haus_x],HausInfo[hausid][haus_y],HausInfo[hausid][haus_z],20,0,1);
    return print("Das Haus wurde erfolgreich Geladen!");
    // }
    }


    stock KillHaus(hausid)
    {
    DestroyPickup(HausInfo[hausid][haus_pickup]);
    Delete3DTextLabel(HausInfo[hausid][haus_label]);
    }
    // Haus System Ende //


    Das kannst du dir mal als Vorbild nehmen, Scripte aber am besten mit MySQL.
    Genau so ähnlich geht auch das Biz System.
    Man muss halt mit diesen Stocks Arbeiten und diese auch bei OnGameModeInit
    usw. reinschrieben(Habe ich bewusst nicht mitgesendet damit du selber nachdenkst)