Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 20 von 28
  1. #1
    Administrator Avatar von SpiderFive
    Registriert seit
    17.10.2002
    Beiträge
    24,613
    Downloads
    1
    Uploads
    0

    Standard Event Erdbeben mehrmals auslösen ?

    Gibt es da eine Sicherheitsfunktion ?
    Die einen das Erdbeben nur einmal in einerm gewissen Zeitraum auslösen läßt ?

    Oder habe ich da was übersehen ?
    Man kann alle Leute einige Zeit zum Narren halten und einige Leute allezeit; aber alle Leute allezeit zum Narren halten kann man nicht. (Abraham Lincoln)



    Siedele lang und erfolgreich

  2. #2
    Wirt
    Registriert seit
    04.10.2007
    Beiträge
    875
    Downloads
    0
    Uploads
    0

    Standard AW: Event Erdbeben mehrmals auslösen ?

    Leider ist das nicht vorgesehen.
    Vielleicht hilft Dir das:
    Code:
    function Event_ResetEarthquakeForPlayer(_player, _duration, _doNotDestroyCompletely, _affectedBuildings)
        if not Earthquake.Players[_player] then
            Earthquake.Players[_player] = {};
            Table_Copy(Earthquake.Players[_player], Earthquake.Data);
            Earthquake.Players[_player].PlayerID = _player;
        end
     
        Earthquake.Players[_player].State = EventState.Waiting;
        MusicStarted = false; -- fix a bug
        Earthquake.Players[_player].SoundPlayed = false;
        if _doNotDestroyCompletely ~= nil then
            Earthquake.Players[_player].DoNotDestroyCompletely = _doNotDestroyCompletely;
        end
        if _duration then
            Earthquake.Players[_player].Duration = _duration;
        end
        if _affectedBuildings and #_affectedBuildings > 0 then
            if not Earthquake.Data.ListAffectedEntities then
                Earthquake.Data.ListAffectedEntities = {};
                for i = 1, 8, 1 do
                    if Earthquake.Players[i] then
                        Earthquake.Players[i].ListAffectedEntities = Earthquake.Data.ListAffectedEntities;
                    end
                end
            end
            Earthquake.Data.ListAffectedEntities[_player] = {}
            for _, v in ipairs(_affectedBuildings) do
                Earthquake.Data.ListAffectedEntities[_player][GetEntityId(v)] = true;
            end
        elseif Earthquake.Data.ListAffectedEntities then
            Earthquake.Data.ListAffectedEntities[_player] = nil;
        end
    end
    Das funktioniert aber nur für Spieler, für die schon ein Erdbeben ausgelöst wurde.
    Geändert von Old McDonald (12.05.2008 um 12:29 Uhr) Grund: Funktionalität erweitert

  3. #3
    Administrator Avatar von SpiderFive
    Registriert seit
    17.10.2002
    Beiträge
    24,613
    Downloads
    1
    Uploads
    0

    Standard AW: Event Erdbeben mehrmals auslösen ?

    Hey danke .... muß ich nachher mal testen ...
    Man kann alle Leute einige Zeit zum Narren halten und einige Leute allezeit; aber alle Leute allezeit zum Narren halten kann man nicht. (Abraham Lincoln)



    Siedele lang und erfolgreich

  4. #4
    Sombeline
    Gast

    Standard AW: Event Erdbeben mehrmals auslösen ?

    Hallo Spider,

    wenn du das getestet hast und es funktioniert, gib hier bitte bescheid, wie und wo ich das einbauen muss. Es wäre gerade für mich sehr gut zu wissen.
    Ich könnte das nämlich gebrauchen.

    Gruß
    Sombeline

  5. #5
    Administrator Avatar von SpiderFive
    Registriert seit
    17.10.2002
    Beiträge
    24,613
    Downloads
    1
    Uploads
    0

    Standard AW: Event Erdbeben mehrmals auslösen ?

    kam noch nicht dazu , bin noch am testen von ner anderen map

    teste das wohl morgen auf der Tribut_Testmap
    Geändert von SpiderFive (10.05.2008 um 20:43 Uhr)
    Man kann alle Leute einige Zeit zum Narren halten und einige Leute allezeit; aber alle Leute allezeit zum Narren halten kann man nicht. (Abraham Lincoln)



    Siedele lang und erfolgreich

  6. #6
    Administrator Avatar von SpiderFive
    Registriert seit
    17.10.2002
    Beiträge
    24,613
    Downloads
    1
    Uploads
    0

    Standard AW: Event Erdbeben mehrmals auslösen ?

    hmm hab es gerade mal getestet .. irgendwie geht es nicht

    _affectedBuildings der Paramter ist doch eine Zahl
    Man kann alle Leute einige Zeit zum Narren halten und einige Leute allezeit; aber alle Leute allezeit zum Narren halten kann man nicht. (Abraham Lincoln)



    Siedele lang und erfolgreich

  7. #7
    Wirt
    Registriert seit
    04.10.2007
    Beiträge
    875
    Downloads
    0
    Uploads
    0

    Standard AW: Event Erdbeben mehrmals auslösen ?

    Nein, sondern eine Liste der Gebäude, die beschädigt werden sollen, wie bei Event_AddEarthquake(). Ist das nil, dann werden auch alle Gebäude beschädigt.
    Also der häufigste Fall wird wohl das sein:
    Code:
    Event_ResetEarthquakeForPlayer(1)
    Ich habe jetzt noch zwei Tippfehler rausgemacht, wenn man Gebäude angegeben hat, und auch noch einen Befehl hinzugefügt, dass die vorherige Beschränkung gelöscht wird, wenn keine Liste mehr angegeben wird.

  8. #8
    Administrator Avatar von SpiderFive
    Registriert seit
    17.10.2002
    Beiträge
    24,613
    Downloads
    1
    Uploads
    0

    Standard AW: Event Erdbeben mehrmals auslösen ?

    Ah ich dachte das wäre ne Zusatzfunktion , aber es ist ja eine Ersatzfunktion.
    Ich hatte das eingesetzt:
    Code:
    Event_ResetEarthquakeForPlayer( 1, 1 )
    Funktioniert aber auch nicht mit

    Code:
     
    Event_ResetEarthquakeForPlayer(1)
    Man kann alle Leute einige Zeit zum Narren halten und einige Leute allezeit; aber alle Leute allezeit zum Narren halten kann man nicht. (Abraham Lincoln)



    Siedele lang und erfolgreich

  9. #9
    Wirt
    Registriert seit
    04.10.2007
    Beiträge
    875
    Downloads
    0
    Uploads
    0

    Standard AW: Event Erdbeben mehrmals auslösen ?

    So, jetzt funktioniert's auch für Spieler, die bisher noch kein Erdbeben erleben durften.

  10. #10
    Administrator Avatar von SpiderFive
    Registriert seit
    17.10.2002
    Beiträge
    24,613
    Downloads
    1
    Uploads
    0

    Standard AW: Event Erdbeben mehrmals auslösen ?

    hehe
    ist der Aufruf nun genauso wie auch bei der BB eigenen Funktion ?
    Man kann alle Leute einige Zeit zum Narren halten und einige Leute allezeit; aber alle Leute allezeit zum Narren halten kann man nicht. (Abraham Lincoln)



    Siedele lang und erfolgreich

  11. #11
    Sombeline
    Gast

    Standard AW: Event Erdbeben mehrmals auslösen ?

    Hallo,

    es wäre schön, wenn ihr den genauen code hier posten könntet.
    Und den genauen Aufruf.

    Danke
    Sombeline

  12. #12
    Administrator Avatar von SpiderFive
    Registriert seit
    17.10.2002
    Beiträge
    24,613
    Downloads
    1
    Uploads
    0

    Standard AW: Event Erdbeben mehrmals auslösen ?

    es dauert noch ein wenig
    Man kann alle Leute einige Zeit zum Narren halten und einige Leute allezeit; aber alle Leute allezeit zum Narren halten kann man nicht. (Abraham Lincoln)



    Siedele lang und erfolgreich

  13. #13
    Wirt
    Registriert seit
    04.10.2007
    Beiträge
    875
    Downloads
    0
    Uploads
    0

    Standard AW: Event Erdbeben mehrmals auslösen ?

    Der Aufruf ist fast gleich.
    Zum Beispiel so:
    Code:
    Earthquake_ResetEarthquakeForPlayer(1, 10, true, { "Dieses Gebäude soll nur beschädigt werden" }).
    Das funktioniert aber nur, wenn vorher einmal Event_AddEarthquake() verwendet wurde.

  14. #14
    Administrator Avatar von SpiderFive
    Registriert seit
    17.10.2002
    Beiträge
    24,613
    Downloads
    1
    Uploads
    0

    Standard AW: Event Erdbeben mehrmals auslösen ?

    hmmm also irgendwie klappt das nicht bei mir ...

    und wie sieht es bei den anderen aus ?
    Man kann alle Leute einige Zeit zum Narren halten und einige Leute allezeit; aber alle Leute allezeit zum Narren halten kann man nicht. (Abraham Lincoln)



    Siedele lang und erfolgreich

  15. #15
    Schafszüchter Avatar von Netsurfer
    Registriert seit
    01.09.2005
    Ort
    Köln/ Cologne
    Beiträge
    1,118
    Downloads
    0
    Uploads
    0

    Blinzeln AW: Event Erdbeben mehrmals auslösen ?

    Zitat Zitat von SpiderFive Beitrag anzeigen
    hmmm also irgendwie klappt das nicht bei mir ...
    Da ist ja auch nichts zum Klappen dran ...!

    Aber mal im Ernst:
    Das ist keine brauchbare Fehlerbeschreibung. Wie sieht denn der erste Funktionsaufruf für das Beben aus?
    Wird die Reset-Funktion auch danach aufgerufen?
    Wie und wann werden die Beben denn ausgelöst?
    Und, und, und ...!

    Also, ausreichende Informationen posten - dann klappt's auch mit dem Nachbarn ... äh, dem Beben!

    Gruß
    Gunther
    ___________________________


    ___________________________

  16. #16
    Wirt
    Registriert seit
    04.10.2007
    Beiträge
    875
    Downloads
    0
    Uploads
    0

    Standard AW: Event Erdbeben mehrmals auslösen ?

    Ich hatte es ausprobiert, es müsste funktionieren.

  17. #17
    Administrator Avatar von SpiderFive
    Registriert seit
    17.10.2002
    Beiträge
    24,613
    Downloads
    1
    Uploads
    0

    Standard AW: Event Erdbeben mehrmals auslösen ?

    Haste das mal mit meiner Testmap getestet ?
    Interesant ist die normale Erdbebenfunktion funktioniert.
    Danach mit dem Trigger_Time bei Aufruf der mapscriptfunktion sogar eine zusätzlicher Reward CreateBtl nicht mehr funktioniert..
    Löscht man die Mapscriptfunktionsaufrufe geht das wieder..
    Map ist auch dabei.

    Hier mal das Script

    Code:
    ----------------------------------------------------------------------------------------------------------------------
    function Mission_InitPlayers()
     
    end
    ----------------------------------------------------------------------------------------------------------------------
    function Mission_SetStartingMonth()
        Logic.SetMonthOffset(3)
    end
    ----------------------------------------------------------------------------------------------------------------------
    function Mission_InitMerchants()
     
    end
     
    function Mission_FirstMapAction()
        -- init players in singleplayer games only
        if Framework.IsNetworkGame() ~= true then
            Startup_Player()
            Startup_StartGoods()
            Startup_Diplomacy()
     
        end        
        -- create quests
        do
            local MapName = Framework.GetCurrentMapName()
            local ScriptName = "Maps\\ExternalMap\\"..MapName.."\\QuestSystemBehavior.lua"
            Script.Load(ScriptName)
            CreateQuests()
        end
     
    end
    function Event_ResetEarthquakeForPlayer(_player, _duration, _doNotDestroyCompletely, _affectedBuildings)
        if not Earthquake.Players[_player] then
            Earthquake.Players[_player] = {};
            Table_Copy(Earthquake.Players[_player], Earthquake.Data);
            Earthquake.Players[_player].PlayerID = _player;
        end
     
        Earthquake.Players[_player].State = EventState.Waiting;
        MusicStarted = false; -- fix a bug
        Earthquake.Players[_player].SoundPlayed = false;
        if _doNotDestroyCompletely ~= nil then
            Earthquake.Players[_player].DoNotDestroyCompletely = _doNotDestroyCompletely;
        end
        if _duration then
            Earthquake.Players[_player].Duration = _duration;
        end
        if _affectedBuildings and #_affectedBuildings > 0 then
            if not Earthquake.Data.ListAffectedEntities then
                Earthquake.Data.ListAffectedEntities = {};
                for i = 1, 8, 1 do
                    if Earthquake.Players[i] then
                        Earthquake.Players[i].ListAffectedEntities = Earthquake.Data.ListAffectedEntities;
                    end
                end
            end
            Earthquake.Data.ListAffectedEntities[_player] = {}
            for _, v in ipairs(_affectedBuildings) do
                Earthquake.Data.ListAffectedEntities[_player][GetEntityId(v)] = true;
            end
        elseif Earthquake.Data.ListAffectedEntities then
            Earthquake.Data.ListAffectedEntities[_player] = nil;
        end
    end
    function Erdbeben_01()
     Event_AddEarthquake( {1}, 2, {[1]=true}, {[1]={"homestore","homecastle","homechurch"}} )
    end
    function Erdbeben_02()
     Earthquake_ResetEarthquakeForPlayer( 1, 10, true, {"homestore","homecastle","homechurch"})
    end
    function Erdbeben_03()
     Earthquake_ResetEarthquakeForPlayer( 1, 10, true, { "homestore","homecastle","homechurch" })
    end
    Angehängte Dateien Angehängte Dateien
    Geändert von SpiderFive (22.05.2008 um 15:02 Uhr)
    Man kann alle Leute einige Zeit zum Narren halten und einige Leute allezeit; aber alle Leute allezeit zum Narren halten kann man nicht. (Abraham Lincoln)



    Siedele lang und erfolgreich

  18. #18
    Wirt
    Registriert seit
    04.10.2007
    Beiträge
    875
    Downloads
    0
    Uploads
    0

    Standard AW: Event Erdbeben mehrmals auslösen ?

    Das Problem ist, dass Du Earthquake_ResetEarthquakeForPlayer() aufrufst, die Funktion heißt aber Event_ResetEarthquakeForPlayer().

  19. #19
    Lanzenträger Avatar von trabbi
    Registriert seit
    09.03.2006
    Beiträge
    4,968
    Downloads
    1
    Uploads
    0

    Standard AW: Event Erdbeben mehrmals auslösen ?

    Habe das Script abgeändert.
    Nach der ersten Beförderung, beginnt das Erdbeben.
    Zwischen Beförderung und Erdbeben stehen die Solsen
    in der Burg.


    trabbi
    trabbi
    Was ist Theorie, - Wenns klappen soll und es klappt nie
    Was ist Praxis, - Frag nicht so dumm, wenns klappt und Du weißt nicht warum

  20. #20
    Administrator Avatar von SpiderFive
    Registriert seit
    17.10.2002
    Beiträge
    24,613
    Downloads
    1
    Uploads
    0

    Standard

    Zitat Zitat von Old McDonald Beitrag anzeigen
    Das Problem ist, dass Du Earthquake_ResetEarthquakeForPlayer() aufrufst, die Funktion heißt aber Event_ResetEarthquakeForPlayer().
    manchmal sieht man den Wald....
    Aber irgendwoher muß ich die Funktion haben *gggg

    Zitat Zitat von Old McDonald Beitrag anzeigen
    Der Aufruf ist fast gleich.
    Zum Beispiel so:
    Code:
    Earthquake_ResetEarthquakeForPlayer(1, 10, true, { "Dieses Gebäude soll nur beschädigt werden" }).
    Das funktioniert aber nur, wenn vorher einmal Event_AddEarthquake() verwendet wurde.
    ah daher

    Ist doch schön wenn sich Dinge so einfach auflösen
    Geändert von SpiderFive (24.05.2008 um 00:31 Uhr)
    Man kann alle Leute einige Zeit zum Narren halten und einige Leute allezeit; aber alle Leute allezeit zum Narren halten kann man nicht. (Abraham Lincoln)



    Siedele lang und erfolgreich

Seite 1 von 2 12 LetzteLetzte

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Erdbeben/ Earthquake
    Von Netsurfer im Forum S6 Scriptecke
    Antworten: 3
    Letzter Beitrag: 15.11.2009, 00:20
  2. Erdbeben
    Von Unregistriert im Forum Siedler 6 AeK Allgemein
    Antworten: 23
    Letzter Beitrag: 22.04.2008, 00:32
  3. Seuchen auslösen
    Von Sokrates im Forum Siedler 6 AeK Mapperecke
    Antworten: 0
    Letzter Beitrag: 19.01.2008, 11:00

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •