Region Blocked lässt sich nicht lösen

  • Hey, ich bins mal wieder :p


    Habe jetzt ein Szenario, dass vorsieht, dass bestimmte Spieler bestimmte Regionen nicht erreichen bzw. durchqueren dürfen.
    Habe zunächst dieses Script genutzt, um die Regionen zu blockieren.

    Code
    SetRegionBlocked("Block1", 1, 2);
    SetRegionBlocked("Block2", 1, 2);
    SetRegionBlocked("Block3", 1, 3);
    SetRegionBlocked("Block4", 1, 3);
    SetRegionBlocked("Block5", 1, 3);
    SetRegionBlocked("Block6", 1, 3);
    SetRegionBlocked("Block7", 1, 1);
    SetRegionBlocked("Block8", 1, 1);


    Das funktioniert so halbwegs. Die Regionen Block1 und Block2 liegen genau vor Städten von Spieler 2. Trotzdem verlässt Spieler 2 die Stadt, vor der Block2 liegt immer und steht mit seinem Helden dann vor den Toren der Stadt rum. Nicht schön, aber auch nicht sooo dramatisch, denn weggehen tut er nicht.
    Ich als Spieler 1 kann allerdings auch nicht in seine Städte rein (Spieler 1 und Spieler 2 sind Verbündet), also scheint der Block auch auf mich zu wirken.
    Die Regionen, die S1 nicht betreten soll, sind wirklich blockiert.
    Allerdings muss ich diesen Block auch irgendwann wieder aufheben können... Dazu habe ich an geeigneter Stelle in einer Funktion (nach einem bestimmten Kampf) den Befehl

    Code
    SetRegionBlocked("Block7", 0, 1);


    benutzt.
    Ursprünglich habe ich anstelle der letzten beiden Zahlen auch jeweils "nil" bzw. "not nil" und "PLAYER_1, 2 oder 3" verwendet, das hat nichts geändert.


    Problem: Die Regionen werden nicht entblockt, der Spieler kann immer noch nicht durch die Region Block7 laufen.
    Bei der Syntax in der Dokumentation wird leider nix erklärt, da steht nur:

    Code
    SetRegionBlocked(regionName, status, playerID = -1);
    Description
    This function blocks or unblocks the region for the specified players maneuvers, depending on
    the status parameter. If the playerID parameter is set, the region is only blocked for this
    players heroes; if not, it will be blocked for all heroes.
    regionName  the regions name
    status  the flag to determine whether the blocking is set on or off
    playerID  the players ID (equal to -1, which means all players, by default)


    Wie kann ich mein Problem lösen? Wie kommt Spieler 1 in die Städte von Spieler 2 und nach dem Script auch durch die Regionen?

  • Bei mir gibts keine Probleme beim Entblocken von Regionen:


    function NewDay()
    if GetDate(DAY) == 2 then
    SetRegionBlocked("region",not nil, PLAYER_1);
    end;
    if GetDate(DAY) == 3 then
    SetRegionBlocked("region",nil, 1);
    end;
    end;


    Trigger( NEW_DAY_TRIGGER, "NewDay" );


    Das Script habe ich gerade getestet und wie geplant ist die Region am Tag 2 gesperrt und danch wieder frei. Vermutlich liegt der Fehler bei dir irgendwo in der Auslöserfunktion

    Die kausale Unabhängigkeit der Quarks von unserer Rede ist kein Merkmal der Realität (im Sinne des Gegenteils der Welt des Scheins), sondern sie ist einfach ein unbezweifelter Bestandteil unseres Redens über Quarks.
    Richard Rorty

  • Tip zu dem "Ich kann die Stadt meines Verbündeten nicht betreten" das geht in H5 im ganzen nicht, is nicht H3 oder 4....

    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.

  • Dann werd' ich das nochmal überprüfen... Ich habe nämlich aus Spaß dem Helden für den Testlauf mal das Artefakt "Engelsflügel" gegeben, dass ihm Flugfähigkeit verleiht, und mit diesem Artefakt ist es möglich, eine verbündete Stadt zu betreten, ohne nicht, deswegen dachte ich, dass man die Region damit "überfliegt" oder so. Ich kann damit nämlich auch jenseits meines "Blocks" klicken, auch, wenn der Held dann doch am Block anhält und nicht weiter kann.
    Naja, die Auslöserfunktion für das "Entblocken" ist im Grunde eine Funktion, die am Kampfende eines inszenierten Kampfes ausgelöst wird.
    StartCombat (...) löst die Kampf-Endfunktion aus, in der u.a. die Zeile "SetRegionBlocked("Region", nil bzw. 0, 1);" fällt... aber gut, dann werde ich nochmal gucken, ob ich das irgendwie hinbiegen kann ;)

  • Forum

    Hat das Thema geschlossen.