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
#6
29.06.2008 10:05
Beiträge: 37

ok danke

____________________
Siedler is Back

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

SiteEngine v1.5.0 by nevermind, ©2005-2007
Design by SpiderFive (www.siedler-games.de) - English translation by juja

Impressum