CNDG
Würden Sie gerne auf diese Nachricht reagieren? Erstellen Sie einen Account in wenigen Klicks oder loggen Sie sich ein, um fortzufahren.


Ein Forum, in dem sich neue Clonk Entwickler untereinander austauschen können.
 
StartseiteStartseite  PortalPortal  SuchenSuchen  Neueste BilderNeueste Bilder  AnmeldenAnmelden  LoginLogin  

 

 Probleme mit if und Variablen

Nach unten 
4 verfasser
AutorNachricht
mOwl
Oberst
Oberst



Anmeldedatum : 07.01.09

Probleme mit if und Variablen Empty
BeitragThema: Probleme mit if und Variablen   Probleme mit if und Variablen EmptyDo Feb 05, 2009 7:04 pm

Folgender script:

Zitat :
func RandomNum(){
var x = [562,81,247,372];
return (x[Random(4)]);
}

protected func InitializePlayer(int iPlr) {
//hier steht bla

//Positionen
var y;
if(RandomNum = 562) y = 329;
if(RandomNum = 81) y = 359;
if(RandomNum = 247) y = 247;
if(RandomNum = 372) y = 67;
ForcePosition(GetHiRank(iPlr),RandomNum(),y);

//hier steht wieder bla
return(1);
}

Soo entweder da ist ein Fehler oder ich habe if und die variablen nicht so ganz verstanden scratch .
Wenn mir das jemand erklären könnte wäre ich sehr dankbar.
Der CNDG-Smiley Rulez

_________________
"hier könnte ihre Werbung stehen anfrage bitte per PM an mOwl"
Nach oben Nach unten
Umezawa
Feldmarschall
Feldmarschall



Männlich Alter : 29
Anmeldedatum : 30.12.08

Probleme mit if und Variablen Empty
BeitragThema: Re: Probleme mit if und Variablen   Probleme mit if und Variablen EmptyFr Feb 06, 2009 12:09 am

Mit Einfachem = hast du eine Zuordnung, nur doppelt (also ==) kannst du es zum Vergleich verwenden.

Und RandomNum in if() brauch auch ein paar schöne Klammern.

Und wenn du es danach wieder aufrufst, kommt eine andere Zahl raus.

Mit zwei Arrays in RandomNum wäre es leichter, einfach referenzen als Parameter angeben, dann kannst du zwei Zahlen rauskriegen.
Nach oben Nach unten
tHE_fREAK
Fähnrich
Fähnrich



Männlich Alter : 30
Anmeldedatum : 25.11.08

Probleme mit if und Variablen Empty
BeitragThema: Re: Probleme mit if und Variablen   Probleme mit if und Variablen EmptyFr Feb 06, 2009 12:51 am

Also müsste das dan so aussehen (oder so ähnlich^^)

Code:
func RandomNum(){
var x = [562,81,247,372];
return (x[Random(4)]);
}

protected func InitializePlayer(int iPlr) {
//hier steht bla

//Positionen
var y, RandNum;

RandNum = RandomNum(); //hier wird einmal eine zufällige Zahl aus dem array auf die Variable gelegt

if(RandNum == 562) y = 329; //und viermal mit == verglichen
if(RandNum == 81) y = 359;
if(RandNum == 247) y = 247;
if(RandNum == 372) y = 67;

ForcePosition(GetHiRank(iPlr),RandNum,y);

//hier steht wieder bla
return(1);
}

Im Endeffekt gibts 4 verschiedene Möglichkeiten, wo der HiRank hinversetzt wird
In deinem Script ist jetzt die y-Koordinate von der x-Koordinate abhängig.

wenn du bei ForcePosition() statt RandNum RandomNum() reinschreibst,
hast du 4² also 16 Möglichkeiten und die Koordinaten wären voneinander unabhängig
weil dann ja zufällig eine aus 4 x-Koordinaten mit einer aus 4 y-Koordinaten zusammengelegt wird
das ließe sich aber anders geschickter und kürzer lösen
(wie Umezawa gessagt hat, mit zwei arrays)
Nach oben Nach unten
mOwl
Oberst
Oberst



Anmeldedatum : 07.01.09

Probleme mit if und Variablen Empty
BeitragThema: Re: Probleme mit if und Variablen   Probleme mit if und Variablen EmptyFr Feb 06, 2009 9:04 am

