TruppenSpawnGenerator
» Siedler Map Source Forum » Technische Hilfe » TruppenSpawnGenerator
Seiten: 1
Pirategamer
|
#1 02.02.2014 16:27 Beiträge: 195 |
TruppenSpawnGenerator
Ich brauche nochmal Hilfe: Ich habe dies im Script:
Army = {} Army.player = 4 Army.id = 1 Army.strength = 3 Army.position = GetPosition("EnemySpawn") Army.rodeLength = 1000 SetupArmy(Army) Army.spawnTypes = { {Entities.PU_LeaderPoleArm4, 8}, {Entities.PU_LeaderPoleArm4, 8}, {Entities.PU_LeaderPoleArm4, 8}, {Entities.PU_LeaderSword4, 8}, {Entities.PU_LeaderSword4, 8}, {Entities.PU_LeaderSword4, 8} } Army.endless = true Army.spawnPos = GetPosition("EnemySpawn") Army.spawnGenerator = "EnemyHQ1" Army.respawnTime = 1 Army.refresh = true Army.maxSpawnAmount = 3 Army.noEnemy = true Army.noEnemyDistance = 500 SetupAITroopSpawnGenerator("EnemyArmy", Army)
Ich habe dann das eingefügt, aber es kamen nur die Steitlanzträger! Ich glaube , das die 1 für Stunden ist! Kann mir irgend jemand sagen, was ich falsch geacht habe?
____________________
Wenn man sich den ganzen Tag vornimmt, nichts zu erreichen und das dann auch schafft, hat man dann was erreicht oder nicht?
Wenn ich mich noch nicht revengiert habe für die netten Kommentare, werde ich das nachholen!
Besucht mich in meinem Profil.
LG Pirategamer Ahoi!
mcb
|
#2 02.02.2014 17:30 Beiträge: 1472 |
Deine Armee hat die Stärke 3. Das heißt 3 Leader. Sind die voll, spawnt nix mehr. Wenn du allerdings jetzt die Hellebardiere killst, spawnen Bastardschwertkämpfer. (Du kannst natürlich auch einfach die Stärke auf 6 setzen...)
PS: nachstes Mal ins Scriptforum
Pirategamer
|
#3 02.02.2014 17:49 Beiträge: 195 |
Ich habe die alle gekillt aber nichts passiert!
____________________
Wenn man sich den ganzen Tag vornimmt, nichts zu erreichen und das dann auch schafft, hat man dann was erreicht oder nicht?
Wenn ich mich noch nicht revengiert habe für die netten Kommentare, werde ich das nachholen!
Besucht mich in meinem Profil.
LG Pirategamer Ahoi!
mcb
|
#4 02.02.2014 18:16 Beiträge: 1472 |
Lebt der Spawn-Generator noch?
Stehen deine Soldaten noch in der Nähe?
Pirategamer
|
#5 02.02.2014 18:26 Beiträge: 195 |
Ja und ja!
____________________
Wenn man sich den ganzen Tag vornimmt, nichts zu erreichen und das dann auch schafft, hat man dann was erreicht oder nicht?
Wenn ich mich noch nicht revengiert habe für die netten Kommentare, werde ich das nachholen!
Besucht mich in meinem Profil.
LG Pirategamer Ahoi!
mcb
|
#6 02.02.2014 18:32 Beiträge: 1472 |
Hast du die KI aktiviert? Wenn ja, poste bitte den Code dazu.
Pirategamer
|
#7 02.02.2014 18:37 Beiträge: 195 |
Ja habe ich:
function CreatePlayer4() player4 = {} player4.id = 4 local description = {serfLimit = 10} SetupPlayerAi(player4.id,description) end
Ich habe das im Script, wenn ich dich richtig verstanden habe!
____________________
Wenn man sich den ganzen Tag vornimmt, nichts zu erreichen und das dann auch schafft, hat man dann was erreicht oder nicht?
Wenn ich mich noch nicht revengiert habe für die netten Kommentare, werde ich das nachholen!
Besucht mich in meinem Profil.
LG Pirategamer Ahoi!
mcb
|
#8 02.02.2014 19:13 Beiträge: 1472 |
Sieht eigentlich korrekt aus... Poste mal das komplette Script, wenns nicht zu lang ist. Und prüfe die Script-Namen.
Pirategamer
|
#9 02.02.2014 19:35 Beiträge: 195 |
Mach ich morgen! Hab keine Zeit mehr!
____________________
Wenn man sich den ganzen Tag vornimmt, nichts zu erreichen und das dann auch schafft, hat man dann was erreicht oder nicht?
Wenn ich mich noch nicht revengiert habe für die netten Kommentare, werde ich das nachholen!
Besucht mich in meinem Profil.
LG Pirategamer Ahoi!
Pirategamer
|
#10 03.02.2014 12:51 Beiträge: 195 |
Was meinst du mit "komplett"?
____________________
Wenn man sich den ganzen Tag vornimmt, nichts zu erreichen und das dann auch schafft, hat man dann was erreicht oder nicht?
Wenn ich mich noch nicht revengiert habe für die netten Kommentare, werde ich das nachholen!
Besucht mich in meinem Profil.
LG Pirategamer Ahoi!
Flodder
|
#11 03.02.2014 13:28 Beiträge: 2608 |
Versuch`s mal damit (...Muster):
function CreateTroops() TroopOne = { player = 2, id = 3, strength = 8, position = GetPosition("spawn1"), rodeLength = 1500, spawnTypes = { {Entities.CU_BanditLeaderBow1, 8}, {Entities.CU_BanditLeaderSword2, 8}, }, endless = true, --oder false, spawnPos = GetPosition("spawn1"), spawnGenerator = "tower1", respawnTime = 180, --Angabe in Sekunden refresh = false, --oder true, maxSpawnAmount = 4, noEnemy = true, --oder false, noEnemyDistance = 500, retreatStrength = 5, baseDefenseRange = 1000, outerDefenseRange = 3000, AttackAllowed = false, --oder true, } SetupArmy( TroopOne ) SetupAITroopSpawnGenerator("SpawnTroopOne", TroopOne) ControlTroopOne = StartSimpleJob("ControlTroopOne") end --** function ControlTroopOne() if Counter.Tick2("ControlTroopOne", 10) then if IsAlive(TroopOne) then TickOffensiveAIController(TroopOne) elseif IsAITroopGeneratorDead(TroopOne) then return true end end end
Sollte klappen.
Kannst das spawnType-table und alle anderen Vorgaben gerne Deinen Wünschen entsprechend erweitern, bzw. anpassen.
Achte aber bitte darauf, dass in dem spawnType-table hinter jeder der zu generierenden Armeetypen ein Komma stehen muss.
____________________
Take a Nudelholz und hau it on the Kopp of a bekloppt Person .... to give you a better Gefühl than vorher.
Dieser Beitrag wurde von Flodder am 03.02.2014 um 13:39 editiert.
Pirategamer
|
#12 03.02.2014 18:20 Beiträge: 195 |
Hier ist es:
-------------------------------------------------------------------------------- -- MapName:Schlacht um Burg Amenstein -- -- Author: Pirategamer -- -------------------------------------------------------------------------------- -- 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(_playerId1,_playerId2) SetHostile(_playerId1,_playerId3) SetFriendly(_playerId1,_playerId4) SetPlayerName(1,"Burg Amenstein") SetPlayerName(2,"???") SetPlayerName(3,"Kerberos") SetPlayerName(4,"Varg") end --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- This function is called from main script to init all resources for player(s) function InitResources() -- set some resources AddGold (5000) AddSulfur(6000) AddIron (6000) AddWood (8000) AddStone (5000) AddClay (6000) end --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- This function is called to setup Technology states on mission start function InitTechnologies() ResearchTechnology(Technologies.GT_Construction) ResearchTechnology(Technologies.GT_GearWheel) ResearchTechnology(Technologies.GT_ChainBlock) 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(10) end --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- This function is called on game start and after save game to initialize player colors function InitPlayerColorMapping() Display.SetPlayerColorMapping(1,1) Display.SetPlayerColorMapping(2,5) Display.SetPlayerColorMapping(3,7) Display.SetPlayerColorMapping(4,8) end --++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -- This function is called on game start after all initialization is done function FirstMapAction() local troopDescription = { minNumberOfSoldiers = 0, maxNumberOfSoldiers = 3, experiencePoints = VERYHIGH_EXPERIENCE, leaderType = Entities.PU_LeaderHeavyCavalry2, position = GetPosition("support") } local army = {} local a1 = CreateTroop(army,troopDescription) local a2 = CreateTroop(army,troopDescription) local a3 = CreateTroop(army,troopDescription) local a4 = CreateTroop(army,troopDescription) local troopDescription = { minNumberOfSoldiers = 0, maxNumberOfSoldiers = 8, experiencePoints = VERYHIGH_EXPERIENCE, leaderType = Entities.PU_LeaderSword4, position = GetPosition("support2") } local army = {} local a1 = CreateTroop(army,troopDescription) local a2 = CreateTroop(army,troopDescription) local a3 = CreateTroop(army,troopDescription) local a4 = CreateTroop(army,troopDescription) local troopDescription = { minNumberOfSoldiers = 0, maxNumberOfSoldiers = 8, experiencePoints = VERYHIGH_EXPERIENCE, leaderType = Entities.PU_LeaderSword4, position = GetPosition("support3") } local army = {} local a1 = CreateTroop(army,troopDescription) local a2 = CreateTroop(army,troopDescription) local a3 = CreateTroop(army,troopDescription) local a4 = CreateTroop(army,troopDescription) local a5 = CreateTroop(army,troopDescription) local troopDescription = { minNumberOfSoldiers = 0, maxNumberOfSoldiers = 8, experiencePoints = VERYHIGH_EXPERIENCE, leaderType = Entities.PU_LeaderBow4, position = GetPosition("support4") } local army = {} local a1 = CreateTroop(army,troopDescription) local a2 = CreateTroop(army,troopDescription) local a3 = CreateTroop(army,troopDescription) local a4 = CreateTroop(army,troopDescription) local a5 = CreateTroop(army,troopDescription) local troopDescription = { minNumberOfSoldiers = 0, maxNumberOfSoldiers = 8, experiencePoints = VERYHIGH_EXPERIENCE, leaderType = Entities.PU_LeaderBow4, position = GetPosition("support5") } local army = {} local a1 = CreateTroop(army,troopDescription) local a2 = CreateTroop(army,troopDescription) local a3 = CreateTroop(army,troopDescription) local a4 = CreateTroop(army,troopDescription) local a5 = CreateTroop(army,troopDescription) function CreatePlayer2() player2 = {} player2.id = 2 local description = {serfLimit = 10} SetupPlayerAi(player2.id,description) end function CreatePlayer3() player3 = {} player3.id = 3 local description = {serfLimit = 10} SetupPlayerAi(player3.id,description) end function CreatePlayer4() player4 = {} player4.id = 4 local description = {serfLimit = 10} SetupPlayerAi(player4.id,description) end Army = {} Army.player = 4 Army.id = 1 Army.strength = 3 Army.position = GetPosition("EnemySpawn") Army.rodeLength = 1000 SetupArmy(Army) Army.spawnTypes = { {Entities.PU_LeaderPoleArm4, 8}, {Entities.PU_LeaderPoleArm4, 8}, {Entities.PU_LeaderPoleArm4, 8}, {Entities.PU_LeaderSword4, 8}, {Entities.PU_LeaderSword4, 8}, {Entities.PU_LeaderSword4, 8} } Army.endless = true Army.spawnPos = GetPosition("EnemySpawn") Army.spawnGenerator = "EnemyHQ1" Army.respawnTime = 1 Army.refresh = true Army.maxSpawnAmount = 3 Army.noEnemy = true Army.noEnemyDistance = 500 SetupAITroopSpawnGenerator("EnemyArmy", Army) function ControlDoorOne() local closed = "DoorOneClosed" local opened = "DoorOneOpened" if IsExisting( closed) and not AreEnemiesInArea( 1, GetPosition( closed), 2000) then Sound.PlayGUISound(Sounds.fanfare, 0) Message("Männer, öffnet das Tor!") local entityId = ReplaceEntity( closed, Entities.XD_WallStraightGate) SetEntityName( entityId, opened) elseif IsExisting( opened) and AreEnemiesInArea( 1, GetPosition( opened), 2000) then Sound.PlayGUISound(Sounds.fanfare, 0) Message("Männer, schließt das Tor!") local entityId = ReplaceEntity( opened, Entities.XD_WallStraightGate_Closed) SetEntityName( entityId, closed) end end local VictoryConditionType = 2 if VictoryConditionType == 1 then MapEditor_SetupResourceVictoryCondition( 1000, 1000, 1000, 1000, 1000, 1000 ) elseif VictoryConditionType == 2 then MapEditor_SetupDestroyVictoryCondition(2) end -- Level 0 is deactivated...ignore MapEditor_SetupAI(2, 2, 400000000, 3, "Kerberos", 3, 0) MapEditor_SetupAI(3, 2, 400000000, 2, "Varg", 3, 0) MapEditor_SetupAI(4, 3, 600000000, 2, "der Freund", 3, 0) MapEditor_SetupAI(5, 0, 0, 0, "", 0, 0) MapEditor_SetupAI(6, 0, 0, 0, "", 0, 0) MapEditor_SetupAI(7, 0, 0, 0, "", 0, 0) MapEditor_SetupAI(8, 0, 0, 0, "", 0, 0) -- HQ Defeat Condition MapEditor_CreateHQDefeatCondition() end -- Quest data MapEditor_QuestTitle = "Hauptaufgabe" MapEditor_QuestDescription = "Besiegt die anderen Städte und Hauptquartiere um zu gewinnen."
Es ist das ganze Script!
____________________
Wenn man sich den ganzen Tag vornimmt, nichts zu erreichen und das dann auch schafft, hat man dann was erreicht oder nicht?
Wenn ich mich noch nicht revengiert habe für die netten Kommentare, werde ich das nachholen!
Besucht mich in meinem Profil.
LG Pirategamer Ahoi!
mcb
|
#13 03.02.2014 18:34 Beiträge: 1472 |
Kein Wunder, das das nicht funktioniert
1) Du erstellst Funktionen, um die KI zu aktivieren, rufst diese aber auch nicht auf. (und auch noch an der falschen Stelle...)
2) Du verwendes CreateTroop, ohne zu wissen, was die macht. Besser wäre CreateMilitaryGroup.
Bringen wir das ganze mal auf Vordermann:
function FirstMapAction() function CreatePlayer2() -- ist da falsch! ... end --muss hier aufgerufen werden: CreatePlayer2() end -- muss hier hin: function CreatePlayer2() ... end
Und anstatt dem CreateTroop:
--CreateMilitaryGroup(_player,_entity,_soldiers,_position) CreateMilitaryGroup(1, Entities.PU_LeaderSword4, 8, GetPosition("support"))
Pirategamer
|
#14 03.02.2014 18:41 Beiträge: 195 |
Bau mir das in Scriptsprache ganz auf und poste es hier, da ich Erstens kein Englisch verstehe und Zweitens ich es dann im meinem Script einfügen kann!
____________________
Wenn man sich den ganzen Tag vornimmt, nichts zu erreichen und das dann auch schafft, hat man dann was erreicht oder nicht?
Wenn ich mich noch nicht revengiert habe für die netten Kommentare, werde ich das nachholen!
Besucht mich in meinem Profil.
LG Pirategamer Ahoi!
Fire_Bird
|
#15 03.02.2014 19:01 Beiträge: 719 |
Zitat von Pirategamer:
Bau mir das in Scriptsprache ganz auf und poste es hier, da ich Erstens kein Englisch verstehe und Zweitens ich es dann im meinem Script einfügen kann!
Vielleicht geht das ganze jetzt noch freundlicher?
Pirategamer
|
#16 03.02.2014 19:02 Beiträge: 195 |
OK!
Bitte poste das hier!
____________________
Wenn man sich den ganzen Tag vornimmt, nichts zu erreichen und das dann auch schafft, hat man dann was erreicht oder nicht?
Wenn ich mich noch nicht revengiert habe für die netten Kommentare, werde ich das nachholen!
Besucht mich in meinem Profil.
LG Pirategamer Ahoi!
bobby
|
#17 03.02.2014 19:38 Beiträge: 393 |
Wie wärs wenn du es wenigstens einmal selbst versuchst?
Mach bitte nicht nach jedem Satz ein Rufezeichen, da fühlt man sich permanent angeschrien...
____________________
Tools und Verbesserungen für Siedler: settlers.pro
Neues:
Cutscene Editor
LuaDebugger v0.5.2
Flodder
|
#18 03.02.2014 19:47 Beiträge: 2608 |
Zitat von Pirategamer:
Bau mir das in Scriptsprache ganz auf und poste es hier, da ich Erstens kein Englisch verstehe und Zweitens ich es dann im meinem Script einfügen kann!
Glaube kaum, dass Dir jemand das komplette Skript erstellen wird und dann noch hier reinstellt. Wie soll`s dann mit Dir in Zukunft weitergehen? Wieder Skript erstellen lassen?
Wie willst Du daraus lernen?
Spezifische Fragen kannst Du hier jederzeit stellen. Da wird gerne geholfen, aber ein komplettes Skript? Dazu bräuchte man genau genommen auch noch die entsprechende Karte, weil viele Dinge im direkten Zusammenhang zwischen Map und Skript stehen.
Learning by doing, lieber Kollege.
Fast alle hier sind so angefangen und es hat mitunter Jahre gedauert.
Ein Blick in das Tutorial soll ebenfalls Wunder wirken.
____________________
Take a Nudelholz und hau it on the Kopp of a bekloppt Person .... to give you a better Gefühl than vorher.
Dieser Beitrag wurde von Flodder am 03.02.2014 um 20:01 editiert.
Pirategamer
|
#19 03.02.2014 19:50 Beiträge: 195 |
Ich meinte die Funktion(ich Dummi hab vergessen das zu schreiben).
____________________
Wenn man sich den ganzen Tag vornimmt, nichts zu erreichen und das dann auch schafft, hat man dann was erreicht oder nicht?
Wenn ich mich noch nicht revengiert habe für die netten Kommentare, werde ich das nachholen!
Besucht mich in meinem Profil.
LG Pirategamer Ahoi!
bobby
|
#20 03.02.2014 20:01 Beiträge: 393 |
Ich hab mir dein Skript mal angeschaut und habe jetzt 2 Fragen an dich:
1. Hast du das Editor Tutorial einmal durchgearbeitet?
2. Hast du in dem Skript irgend etwas selbstgeschrieben oder bloß kopiert?
Bei der Funktion würde es sich in deinem Fall nämlich um dein gesamtes Skript handeln
____________________
Tools und Verbesserungen für Siedler: settlers.pro
Neues:
Cutscene Editor
LuaDebugger v0.5.2
Seiten: 1