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

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

Impressum