Es sollen nur 4 Koordinaten sein:562,329;81,359;247,247;372,67 <-- das sind die 4 Startpunkte danke für die Tipps Wink

_________________
"hier könnte ihre Werbung stehen anfrage bitte per PM an mOwl"
Nach oben Nach unten
Liech
Fregattenkapitän
Fregattenkapitän



Männlich Alter : 33
Anmeldedatum : 02.02.09

Probleme mit if und Variablen Empty
BeitragThema: Re: Probleme mit if und Variablen   Probleme mit if und Variablen EmptyFr Feb 06, 2009 10:40 pm

Man kann variable auch mit zurück gegebenen werten speisen, zb so:
Zitat :
y = RandomNum();
Das würde dein script wesentlich verkürzen.
Nach oben Nach unten
mOwl
Oberst
Oberst



Anmeldedatum : 07.01.09

Probleme mit if und Variablen Empty
BeitragThema: Re: Probleme mit if und Variablen   Probleme mit if und Variablen EmptyFr Feb 06, 2009 11:46 pm

Liech schrieb:
Man kann variable auch mit zurück gegebenen werten speisen, zb so:
Zitat :
y = RandomNum();
Das würde dein script wesentlich verkürzen.

der y wert ist aber nicht Gleich dem x Wert sondern (um es normal zu sagen). Wenn X bla ist ist y gleich bla. Diesen Satz habe ich dann einfach mal so frei übersetzt was dann so aussieht:


Zitat :
if(RandNum == 81) y = 359;

und so geht es ja auch zum Schluss Wink
Nach oben Nach unten
Liech
Fregattenkapitän
Fregattenkapitän



Männlich Alter : 33
Anmeldedatum : 02.02.09

Probleme mit if und Variablen Empty
BeitragThema: Re: Probleme mit if und Variablen   Probleme mit if und Variablen EmptySa Feb 07, 2009 12:57 am

Diese Methode ist... sagen wir mal nicht die eleganteste, aber jetzt seh ich deine denkweise ein. Das beste in diesem fall wäre wohl referenzen zu benutzen
Das Hier wäre wohl eine elegantere lösung dafür (Ja mir ist langweilig Wink )
Zitat :

static const rndxlist = [562,81,247,372]; //konstanten sind schneller als variablen. Nur den wert kann man nicht ändern (in dem fall nicht nötig, weswegen konstanten hier toller sind)
static const rndylist = [329,359,247,67];

func RandomNum(&x,&y){//& = referenzen. Wird die referenz (zb x) verändert, ändert sich auch das x mit dem das aufgerufen wird
var rnd = Random(GetLength(rndxlist)); //GetLength gibt die menge an werten zurück die ein array enthält (also 4)
x = rndxlist[rnd];
y = rndylist[rnd];
}

protected func InitializePlayer(int iPlr) {

var x,y;
RandomNum(x,y); //x und y werden in der funktion (aufgrund der referenz) verändert, weswegen sie die zufalls zahlen haben
SetPosition(x,y,GetHiRank(iPlr));//ForcePosition ist veraltet Wink

return(1);
}
Nach oben Nach unten
mOwl
Oberst
Oberst



Anmeldedatum : 07.01.09

Probleme mit if und Variablen Empty
BeitragThema: Re: Probleme mit if und Variablen   Probleme mit if und Variablen EmptySa Feb 07, 2009 9:55 am

Liech dir ist tatsächlich langweilig. OK ich habe jetzt mal beide Lösungen ausprobiert. Beide Funktionen aber ich nehme die erste weil die noch meine Grundidee beinhält (auch wenn sie nicht so elegant ist)


Der CNDG-Smiley ruelz
_________________
"hier könnte ihre Werbung stehen anfrage bitte per PM an mOwl"
Nach oben Nach unten
Gesponserte Inhalte





Probleme mit if und Variablen Empty
BeitragThema: Re: Probleme mit if und Variablen   Probleme mit if und Variablen Empty

Nach oben Nach unten
 
Probleme mit if und Variablen
Nach oben 
Seite 1 von 1
 Ähnliche Themen
-
» Probleme mit #appendto
» eval + variablen = ERROR!?
» While macht Probleme

Befugnisse in diesem ForumSie können in diesem Forum nicht antworten
CNDG :: Sonstiges :: Scripthilfe-
Gehe zu: