truppengeben an random-player, so richtig?

  • Hi....
    nachdem ich nun hier so einige fragen gestellt habe, brauche ich jetzt jdm, der viel ahnung davon hat und mir sagen kann, ob es so funktionert :)
    (ich hatte nie informatik und erstelle auch zum ersten mal scripts --->
    wahrscheinlichkeit, dass fehler enthalten sind ca. 103% ~.~)


    ich beschreibe erstmal am besten, wie es funktionieren (soll) ^^"


    am tag 75 (4.monat 1. tag) stehen die haupthelden von spieler 2 und 4 vor ihren hauptstädten [d.h. sie sind auf dem feld, wo sie im kampffall in der stadt kämpfen, aber noch auf der karte zu sehen sind] mit nur ner nicht entwickelten lvl 1 einheit und sollen die ganzen scripte abkriegen ;)
    [folgend gehe ich nur noch auf spieler 4 ein, da das ganze ja für spieler 2 analog wäre]


    am anfang steht die new-day-funktion und es wird sein [player 4] goldvorkommen bestimmt und dann 150.000 gold abgezogen.
    mittels der "regions-funktion" ist das feld auf dem der hauptheld steht, als region "rein" bezeichnet.
    dann fragt die "ziel-trigger-funktion" den heldnamen ab.
    mittels "if hero get" und "else" wird durchgesucht, bis man die passende lvl1-einheit gefunden hat und gibt dann die entsprechenden verstärkungstruppen an diesen helden.
    am schluss stehen noch
    region-enter-trigger
    und new-day-trigger ----------> fertig?


    Res = 0;


    function NewDay()
    if GetDate(DAY) == 75 then
    if GetPlayerResource(PLAYER_2, GOLD) >=150000 then
    Res = GetPlayerResource( PLAYER_1, GOLD )-150000;
    sleep(2);
    SetPlayerResource( PLAYER_2, GOLD, Res);


    function Ziel(heroname)
    if GetHeroCreatures(heroname, CREATURE_PEASANT) >=1 then
    AddHeroCreatures( heroname, CREATURE_PEASANT, 440 );
    AddHeroCreatures( heroname, CREATURE_ARCHER, 240 );
    AddHeroCreatures( heroname, CREATURE_SWORDSMAN, 200 );
    AddHeroCreatures( heroname, CREATURE_GRIFFIN, 100 );
    AddHeroCreatures( heroname, CREATURE_PRIEST, 60 );
    AddHeroCreatures( heroname, CREATURE_CAVALIER, 40 );
    AddHeroCreatures( heroname, CREATURE_ANGEL, 20 );
    else
    if GetHeroCreatures(heroname, CREATURE_GREMLIN) >=1 then
    AddHeroCreatures( heroname, CREATURE_GREMLIN, 400 );
    AddHeroCreatures( heroname, CREATURE_STONE_GARGOYLE, 280 );
    AddHeroCreatures( heroname, CREATURE_IRON_GOLEM, 180 );
    AddHeroCreatures( heroname, CREATURE_MAGE, 100 );
    AddHeroCreatures( heroname, CREATURE_GENIE, 60 );
    AddHeroCreatures( heroname, CREATURE_RAKSHASA, 40 );
    AddHeroCreatures( heroname, CREATURE_GIANT, 20 );
    else
    if GetHeroCreatures(heroname, CREATURE_PIXIE) >=1 then
    AddHeroCreatures( heroname, CREATURE_PIXIE, 200 );
    AddHeroCreatures( heroname, CREATURE_BLADE_JUGGLER, 180 );
    AddHeroCreatures( heroname, CREATURE_WOOD_ELF, 140 );
    AddHeroCreatures( heroname, CREATURE_DRUID, 100 );
    AddHeroCreatures( heroname, CREATURE_UNICORN, 60 );
    AddHeroCreatures( heroname, CREATURE_TREANT, 50 );
    AddHeroCreatures( heroname, CREATURE_GREEN_DRAGON, 20 );
    else
    if GetHeroCreatures(heroname, CREATURE_DEFENDER) >=1 then
    AddHeroCreatures( heroname, CREATURE_DEFENDER, 360 );
    AddHeroCreatures( heroname, CREATURE_AXE_FIGHTER, 240 );
    AddHeroCreatures( heroname, CREATURE_BEAR_RIDER, 140 );
    AddHeroCreatures( heroname, CREATURE_BROWLER, 120 );
    AddHeroCreatures( heroname, CREATURE_RUNE_MAGE, 60 );
    AddHeroCreatures( heroname, CREATURE_THANE, 40 );
    AddHeroCreatures( heroname, CREATURE_FIRE_DRAGON, 20 );
    else
    if GetHeroCreatures(heroname, CREATURE_SCOUT) >=1 then
    AddHeroCreatures( heroname, CREATURE_SCOUT, 140 );
    AddHeroCreatures( heroname, CREATURE_WITCH, 100 );
    AddHeroCreatures( heroname, CREATURE_MINOTAUR, 120 );
    AddHeroCreatures( heroname, CREATURE_RIDER, 80 );
    AddHeroCreatures( heroname, CREATURE_HYDRA, 60 );
    AddHeroCreatures( heroname, CREATURE_MATRON, 40 );
    AddHeroCreatures( heroname, CREATURE_DEEP_DRAGON, 20 );
    else
    if GetHeroCreatures(heroname, CREATURE_FAMILIAR) >=1 then
    AddHeroCreatures( heroname, CREATURE_FAMILIAR, 320 );
    AddHeroCreatures( heroname, CREATURE_DEMON, 300 );
    AddHeroCreatures( heroname, CREATURE_HELL_HOUND, 160 );
    AddHeroCreatures( heroname, CREATURE_SUCCUBUS, 100 );
    AddHeroCreatures( heroname, CREATURE_NIGHTMARE, 60 );
    AddHeroCreatures( heroname, CREATURE_PIT_FIEND, 40 );
    AddHeroCreatures( heroname, CREATURE_DEVIL, 20 );
    else
    if GetHeroCreatures(heroname, CREATURE_SKELETON) >=1 then
    AddHeroCreatures( heroname, CREATURE_SKELETON, 400 );
    AddHeroCreatures( heroname, CREATURE_WALKING_DEAD, 300 );
    AddHeroCreatures( heroname, CREATURE_MANES, 180 );
    AddHeroCreatures( heroname, CREATURE_VAMPIRE, 100 );
    AddHeroCreatures( heroname, CREATURE_LICH, 60 );
    AddHeroCreatures( heroname, CREATURE_WIGHT, 40 );
    AddHeroCreatures( heroname, CREATURE_BONE_DRAGON, 30 );
    else
    if GetHeroCreatures(heroname, CREATURE_GOBLIN) >=1 then
    AddHeroCreatures( heroname, CREATURE_GOBLIN, 440 );
    AddHeroCreatures( heroname, CREATURE_CENTAUR, 240 );
    AddHeroCreatures( heroname, CREATURE_ORC_WARRIOR, 200 );
    AddHeroCreatures( heroname, CREATURE_SHAMAN, 100 );
    AddHeroCreatures( heroname, CREATURE_ORCCHIEF_BUTCHER, 60 );
    AddHeroCreatures( heroname, CREATURE_WYVERN, 40 );
    AddHeroCreatures( heroname, CREATURE_CYCLOP, 20 );
    end;
    end;
    end;
    Trigger( REGION_ENTER_AND_STOP_TRIGGER, "rein", nil );
    end;
    end;
    Trigger( REGION_ENTER_AND_STOP_TRIGGER, "rein", "Ziel" );


    Trigger( NEW_DAY_TRIGGER, NewDay );






    sollte das so überhaupt nicht gehen, hätte ich noch die idee, dass man
    statt der ziel funktion die "herotyp"-funktion benutzt, um die helden kenntlich zu machn, d.h. nach völkern hätte man dann herotyp 1 bis 8.
    man würde dann die ziel-funktion komplett wegfallen lassen und statt "ifgethero" verwendet man dann: if heroname == herotyp 1
    - theoretisch ^^""


    ich hoffe es ist nicht zu verwirrend - nicht zu (viel) falsch und jdm hat genug lust das alles bis hierher zu lesen ^^


    thx in adv.

  • mal abgesehen, daß wohl bei den Texten ein paar end fehlen, verstehe ich die Logik hierbei nicht;


    so, wie es im Augenblick ist, kriegen die Helden ihre Einheiten, wenn sie auf dem richtigen Feld sind (also irgendwann)
    und sie kriegen Tag 75 150000 Gold abgezogen - egal wo sie stehen, egal ob sie ihre Einheiten bekommen haben, egal, ob sie überhaupt das Geld haben...
    sie sollen zu diesem Zeipunkt genau eine Level-1-Einheit haben, aber theoretisch einen Haufen Gold - 1. warum haben sie nicht mehr Einheiten (wenn sie mehr Einheiten hätten, könnten die Level-1-er rausgeschmissen sein, und das eine Script funktioniert nicht mehr) - können die nirgendwo was kaufen? 2. Wieso haben die so viel Gold? 3. Wenn sie sowieso nichts kaufen konnten für ihr Gold - warum willst du das denen überhaupt abziehen? 4. Was machen die die ganze Zeit von Tag 1 bis Tag 75 - mit einer einzigen Level-1-Einheit in der Armee?
    Ist irgendwie noch nicht so richtig durchdacht, oder?

    lest Terry Pratchett(RIP) ... und Stephen King, John Katzenbach, Hohlbein, Frank Schätzing, Anne Rice, Andrzej Sapkowski, Anne Bishop, Bernhard Hennen, George R.R. Martin, Markus Heitz, ... (wurde ja langsam Zeit, dass was dazu kommt)

  • Zitat

    Original von Andrean


    so, wie es im Augenblick ist, kriegen die Helden ihre Einheiten, wenn sie auf dem richtigen Feld sind (also irgendwann)


    ---> wie kann ich das ändern?
    zu den hauptproblemen dabei zählt ja (imo), dass das volk random ist
    --> ich muss den trigger "new day" mit etwas verbinden, was diesen random hero und das volk bestimmt


    Zitat

    Original von Andrean


    und sie kriegen Tag 75 150000 Gold abgezogen - egal wo sie stehen, egal ob sie ihre Einheiten bekommen haben, egal, ob sie überhaupt das Geld haben...


    --> der goldabzug ist als bedingung gedacht, aber ich bin mir nicht sicher, ob es richtig programmiert ist --> daher habe ich ja um korrekturen gebetren ^^


    Zitat

    Original von Andrean


    sie sollen zu diesem Zeipunkt genau eine Level-1-Einheit haben, aber theoretisch einen Haufen Gold - 1. warum haben sie nicht mehr Einheiten (wenn sie mehr Einheiten hätten, könnten die Level-1-er rausgeschmissen sein, und das eine Script funktioniert nicht mehr) - können die nirgendwo was kaufen? 2. Wieso haben die so viel Gold? 3. Wenn sie sowieso nichts kaufen konnten für ihr Gold - warum willst du das denen überhaupt abziehen? 4. Was machen die die ganze Zeit von Tag 1 bis Tag 75 - mit einer einzigen Level-1-Einheit in der Armee?
    Ist irgendwie noch nicht so richtig durchdacht, oder?


    --> das skript ist so geschr, dasss abhängig von dieser lvl 1 einheit die bonus-truppen gegeben werden. (als ersatz für das erkennen des random - volkes.) der player erhält auf der map die anweisungen dazu und hat die zeit über genug zu tun - keine sorge ^^


    --------------------
    mir ist gerade noch was dazu eingefallen:
    ich werde einfach einen festen helden vorgeben, der diese aktion ausführen soll --> das spart mir das random hero problem
    ich werde das script kurz verändern und es dann in nem extra post posten, da das hier sonst zu lang wird.
    ich bitte dann (ggf.) um korekturen, v.a. hinsichtlich
    end`s, leerzeilen, dem festsetzen des geldabzugs als bedingung (wenn < 150.000 gold, dann abbruch)



    thx 4 the fast answer ^^

  • wenn du für das selbe geänderte Problem nen Neuen Post aufmachst anstatt weiter deinen schon bestehenden Thread zu benutzen wirst du gesteinigt, 2 Posts für das selbe Problem bringt dich dem Forumbann nen schnellen Schritt naeher.

    Die Sense gehört zwar nicht zu den wichtigsten und bedeutsamsten Kriegswaffen, aber wer sich auf der falschen Seite einer Bauernrevolte befindet macht rasch die Erfahrung daß sie in geübten Händen eine Menge Unheil anrichten kann.

  • Zitat

    Original von Novarius
    wenn du für das selbe geänderte Problem nen Neuen Post aufmachst


    ummm.... neuen post heißt egtl. nur eine "antwort" posten....
    [ich wollte die letzte antwort nur nicht noch 2 - 3 mal so lang werden lassen]
    dass extra - threads sehrrrr unbeliebt sind, weiss ich :)
    ______________________________
    ich hab das script auf einen festen helden geändert....
    knackpunkte bleiben (---> bitte ggf. korrigiern)
    - goldabzug als bedingung
    - kombintation der zwei trigger
    - leerzeilen, end´s, zeichenfehler, .....


    so: hier kommts ^^
    ________________________________________



    Res = 0;


    function NewDay()
    if GetDate(DAY) == 75 then
    if GetPlayerResource(PLAYER_2, GOLD) >=150000 then
    Res = GetPlayerResource( PLAYER_1, GOLD )-150000;
    sleep(2);
    SetPlayerResource( PLAYER_2, GOLD, Res);
    if GetHeroCreatures(Metlirn, CREATURE_PEASANT) >=1 then
    AddHeroCreatures( Metlirn, CREATURE_PEASANT, 440 );
    AddHeroCreatures( Metlirn, CREATURE_ARCHER, 240 );
    AddHeroCreatures( Metlirn, CREATURE_SWORDSMAN, 200 );
    AddHeroCreatures( Metlirn, CREATURE_GRIFFIN, 100 );
    AddHeroCreatures( Metlirn, CREATURE_PRIEST, 60 );
    AddHeroCreatures( Metlirn, CREATURE_CAVALIER, 40 );
    AddHeroCreatures( Metlirn, CREATURE_ANGEL, 20 );
    else
    if GetHeroCreatures(Metlirn, CREATURE_GREMLIN) >=1 then
    AddHeroCreatures( Metlirn, CREATURE_GREMLIN, 400 );
    AddHeroCreatures( Metlirn, CREATURE_STONE_GARGOYLE, 280 );
    AddHeroCreatures( Metlirn, CREATURE_IRON_GOLEM, 180 );
    AddHeroCreatures( Metlirn, CREATURE_MAGE, 100 );
    AddHeroCreatures( Metlirn, CREATURE_GENIE, 60 );
    AddHeroCreatures( Metlirn, CREATURE_RAKSHASA, 40 );
    AddHeroCreatures( Metlirn, CREATURE_GIANT, 20 );
    else
    if GetHeroCreatures(Metlirn, CREATURE_PIXIE) >=1 then
    AddHeroCreatures( Metlirn, CREATURE_PIXIE, 200 );
    AddHeroCreatures( Metlirn, CREATURE_BLADE_JUGGLER, 180 );
    AddHeroCreatures( Metlirn, CREATURE_WOOD_ELF, 140 );
    AddHeroCreatures( Metlirn, CREATURE_DRUID, 100 );
    AddHeroCreatures( Metlirn, CREATURE_UNICORN, 60 );
    AddHeroCreatures( Metlirn, CREATURE_TREANT, 50 );
    AddHeroCreatures( Metlirn, CREATURE_GREEN_DRAGON, 20 );
    else
    if GetHeroCreatures(Metlirn, CREATURE_DEFENDER) >=1 then
    AddHeroCreatures( Metlirn, CREATURE_DEFENDER, 360 );
    AddHeroCreatures( Metlirn, CREATURE_AXE_FIGHTER, 240 );
    AddHeroCreatures( Metlirn, CREATURE_BEAR_RIDER, 140 );
    AddHeroCreatures( Metlirn, CREATURE_BROWLER, 120 );
    AddHeroCreatures( Metlirn, CREATURE_RUNE_MAGE, 60 );
    AddHeroCreatures( Metlirn, CREATURE_THANE, 40 );
    AddHeroCreatures( Metlirn, CREATURE_FIRE_DRAGON, 20 );
    else
    if GetHeroCreatures(Metlirn, CREATURE_SCOUT) >=1 then
    AddHeroCreatures( Metlirn, CREATURE_SCOUT, 140 );
    AddHeroCreatures( Metlirn, CREATURE_WITCH, 100 );
    AddHeroCreatures( Metlirn, CREATURE_MINOTAUR, 120 );
    AddHeroCreatures( Metlirn, CREATURE_RIDER, 80 );
    AddHeroCreatures( Metlirn, CREATURE_HYDRA, 60 );
    AddHeroCreatures( Metlirn, CREATURE_MATRON, 40 );
    AddHeroCreatures( Metlirn, CREATURE_DEEP_DRAGON, 20 );
    else
    if GetHeroCreatures(Metlirn, CREATURE_FAMILIAR) >=1 then
    AddHeroCreatures( Metlirn, CREATURE_FAMILIAR, 320 );
    AddHeroCreatures( Metlirn, CREATURE_DEMON, 300 );
    AddHeroCreatures( Metlirn, CREATURE_HELL_HOUND, 160 );
    AddHeroCreatures( Metlirn, CREATURE_SUCCUBUS, 100 );
    AddHeroCreatures( Metlirn, CREATURE_NIGHTMARE, 60 );
    AddHeroCreatures( Metlirn, CREATURE_PIT_FIEND, 40 );
    AddHeroCreatures( Metlirn, CREATURE_DEVIL, 20 );
    else
    if GetHeroCreatures(Metlirn, CREATURE_SKELETON) >=1 then
    AddHeroCreatures( Metlirn, CREATURE_SKELETON, 400 );
    AddHeroCreatures( Metlirn, CREATURE_WALKING_DEAD, 300 );
    AddHeroCreatures( Metlirn, CREATURE_MANES, 180 );
    AddHeroCreatures( Metlirn, CREATURE_VAMPIRE, 100 );
    AddHeroCreatures( Metlirn, CREATURE_LICH, 60 );
    AddHeroCreatures( Metlirn, CREATURE_WIGHT, 40 );
    AddHeroCreatures( Metlirn, CREATURE_BONE_DRAGON, 30 );
    else
    if GetHeroCreatures(Metlirn, CREATURE_GOBLIN) >=1 then
    AddHeroCreatures( Metlirn, CREATURE_GOBLIN, 440 );
    AddHeroCreatures( Metlirn, CREATURE_CENTAUR, 240 );
    AddHeroCreatures( Metlirn, CREATURE_ORC_WARRIOR, 200 );
    AddHeroCreatures( Metlirn, CREATURE_SHAMAN, 100 );
    AddHeroCreatures( Metlirn, CREATURE_ORCCHIEF_BUTCHER, 60 );
    AddHeroCreatures( Metlirn, CREATURE_WYVERN, 40 );
    AddHeroCreatures( Metlirn, CREATURE_CYCLOP, 20 );
    end;
    end;
    end;
    Trigger( REGION_ENTER_AND_STOP_TRIGGER, "rein", nil );
    end;
    end;
    Trigger( REGION_ENTER_AND_STOP_TRIGGER, "rein", "Ziel" );


    Trigger( NEW_DAY_TRIGGER, NewDay );

  • Jetzt hast du aber die Funktion "Ziel" nicht definiert, was den REGION_ENTER_AND_STOP_TRIGGER sinnlos macht.


    Außerdem würde ich die "if"s durch "elseif"s ersetzen, dann kannnst du dir das "else" in der vorigen Zeile ersparen (außer natürlich bei der ersten "GetHeroCreatures"-Abfrage).


    Der Held soll also genau am Tag 75 auf dem Stadtfeld mit mindestens 150.000 Gold stehen? Würde bei mir folgendermaßen aussehen.



    Soll der Held auch nach Tag 75 Kreaturen erhalten können, so müsste in Zeile 4 das "==" durch ein ">=" ersetzt werden.

  • hast du therminators script genommen?


    'Res = GetPlayerResource( PLAYER_1, GOLD )-150000;
    sleep(2);
    SetPlayerResource( PLAYER_2, GOLD, Res);'


    Das gibt Player 2 soviele Gold-Ressourcen, wie Player 1 hätte, wenn ihm das Geld abgezogen worden wäre... ;)
    Kannst ja mal deine Script-Version posten, vielleicht fällt uns was auf ...

    lest Terry Pratchett(RIP) ... und Stephen King, John Katzenbach, Hohlbein, Frank Schätzing, Anne Rice, Andrzej Sapkowski, Anne Bishop, Bernhard Hennen, George R.R. Martin, Markus Heitz, ... (wurde ja langsam Zeit, dass was dazu kommt)

  • ich habe nur die player korrigiert, ansonten sein`s genommen, ja
    ich hoffe jdm findet noch was.
    --falls ichs noch nirgends geschr haben sollte, das script is für ne multiplayer map. da der editor so manches problem mit multiplayer hat, erwähne ich es lieber mal.... --
    ______________________________________________-


    Res = 0;


    function Ziel()
    if GetDate(DAY) == 75 and GetPlayerResource(PLAYER_4, GOLD) >=150000 then
    Res = GetPlayerResource( PLAYER_4, GOLD )-150000;
    sleep(2);
    SetPlayerResource( PLAYER_4, GOLD, Res);
    if GetHeroCreatures(Metlirn, CREATURE_PEASANT) >=1 then
    AddHeroCreatures( Metlirn, CREATURE_PEASANT, 440 );
    AddHeroCreatures( Metlirn, CREATURE_ARCHER, 240 );
    AddHeroCreatures( Metlirn, CREATURE_SWORDSMAN, 200 );
    AddHeroCreatures( Metlirn, CREATURE_GRIFFIN, 100 );
    AddHeroCreatures( Metlirn, CREATURE_PRIEST, 60 );
    AddHeroCreatures( Metlirn, CREATURE_CAVALIER, 40 );
    AddHeroCreatures( Metlirn, CREATURE_ANGEL, 20 );
    elseif GetHeroCreatures(Metlirn, CREATURE_GREMLIN) >=1 then
    AddHeroCreatures( Metlirn, CREATURE_GREMLIN, 400 );
    AddHeroCreatures( Metlirn, CREATURE_STONE_GARGOYLE, 280 );
    AddHeroCreatures( Metlirn, CREATURE_IRON_GOLEM, 180 );
    AddHeroCreatures( Metlirn, CREATURE_MAGE, 100 );
    AddHeroCreatures( Metlirn, CREATURE_GENIE, 60 );
    AddHeroCreatures( Metlirn, CREATURE_RAKSHASA, 40 );
    AddHeroCreatures( Metlirn, CREATURE_GIANT, 20 );
    elseif GetHeroCreatures(Metlirn, CREATURE_PIXIE) >=1 then
    AddHeroCreatures( Metlirn, CREATURE_PIXIE, 200 );
    AddHeroCreatures( Metlirn, CREATURE_BLADE_JUGGLER, 180 );
    AddHeroCreatures( Metlirn, CREATURE_WOOD_ELF, 140 );
    AddHeroCreatures( Metlirn, CREATURE_DRUID, 100 );
    AddHeroCreatures( Metlirn, CREATURE_UNICORN, 60 );
    AddHeroCreatures( Metlirn, CREATURE_TREANT, 50 );
    AddHeroCreatures( Metlirn, CREATURE_GREEN_DRAGON, 20 );
    elseif GetHeroCreatures(Metlirn, CREATURE_DEFENDER) >=1 then
    AddHeroCreatures( Metlirn, CREATURE_DEFENDER, 360 );
    AddHeroCreatures( Metlirn, CREATURE_AXE_FIGHTER, 240 );
    AddHeroCreatures( Metlirn, CREATURE_BEAR_RIDER, 140 );
    AddHeroCreatures( Metlirn, CREATURE_BROWLER, 120 );
    AddHeroCreatures( Metlirn, CREATURE_RUNE_MAGE, 60 );
    AddHeroCreatures( Metlirn, CREATURE_THANE, 40 );
    AddHeroCreatures( Metlirn, CREATURE_FIRE_DRAGON, 20 );
    elseif GetHeroCreatures(Metlirn, CREATURE_SCOUT) >=1 then
    AddHeroCreatures( Metlirn, CREATURE_SCOUT, 140 );
    AddHeroCreatures( Metlirn, CREATURE_WITCH, 100 );
    AddHeroCreatures( Metlirn, CREATURE_MINOTAUR, 120 );
    AddHeroCreatures( Metlirn, CREATURE_RIDER, 80 );
    AddHeroCreatures( Metlirn, CREATURE_HYDRA, 60 );
    AddHeroCreatures( Metlirn, CREATURE_MATRON, 40 );
    AddHeroCreatures( Metlirn, CREATURE_DEEP_DRAGON, 20 );
    elseif GetHeroCreatures(Metlirn, CREATURE_FAMILIAR) >=1 then
    AddHeroCreatures( Metlirn, CREATURE_FAMILIAR, 320 );
    AddHeroCreatures( Metlirn, CREATURE_DEMON, 300 );
    AddHeroCreatures( Metlirn, CREATURE_HELL_HOUND, 160 );
    AddHeroCreatures( Metlirn, CREATURE_SUCCUBUS, 100 );
    AddHeroCreatures( Metlirn, CREATURE_NIGHTMARE, 60 );
    AddHeroCreatures( Metlirn, CREATURE_PIT_FIEND, 40 );
    AddHeroCreatures( Metlirn, CREATURE_DEVIL, 20 );
    elseif GetHeroCreatures(Metlirn, CREATURE_SKELETON) >=1 then
    AddHeroCreatures( Metlirn, CREATURE_SKELETON, 400 );
    AddHeroCreatures( Metlirn, CREATURE_WALKING_DEAD, 300 );
    AddHeroCreatures( Metlirn, CREATURE_MANES, 180 );
    AddHeroCreatures( Metlirn, CREATURE_VAMPIRE, 100 );
    AddHeroCreatures( Metlirn, CREATURE_LICH, 60 );
    AddHeroCreatures( Metlirn, CREATURE_WIGHT, 40 );
    AddHeroCreatures( Metlirn, CREATURE_BONE_DRAGON, 30 );
    elseif GetHeroCreatures(Metlirn, CREATURE_GOBLIN) >=1 then
    AddHeroCreatures( Metlirn, CREATURE_GOBLIN, 440 );
    AddHeroCreatures( Metlirn, CREATURE_CENTAUR, 240 );
    AddHeroCreatures( Metlirn, CREATURE_ORC_WARRIOR, 200 );
    AddHeroCreatures( Metlirn, CREATURE_SHAMAN, 100 );
    AddHeroCreatures( Metlirn, CREATURE_ORCCHIEF_BUTCHER, 60 );
    AddHeroCreatures( Metlirn, CREATURE_WYVERN, 40 );
    AddHeroCreatures( Metlirn, CREATURE_CYCLOP, 20 );
    .
    .
    .
    end;
    Trigger( REGION_ENTER_AND_STOP_TRIGGER, "rein", nil );
    end;
    end;


    Trigger( REGION_ENTER_AND_STOP_TRIGGER, "rein", "Ziel" );

  • eigentlich müßte statt


    function Ziel()


    function Ziel(heroname)


    stehen, denk ich mal;
    und du übergibst alles 'Metlirn' - was machst du, wenn derjenige gar nicht diesen Helden hat? Und ist das ein Heldenname, den du selbst gewählt hast, oder der ingame-script-heroname? du mußt nämlich den ingame-script-heronamen nehmen, der meist anders ist als der ingame-normale-heroname, den man ja ändern kann;
    wenn du statt dessen statt explizit Metlirn die Variable heroname nimmst, sollte das Zeug eigentlich ankommen - allerdings kann auch ein anderer Spieler das script auslösen - dann würde Spieler4 das Geld abgezogen, und der andere Spieler die Einheiten kriegen ... :D

    lest Terry Pratchett(RIP) ... und Stephen King, John Katzenbach, Hohlbein, Frank Schätzing, Anne Rice, Andrzej Sapkowski, Anne Bishop, Bernhard Hennen, George R.R. Martin, Markus Heitz, ... (wurde ja langsam Zeit, dass was dazu kommt)

  • das mit dem multiplayer ist dann die preisfrage....
    werden im multiplayer scripts überhaupt ausgeführt oder nicht???


    ----------------
    Metlirn ist der script-name von Anwen. (dieser held ist in einem prison von spieler 4) die "region", auf die sich das script bezieht, kann nur durch spieler 4 betreten werden - zu diesem zeitpunkt.


    wenn ich in die function Ziel(heroname) eintrage, dann würde das spiel doch den heldennamen, des zuerst "ankommenden" helden, dann im folgenden einfügen.
    --> Th3TerminATor: warum hast du denn bei function Ziel() nichts in die klammer geschr.?

  • Weil ich den Heldenname nicht in der Funktion benötige. Aber wahrscheinlich hast du recht, der Trigger übergibt wohl auch den Heldennamen, das habe ich vergessen.


    In Zeile 3 könnte dann stehen:

    Code
    function Ziel(heroname)


    In Zeile 4 sollte (muss nicht) folgendes stehen:

    Code
    if GetDate(DAY) == 75 and GetPlayerResource(PLAYER_2, GOLD) >=150000 and heroname == "Metlirn" then
  • ich werde das mal versuchen...
    zum multiplayer problem habe ich mal den ubisoft-kundendienst angeschr. ... mal schauen, was dabei rauskommt.



    für den fall, d scripte im multiplayer-hot seat nicht ausgeführt werden SOLLTEN, habe ich noch ne frage:


    bei städten u gebaüden gibt es die funktion "random like player/town/..."
    --> kannn man das auch für eine neutrale kreatur machen?

  • also.....
    ubisoft hat keine ahnung, ob scripts im multiplayer-hot seat funktionieren...... ~.+"


    ich habe die korrekturvorschläge von Th3TerminATor eingearbeitet, aber auch so funktioniert es leider nicht...


    ---->


    fällt jdm. noch was anderes an dem script auf?


    hat jdm. ne idee, wie man (sonst) noch an nen random player ohne scripts einheiten seines eigenen volkes geben kann?


    kann man bei random-kreaturen (auf der map) irgendwie einstellen:
    random like .... (player/town/.....) ????


    thx in adv.

  • Forum

    Hat das Thema geschlossen.