German Lua Verbesserungsvorschläge

7 replies
Goto Page
To the start Previous 1 Next To the start
05.04.18 03:01:02 pm
Up
Edik
User
Offline Off
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:
Code:
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:
Code:
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.
05.04.18 08:53:10 pm
Up
DC
Admin
Offline Off
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.
www.UnrealSoftware.de | www.CS2D.com | www.CarnageContest.com | Use the forum & avoid PMs!
05.04.18 10:32:36 pm
Up
Edik
User
Offline Off
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.
Code:
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:
Code:
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.
06.04.18 09:50:23 pm
Up
DC
Admin
Offline Off
cs2d lua cmd objecttype wird es ab der nächsten Version (1.0.0.7) geben
www.UnrealSoftware.de | www.CS2D.com | www.CarnageContest.com | Use the forum & avoid PMs!
06.04.18 11:44:06 pm
Up
Edik
User
Offline Off
Wahnsinn! Das wird einiges erleichtern, vielen Dank
06.04.18 11:50:33 pm
Up
panteon00
User
Offline Off
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 ^-^
loading...
07.04.18 12:58:48 am
Up
DC
Admin
Offline Off
@user panteon00: Wäre besser aber ich bin zu faul *hüstel*
playerammo ist auch neu und klappt erst ab 1.0.0.7
www.UnrealSoftware.de | www.CS2D.com | www.CarnageContest.com | Use the forum & avoid PMs!
07.04.18 02:46:30 pm
Up
panteon00
User
Offline Off
schade, aber danke für die Info, dann brauch ich nicht weiter den fehler zu suchen
loading...
To the start Previous 1 Next To the start