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!
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!
5 sec die Suchfunktion benutzt [ SCRIPTING ] Simples Haussystem
Hab da gelesen "kein interrior"?
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
Ja, sowas kann ich bestimmt nicht.. Egal Scripte das jetzt erstmal nach ;-).
Wo muss das hin ins Script:
printf("HausInfo[1][haus_besitzer]);
/e Hilfe
wenn du dann unten angekommen bist siehste auch wie man interiors hinzufügt dafür hat der Threadersteller extra nen 2. Part gemacht (ist unten im Tutorial verlinkt)
Okay, kann mir jemand Helfen.. (Problem im oberen Beitrag beschrieben)
das brauchst du nichtmal
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 -.-#
dir fehlt das enum haus_info
Kannst du mir das genauer Erklären?
Was muss ich machne?
Beschreibt er doch genau?
ZitatAlles anzeigen
Anstatt für jeden Wert den wir speichern/laden wollen eine eigene Variable zu erstellen verwenden wir eine Enum-Struktur.
Diese kann z.B. so aussehen:
enum haus_info
{
Float:haus_x,
Float:haus_y,
Float:haus_z,
haus_besitzer[32],
haus_preis
}
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
nichtmals damit gibt man aus wem das haus (HausID) gehört
Das mein ich auch nicht. Guck dir das Tutorial komplett an und du weißt was ich meine.
lg
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)
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
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
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