Truppen per Script
» Siedler Map Source Forum » Siedler DEdK Script Forum » Truppen per Script
Seiten: 1
andre111
|
#1 29.01.2010 14:11 Beiträge: 220 |
Truppen per Script
hallo,
ich habe versucht mit:
function createTrupA() local troopDescription = { maxNumberofSoldiers = 5, minNumberOfSoldiers = 0, experiencePoints = HIGH_EXPERIENCE, leaderType = Entities.PU_LeaderSword2, position = GetPosition("nahkampf"), } local army = {} CreateTroop(army,troopDescription) end
einen Trupp Schwertkämpfer zu erstellen, aber es erscheint immer nur ein Hauptmann ohne Truppen.
Was ist hier falsch?
FG
andre111
Wladimir
|
#2 29.01.2010 14:14 Beiträge: 489 |
Zitat von andre111:
hallo,
ich habe versucht mit:
function createTrupA() local troopDescription = { maxNumberofSoldiers = 5, minNumberOfSoldiers = 0, experiencePoints = HIGH_EXPERIENCE, leaderType = Entities.PU_LeaderSword2, position = GetPosition("nahkampf"), } local army = {} CreateTroop(army,troopDescription) end
einen Trupp Schwertkämpfer zu erstellen, aber es erscheint immer nur ein Hauptmann ohne Truppen.
Was ist hier falsch?
FG
andre111
Hallo andre111,
du hast das ScriptEntity wahrscheinlich auf unbegehbarem Terrain platziert.
Bei sowas erscheint immer nur der Hauptmann; die Soldaten werden sofort tot gemacht!
Wladimir.
PS: Welchem Spieler werden die Truppen denn hier zugeordnet?
____________________
Viele, die leben, verdienen den Tod und viele die tot sind, das Leben. Kannst du es ihnen geben? Dann sei auch nicht so rasch mit einem Todesurteil zur Hand!
Gandalf
aCid
|
#3 29.01.2010 14:16 Beiträge: 275 |
fehlt (vlt.) noch
EnlargeArmy(_army,_troop)
bzw.
Tools.AttachSoldiersToLeader(_army,_troop)
_army = name der armee
_troop = anzahl der soldaten, die hinzugefügt werden sollen.
bei dir wäre es dann:
EnlargeArmy(army, maxNumberofSoldiers)
bzw.
Tools.AttachSoldiersToLeader(army, maxNumberofSoldiers)
____________________
Das ist und bleibt ein Spiel! - Wir sind hier nicht vor Gericht.
----------------------------------------------------------------------
Mapperhilfen für S5:
http://www.siedler-maps.de/forum/Siedler-DEdK-Script-Forum-27/index.htm
http://www.siedler-maps.de/for...und-andere-Ressourcen-8688.htm
http://www.siedler-maps.de/for...unktionen-Skripte-etc-8706.htm
Wladimir
|
#4 29.01.2010 14:18 Beiträge: 489 |
Zitat von aCid:
fehlt (vlt.) noch
EnlargeArmy(_army,_troop)
Dafür sorgt bereits:
CreateTroop(army,troopDescription)
Wladimir.
____________________
Viele, die leben, verdienen den Tod und viele die tot sind, das Leben. Kannst du es ihnen geben? Dann sei auch nicht so rasch mit einem Todesurteil zur Hand!
Gandalf
andre111
|
#5 29.01.2010 14:18 Beiträge: 220 |
Zitat von Wladimir:
PS: Welchem Spieler werden die Truppen denn hier zugeordnet?
@Wladimir: Dem Spieler, so wies werden soll.
FG
andre111
Wladimir
|
#6 29.01.2010 14:21 Beiträge: 489 |
Ergänzung
Zitat von andre111:
Zitat von Wladimir:
PS: Welchem Spieler werden die Truppen denn hier zugeordnet?
@Wladimir: Dem Spieler, so wies werden soll.
FG
andre111
So kannst du sie (glaube mal) an den Spieler 2 geben.
function createTrupA() local troopDescription = { maxNumberofSoldiers = 5, minNumberOfSoldiers = 0, experiencePoints = HIGH_EXPERIENCE, leaderType = Entities.PU_LeaderSword2, position = GetPosition("nahkampf"), } local army = {} trupp1 = CreateTroop(army,troopDescription) ChangePlayer(trupp1,2) end
____________________
Viele, die leben, verdienen den Tod und viele die tot sind, das Leben. Kannst du es ihnen geben? Dann sei auch nicht so rasch mit einem Todesurteil zur Hand!
Gandalf
aCid
|
#7 29.01.2010 14:23 Beiträge: 275 |
Zitat von andre111:
maxNumberofSoldiers = 5,
Mach da mal ne 4, weil LeaderSword2 ja nur 4 Soldaten haben kann.
____________________
Das ist und bleibt ein Spiel! - Wir sind hier nicht vor Gericht.
----------------------------------------------------------------------
Mapperhilfen für S5:
http://www.siedler-maps.de/forum/Siedler-DEdK-Script-Forum-27/index.htm
http://www.siedler-maps.de/for...und-andere-Ressourcen-8688.htm
http://www.siedler-maps.de/for...unktionen-Skripte-etc-8706.htm
Wladimir
|
#8 29.01.2010 14:24 Beiträge: 489 |
Zitat von aCid:
Zitat von andre111:
maxNumberofSoldiers = 5,
Mach da mal ne 4, weil LeaderSword2 ja nur 4 Soldaten haben kann.
Für gewöhnlich werden, falls die Zahl zu groß ist, doch die maximale Anzahl an Soldaten erzeugt und zugeordnet, oder nicht?
Wladimir.
____________________
Viele, die leben, verdienen den Tod und viele die tot sind, das Leben. Kannst du es ihnen geben? Dann sei auch nicht so rasch mit einem Todesurteil zur Hand!
Gandalf
aCid
|
#9 29.01.2010 14:28 Beiträge: 275 |
hier werden armeen erstellt: http://www.siedler-games.de/si...php/tutorials:armeen_erstellen
CreateTroop kenn ich auch nicht. In den Logic und Toolstable im Wiki sehe ich nichts dazu.
Denke es liegt daran.
____________________
Das ist und bleibt ein Spiel! - Wir sind hier nicht vor Gericht.
----------------------------------------------------------------------
Mapperhilfen für S5:
http://www.siedler-maps.de/forum/Siedler-DEdK-Script-Forum-27/index.htm
http://www.siedler-maps.de/for...und-andere-Ressourcen-8688.htm
http://www.siedler-maps.de/for...unktionen-Skripte-etc-8706.htm
Wladimir
|
#10 29.01.2010 14:30 Beiträge: 489 |
Zitat von aCid:
http://www.siedler-games.de/siedler5scriptwiki/dokuwiki/doku.php/tutorials:armeen_erstellen
hier werden armeen erstellt.
CreateTroop kenn ich auch nicht. In den Logic und Toolstable im Wiki sehe ich nichts dazu.
Denke es liegt daran.
Diese Function ist in den ganz normalen Codes für Armeen (CreateArmy1 o.Ä.) enthalten, wenn du genau hinsiehst.
Wladimir.
____________________
Viele, die leben, verdienen den Tod und viele die tot sind, das Leben. Kannst du es ihnen geben? Dann sei auch nicht so rasch mit einem Todesurteil zur Hand!
Gandalf
aCid
|
#11 29.01.2010 14:32 Beiträge: 275 |
Zitat von Wladimir:
Diese Function ist in den ganz normalen Codes für Armeen (CreateArmy1 o.Ä.) enthalten, wenn du genau hinsiehst.
mit sicherheit nicht. zeig mal wo "CreateTroop" stehen soll.
@andre111: guck mal bei dem lick nach. bei deinem code, fehlen noch angaben. im wiki ist das sehr gut beschrieben.
____________________
Das ist und bleibt ein Spiel! - Wir sind hier nicht vor Gericht.
----------------------------------------------------------------------
Mapperhilfen für S5:
http://www.siedler-maps.de/forum/Siedler-DEdK-Script-Forum-27/index.htm
http://www.siedler-maps.de/for...und-andere-Ressourcen-8688.htm
http://www.siedler-maps.de/for...unktionen-Skripte-etc-8706.htm
Wladimir
|
#12 29.01.2010 14:36 Beiträge: 489 |
Zitat von aCid:
Zitat von Wladimir:
Diese Function ist in den ganz normalen Codes für Armeen (CreateArmy1 o.Ä.) enthalten, wenn du genau hinsiehst.
mit sicherheit nicht. zeig mal wo "CreateTroop" stehen soll.
@andre111: guck mal bei dem lick nach. bei deinem code, fehlen noch angaben. im wiki ist das sehr gut beschrieben.
Indirekt ist es drin!
local troopDescription = { maxNumberofSoldiers = 5, minNumberOfSoldiers = 0, experiencePoints = HIGH_EXPERIENCE, leaderType = Entities.PU_LeaderSword2, position = GetPosition("nahkampf"), }
Genauso wie bei den normalen Armeen wird dieser Abschnitt benutzt. Nur der Createbefehl (Create Troop) wurde für das Controlling verfeinert und durch nen anderen (EnlargeArmy) ersetzt.
Wladimir.
____________________
Viele, die leben, verdienen den Tod und viele die tot sind, das Leben. Kannst du es ihnen geben? Dann sei auch nicht so rasch mit einem Todesurteil zur Hand!
Gandalf
andre111
|
#13 29.01.2010 14:41 Beiträge: 220 |
@aCid und Wladimir:
danke für die vielen Tipps hab es jetzt mit:
CreateMilitaryGroup(1, Entitis.PU_LeaderSword1, 4, GetPosition("nahkampf"))
gelöst.
FG
andre111
Wladimir
|
#14 29.01.2010 14:43 Beiträge: 489 |
Zitat von andre111:
@aCid und Wladimir:
danke für die vielen Tipps hab es jetzt mit:
CreateMilitaryGroup(1, Entitis.PU_LeaderSword1, 4, GetPosition("nahkampf"))
gelöst.
FG
andre111
Schön, dass es geklappt hat.
Nur musst du so leider auf die Erfahrung der Trupps verzichten.
Wladimir.
____________________
Viele, die leben, verdienen den Tod und viele die tot sind, das Leben. Kannst du es ihnen geben? Dann sei auch nicht so rasch mit einem Todesurteil zur Hand!
Gandalf
andre111
|
#15 29.01.2010 14:46 Beiträge: 220 |
Zitat von Wladimir:
Zitat von andre111:
@aCid und Wladimir:
danke für die vielen Tipps hab es jetzt mit:
CreateMilitaryGroup(1, Entitis.PU_LeaderSword1, 4, GetPosition("nahkampf"))
gelöst.
FG
andre111
Schön, dass es geklappt hat.
Nur musst du so leider auf die Erfahrung der Trupps verzichten.
Wladimir.
@Wladimir:
Stimmt leider
andre111
Wladimir
|
#16 29.01.2010 14:51 Beiträge: 489 |
Zitat von andre111:
Zitat von Wladimir:
Zitat von andre111:
@aCid und Wladimir:
danke für die vielen Tipps hab es jetzt mit:
CreateMilitaryGroup(1, Entitis.PU_LeaderSword1, 4, GetPosition("nahkampf"))
gelöst.
FG
andre111
Schön, dass es geklappt hat.
Nur musst du so leider auf die Erfahrung der Trupps verzichten.
Wladimir.
@Wladimir:
Stimmt leider
andre111
Nur mal so:
Es gibt eine Lösung:
Folgende Comfortfunction, entnommen aus Burgbauscript von fritz_98:
function CreateArmyTroops( _player, _position, _leaderType, _numberOfSoldiers, _troops, _experience, _move ) local army = { player = _player, } local tD = { maxNumberOfSoldiers = _numberOfSoldiers, minNumberOfSoldiers = 0, experiencePoints = _experience, leaderType = _leaderType, position = _position, } for i = 1,_troops do army[i] = CreateTroop( army , tD ) end if _move ~= nil then for i = 1,_troops do Move( army[i], _move) end end end
Aufruf:
local pos = GetPosition("pos") CreateArmyTroops( 1, pos, Entities.CU_BlackKnight_LeaderMace2, 4, 1, 0, pos )
Wladimir.
____________________
Viele, die leben, verdienen den Tod und viele die tot sind, das Leben. Kannst du es ihnen geben? Dann sei auch nicht so rasch mit einem Todesurteil zur Hand!
Gandalf
aCid
|
#17 29.01.2010 14:57 Beiträge: 275 |
local troopDescription = { maxNumberofSoldiers = 5, minNumberOfSoldiers = 0, experiencePoints = HIGH_EXPERIENCE, leaderType = Entities.PU_LeaderSword2, position = GetPosition("nahkampf"), } _army_name = CreateTroop(_playerId, troopDescription) -- _playerId hier dann auf 1 setzen end
Probier das auch mal. Dann sind auch die Erfahrungspunkte mit drin.
Schade, dass man dazu nicht sofort ne Synatc findet.
Edit: Da sind wir ja fast beide gleich schnell.
____________________
Das ist und bleibt ein Spiel! - Wir sind hier nicht vor Gericht.
----------------------------------------------------------------------
Mapperhilfen für S5:
http://www.siedler-maps.de/forum/Siedler-DEdK-Script-Forum-27/index.htm
http://www.siedler-maps.de/for...und-andere-Ressourcen-8688.htm
http://www.siedler-maps.de/for...unktionen-Skripte-etc-8706.htm
Wladimir
|
#18 29.01.2010 14:59 Beiträge: 489 |
Zitat von aCid:
local troopDescription = { maxNumberofSoldiers = 5, minNumberOfSoldiers = 0, experiencePoints = HIGH_EXPERIENCE, leaderType = Entities.PU_LeaderSword2, position = GetPosition("nahkampf"), } _army_name = CreateTroop(_playerId, troopDescription) -- _playerId hier dann auf 1 setzen end
Probier das auch mal. Dann sind auch die Erfahrungspunkte mit drin.
Schade, dass man dazu nicht sofort ne Synatc findet.
Edit: Da sind wir ja fast beide gleich schnell.
Danke auch von mir! So muss ich keine fremden Comfortfunktionen verwenden.
Sowas hätte ich schon öfter mal benötigt, wo ich dann mit CreateMilitaryGroup klarkommen musste.
Wladimir.
PS: Von wo hast du das?
____________________
Viele, die leben, verdienen den Tod und viele die tot sind, das Leben. Kannst du es ihnen geben? Dann sei auch nicht so rasch mit einem Todesurteil zur Hand!
Gandalf
aCid
|
#19 29.01.2010 15:14 Beiträge: 275 |
Zitat von Wladimir:
PS: Von wo hast du das?
Mir überlegt warum mich das army in der funktion gestört hat.
Einfach CreateTroop() bzw. CreateTroop(troopDescription)in einer Testmap aufgerufen. Dann kam Fehlermeldung. Aber für AI Lua.
Dann hier http://www.siedler-games.de/si...reference:ai:functions-summary gesucht und nichts gefunden.
Dann einfach mit ner ID probiert. Da die bei den Befehlen immer dabei steht.
Glück gehabt.
____________________
Das ist und bleibt ein Spiel! - Wir sind hier nicht vor Gericht.
----------------------------------------------------------------------
Mapperhilfen für S5:
http://www.siedler-maps.de/forum/Siedler-DEdK-Script-Forum-27/index.htm
http://www.siedler-maps.de/for...und-andere-Ressourcen-8688.htm
http://www.siedler-maps.de/for...unktionen-Skripte-etc-8706.htm
Wladimir
|
#20 29.01.2010 15:15 Beiträge: 489 |
Zitat von aCid:
Zitat von Wladimir:
PS: Von wo hast du das?
Mir überlegt warum mich das arm in der funktion gestört hat.
Einfach CreateTroop() in einer Testmap aufgerufen. Dann kam Fehlermeldung. Aber für AI Lua.
Dann hier http://www.siedler-games.de/si...reference:ai:functions-summary gesucht und nichts gefunden.
Dann einfach mit ner ID probiert. Da die bei den Befehlen immer dabei steht.
Glück gehabt.
Na, da hast du ja eine klasse Funktion entdeckt. Wird sicher vielen helfen.
Wladimir.
____________________
Viele, die leben, verdienen den Tod und viele die tot sind, das Leben. Kannst du es ihnen geben? Dann sei auch nicht so rasch mit einem Todesurteil zur Hand!
Gandalf
aCid
|
#21 29.01.2010 15:18 Beiträge: 275 |
das wird bestimmt schon jemand vor mir entdeckt haben. keine sorge.
würde bloss nicht ins wiki geschrieben oder generell erklärt.
dank an ubisoft.
____________________
Das ist und bleibt ein Spiel! - Wir sind hier nicht vor Gericht.
----------------------------------------------------------------------
Mapperhilfen für S5:
http://www.siedler-maps.de/forum/Siedler-DEdK-Script-Forum-27/index.htm
http://www.siedler-maps.de/for...und-andere-Ressourcen-8688.htm
http://www.siedler-maps.de/for...unktionen-Skripte-etc-8706.htm
Wladimir
|
#22 29.01.2010 15:20 Beiträge: 489 |
Zitat von aCid:
das wird bestimmt schon jemand vor mir entdeckt haben. keine sorge.
würde bloss nicht ins wiki geschrieben oder generell erklärt.
dank an ubisoft.
Da kannste gleich für alles am Editor danken. Ist ja von denen!
Wladimir.
____________________
Viele, die leben, verdienen den Tod und viele die tot sind, das Leben. Kannst du es ihnen geben? Dann sei auch nicht so rasch mit einem Todesurteil zur Hand!
Gandalf
Seiten: 1