Gamestudio Links
Zorro Links
Newest Posts
Change chart colours
by 7th_zorro. 05/11/24 09:25
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
2 registered members (dr_panther, 1 invisible), 620 guests, and 2 spiders.
Key: Admin, Global Mod, Mod
Newest Members
Hanky27, firatv, wandaluciaia, Mega_Rod, EternallyCurious
19051 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
eval() function ? #225275
09/03/08 19:46
09/03/08 19:46
Joined: Sep 2006
Posts: 36
Ger
F
Fussfoehn Offline OP
Newbie
Fussfoehn  Offline OP
Newbie
F

Joined: Sep 2006
Posts: 36
Ger
hi Leute,

Für mein Studium hab ich vor einiger Zeit angefangen mit Adobe Flash zu arbeiten. Glücklicherweise ist der darin verwendete Actionscript dem C-Script sehr ähnlich, was mir noch heute rießen Vorteile bringt.
Als ich jetzt vor kurzem wieder mein 3dgs Projekt aufgenommen habe, stellte ich fest dass ich vorher nie eine Funktion wie die eval() funktion von flash benutzt habe.

Gibt es für C-skript auch solch eine Funktion oder einen weg seinen Skript wie mit der Funktion zu vereinfachen?

Die eval() funktion macht z.B. folgendes


var variable123 = 100;
var andere_variable = 123;
...
temp = eval("variable"+andere_variable);//temp wär jetzt 100


das system prüft also was in den Klammern steht und führt die funktion aus


oder auch folgendes wäre möglich



entity* player3;

action playeraction
{
player3 = me;
}

temp = 3;
eval("player"+temp).x += 100;

// player3 wird jetzt 100 quants bewegt


die funktion kann viele funktionen unheimlich stark vereinfachen und übersichtlicher machen. Ich hoffe es gibt eine ähnliche funktion und wenn nicht würd ich das sehr vermissen.

mfg

Re: eval() function ? [Re: Fussfoehn] #225288
09/03/08 20:35
09/03/08 20:35
Joined: Jul 2008
Posts: 894
T
TechMuc Offline
User
TechMuc  Offline
User
T

Joined: Jul 2008
Posts: 894
in WDL:

var get_var=0;
var juhu=4;
function bla()
{
execute("get_var = juhu+5;");
//get_var = 9
}

in Lite-C

var* get_var=0;
var juhu = 4;

void bla()
{
get_var = var_for_name("juhu");
*get_var += 4; // = 8
}

möglich ist auch:

LITE-C: var_for_name("juhu = 20"); //ohne semikolon

in WDL: execute("juhu = juhu+25;"); //mit semikolon

ACHTUNG: Beide Befehle arbeiten langsam!!! Habe das früher mal nachgemessen. Eine einfache Anweisung wie execute("temp=1;"); ist 100 (!!!) mal langsamer als einfach nur temp=1; im code.

Daher NICHT exzessiv nutzen sondern auf Lite-C/WDL Variablen Pointer zurückgreifen.

Re: eval() function ? [Re: TechMuc] #225486
09/04/08 19:50
09/04/08 19:50
Joined: Sep 2006
Posts: 36
Ger
F
Fussfoehn Offline OP
Newbie
Fussfoehn  Offline OP
Newbie
F

Joined: Sep 2006
Posts: 36
Ger
dankö

Re: eval() function ? [Re: Fussfoehn] #225797
09/06/08 00:02
09/06/08 00:02
Joined: Sep 2006
Posts: 36
Ger
F
Fussfoehn Offline OP
Newbie
Fussfoehn  Offline OP
Newbie
F

Joined: Sep 2006
Posts: 36
Ger
mh irgendwie erreich ich damit aber nich das was ich will..

also ich hab zum beispiel folgenden befehl:

temp_ketten_links = ent_create(tank2_ketten_links,my.x,panzer2_ketten);

jetzt will ich zb. bei tank2_ketten_links oder bei der action panzer2_ketten die zahl 2 abhöngig vonner variable machen also so:
temp_ketten_links = ent_create(tank"PLAYERNR"_ketten_links,my.x,panzer"PLAYERNR"_ketten);

nur das das halt nicht so einfach geht^^

mit actionscript würde das so ausschauen:
temp_ketten_links = ent_create(eval("tank"+PLAYERNR+"_ketten_links"),my.x,eval("panzer"+PLAYERNR+"_ketten"));



Last edited by Fussfoehn; 09/06/08 00:05.

Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1