Skripten: Was mach ich Falsch

» Siedler Map Source Forum » Siedler DEdK Script Forum » Skripten: Was mach ich Falsch

Seiten: 1

Toby
#1
06.05.2010 18:00
Beiträge: 17

Skripten: Was mach ich Falsch

Was mach ich Falsch das ser Skript nicht Läuft??

Hier ist mal mein Skript.

--------------------------------------------------------------------------------
-- MapName: Die Suche nach Gold
--
-- Author: Toby
--
--------------------------------------------------------------------------------

-- 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)
SetFriendly(1,3)
SetHostile(1,4)
SetNeutral(2,3)
SetFriendly(2,4)
SetNeutral(3,4)
end


--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called from main script to init all resources for player(s)
function InitResources()
    -- set some resources
    AddGold  (0)
    AddSulfur(0)
    AddIron  (0)
    AddWood  (0)
    AddStone (0)
    AddClay  (0)
end

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called to setup Technology states on mission start
function InitTechnologies()
ForbidTechnology(GT_Alchemy,1)
ForbidTechnology(GT_Matchlock,1)
ForbidTechnology(GT_Alloying,1)
ForbidTechnology(GT_Metallurgy,1)
ForbidTechnology(GT_Chemistry,1)
ReserchTechnology(GT_Construction,1)

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(120)
  AddPeriodicRain(45)
  AddPeriodicSummer(10)
  AddPeriodicRain(5)
  AddPeriodicSummer(10)
  AddPeriodicWinter(75)
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()
CreateBriefingBishop()
CreateArmyOne()
CreateGoldChest1()

  local VictoryConditionType = 2

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

  function CreateBriefingBishop()
  BriefingBishop = {}
  BriefingBishop.restoreCamera = true
  BriefingBishop.finished = tributanBishof

  local page = 0

  --page #1

    page = page + 1

    BriefingBishop[page] = {}
    BriefingBishop[page].title = "Bishop"
    BriefingBishop[page].text = "Wilkommen mein Herr in unserem bescheidenen Kloster."
    BriefingBishop[page].position = GetPosition("Bishop" )
    BriefingBishop[page].dialogCamera = true

  --page #2

    page = page + 1

    BriefingBishop[page] = {}
    BriefingBishop[page].title = "Dario"
    BriefingBishop[page].text = "Danke ich bin sehr geehrt aber warum ist denn das Kloster so klein?"
    BriefingBishop[page].position = GetPosition("Dario" )
    BriefingBishop[page].dialogCamera = true

  --page #3

    page = page + 1

    BriefingBishop[page] = {}
    BriefingBishop[page].title = "Bishop"
    BriefingBishop[page].text = "Dieser Nebel da. Er ist so dicht das man fast seine Hände nicht mehr vor seinen Augen sehen kann."
    BriefingBishop[page].position = GetPosition("Fog" )
    BriefingBishop[page].dialogCamera = true



    local npcBishop = {}
    NpcBishop.name = "Bishop"
    NpcBishop.briefing = BriefingBishop

    CreateNPC (npcBishop)
end

    function CreateArmyOne()
armyOne = {}
armyOne.player = 4
armyOne.id = 1
armyOne.strength = 10
armyOne.position = GetPosition("Truppen" )
armyOne.rodeLength = 1500
SetupArmy(armyOne)
local troopDescription = {
maxNumberOfSoldiers = 15,
minNumberOfSoldiers = 5,
experiencePoints = LOW_EXPERIENCE,
}
troopDescription.leaderType = Entities.CU_Evil_LeaderBearman1
EnlargeArmy(armyOne,troopDescription)
EnlargeArmy(armyOne,troopDescription)
EnlargeArmy(armyOne,troopDescription)
Defend(armyOne)
end

funktion CreateGoldChest1()
 CreateGoldChest(GetPosition("GoldChest1" ))
 CreateChestOpener("Dario" )
 StartChestQuest()
