heyho arbeite gerade an einem script das meinen gegnern zufällige eigenschaften zuweist
Spoiler anzeigen
Alles anzeigen
zur erklärung:
ich definiere verschiedene eigenschaften: -Typ des gegners
-Leben
-rüsturng
-grafik
-speed
-anzahl creeps pro welle
ich brauch das für meine tower defence um variable gegnerwellen zu schaffen
wenn ich die 4 werte habe möcht ich sie in meine ini speichern
und genau da liegt mein problem, ich hab damit noch nicht viele erfahrungen gemacht und ich bekomme immer nur 0 werte, außer bei denen die ich zur zeit noch fest vorgebe (typ und grafik)
ini aus der ich die werte auslese
das ergebnis der ini
ich weiß das ich mir hier einiges sparen kann aber ich will erst mal probieren.
weiß jemand warum ich zu keinen ergebnissen komme
noch ein paar fragen die sich jetzt ergeben haben :
was ist der unterscheid zwischen ' und " ?
gibt random(x) kommastellen aus ?
wie schreib ich kommazahlen in einer ini mit . oder , ?
mache ich mit round(x) ganze zahlen? also auf welche stelle rundet die funktion?
tut mir leid wenns so viel ist aber ich glaube mein fehler liegt irgendwo in meinen fragen^^
danke schon mal im vorraus
GML-Quellcode
- if count = 0
- {
- //gegnerleben -----------------------------------------------
- zahl = round(random(11));
- ini_open("enemy.ini")
- if zahl <= 2
- {
- geg_life = ini_read_real("life","tank",0)
- geg_anzahl -= 3
- geg_speed = geg_speed/1.5
- }
- if zahl <= 3 && zahl >= 8
- {
- geg_life = ini_read_real("life","normal",0)
- geg_anzahl +=0
- geg_speed = geg_speed
- }
- if zahl >= 9
- {
- geg_life = ini_read_real("life","light",0)
- geg_anzahl += 5
- geg_speed = geg_speed*1.5
- }
- leben = round(leben*geg_life*(stufe*0.5))
- //---------------------------------------------------------------
- //Armor----------------------------------------------------------
- zahl = round(random(11));
- if zahl <= 5
- {
- geg_armor = ini_read_real("armor","normal",0)
- geg_anzahl += 2
- }
- if zahl <= 6 && zahl >= 7
- {
- geg_armor = ini_read_real("armor","ressist",0)
- geg_anzahl -= 2
- }
- if zahl = 8
- {
- geg_armor = ini_read_real("armor","phyressist",0)
- geg_anzahl -= 5
- }
- if zahl >= 9
- {
- geg_armor = ini_read_real("armor","leicht",0)
- geg_anzahl += 3
- }
- //----------------------------------------------------------------
- //Grafik----------------------------------------------------------
- zahl = round(random(2))
- if zahl = 1 geg_grafik = 'sp_mondwagen'
- ini_close()
- //----------------------------------------------------------------
- //Ergebnisse auswerten in enemylist-------------------------------
- ini_open("enemylist.ini")
- ini_write_real(string(stufe),"typ",1) //typ
- ini_write_real(string(stufe),"leben",string(leben)) //leben
- ini_write_real(string(stufe),"armor",string(geg_armor)) //rüstung
- ini_write_string(string(stufe),"grafik",string(geg_grafik))//grafik
- ini_write_real(string(stufe),"anzahl",string(geg_anzahl)) //anzahl
- ini_write_real(string(stufe),"speed",string(geg_speed)) //speed
- ini_close()
- count = 1
- }
zur erklärung:
ich definiere verschiedene eigenschaften: -Typ des gegners
-Leben
-rüsturng
-grafik
-speed
-anzahl creeps pro welle
ich brauch das für meine tower defence um variable gegnerwellen zu schaffen
wenn ich die 4 werte habe möcht ich sie in meine ini speichern
und genau da liegt mein problem, ich hab damit noch nicht viele erfahrungen gemacht und ich bekomme immer nur 0 werte, außer bei denen die ich zur zeit noch fest vorgebe (typ und grafik)
ini aus der ich die werte auslese
das ergebnis der ini
ich weiß das ich mir hier einiges sparen kann aber ich will erst mal probieren.
weiß jemand warum ich zu keinen ergebnissen komme
noch ein paar fragen die sich jetzt ergeben haben :
was ist der unterscheid zwischen ' und " ?
gibt random(x) kommastellen aus ?
wie schreib ich kommazahlen in einer ini mit . oder , ?
mache ich mit round(x) ganze zahlen? also auf welche stelle rundet die funktion?
tut mir leid wenns so viel ist aber ich glaube mein fehler liegt irgendwo in meinen fragen^^
danke schon mal im vorraus