Rohstoffe
» Siedler Map Source Forum » Siedler DEdK Script Forum » Rohstoffe
Seiten: 1
NintendoDS1993
|
#1 29.01.2010 17:48 Beiträge: 233 |
Rohstoffe
Hallo, kennt jemand einen Befehl mit dem man alle Rohstoffe des menschlichen Spielers auf 0 setzen kann?
Danke im Vorraus!
Kalle
|
#2 29.01.2010 17:56 Beiträge: 1150 |
relativ einfach:
AddGold(1,-GetGold(1))
Also, addiere zum Gold des Spielers 1 die negative Summe, die der Spiele an Gold hat. - Also zieh ihm das alles ab....
Die anderen sind Clay, Iron, Stone, Sulfur, Wood
Gruß Kalle
____________________
Lieber Siedeln statt (fern)sehen.....
kingsia
|
#3 29.01.2010 18:01 Beiträge: 750 |
Hallo Kalle,
Nintendo hat gefragt wegen EINEN Befehl.
Dein Version funktioniert aber SECHS Befehle werden nötig.
Duck und renn weg
Kingsia
Kalle
|
#4 29.01.2010 18:04 Beiträge: 1150 |
ok, ok, ....
dann schließe ich mich der Frage an. Gibt es einen (!) Befehl ? Ich glaube aber nicht......
____________________
Lieber Siedeln statt (fern)sehen.....
kingsia
|
#5 29.01.2010 18:09 Beiträge: 750 |
Du hast mich entäuscht, Kalle
Grins!
Mann braucht nur den SECHS Befehle in ein Komfortfunktion zu packen und dann kann mann mit nur EIN Befehl alle Resourcen auf Null stellen.
Wieder duck und weg rennen.
Kingsia
Kalle
|
#6 29.01.2010 18:11 Beiträge: 1150 |
zähl, zähl, verzähl, nochmal von vorn.....
1. Aufruf, 2 Function, 3 AddGold, 4 AddClay, ... 9 end
Grübel, grübel und studier......
Mathe...
____________________
Lieber Siedeln statt (fern)sehen.....
Wladimir
|
#7 29.01.2010 18:25 Beiträge: 489 |
Eingentlich ganz Einfach:
function WladiSetzeRessourcen(gold, clay, wood, iron, stone, sulfur) local momentanG = GetGold(1) local momentanC = GetClay(1) local momentanW = GetWood(1) local momentanI = GetIron(1) local momentanST = GetStone(1) local momentanSU = GetSulfur(1) AddGold(-momentanG) AddClay(-momentanC) AddWood(-momentanW) AddIron(-momentanI) AddStone(-momentanST) AddSulfur(-momentanSU) AddGold(gold) AddIron(clay) AddClay(wood) AddWood(iron) AddStone(stone) AddSulfur(sulfur) end
Jetzt einfach aufrufen:
WladiSetzeRessourcen(0, 0, 0, 0, 0, 0)
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
kingsia
|
#8 29.01.2010 18:34 Beiträge: 750 |
Hallo Wladimir,
Dein Komfortfunktion könnte man ganz einfach auf gesamt 8 Zeilen reduzieren.
Gruss
Kingsia
aCid
|
#9 29.01.2010 18:50 Beiträge: 275 |
Hier die Einzelaufrufe:
Logic.SubFromPlayersGlobalResource(1, 1, Logic.GetPlayersGlobalResource(1, 1)) -- Gold Logic.SubFromPlayersGlobalResource(1, 5, Logic.GetPlayersGlobalResource(1, 5)) --Stein Logic.SubFromPlayersGlobalResource(1, 7, Logic.GetPlayersGlobalResource(1, 7)) -- Eisen Logic.SubFromPlayersGlobalResource(1, 9, Logic.GetPlayersGlobalResource(1, 9)) -- Sulfur Logic.SubFromPlayersGlobalResource(1, 11, Logic.GetPlayersGlobalResource(1, 11)) -- Lehm Logic.SubFromPlayersGlobalResource(1, 13, Logic.GetPlayersGlobalResource(1, 13)) -- Holz
Die 1 die immer auftaucht ist die Spieler ID.
Hier ein Sammelaufruf:
Logic.SubFromPlayersGlobalResource(1, 1, Logic.GetPlayersGlobalResource(1, 1)) -- Gold for i = 5, 13, 2 do Logic.SubFromPlayersGlobalResource(1, i, Logic.GetPlayersGlobalResource(1, i)) --Stein, Eisen, Sulfur, Lehm, Holz end
Als Comfortfunktion:
function aC_AlleRohstoffeEntfernen(_id) Logic.SubFromPlayersGlobalResource(_id, 1, Logic.GetPlayersGlobalResource(_id, 1)) -- Gold for i = 5, 13, 2 do Logic.SubFromPlayersGlobalResource(_id, i, Logic.GetPlayersGlobalResource(_id, i)) --Stein, Eisen, Sulfur, Lehm, Holz end end
Aufruf für bspw. Spieler 3 alle Rohstoffe weg:
aC_AlleRohstoffeEntfernen(3)
viel Spass damit. D:
____________________
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
Dieser Beitrag wurde von aCid am 29.01.2010 um 19:10 editiert.
Wladimir
|
#10 29.01.2010 19:09 Beiträge: 489 |
@ kingsia und aCid
Danke für die Vorschläge.
Ich habe mir die Funktion aufgrund meiner geringen Zeit von vorhin nur aus einer meiner unveröffentlichen Maps geholt und hier reingestellt. Dass es noch kleiner geht, wusste ich nicht. Aber ich bin für jede Hilfe beim Verbessern und damit auch Verkürzen dankbar.
Aber auf die paar Zeilen kommt es wohl nicht an, außer wenn das Script 127 kb hat.
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
kingsia
|
#11 29.01.2010 19:45 Beiträge: 750 |
Und wie wärs mit
function SetSpielerRohstoff(_id, _Gold, _Clay, _Wood, _Iron, _Stone, _Sulfur) AddGold(_id, -GetGold(_id)+_Gold) AddClay(_id, -GetClay(_id)+_Clay) AddWood(_id, -GetWood(_id)+_Wood) AddIron(_id, -GetIron(_id)+_Iron) AddStone(_id, -GetStone(_id)+_Stone) AddSulfur(_id, -GetSulfur(_id)+_Sulfur) end
Gruss
Kingsia
Wladimir
|
#12 29.01.2010 19:54 Beiträge: 489 |
Zitat von kingsia:
Und wie wärs mit
function SetSpielerRohstoff(_id, _Gold, _Clay, _Wood, _Iron, _Stone, _Sulfur) AddGold(_id, -GetGold(_id)+_Gold) AddClay(_id, -GetClay(_id)+_Clay) AddWood(_id, -GetWood(_id)+_Wood) AddIron(_id, -GetIron(_id)+_Iron) AddStone(_id, -GetStone(_id)+_Stone) AddSulfur(_id, -GetSulfur(_id)+_Sulfur) end
Gruss
Kingsia
Das ist wohl die denkbar verständlichste und einfachste Version meiner Comfortfúnktion.
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
Siedler_Team
|
#13 29.01.2010 20:02 Beiträge: 847 |
Zitat von kingsia:
Und wie wärs mit
function SetSpielerRohstoff(_id, _Gold, _Clay, _Wood, _Iron, _Stone, _Sulfur) AddGold(_id, -GetGold(_id)+_Gold) AddClay(_id, -GetClay(_id)+_Clay) AddWood(_id, -GetWood(_id)+_Wood) AddIron(_id, -GetIron(_id)+_Iron) AddStone(_id, -GetStone(_id)+_Stone) AddSulfur(_id, -GetSulfur(_id)+_Sulfur) end
Gruss
Kingsia
Endlich! BINGO!
The Oscar goes to kingsia.
____________________
Wer altes Wissen ehrt und neues Wissen erlangt, ist bereit, ein Lehrer zu sein. ( -Konfuzius- )
Wladimir
|
#14 29.01.2010 20:09 Beiträge: 489 |
Zitat von Siedler_Team:
Zitat von kingsia:
Und wie wärs mit
function SetSpielerRohstoff(_id, _Gold, _Clay, _Wood, _Iron, _Stone, _Sulfur) AddGold(_id, -GetGold(_id)+_Gold) AddClay(_id, -GetClay(_id)+_Clay) AddWood(_id, -GetWood(_id)+_Wood) AddIron(_id, -GetIron(_id)+_Iron) AddStone(_id, -GetStone(_id)+_Stone) AddSulfur(_id, -GetSulfur(_id)+_Sulfur) end
Gruss
Kingsia
Endlich! BINGO!
The Oscar goes to kingsia.
Zur Hälfte!
Immerhin war die gesamte Grundlage von mir.
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
kingsia
|
#15 29.01.2010 20:20 Beiträge: 750 |
Zitat von Wladimir:
Zur Hälfte!
Immerhin war die gesamte Grundlage von mir.
Wladimir.
Das wusste ich nicht.
Lieber Wladimir, Ich wurde dankbar sein wenn du mir deine komplette C++ code zu der AddGold Funktion schicken wurde oder hast du es mit ein andere Programmiersprache gemacht?
Und wie lange bist du jetzt bei Ubisoft?
Kannst du uns vielleicht ein paar Insidertipps zu den Spiel geben? Es wäre bestimmt sehr hilfreich für uns "Hobby"-skripter.
gruss und danke im Voraus
Kingsia
Wladimir
|
#16 29.01.2010 20:24 Beiträge: 489 |
Zitat von kingsia:
Zitat von Wladimir:
Zur Hälfte!
Immerhin war die gesamte Grundlage von mir.
Wladimir.
Das wusste ich nicht.
Lieber Wladimir, Ich wurde dankbar sein wenn du mir deine komplette C++ code zu der AddGold Funktion schicken wurde oder hast du es mit ein andere Programmiersprache gemacht?
Und wie lange bist du jetzt bei Ubisoft?
Kannst du uns vielleicht ein paar Insidertipps zu den Spiel geben? Es wäre bestimmt sehr hilfreich für uns "Hobby"-skripter.
gruss und danke im Voraus
Kingsia
Ich meine die Grundlage dieses Codes, nicht die vom ganzen Skripten.
Meeennnsch, Kingsia. Du hast mich falsch verstanden. Habe es nicht klar formuliert.
Die Verkürzung und Erweiterung des Codes von dir.
Der Code aus einer Map von 2009, welche aufgrund eines Problems mit dem Skript nicht veröffentlicht wurde, von mir.
--> Daher deine Verbesserung 50% Mein Grundlagencode von mir 50%
OK?
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
kingsia
|
#17 29.01.2010 21:39 Beiträge: 750 |
@Wladimir,
Ich glaube nicht das ich dich falsch verstanden habe, und andere werden dich auch nicht falsch vestehen.
jede braucht nur den Thread komplett zu lesen.
Am Anfang war den Frage wegen ein Befehl.
War Geantwortet mit ein examplar wie man ein Resource auf Null setzen kann.
Dann kam packen alle 6 in ein Komfortfunktion. SECHS Befehle zu EINE komprimieren. Also Funktion vorher erwähnt.
Deine (angebliche) Komfortfunktion von ein (angebliche) nie veröffentlichte Map hat 18 Befehle gehabt. Und deine Funktionen bei andere Threads waren enteder unvollständig oder fehlerhaft, also nicht zu brauchen
Und am Ende gehört 50% der Ehre dir ?????
Mir gehört, wegen der Muhe der andere Poster, viel weniger als 50% und dir sowieso viel, viel weniger wenn überhaupt etwas. (Ich schätze dein Anteil als maximal 10%)
Frag mich im Zukunft nicht wegen irgendwelche Hilfe.
Von jetzt an, bekommst du von mir keine.
GRUSS
Kingsia
aCid
|
#18 29.01.2010 22:29 Beiträge: 275 |
wer weiss, wie alt wladimir ist. tippe auf einen jungspund. dann lasst ihm doch die kleine freude und fertig.
ich beantworte trotzdem nach bestem wissen und gewissen fragen. auch wenn sie manchmal etwas "kompliziert" sind, wie siehe oben. wusste nichts vom Get-xyz Befehl und hatte nicht geschaut vorm posten.
wichtiger ist ja die entwicklung der funktion. momentan setzt sie ja alle werte neu. und schreibt man nichts in den aufruf, ist alles weg.
würde eine weitere entwicklung vorschlagen mit einem Table, der folgendes enthalten kann (wie bei AddTribute):
_tResourcen = { gold = 100, clay = 400, wood = 800, stone = 900, iron = 800, sulfur = 700}
Aufruf, dass nur gold, clay und wood neu gesetzet werden. Restliche Ressourcen bleiben unangetastet:
_tResourcen = { gold = 100, clay = 400, wood = 800} SetSpielerRohstoff(_id, _tResourcen)
Comfortfunktion:
function SetSpielerRohstoff(_id, _tResourcen) if _tResourcen.gold ~= nil then AddGold(_id, -GetGold(_id)+ _tResourcen.gold) end if _tResourcen.clay ~= nil then AddClay(_id, -GetClay(_id)+ _tResourcen.clay) end if _tResourcen.stone ~= nil then AddStone(_id, -GetStone(_id)+ _tResourcen.stone) end if _tResourcen.iron ~= nil then AddIron(_id, -GetIron(_id)+ _tResourcen.iron) end if _tResourcen.wood ~= nil then AddWood(_id, -GetWood(_id)+ _tResourcen.wood) end if _tResourcen.sulfur ~= nil then AddSulfur(_id, -GetSulfur(_id)+ _tResourcen.sulfur) end end
Jetzt kommt sie auch Ihrem namen noch näher.
____________________
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
Kalle
|
#19 29.01.2010 22:56 Beiträge: 1150 |
Zitat von Kalle:
zähl, zähl, verzähl, nochmal von vorn.....
1. Aufruf, 2 Function, 3 AddGold, 4 AddClay, ... 9 end
Grübel, grübel und studier......
Mathe...
... ich sehe das auch alles nicht so eng ().....
PS: Laßt uns alle beim guten und ruhigem Ton verbleiben...
(grins und duck mich....)
____________________
Lieber Siedeln statt (fern)sehen.....
Wladimir
|
#20 30.01.2010 09:14 Beiträge: 489 |
Zitat von Kalle:
Zitat von Kalle:
zähl, zähl, verzähl, nochmal von vorn.....
1. Aufruf, 2 Function, 3 AddGold, 4 AddClay, ... 9 end
Grübel, grübel und studier......
Mathe...
... ich sehe das auch alles nicht so eng ().....
PS: Laßt uns alle beim guten und ruhigem Ton verbleiben...
(grins und duck mich....)
Gute Idee Kalle!
Was ich mit den 50% sagen wollte: Es gibt keinen richtigen Besitzer --> der Code ist Niemandem.
Mir ging es nur ums Prinzip.
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
NintendoDS1993
|
#21 30.01.2010 12:15 Beiträge: 233 |
Jo Danke, hätte nicht gedacht, dass mir so viele Leute helfen. Eigentlich wäre ich sogar schon zufrieden gewesen mit dem was Kalle gesagt hat. Aber jetzt kenn ich mich wenigstens bestens aus.
Seiten: 1