Hallo zusammen,
ich habe eine weitere Frage an euch alle: In meinem 2D mmorpg ,wenn man es so nennen kann ;), gibt es jetzt seid neuem einen Begleiter der einem das Game über begleitet selber exp sammeln und aufsteigen kann usw.
Mein Problem ist, dass es gibt wo der Hund sehr rumbuggt. Um nicht elend viel programmieren zu müssen
habe ich mich entschieden eine "Begleiterfreiezone" einzuführen. Die Instance wird dort zerstört und an einer anderen stelle wieder createt. Jetzt müssen natürlich werte wie die aktuellen hp, exp, Level usw von der vorigen Instance übernommen werden.
Meine Lösung: bevor die Instance zerstört wird, werden dessen hp, exp, Level etc. in global.sav variablen gespeichert:
Alles anzeigen
Jetzt zu meinem Problem: ich möchte jetzt, dass beim createn der Instance überprüft wird ob diese die erste Instance (Begleiter) ist und damit alle werte bei null anfangen oder ob schon vorher ein Begleiter existierte und dessen Werte damit übernommen werden sollen.
So sieht mein Create Event aus:
Alles anzeigen
Leider kommt dann folgender Error (siehe Bild)
Was kann man da tun?
ich habe eine weitere Frage an euch alle: In meinem 2D mmorpg ,wenn man es so nennen kann ;), gibt es jetzt seid neuem einen Begleiter der einem das Game über begleitet selber exp sammeln und aufsteigen kann usw.
Mein Problem ist, dass es gibt wo der Hund sehr rumbuggt. Um nicht elend viel programmieren zu müssen

Meine Lösung: bevor die Instance zerstört wird, werden dessen hp, exp, Level etc. in global.sav variablen gespeichert:
GML-Quellcode
- if(image_alpha==0)
- {
- global.sav_show = show
- global.sav_r_hund_p1=global.r_hund_p1
- global.sav_Level_hund_p1 = global.Level_hund_p1
- global.sav_Level_ad_p1 = global.ad_hund_p1
- global.sav_hp_hund_p1 = hp
- global.sav_hp_max_hund_p1 = hp_max
- global.sav_ep_hund_p1 = global.ep_hund_p1
- global.sav_ep_max_hund_p1= ep_max
- instance_destroy();
- }
Jetzt zu meinem Problem: ich möchte jetzt, dass beim createn der Instance überprüft wird ob diese die erste Instance (Begleiter) ist und damit alle werte bei null anfangen oder ob schon vorher ein Begleiter existierte und dessen Werte damit übernommen werden sollen.
So sieht mein Create Event aus:
GML-Quellcode
- global.ersterhund += 1
- if global.ersterhund > 2
- {
- global.ersterhund= 2
- }
- if (global.ersterhund == 1)
- {
- show=true
- hund1= false
- image_speed= 0.08
- global.ad_hund_p1 = 200 // Schaden
- global.r_hund_p1= 0 // Rüstung
- // Fähigkeitsstärke
- image_alpha=1
- global.hund=1
- global.Level_hund_p1=8
- { // Lebenseinstellungen
- bronze = 0
- silber = 0
- // Erstelle eine Variable, "hp"
- // Diese Variable gibt die HP des Gegners an
- hp = 200;
- // hp_max gibt die Maximale HP der Einheit an,
- // dies ist f�r die Prozentuale Rechnung wichtig!
- hp_max = 200;
- // "size" stellt die Gr��e der Healthbar dar
- // Ich habe die "size" auf "sprite_get_width" gestellt,
- // was die Breite des Sprites wieder gibt, und somit genau da endet,
- // wo das Sprite endet!
- // Durch "sprite_index" als Variable, brauch man hier nichts mehr machen
- // egal welchen Sprite man bentutz!
- size = sprite_get_width(sprite_index);
- }
- {
- // Erstelle eine Variable, "hp"
- // Diese Variable gibt die HP des Gegners an
- global.ep_hund_p1 = 0;
- // hp_max gibt die Maximale HP der Einheit an,
- // dies ist f�r die Prozentuale Rechnung wichtig!
- ep_max = 100;
- // "size" stellt die Gr��e der Healthbar dar
- // Ich habe die "size" auf "sprite_get_width" gestellt,
- // was die Breite des Sprites wieder gibt, und somit genau da endet,
- // wo das Sprite endet!
- // Durch "sprite_index" als Variable, brauch man hier nichts mehr machen
- // egal welchen Sprite man bentutz!
- size = 200;
- }
- }
- else
- {
- show=global.sav_show
- hund1= false
- image_speed= 0.08
- global.ad_hund_p1 = global.sav_ad_hund_p1 // Schaden
- global.r_hund_p1= global.sav_r_hund_p1 // Rüstung
- // Fähigkeitsstärke
- image_alpha=1
- global.hund=1
- global.Level_hund_p1=global.sav_Level_hund_p1
- { // Lebenseinstellungen
- bronze = 0
- silber = 0
- // Erstelle eine Variable, "hp"
- // Diese Variable gibt die HP des Gegners an
- hp = global.sav_hp_hund_p1;
- // hp_max gibt die Maximale HP der Einheit an,
- // dies ist f�r die Prozentuale Rechnung wichtig!
- hp_max = global.sav_hp_max_hund_p1;
- // "size" stellt die Gr��e der Healthbar dar
- // Ich habe die "size" auf "sprite_get_width" gestellt,
- // was die Breite des Sprites wieder gibt, und somit genau da endet,
- // wo das Sprite endet!
- // Durch "sprite_index" als Variable, brauch man hier nichts mehr machen
- // egal welchen Sprite man bentutz!
- size = sprite_get_width(sprite_index);
- }
- {
- // Erstelle eine Variable, "hp"
- // Diese Variable gibt die HP des Gegners an
- global.ep_hund_p1 = global.sav_ep_hund_p1;
- // hp_max gibt die Maximale HP der Einheit an,
- // dies ist f�r die Prozentuale Rechnung wichtig!
- ep_max = global.sav_ep_max_hund_p1;
- // "size" stellt die Gr��e der Healthbar dar
- // Ich habe die "size" auf "sprite_get_width" gestellt,
- // was die Breite des Sprites wieder gibt, und somit genau da endet,
- // wo das Sprite endet!
- // Durch "sprite_index" als Variable, brauch man hier nichts mehr machen
- // egal welchen Sprite man bentutz!
- size = 200;
- }
- }
Leider kommt dann folgender Error (siehe Bild)
Was kann man da tun?