Ergebnis 1 bis 10 von 10
  1. #1

    Frage ActiveShareExploration und nichts tuende Gegner

    Hallo mal wieder!
    Ich tüftle schon wieder an meiner nächsten Map und habe sie schon fertig designt und alles doch beim Test greifen sich Spieler die Feindlichen Ki`s nicht an (4,3 und 4,2). Besser gesagt: Sie produzieren gar keine Truppen.
    Mein 2. Problem ist die Funktion ActiveShareExploration. Sie funktioniert nicht, obwohl sie im Skript erwähnt ist. Ne' Fehlermeldung kommt auch nicht.
    Ich hoffe mal wieder, dass mir hier jemand auf die Sprünge helfen kann.

    MFG Josebra


    Hier das Skript:

    --------------------------------------------------------------------------------
    -- MapName: 3 Mächte
    --
    -- Author: Josebra
    --
    --------------------------------------------------------------------------------


    -- Include main function
    Script.Load( Folders.MapTools.."Main.lua" )
    IncludeGlobals("MapEditorTools")


    --++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++
    -- This function is called from main script to initialize the diplomacy states
    function InitDiplomacy()
    SetHostile(1,2)
    SetHostile(1,3)
    SetFriendly(1,4)
    SetFriendly(2,3)
    SetHostile(2,1)
    SetHostile(2,4)
    SetHostile(4,3)
    SetHostile(4,2)
    SetFriendly(4,1)
    SerHostile(3,1)
    SetHostile(3,4)
    SetFriendly(3,2)
    end




    --++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++
    -- This function is called from main script to init all resources for player(s)
    function InitResources()
    -- set some resources
    AddGold (3000)
    AddSulfur(1000)
    AddIron (3000)
    AddWood (5000)
    AddStone (4000)
    AddClay (6000)


    AddGold (2, 100000)
    AddSulfur(2, 100000)
    AddIron (2, 100000)
    AddWood (2, 100000)
    AddStone (2, 100000)
    AddClay (2, 100000)


    AddGold (3, 100000)
    AddSulfur(3, 100000)
    AddIron (3, 100000)
    AddWood (3, 100000)
    AddStone (3, 100000)
    AddClay (3, 100000)


    AddGold (4, 100000)
    AddSulfur(4, 100000)
    AddIron (4, 100000)
    AddWood (4, 100000)
    AddStone (4, 100000)
    AddClay (4, 100000)

    end


    --++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++
    -- This function is called to setup Technology states on mission start
    function InitTechnologies()


    ResearchTechnology(Technologies.GT_Mercenaries)




    end


    --++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++
    -- This function is called on game start and after save game is loaded, setup your weather gfx
    -- sets here
    function InitWeatherGfxSets()
    SetupNormalWeatherGfxSet()
    end


    --++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++
    -- This function is called on game start you should setup your weather periods here
    function InitWeather()
    AddPeriodicSummer(1800)
    AddPeriodicRain(500)
    AddPeriodicSummer(1400)
    AddPeriodicRain(500)
    AddPeriodicSummer(1000)
    AddPeriodicRain(500)
    AddPeriodicSummer(600)
    AddPeriodicRain(500)
    AddPeriodicSummer(400)
    AddPeriodicRain(500)
    AddPeriodicSummer(300)
    AddPeriodicRain(500)
    AddPeriodicSummer(150)
    AddPeriodicRain(500)
    AddPeriodicSummer(20)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicRain(30)
    AddPeriodicSummer(10000000)


    end


    --++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++
    -- This function is called on game start and after save game to initialize player colors
    function InitPlayerColorMapping()
    end

    --++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++
    -- This function is called on game start after all initialization is done
    function FirstMapAction()


    local VictoryConditionType = 2


    if VictoryConditionType == 1 then
    MapEditor_SetupResourceVictoryCondition(
    1000,
    1000,
    1000,
    1000,
    1000,
    1000 )
    elseif VictoryConditionType == 2 then
    MapEditor_SetupDestroyVictoryCondition(2)
    end


    --++++++++++++++++++++++++++++++++ FIRST MAP ACTION ++++++++++++++++++++++++++++++++++++++++++




    ActivateShareExploration(1,4)
    CreatePlayer2()
    CreatePlayer3()
    CreatePlayer4()






    SetHostile(1,2)
    SetHostile(1,3)
    SetFriendly(1,4)
    SetFriendly(2,3)
    SetHostile(2,1)
    SetHostile(2,4)
    SetHostile(4,3)
    SetHostile(4,2)
    SetFriendly(4,1)
    SerHostile(3,1)
    SetHostile(3,4)
    SetFriendly(3,2)


    end




    function CreatePlayer2()
    -- Hier wird die KI für Spieler 2 erstellt...
    local aiID = 2 -- mit der ID 2
    local strength = 3 -- mit einer "strenght" von 2; bezieht sich auf die maximale Größe des Heeres
    local range = 5000000 -- mit einem Verteidigungsradius von 5000 Siedler-Zentimetern
    local techlevel = 3 -- mit einem Technologie-Level von 0; es werden also vorerst nur Basiseinheiten ausgebildet
    local position = "player2" -- mit dem Gebäude "hq2" als Zentrum des Verteidigungsradius
    local aggressiveness = 3 -- mit der Aggressivität von 1
    local peacetime = 0 -- und ohne "Schonzeit" für den Spieler
    -- Setup der KI:
    MapEditor_SetupAI( aiID, strength, range, techlevel, position, aggressiveness, peacetime )
    SetupPlayerAi( aiID , { repairing = 1 } ) -- Die KI repariert eigene Gebäude; ist hier nicht wirklich wichtig
    SetupPlayerAi( aiID , { serfLimit = 4 } ) -- Die KI kauft Leibeigene bis zu diesem Limit; dito
    SetPlayerName( aiID , "Adventon" ) -- Name, der für die KI im Diplomatiefenster angezeigt wird; auch nur Kür
    -- Jetzt wird's wichtig! Die ersten zu bauenden Einheiten werden angegeben:
    SetAIUnitsToBuild( aiID, { UpgradeCategories.LeaderSword, UpgradeCategories.LeaderPoleArm, UpgradeCategories.LeaderBow } );
    end


    function CreatePlayer3()
    -- Hier wird die KI für Spieler 2 erstellt...
    local aiID = 3 -- mit der ID 2
    local strength = 3 -- mit einer "strenght" von 2; bezieht sich auf die maximale Größe des Heeres
    local range = 5000000 -- mit einem Verteidigungsradius von 5000 Siedler-Zentimetern
    local techlevel = 2 -- mit einem Technologie-Level von 0; es werden also vorerst nur Basiseinheiten ausgebildet
    local position = "player3" -- mit dem Gebäude "hq2" als Zentrum des Verteidigungsradius
    local aggressiveness = 2 -- mit der Aggressivität von 1
    local peacetime = 0 -- und ohne "Schonzeit" für den Spieler
    -- Setup der KI:
    MapEditor_SetupAI( aiID, strength, range, techlevel, position, aggressiveness, peacetime )
    SetupPlayerAi( aiID , { repairing = 1 } ) -- Die KI repariert eigene Gebäude; ist hier nicht wirklich wichtig
    SetupPlayerAi( aiID , { serfLimit = 4 } ) -- Die KI kauft Leibeigene bis zu diesem Limit; dito
    SetPlayerName( aiID , "Tana" ) -- Name, der für die KI im Diplomatiefenster angezeigt wird; auch nur Kür
    -- Jetzt wird's wichtig! Die ersten zu bauenden Einheiten werden angegeben:
    SetAIUnitsToBuild( aiID, { UpgradeCategories.LeaderSword, UpgradeCategories.LeaderPoleArm, UpgradeCategories.LeaderBow } );
    end


    function CreatePlayer4()
    -- Hier wird die KI für Spieler 2 erstellt...
    local aiID = 4 -- mit der ID 2
    local strength = 3 -- mit einer "strenght" von 2; bezieht sich auf die maximale Größe des Heeres
    local range = 50000 -- mit einem Verteidigungsradius von 5000 Siedler-Zentimetern
    local techlevel = 3 -- mit einem Technologie-Level von 0; es werden also vorerst nur Basiseinheiten ausgebildet
    local position = "player4" -- mit dem Gebäude "hq2" als Zentrum des Verteidigungsradius
    local aggressiveness = 3 -- mit der Aggressivität von 1
    local peacetime = 0 -- und ohne "Schonzeit" für den Spieler
    -- Setup der KI:
    MapEditor_SetupAI( aiID, strength, range, techlevel, position, aggressiveness, peacetime )
    SetupPlayerAi( aiID , { repairing = 1 } ) -- Die KI repariert eigene Gebäude; ist hier nicht wirklich wichtig
    SetupPlayerAi( aiID , { serfLimit = 4 } ) -- Die KI kauft Leibeigene bis zu diesem Limit; dito
    SetPlayerName( aiID , "Fianar" ) -- Name, der für die KI im Diplomatiefenster angezeigt wird; auch nur Kür
    -- Jetzt wird's wichtig! Die ersten zu bauenden Einheiten werden angegeben:
    SetAIUnitsToBuild( aiID, { UpgradeCategories.LeaderSword, UpgradeCategories.LeaderPoleArm, UpgradeCategories.LeaderBow } );
    end






    function ActivateShareExploration(_player1, _player2, _both) --_both auf false setzen, wenn nur einer sehen soll, was der andere treibt (Spion)
    assert(type(_player1) == "number" and type(_player2) == "number" and _player1 <= 8 and _player2 <= 8 and _player1 >= 1 and _player2 >= 1);
    if _both == false then
    Logic.SetShareExplorationWithPlayerFlag(_player1, _player2, 1);
    else
    Logic.SetShareExplorationWithPlayerFlag(_player1, _player2, 1);
    Logic.SetShareExplorationWithPlayerFlag(_player2, _player1, 1);
    end
    end









    function SetAIUnitsToBuild( _aiID, _types )
    for i = table.getn(DataTable), 1, -1 do
    if DataTable[i].player == _aiID and DataTable[i].AllowedTypes then
    DataTable[i].AllowedTypes = _types;
    end
    end
    end


    -- Quest data
    MapEditor_QuestTitle = "Missionsziel"
    MapEditor_QuestDescription = "Hilf Fianar, sich zu verteidigen und vernichte Adventon!"

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

    Standard AW: ActiveShareExploration und nichts tuende Gegner

    Wie groß ist denn die Map ??
    local range = 5000000 ... kommt mir arg groß vor ??
    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

  3. #3

    Standard AW: ActiveShareExploration und nichts tuende Gegner

    Meine Map ist schon sehr groß, die größte Einstellung die möglich ist, doch spricht das den etwas zur Sache?

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

    Standard AW: ActiveShareExploration und nichts tuende Gegner

    Ich kanns nicht wirklich einschätzen, weil ich mich nun schon die letzten Jahre nicht mehr damit beschäftige.
    Aber schau Dir doch mal Deinen Sciptsatz genauer an:
    local range = 5000000 -- mit einem Verteidigungsradius von 5000 Siedler-Zentimetern
    Da gehst Du doch von 5000 aus, gibst aber 5 millionen ein ????
    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

  5. #5

    Standard AW: ActiveShareExploration und nichts tuende Gegner

    Das ist ja soweit ich weiß, nur die Reichweite (Radius), in dem die KI nach Gegnern sucht und dann angreift. Das heißt doch, dass sie trotzdem Truppen produzieren könnte und mit der ActiveShareExploration sehe ich auch keinen Zusammenhang.

    - - - Aktualisiert - - -

    Diese nebenbemerkungen sind nicht zu beachten, das kommt daher, dass ich diese Funktion von der Wiki kopiert habe. Die Werte habe ich dann angepasst.

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

    Standard AW: ActiveShareExploration und nichts tuende Gegner

    5 Millonen ist weit über die Grenzen der größten Map.
    Daraus resultiert eine 0.
    Es passiert also gar nix!

    Aber frag doch bei Siedelwood einmal nach.
    Kannst Dich dort ruhig anmelden ... tut auch gar nicht weh
    Die Mädels und Jungs helfen Dir bestimmt !
    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

  7. #7

    Standard AW: ActiveShareExploration und nichts tuende Gegner

    Mir ist gerade noch aufgefallen, dass das ganze Skript nicht "benutzt" wird. Und zwar daran, dass auch die Anfangsreccourcen nicht gegeben werden. Vieleicht fällt dir dann doch noch was auf?


    PS.: Ich habe mich auch Siedelwood angemeldet und meine Frage gepostet, doch dort sind wohl nur 2-4 User aktiv, die Siedler 5 skripten.

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

    Standard AW: ActiveShareExploration und nichts tuende Gegner

    Zitat Zitat von Josebra01 Beitrag anzeigen
    PS.: Ich habe mich auch Siedelwood angemeldet und meine Frage gepostet, doch dort sind wohl nur 2-4 User aktiv, die Siedler 5 skripten.
    Sind auf jeden Fall mehr wie hier
    Hier gehts doch nur noch um Sport und bla bla bla.
    Ab und an mal Technik.

    Du hast doch bei Herr der Ringe jetzt ein funktionierndes Script ??
    Benutz das doch als Vorlage, und mach nur Änderungen da drinn.
    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

  9. #9

    Standard AW: ActiveShareExploration und nichts tuende Gegner

    Genau das habe ich ;D. Das muss wohl ein tiefgründiger Fehler sein, so ein Profi von der anderen Website hatte nach 2 Stunden Map überprüfung un Skript lesen auch keine Ahnung, die Anfangsrohstoffe gingen dann, ActiveShareExploration geht auch, aber wenn man in die Map reingeht, stürzt Siedler ab.

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

    Standard AW: ActiveShareExploration und nichts tuende Gegner

    Nehm Dir noch mal das mit den 5 Millionen vor.
    Das kann so nicht sein!
    Da wird ein Overflow erzeugt, das Programm muss Abstürzen.
    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

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. Amazonen als Gegner
    Von Ma-Ti im Forum Siedler 3 Singleplayers Inn
    Antworten: 5
    Letzter Beitrag: 27.01.2012, 11:50
  2. Löw mal wieder als Gegner des Heimatvereins
    Von SpiderFive im Forum Flutlicht Siedlersportforum
    Antworten: 0
    Letzter Beitrag: 07.11.2011, 21:24
  3. [Mappen] Gegner baut nix...
    Von Perikles im Forum Siedler 4 Allgemein
    Antworten: 5
    Letzter Beitrag: 15.01.2008, 21:35
  4. [Faq] 027 Schafe/Kühe vom Gegner übernehmen
    Von Knight Jim im Forum Siedler 6 AeK Tipps und Tricks
    Antworten: 1
    Letzter Beitrag: 24.10.2007, 17:43
  5. [Faq] 010 Wie besiege ich einen Gegner ?
    Von BW_spiderfive im Forum Siedler 6 AeK Tipps und Tricks
    Antworten: 0
    Letzter Beitrag: 24.09.2007, 20:19

Stichworte

Berechtigungen

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