end


  -- Level 0 is deactivated...ignore
  MapEditor_SetupAI(2, 0, 19000, 2, "", 1, 1)
  MapEditor_SetupAI(3, 0, 0, 0, "", 0, 0)
  MapEditor_SetupAI(4, 0, 0, 0, "", 0, 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        = "Besiege Kerbaros"
MapEditor_QuestDescription   = "Besiege Kerbaros auf seiner Bergfestung."



Ich bekomme weder eine Truhe noch eine Armee noch ein Briefing(Ausrufezeichen)

____________________
Manche Maps sind leichter
andere nicht,
doch sie machen alle Spaß wenn man nicht gleich aufgiebt

Dieser Beitrag wurde von Toby am 15.05.2010 um 14:16 editiert.

kingsia
#2
06.05.2010 18:35
Beiträge: 750

Ein falsche Funktionsaufruf und Funktionen an falsche Stellen.
Versuch es mit folgendes.

Gruss
Kingsia

--------------------------------------------------------------------------------
-- MapName: Die Suche nach Gold
--
-- Author: Toby
--
--------------------------------------------------------------------------------

-- 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)
SetFriendly(1,3)
SetHostile(1,4)
SetNeutral(2,3)
SetFriendly(2,4)
SetNeutral(3,4)
end


--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called from main script to init all resources for player(s)
function InitResources()
-- set some resources
AddGold (0)
AddSulfur(0)
AddIron (0)
AddWood (0)
AddStone (0)
AddClay (0)
end

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called to setup Technology states on mission start
function InitTechnologies()
ForbidTechnology(GT_Alchemy,1)
ForbidTechnology(GT_Matchlock,1)
ForbidTechnology(GT_Alloying,1)
ForbidTechnology(GT_Metallurgy,1)
ForbidTechnology(GT_Chemistry,1)
ReserchTechnology(GT_Construction,1)

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(120)
AddPeriodicRain(45)
AddPeriodicSummer(10)
AddPeriodicRain(5)
AddPeriodicSummer(10)
AddPeriodicWinter(75)
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()
CreateBriefingBishop()
CreateArmyOne()
CreateGoldChest1()

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, 0, 19000, 2, "", 1, 1)
MapEditor_SetupAI(3, 0, 0, 0, "", 0, 0)
MapEditor_SetupAI(4, 0, 0, 0, "", 0, 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

-- Diese Block an eine Stelle ausserhalb der FMA verschoben
function CreateBriefingBishop()
BriefingBishop = {}
BriefingBishop.restoreCamera = true
BriefingBishop.finished = tributanBishof

local page = 0

--page #1

page = page + 1

BriefingBishop[page] = {}
BriefingBishop[page].title = "Bishop"
BriefingBishop[page].text = "Wilkommen mein Herr in unserem bescheidenen Kloster."
BriefingBishop[page].position = GetPosition("Bishop" )
BriefingBishop[page].dialogCamera = true

--page #2

page = page + 1

BriefingBishop[page] = {}
BriefingBishop[page].title = "Dario"
BriefingBishop[page].text = "Danke ich bin sehr geehrt aber warum ist denn das Kloster so klein?"
BriefingBishop[page].position = GetPosition("Dario" )
BriefingBishop[page].dialogCamera = true

--page #3

page = page + 1

BriefingBishop[page] = {}
BriefingBishop[page].title = "Bishop"
BriefingBishop[page].text = "Dieser Nebel da. Er ist so dicht das man fast seine Hände nicht mehr vor seinen Augen sehen kann."
BriefingBishop[page].position = GetPosition("Fog" )
BriefingBishop[page].dialogCamera = true



local npcBishop = {}
NpcBishop.name = "Bishop"
NpcBishop.briefing = BriefingBishop

CreateNPC (npcBishop)
end

function CreateArmyOne()
armyOne = {}
armyOne.player = 4
armyOne.id = 1
armyOne.strength = 10
armyOne.position = GetPosition("Truppen" )
armyOne.rodeLength = 1500
SetupArmy(armyOne)
local troopDescription = {
maxNumberOfSoldiers = 15,
minNumberOfSoldiers = 5,
experiencePoints = LOW_EXPERIENCE,
}
troopDescription.leaderType = Entities.CU_Evil_LeaderBearman1
EnlargeArmy(armyOne,troopDescription)
EnlargeArmy(armyOne,troopDescription)
EnlargeArmy(armyOne,troopDescription)
Defend(armyOne)
end

--funktion CreateGoldChest1()  -- falsch geschrieben
function CreateGoldChest1()
CreateGoldChest(GetPosition("GoldChest1" ))
CreateChestOpener("Dario" )
StartChestQuest()
end

-- Quest data
MapEditor_QuestTitle = "Besiege Kerbaros"
MapEditor_QuestDescription = "Besiege Kerbaros auf seiner Bergfestung."

warrior1024
#3
06.05.2010 19:55
Beiträge: 345

Noch ein paar Hinweise:
Du kannst per [code]Hier könnte ihre Werbung stehen![/code] ein Skript posten. Das sieht dann so aus:

Hier könnte ihre Werbung stehen!


Außerdem hast du in deinem Skript einen 5-Sekunden-Regen, aber der Wetterwechsel dauert länger. Je nach GFX-Set unterschiedlich. Das müsste dann komisch aussehen, wenn z.B. die Sichtweite noch gering ist, aber schon Schneeflocken fallen/die Sonne scheint.
Und damit du nicht bei jedem Fehler nachfragen musst:
http://www.siedler-games.de/si...als:fehlermeldungen_aktivieren

Oh, und die meisten Spieler hassen Regen wie die Pest! Wenn du eine Map hier auf der Base veröffentlichst, inder unnötig Regen ist, wirst du schon miese Beurteilungen bekommen.
Bei Skriptfragen PN(persöhnliche Nachricht) an irgendeinen Skripter auf der Base, die sind alle zahm, keine Angst

warrior1024

____________________
"Banken machen keine Fehlentscheidungen! Haben Euch das Eure Eltern nicht beigebracht?"
- Bankier Samael Silren, Enderal

Kalle
#4
06.05.2010 19:59
Beiträge: 1150

zunächst vermisse ich ein " END " für die FMA....

Zitat von toby:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called on game start after all initialization is done
function FirstMapAction()
....
if VictoryConditionType == 1 then
MapEditor_SetupResourceVictoryCondition(1000,1000,1000,1000,1000,1000 )
elseif VictoryConditionType == 2 then
MapEditor_SetupDestroyVictoryCondition(2)
end

end -- das hier fehlt!!!

function CreateBriefingBishop()
...



Versuch Dich mal im Thema Notepad++ einzulesen, der hilft dabei. Jede Funktion braucht ein END:

function FirstMapAction()
  -- dies und das
end

function CreateBriefingBishop()
  -- dies und jenes
end



... und durch die vom Editor vorgegebene Victory... fehlt nach dem IF ein END, wofür das end von der FMA verwendet wird. Falls Du noch im internen Editor scriptest, musst Du nur mal " Prüfe Script " aufrufen, der sollte meckern...

Viel Übung ist nötig, solche Fehler zu vermeiden.

Tipp:

Solange Du mit dem MapEditor scriptest, nutze immer wieder, sobald Du eine Funktion neu dazugeschrieben hast, den Syntax-Check (Script - Teste Script), da kannst Du schon mal in Teilen erkennen, wo ein Fehler liegt.

Der zweite Fehler ist ein Schreibfehler am Ende des Scripts:
funktion CreateGoldChest1()
-- schreibt sich FUNCTION mit C !!!!

Also, etwas scripten, Syntax prüfen. Oder hier: Speichern, und Teile (von Function bis end ) löschen, testen... so findet man Fehler!

Gruß
Kalle

____________________
Lieber Siedeln statt (fern)sehen.....

Anarki
#5
06.05.2010 20:25
Beiträge: 518

Mh, ich habe hier mal einen Beitrag gelesen, indem gefragt wurde:
Wie lang braucht man um Skripten zu lernen?

Die Antwort sah in etwa so aus:
- allgemeine Programmiergrundlagen sind ein Vorteil, geht natürlich auch ohne
- 3-6 Monate wenn man sich damit immer wieder beschäftigt, aber man lernt nie aus

Naja, meine Erfahrung, weil ich das volle Programm durchgemacht habe... ohne Ausführliches Studium des dedk-Scriptwikis geht garnix.

Der Lesefaule wird also nicht viel schaffen
Kleine Maps mit ganz einfacher KI sind vermutlich mal auch so zu schaffen und für den anfang sicher auch schon nicht schlecht.

____________________
Siedler V Tool: Selbstextrahierende Maps erstellen
Bitte testen und kommentieren

kingsia
#6
06.05.2010 20:52
Beiträge: 750

Zitat von Kalle:
zunächst vermisse ich ein " END " für die FMA....


Hallo Kalle, das hatte ich auch erst gedacht aber wenn man die Funktionen nach der FMA schiebt stimmt es wie es geschrieben ist. Also kein fehlende END.

Zitat von Kalle:
Der zweite Fehler ist ein Schreibfehler am Ende des Scripts:
funktion CreateGoldChest1()
-- schreibt sich FUNCTION mit C !!!!


Hatte ich Toby schon angewiesen. Lies bitte den vorherige Posts bevor du die gleiche Information nochmal gibst.

Zitat von Kalle:
Also, etwas scripten, Syntax prüfen. Oder hier: Speichern, und Teile (von Function bis end ) löschen, testen... so findet man Fehler!

Gruß
Kalle


Stimme ich zu
Gruss
Kingsia

Toby
#7
07.05.2010 14:30
Beiträge: 17

kingsia der Skriptcode von oben der Funktioniert immernoch nicht ich habe mir erlaupt es mit Copy-Paste mal zu versuchen und er läuft immernoch nicht.

Zitat von kingsia

-- This function is called on game start after all initialization is done
function FirstMapAction()
CreateBriefingBishop()
CreateArmyOne()
CreateGoldChest1()

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, 0, 19000, 2, "", 1, 1)
MapEditor_SetupAI(3, 0, 0, 0, "", 0, 0)
MapEditor_SetupAI(4, 0, 0, 0, "", 0, 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

-- Diese Block an eine Stelle ausserhalb der FMA verschoben
function CreateBriefingBishop()
BriefingBishop = {}
BriefingBishop.restoreCamera = true
BriefingBishop.finished = tributanBishof

local page = 0

--page #1

page = page + 1

BriefingBishop[page] = {}
BriefingBishop[page].title = "Bishop"
BriefingBishop[page].text = "Wilkommen mein Herr in unserem bescheidenen Kloster."
BriefingBishop[page].position = GetPosition("Bishop" )
BriefingBishop[page].dialogCamera = true

--page #2

page = page + 1

BriefingBishop[page] = {}
BriefingBishop[page].title = "Dario"
BriefingBishop[page].text = "Danke ich bin sehr geehrt aber warum ist denn das Kloster so klein?"
BriefingBishop[page].position = GetPosition("Dario" )
BriefingBishop[page].dialogCamera = true

--page #3

page = page + 1

BriefingBishop[page] = {}
BriefingBishop[page].title = "Bishop"
BriefingBishop[page].text = "Dieser Nebel da. Er ist so dicht das man fast seine Hände nicht mehr vor seinen Augen sehen kann."
BriefingBishop[page].position = GetPosition("Fog" )
BriefingBishop[page].dialogCamera = true



local npcBishop = {}
NpcBishop.name = "Bishop"
NpcBishop.briefing = BriefingBishop

CreateNPC (npcBishop)
end

function CreateArmyOne()
armyOne = {}
armyOne.player = 4
armyOne.id = 1
armyOne.strength = 10
armyOne.position = GetPosition("Truppen" )
armyOne.rodeLength = 1500
SetupArmy(armyOne)
local troopDescription = {
maxNumberOfSoldiers = 15,
minNumberOfSoldiers = 5,
experiencePoints = LOW_EXPERIENCE,
}
troopDescription.leaderType = Entities.CU_Evil_LeaderBearman1
EnlargeArmy(armyOne,troopDescription)
EnlargeArmy(armyOne,troopDescription)
EnlargeArmy(armyOne,troopDescription)
Defend(armyOne)
end

--funktion CreateGoldChest1()  -- falsch geschrieben
function CreateGoldChest1()
CreateGoldChest(GetPosition("GoldChest1" ))
CreateChestOpener("Dario" )
StartChestQuest()
end

-- Quest data
MapEditor_QuestTitle = "Besiege Kerbaros"
MapEditor_QuestDescription = "Besiege Kerbaros auf seiner Bergfestung."


Gruß,
Toby

____________________
Manche Maps sind leichter
andere nicht,
doch sie machen alle Spaß wenn man nicht gleich aufgiebt

kingsia
#8
07.05.2010 16:30
Beiträge: 750

Der Bischof wird nicht als NPC markiert wegen der Gross/Klein-schreibung.

local npcBishop = {}
NpcBishop.name = "Bishop"
NpcBishop.briefing = BriefingBishop

CreateNPC (npcBishop)



Es muss entweder so sein

local npcBishop = {}
npcBishop.name = "Bishop"
npcBishop.briefing = BriefingBishop

CreateNPC (npcBishop)



oder

local NpcBishop = {}
NpcBishop.name = "Bishop"
NpcBishop.briefing = BriefingBishop

CreateNPC (NpcBishop)



Gruss
Kingsia

Toby
#9
07.05.2010 19:49
Beiträge: 17

Der skript sieht momentan so aus und funktionirt imernoch nicht(Briefing)

function FirstMapAction()
createBriefingBishop()
createGoldChest1()

end


function createBriefingBishop() 
BriefingBishop = {} 
BriefingBishop.restoreCamera = true 
local page = 0 
-- page #1 
page = page + 1 
BriefingBishop[page] = {} 
BriefingBishop[page].title = "Bishop" 
    BriefingBishop[page].text = "Willkommen mein Herr in unserem bescheidenen Kloster." 
BriefingBishop[page].position = GetPosition("bishop") 
BriefingBishop[page].dialogCamera = true 
-- page #2 
page = page + 1 
BriefingBishop[page] = {} 
BriefingBishop[page].title = "Bishop" 
    BriefingBishop[page].text = "Danke ich bin sehr geehrt aber warum ist denn das Kloster so klein?"
BriefingBishop[page].position = GetPosition("Dario") 
BriefingBishop[page].explore = BRIEFING_EXPLORATION_RANGE 
BriefingBishop[page].marker = ANIMATED_MARKER 
-- page #3 
page = page + 1 
BriefingBishop[page] = {} 
BriefingBishop[page].title = "Bishop" 
    BriefingBishop[page].text = "Dieser Nebel da. Er ist so dicht das man fast seine Hände nicht mehr vor seinen Augen sehen kann." 
BriefingBishop[page].position = GetPosition("Fog")  
local npcBishop = {}
npcBishop.name="Bishop"
npcBishop.brifing = BriefingBishop
CreateNPC(npcBishop) 
end 



____________________
Manche Maps sind leichter
andere nicht,
doch sie machen alle Spaß wenn man nicht gleich aufgiebt

Dieser Beitrag wurde von Toby am 08.05.2010 um 10:05 editiert.

kingsia
#10
07.05.2010 20:12
Beiträge: 750

Wegen ein Tippfehler kann es auch nicht funktionieren

npcBishop.brifing = BriefingBishop



Muss so sein

npcBishop.briefing = BriefingBishop



gruss
Kingsia

Peter-FS
#11
07.05.2010 22:53
Beiträge: 1086

Noch ein Schreibfehler (Research) aus dem ersten Eintrag.

ReserchTechnology(GT_Construction,1)



Ich verwende es so

ResearchTechnology(Technologies.GT_Construction, 1)



Gruß Peter

____________________
Man muss nicht alles wissen, man muss nur wissen wo es steht!

Peter-FS
#12
07.05.2010 23:36
Beiträge: 1086

Karte getestet

Hallo Toby,
so fuktionierts, wenn alle Positionen vorhanden sind. Du musst deinen Figuren aber auch diese Namen geben.
Dario, Bishop, Fog, Truppen, GoldChest1
Hauptquartier Player1 und Player2

Wenn es immer noch nicht funktioniert, kann ich dir auch die Testkarte schicken.

Peter


--------------------------------------------------------------------------------
-- MapName: Die Suche nach Gold
--
-- Author: Toby
--
--------------------------------------------------------------------------------

-- 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)
SetFriendly(1,3)
SetHostile(1,4)
SetNeutral(2,3)
SetFriendly(2,4)
SetNeutral(3,4)
end


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

