Thema: Alle Burgteile mit RandomX füllen Fr Jun 27, 2008 10:50 pm
Hallo, nun habe ich ein kleines Problemchen, denn ich wollte eine Funktion basteln, die alle Lagern und Kammern mit zufälligen Objekten gefüllt werden. Dazu hatte ich nen tollen Array gemacht. Zusammen sieht das so aus:
func Iniatialize() { //Array für Objekte var a = [GUNP, FLNT, SFLN, EFLN, TFLN, ARRP, FARP, XARP, SPER, SWOR, AXE1,]; //Items in der Burg verstecken CreateContents(a[Random(GetLength(a))], FindObject(CPR2), RandomX(4, 14)); CreateContents(a[Random(GetLength(a))], FindObject(CPR1), RandomX(4, 14)); return(1); }
Nun die erfahrenen Scripter wissen, dass die Funktion FindObject() nur ein Etwas sucht. Also wie bekomme ichs nun hin, dass alle Lagern und Kammern mit zufälligen Objekten gefüllt werden? Außerdem sollten 4-14 verschieden Objecte in alle Kammern/Lagern gepackt werden
Biber Fähnrich
Anmeldedatum : 28.06.08
Thema: Re: Alle Burgteile mit RandomX füllen Sa Jun 28, 2008 9:01 pm
Also ich würde sagen statt FindObject(CPR2), FindObjects(Find_ID(CPR2))
Hoffe es klappt
Enrique Generalleutnant
Ort : Oelde, NRW Anmeldedatum : 20.05.08
Thema: Re: Alle Burgteile mit RandomX füllen Sa Jun 28, 2008 9:30 pm
schade dadurch gibts nen Error :C
Biber Fähnrich
Anmeldedatum : 28.06.08
Thema: Re: Alle Burgteile mit RandomX füllen Sa Jun 28, 2008 9:42 pm
Mist, geht doch nich, naja dann musst dus wohl mit for machen, also etwa so:
for( var pBehältnisse in FindObjects(Find_ID)) CreateContents(a[Random(GetLength(a))], pBehältnisse, RandomX(4, 14));
Enrique Generalleutnant
Ort : Oelde, NRW Anmeldedatum : 20.05.08
Thema: Re: Alle Burgteile mit RandomX füllen So Jun 29, 2008 11:39 am
Ich habs nen Bissl anders gemacht, aber komischerweise werden die Räume nicht gefüllt...
// Burg füllen for (var i=RandomX(7-13); i > 0; i--) CreateContents(a[Random(GetLength(a))], FindObject(CPR1), Random(4)); CreateContents(a[Random(GetLength(a))], FindObject(CPR2), Random(4));
Biber Fähnrich
Anmeldedatum : 28.06.08
Thema: Re: Alle Burgteile mit RandomX füllen So Jun 29, 2008 11:51 am
Hmm, ich glaub das muss RandomX(7, 13) heißen.
Mit RandomX(7-13) substrahierst du die beiden werte und es würde dann RandomX(-6) rauskommen, was keinen Sinn macht.
Enrique Generalleutnant
Ort : Oelde, NRW Anmeldedatum : 20.05.08
Thema: Re: Alle Burgteile mit RandomX füllen So Jun 29, 2008 11:57 am
Ach sh!t ich habe nen Tippfehler in den Script gemacht und es nichtmal gemerkt Kopf->Hau Wand
E: Jetzt funzt es und verschiedene sachen werden in die Kammer gesteckt. Nun habe ich den Script nochmal gemacht, und die Funktion findet wieder die gleiche Kammer un steckt da die Items rein sodass dort alles gesammelt wird. gibt es eine Möglichkeit dass FindObjects ne leere KAmmer findet um dort die Items reinzupacken
Mozart Kanzler
Alter : 31 Ort : Vaihingen/Enz Anmeldedatum : 24.02.08
Thema: Re: Alle Burgteile mit RandomX füllen So Jun 29, 2008 4:35 pm
if(FindContents(0,FindObject("ID einer Kammer"))... würd ich zumindest mal sagen das des funtzen müsste. an das 1. Parameter von FindContents muss eine ID, wenn man da 0 schribt bedeutet das dann "kein Objekt", oder`?
kevda Feldmarschall
Anmeldedatum : 08.05.08
Thema: Re: Alle Burgteile mit RandomX füllen So Jun 29, 2008 7:06 pm
var obj; while (obj = FindObject (id idDef, 0, 0, 0, 0, 0, 0, 0, 0, obj) ) -- hier dein füllscript, wobei alles in das objekt obj gelegt werden muss
Sollte wohl die einfachste Methode sein, aber jedem seinen lösungsansatz.
Simsi Staatssekretär
Alter : 31 Ort : Vaihingen/Enz Anmeldedatum : 30.03.08
Thema: Re: Alle Burgteile mit RandomX füllen So Jun 29, 2008 7:07 pm