Dynamisches Haussytem [Selber Scripten]

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


    ich suche ein gutes Tutorial wie man ein Haussystem ( Dynamisch ) Scripten kann.
    Also ich möchte einen kleinen Fun Server Erstellen und Häuser kaufbar machne..
    Das ganze sollte auf DINI abgespeichert werden ;-).


    Grüße!

  • Anpassen muss man eh alles
    gucks dir mal an es ist nur ein Grunsgerüst
    du musst nur Speichern laden und noch keys oder Befehle festlegen mehr ist das ja nicht

  • So, hab das Tutorial befolgt und habe nun folgende Errors ;-).


    E:\Dokumente und Einstellungen\Systemadministrator\Desktop\SAMP\gamemodes\selfmad3.pwn(47) : error 017: undefined symbol "haus_info"
    E:\Dokumente und Einstellungen\Systemadministrator\Desktop\SAMP\gamemodes\selfmad3.pwn(47) : error 009: invalid array size (negative, zero or out of bounds)
    E:\Dokumente und Einstellungen\Systemadministrator\Desktop\SAMP\gamemodes\selfmad3.pwn(466) : error 017: undefined symbol "haus_pickup"
    E:\Dokumente und Einstellungen\Systemadministrator\Desktop\SAMP\gamemodes\selfmad3.pwn(727) : error 017: undefined symbol "haus_pickup"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    new HausInfo[15][haus_info]; <- 47
    if(HausInfo[i][haus_pickup] == pickupid) <- 466
    stock KillHaus(hausid)
    {
    return DestroyPickup(HausInfo[hausid][haus_pickup]);
    }



    /e Suche immer noch Hilfe -.-#

    -

    Einmal editiert, zuletzt von Yung_Hurn ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Beschreibt er doch genau?


    Und das einfach vor das hier.

    new HausInfo[15][haus_info];

    Und das Printf kommt in OnGameModeInit, wobei es eher fraglich ist ob es benötigt ist oder nicht, da du nur ausgibst wo sich was befindet.


    lg :thumbup:

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • Das mein ich auch nicht. Guck dir das Tutorial komplett an und du weißt was ich meine. ;)


    lg :thumbup:

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • Egal wo ich das printf hinzufüge - immer 4 Errors.
    Ich bin ein wenig weiter gekommen - hab den 1 Teil des Tutorials fast geschafft.
    Habe nun ein Problem, alles fertig..
    Aber folgendes ist nicht definiert und ich weiß nicht wie:


    E:\Dokumente und Einstellungen\Systemadministrator\Desktop\SAMP\gamemodes\selfmad3.pwn(615) : error 017: undefined symbol "haus_pickup"
    E:\Dokumente und Einstellungen\Systemadministrator\Desktop\SAMP\gamemodes\selfmad3.pwn(873) : error 017: undefined symbol "haus_pickup"
    E:\Dokumente und Einstellungen\Systemadministrator\Desktop\SAMP\gamemodes\selfmad3.pwn(879) : error 017: undefined symbol "haus_pickup"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Errors.


    if(HausInfo[i][haus_pickup] == pickupid)

    -

    Einmal editiert, zuletzt von Yung_Hurn ()

  • Bei der Enum - Struktur haus_pickup hinzugefügt?

    enum haus_info
    {
    Float:haus_x,
    Float:haus_y,
    Float:haus_z,
    // Hier haus_pickup, einfügen, das wars.
    haus_besitzer[32],
    haus_preis
    }


    lg :thumbup:

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • Danke dir #S.
    Hab nen neues Problem ;-).
    Sorry das ich nerve, will das aber schaffen :DD. ( Später richtig krass noch editieren.. )


    E:\Dokumente und Einstellungen\Systemadministrator\Desktop\SAMP\gamemodes\selfmad3.pwn(912) : error 025: function heading differs from prototype
    E:\Dokumente und Einstellungen\Systemadministrator\Desktop\SAMP\gamemodes\selfmad3.pwn(913) : error 021: symbol already defined: "CreateHaus"
    E:\Dokumente und Einstellungen\Systemadministrator\Desktop\SAMP\gamemodes\selfmad3.pwn(913) : error 017: undefined symbol "pfad"
    E:\Dokumente und Einstellungen\Systemadministrator\Desktop\SAMP\gamemodes\selfmad3.pwn(1193) : warning 203: symbol is never used: "HausInnenraum"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Errors.


    stock CreateHaus(Float:x,Float:y,Float:z,preis,besitzer[32],innenraum) < 912
    dini_IntSet(pfad,"innenraum",innenraum) <- 913

  • pfad hast du anscheinend nicht definiert und die function "CreateHaus" hast du schon mal irgendwo deklariert.
    Zeig uns mal die dazu gehörigen stocks. (LoadHaus und CreateHaus und die Error Zeilen)


    lg :thumbup:

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • stock CreateHaus(Float:x,Float:y,Float:z,preis,besitzer[32]) // die ersten 3 Werte sind die Koordinaten, der 4. der Preis und der 5. der Besitzer
    {
    new pfad[50];
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    format(pfad,50,"/haus/%d.txt",haus); //nun ist der Pfad der Datei im String "pfad".
    if(!fexist(pfad)) // wenn diese Datei noch nicht existiert
    {
    dini_Create(pfad); // dann erstellen wir sie
    dini_FloatSet(pfad,"x",x); // und füllen sie mit unseren Werten.
    dini_FloatSet(pfad,"y",y);
    dini_FloatSet(pfad,"z",z);
    dini_IntSet(pfad,"preis",preis);
    dini_Set(pfad,"besitzer",besitzer);
    return LoadHaus(haus);
    }
    return 0;
    }
    return 1;
    }


    Der ist einfach Copy + Paste da ich den später nochmal umschreiben möchte und das einfach mal Testen möchte.. ;)


    stock LoadHaus(hausid)
    {
    new pfad[50];
    format(pfad,50,"/haus/%d.txt",hausid);
    if(!fexist(pfad))return 0; //überprüft ob die Datei existiert, wenn nicht wird 0 zurückgegeben
    HausInfo[hausid][haus_x] = dini_Float(pfad,"x"); // hier laden wir die Werte
    HausInfo[hausid][haus_y] = dini_Float(pfad,"y");
    HausInfo[hausid][haus_z] = dini_Float(pfad,"z");
    HausInfo[hausid][haus_preis] = dini_Int(pfad,"preis");
    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); //erstellt ein Pickup an den Hauskoordinaten
    return print("Das Haus wurde erfolgreich geladen");
    }


    Das sind die Stocks.
    Welche Error Zeilen brauchste.. die hier:
    E:\Dokumente und Einstellungen\Systemadministrator\Desktop\SAMP\gamemodes\selfmad3.pwn(930) : error 025: function heading differs from prototype
    E:\Dokumente und Einstellungen\Systemadministrator\Desktop\SAMP\gamemodes\selfmad3.pwn(931) : error 021: symbol already defined: "CreateHaus"
    E:\Dokumente und Einstellungen\Systemadministrator\Desktop\SAMP\gamemodes\selfmad3.pwn(931) : error 017: undefined symbol "pfad"
    E:\Dokumente und Einstellungen\Systemadministrator\Desktop\SAMP\gamemodes\selfmad3.pwn(1210) : warning 203: symbol is never used: "HausInnenraum"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Errors.


    Der letzte Error ist unlogisch.
    Mein Script hat nur 1209 Zeilen..

  • Ich bin jetzt zu müde, aber könntest du für mich nochmal die Zeilen markieren? xD


    lg :thumbup:

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht