Problem mit dem Script
» Siedler Map Source Forum » Mapping » Problem mit dem Script
Seiten: 1
Dragonking
|
#1 27.06.2008 21:23 Beiträge: 37 |
Problem mit dem Script
Hilfee!
Irgendwas ist an diesen Script falsch könnte mir jemand bitttttttttte helfen ich wäre sehr dankbar!
-- This function is called on game start after all initialization is done function FirstMapAction() CreatePreludeBriefing(); end function CreatePreludeBriefing() local briefing = {}; local AP = function(_page) table.insert(briefing, _page); return _page; end; local page1 = AP{ title = "Missionsziel", text = "Vernichte die Burg von Graf pedo der älteste.Doch passt auf es wird bald Winter werden und dann wird er euch angreiffen!", position = GetPosition("Player2"), explore = BRIEFING_EXPLORATION_RANGE, marker = ANIMATED_MARKER }; local page2 = AP{ title = "Drake", text = "Wir müssen so schnell wie möglich die Burg zerstören!Vielleicht geben unds ja die Leute aus denn Gemeiden Tipps!?", position = GetPosition("Drake" ), dialogCamera = true, quest = { title = "1.Auftrag", text = "Vernichte die Burg", type = MAINQUEST_OPEN, id = 1 } }; briefing.finished = function() ResolveBriefing(page1); ResolveBriefing(page2); end; StartBriefing(briefing); end local npc = {} npc.name = "bishop" npc.briefing = NpcBriefing npc.heroName = "Drake" npc.wrongHeroMessage = "Wer bist du?Hau ab!" npc.follow = "Drake" CreateNPC(npc) function CreateNpcKarl() local npc = { name = "Karl" callback = BriefingKarl, } CreateNPC(npc) end function BriefingKarl() local briefing = {} local AP = ... AP{ title = "Hilfe", text = "Helft uns und zerstört die Burg!Ich habe gehört,dass sie im Winter euch angreiffen wollen!Ihr solltet eure armee teilen!", position = GetPosition("bishop"), dialogCamera = true, } StartBriefing(briefing) end function CreateArmyOne() armyOne = { player = 2, id = 1, strength = 8, position = GetPosition("armyOne"), rodeLength = 4000 } SetupArmy(armyOne) local troopDescription = { maxNumberOfSoldiers = 4, minNumberOfSoldiers = 4, experiencePoints = HIGH_EXPERIENCE, leaderType = Entities.PU_LeaderBow3 for i = 1, 8 do EnlargeArmy(armyOne, troopDescription) end StartSimpleJob("ControlArmyOne") end function ControlArmyOne() if Counter.Tick2("ControlArmyOne", 10) then if IsDead(armyOne) then return true end Attack(armyOne) end end function CreateSupportTroops() CreateMilitaryGroup(1, Entities.PU_LeaderBow4, 8, GetPosition("supporttroops"), "bows") for i = 1, 3 do CreateMilitaryGroup(1, Entities.PU_LeaderSword2, 4, GetPosition("supporttroops")) end end Move("bows", "Player_HQ") function CreateArmyTwo() armyTwo= { player = 3, id = 1, strength = 8, position = GetPosition("armyTwo") rodeLength = 4000 } SetupArmy(armyTwo) local troopDescription = { maxNumberOfSoldiers = 4, minNumberOfSoldiers = 0, experiencePoints = MEDIUM_EXPERIENCE, leaderType = Entities.PU_LeaderSword2 } for i = 1, 8 do EnlargeArmy(armyTwo, troopDescription) end local troopDescription = { maxNumberOfSoldiers = 6, minNumberOfSoldiers = 0, experiencePoints = LOW_EXPERIENCE, leaderType = Entities.PU_LeaderBow2 } for i = 1, 6 do EnlargeArmy(armyTwo, troopDescription) end local troopDescription = { maxNumberOfSoldiers = 8, minNumberOfSoldiers = 0, experiencePoints = LOW_EXPERIENCE, leaderType = Entities.PU_LeaderPoleArm3 } for i = 1, 4 do EnlargeArmy(armyOne, troopDescription) end StartSimpleJob("ControlArmyOne") 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, 50000, 2, "Graf Pedo der älteste", 2, 100) MapEditor_SetupAI(3, 1, 50000, 1, "Graf Pedo der jüngste", 2, 20) MapEditor_SetupAI(4, 1, 50000, 0, "Anhänger vom Major", 2, 10) MapEditor_SetupAI(5, 0, 0, 0, "Minenarbeiter", 0, 0) MapEditor_SetupAI(6, 0, 0, 0, "Bauer", 0, 0) MapEditor_SetupAI(7, 0, 0, 0, "Bergdorf", 0, 0) MapEditor_SetupAI(8, 0, 0, 0, "", 0, 0) -- HQ Defeat Condition MapEditor_CreateHQDefeatCondition() end -- Quest data MapEditor_QuestTitle = "Brennende Steppe" MapEditor_QuestDescription = "Zerstört so schnell wie möglich denn AuÃ?enposten!"
____________________
Siedler is Back
Dieser Beitrag wurde von nevermind am 28.06.2008 um 13:52 editiert.
trabbi
DAS Auto... |
#2 27.06.2008 22:15 Beiträge: 183 |
Überarbeite das Script nochmal.
Es fehlen einige end !!
Du hast da functionen, die nicht geschlossen werden.
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
Dragonking
|
#3 28.06.2008 11:54 Beiträge: 37 |
hä ich find keine stelle wo ich noch ein end einsetzten muss?
____________________
Siedler is Back
nevermind
Siedler Map Source Admin (Web) |
#4 28.06.2008 13:58 Beiträge: 483 |
Wiki Tutorials lesen und Lua lernen. Wenn du keinerlei Ahnung hast, kann man dir auch nicht mit guten Ratschlägen helfen. Da müsste man dir schon die Fehler korrigieren und da hat hier wohl keiner Lust drauf.
____________________
LUA_ERRSYNTAX: [string "?"]:1: `=' expected near `<eof>'
trabbi
DAS Auto... |
#5 28.06.2008 20:24 Beiträge: 183 |
Bei SetupArmy(armyOne) fehlt schon mal die abschließende
geschweifte Klammer.
Desweiteren lässt Du 2x die armyOne kontrollieren.
Weiter hab ich noch nicht gesehen.
Schau noch mal komplett durch.
Du findest die Fehler alleine.
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
Dragonking
|
#7 06.07.2008 23:52 Beiträge: 37 |
So, da ich jetzt schon mehr von denn Briefing kapiert hab,hab ich mich mal auf die NPC Briefings konzentriert.Da ich bei diesen kleinen Script sehr sicher bin ist er immer noch falsch.Es wäre sehr net wenn mir jemand sagen könnte was ich nur falsch mache dann könnte ich meine Kampanie starten.
function BriefingWanderer() local briefing = {} local AP = ... AP{ title = "Erec", text = "Was macht ihr hier", position = GetPosition("Erec"), dialogCamera = true, } AP{ title = "Wanderer", text = "Was ich hier mache,Verstecken vor denn Banditen da oben,ich glaube die kommen von Stadthalter Kadir.Hab gehört der is wieder da", position = GetPosition("Wanderer"), dialogCamera = true, } StartBriefing(briefing) end
____________________
Siedler is Back
Dieser Beitrag wurde von nevermind am 07.07.2008 um 23:29 editiert.
Peermanent
|
#8 07.07.2008 23:01 Beiträge: 168 |
Vom Grundsatz ist an dem Briefing ist nichts falsches, nur solltest du schon schreiben was du willst oder erreichen möchtest, nur so kann dir geholfen werden.
Eine gute Info-Quelle mit zahlreichen Beispielen ist.
http://www.chromix.de/dedk/dokuwiki/doku.php/tutorials:index
Desweiten kannst du auch hier fragen, soweit es möglich ist wird dir auch dort geholfen
http://www.siedler-games.de/fo...-der-koenige-smg-3-siedeln-3d/
Auch werden dir erfahrene Mapper und Scripter deine Fragen gern per PN, E-Mail, Skype, ICQ MSN, beantworten, sofern du gewillt bist diese Hilfe anzunehmen. Nur wird dir keiner ein Komplettes Script schreiben
Gruß
Peermanent
trabbi
DAS Auto... |
#9 08.07.2008 11:04 Beiträge: 183 |
Hast Du auch das grundlegende Script, einschließlich
FMA dringelassen ?? FMA leicht verändert ??
Von hier rufst Du vor dem letzten end, Dein Briefing auf !
Wichtig dazu sind aber auch function AddPages und function CreateShortPage. Die kommen so ziemlich ans Ende des Scriptes.
Denn nur das Briefing alleine, bewirkt .... nix !!!
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
Seiten: 1