--++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-- This function is called to setup Technology states on mission start
function InitTechnologies()
ForbidTechnology(Technologies.GT_Alchemy,1)
ForbidTechnology(Technologies.GT_Matchlock,1)
ForbidTechnology(Technologies.GT_Alloying,1)
ForbidTechnology(Technologies.GT_Metallurgy,1)
ForbidTechnology(Technologies.GT_Chemistry,1)
ResearchTechnology(Technologies.GT_Construction, 1)

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(120)
--AddPeriodicRain(45)
--AddPeriodicSummer(10)
--AddPeriodicRain(5)
--AddPeriodicSummer(10)
--AddPeriodicWinter(75)
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()
CreateBriefingBishop()
CreateArmyOne()
CreateGoldChest1()

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, 0, 19000, 2, "", 1, 1)
MapEditor_SetupAI(3, 0, 0, 0, "", 0, 0)
MapEditor_SetupAI(4, 0, 0, 0, "", 0, 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

-- Diese Block an eine Stelle ausserhalb der FMA verschoben
function CreateBriefingBishop()
BriefingBishop = {}
BriefingBishop.restoreCamera = true
--BriefingBishop.finished = tributanBishof

local page = 0

--page #1

page = page + 1

BriefingBishop[page] = {}
BriefingBishop[page].title = "Bishop"
BriefingBishop[page].text = "Wilkommen mein Herr in unserem bescheidenen Kloster."
BriefingBishop[page].position = GetPosition("Bishop" )
BriefingBishop[page].dialogCamera = true

--page #2

page = page + 1

BriefingBishop[page] = {}
BriefingBishop[page].title = "Dario"
BriefingBishop[page].text = "Danke ich bin sehr geehrt aber warum ist denn das Kloster so klein?"
BriefingBishop[page].position = GetPosition("Dario" )
BriefingBishop[page].dialogCamera = true

--page #3

page = page + 1

BriefingBishop[page] = {}
BriefingBishop[page].title = "Bishop"
BriefingBishop[page].text = "Dieser Nebel da. Er ist so dicht das man fast seine Hände nicht mehr vor seinen Augen sehen kann."
BriefingBishop[page].position = GetPosition("Fog" )
BriefingBishop[page].dialogCamera = true



local npcBishop = {}
npcBishop.name = "Bishop"
npcBishop.briefing = BriefingBishop

CreateNPC (npcBishop)
end

function CreateArmyOne()
armyOne = {}
armyOne.player = 2
armyOne.id = 1
armyOne.strength = 10
armyOne.position = GetPosition("Truppen" )
armyOne.rodeLength = 1500
SetupArmy(armyOne)
local troopDescription = {
maxNumberOfSoldiers = 15,
minNumberOfSoldiers = 5,
experiencePoints = LOW_EXPERIENCE,
}
troopDescription.leaderType = Entities.CU_Evil_LeaderBearman1
EnlargeArmy(armyOne,troopDescription)
EnlargeArmy(armyOne,troopDescription)
EnlargeArmy(armyOne,troopDescription)
Defend(armyOne)
end

--funktion CreateGoldChest1()  -- falsch geschrieben
function CreateGoldChest1()
CreateGoldChest(GetPosition("GoldChest1" ))
CreateChestOpener("Dario" )
StartChestQuest()
end

-- Quest data
MapEditor_QuestTitle = "Besiege Kerbaros"
MapEditor_QuestDescription = "Besiege Kerbaros auf seiner Bergfestung."



____________________
Man muss nicht alles wissen, man muss nur wissen wo es steht!

Toby
#13
08.05.2010 09:15
Beiträge: 17

Es hat sich geklärt

function FirstMapAction()
createBriefingBishop()
createGoldChest1()

end


function createBriefingBishop() 
BriefingBishop = {} 
BriefingBishop.restoreCamera = true 
local page = 0 
-- page #1 
page = page + 1 
BriefingBishop[page] = {} 
BriefingBishop[page].title = "Bishop" 
    BriefingBishop[page].text = "Willkommen mein Herr in unserem bescheidenen Kloster." 
BriefingBishop[page].position = GetPosition("bishop")
-- page #2 
page = page + 1 
BriefingBishop[page] = {} 
BriefingBishop[page].title = "Dario" 
    BriefingBishop[page].text = "Danke ich bin sehr geehrt aber warum ist denn das Kloster so klein?"
BriefingBishop[page].position = GetPosition("Dario")   
-- page #3 
page = page + 1 
BriefingBishop[page] = {} 
BriefingBishop[page].title = "Bishop" 
    BriefingBishop[page].text = "Dieser Nebel da. Er ist so dicht das man fast seine Hände nicht mehr vor seinen Augen sehen kann." 
BriefingBishop[page].position = GetPosition("Fog")
BriefingBishop[page].explore = BRIEFING_EXPLORATION_RANGE  
local npcBishop = {}
npcBishop.name="Bishop"
npcBishop.briefing = BriefingBishop --npcBishop.briefing falsch geschriben
CreateNPC(npcBishop) 
end 
 

function createGoldChest1()
CreateRandomGoldChest(GetPosition("GoldChest1")) 
CreateChestOpener("Dario") 
StartChestQuest() 
end



Danke kingsia der Tippfehler hat auch die Truhe blockiert sodass sie nicht erschienen ist.

Gruß,
Toby

____________________
Manche Maps sind leichter
andere nicht,
doch sie machen alle Spaß wenn man nicht gleich aufgiebt

kingsia
#14
08.05.2010 19:02
Beiträge: 750

Man muss bei dem klein/gross-schreiben wirklich aufpassen.
Genauso wie bei der deutsche Sprache.
Soll ich "ihre" oder "Ihre" schreiben?

Strg-C und Strg-V kann sehr hilfreich sein.

Gruss
Kingsia

Seiten: 1

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

Impressum