Forum

> > CS2D > Scripts > Lua Verbesserungsvorschläge
Forums overviewCS2D overview Scripts overviewLog in to reply

German Lua Verbesserungsvorschläge

7 replies
To the start Previous 1 Next To the start

old Lua Verbesserungsvorschläge

Edik
User Off Offline

Quote
Hallo,
leider gibt es mit der Befehlsliste der CS2D Lua-Befehlen einige Ärgernisse, die eigentlich leicht vermieden werden können. So zb. dass alle Bilder nach einem Rundeneustart gelöscht werden. Gerade bei HUD Bildern ist es eigentlich unnötig, dass diese gelöscht werden müssen. Und da man nicht einmal richtig prüfen kann ob diese existieren, muss man umwege gehen beim scripten.
So wäre ein Vorschlag dass man in der image funktion einen "type" am ende einbaut. Dieser würde vielleicht so aussehen:
1
parse("path" x y mode pl type)
und wenn für den type zb. die 1 eingesetzt wird, so wird dieses Bild erst bei freeimage entfernt. Alle anderen werden wie gehabt entfernt.

Zudem ist es ärgerlich, dass man für Spieler die "maxhealth" Wert auslesen kann, bei objekten muss man aber wieder umwege gehen.
so wäre auch dieser Befehl wünschenswert:
1
object(id,"maxhealth"
dadurch, dass standartmäßig auch eine Prozentuale Lebensanzeige bei Objekten existiert, denke ich, dass es keine große Arbeit ist diese Möglichkeit umzusetzen.

old Re: Lua Verbesserungsvorschläge

DC
Admin Off Offline

Quote
Zu Punkt 1 kann ich gerade nicht sagen, ob er sich so einfach umsetzen ließe bzw. ob ich es in der Form umsetzen will. Ich weiß aber, dass du nicht der einzige bist, der da gerne eine Änderung hätte.
Scripttechnisch lässt sich das aber relativ leicht umgehen, in dem man einfach eine Funktion macht, die das HUD etc. beim Rundenstart erzeugt.
Man könnte vermutlich sogar in Lua ein System schreiben, was Bilder aus der vorherigen Runde speichert und automatisch neu erzeugt, so als wären sie nie gelöscht worden.

Maxhealth unterscheidet sich bei Gebäuden von Spielern insofern, dass man für jeden Spieler eine individuelle max. Health setzen kann. Bei Gebäuden geht das nicht. Alle Gebäude eines Typs haben die gleiche maximale Lebensenergie. Daher gibt es kein maxhealth in cs2d lua cmd object. Aber ja, es müsste eigentlich ein "objecttype" analog zu cs2d lua cmd itemtype geben, womit man allgemeine Gebäudekonfigurationen abfragen kann. Das fehlt tatsächlich.

old Re: Lua Verbesserungsvorschläge

Edik
User Off Offline

Quote
Danke für deine Antwort.
Ja das stimmt, man kann mit einem System die Bilder neuregenerieren, aber wie gesagt man muss nicht etwas Löschen, um es gleich wieder zu regenerieren.

Was maxhealth bei Objekten angeht:
zurzeit mache ich es leider so, dass beim Laden einer Karte alle Leben in eine Tabelle geladen werden, und diese so als "maxhealth" gespeichert werden.
1
2
3
4
5
6
7
8
function initobjectlist()
	objectlist = {}
	for _, id in pairs(object(0,"table")) do
		objectlist[id] = {}
		objectlist[id].maxhealth = object(id,"health")
	end
end
initobjectlist()
Wenn Gebäude gebaut wird:
1
2
objectlist[objectid] = {}
	objectlist[objectid].maxhealth = object(objectid,"health")
und einmal funktion aufrufen beim rundenneustart
Es ist nicht die schönste Art, aber die kürzeste die zurzeit möglich ist. Alternativ müsste man zuerst die Maximale Lebensmenge jedes Gebäudetyps herausfinden, anschließend in eine Tabelle packen und vergleichen. Auch möglich, aber eigentlich mache ich ja das, was irgendwo schon vorhanden sein müsste, weil wie gesagt eine prozentuale Anzeige besteht.
Mit cs2d cmd mp_building_health ist es auch möglich für jede Karte die Max Health individuell anzupassen, wodurch der Code wieder nicht um Umwege herum kommt.

old Re: Lua Verbesserungsvorschläge

Cebra
User Off Offline

Quote
Könnte man bei den neuen Commands dazu schreiben, ab welcher version sie implementiert werden sein?
Ich weiß zum beispiel immoment nicht ob cs2d lua cmd playerammo noch nicht implementiert ist oder ob ich irgendwas falsch mache ^-^
To the start Previous 1 Next To the start
Log in to reply Scripts overviewCS2D overviewForums overview