Not logged inClonkspot Forum
Forum Home Help Search Register Login
Up Topic Deutsch / Hilfestellung / Commands: Passierte Objekte nicht aufnehmen?
- - By Octagon (More than 200 posts.) Date 06.02.2015 20:14 Edited 06.02.2015 20:16
Ich schreibe gerade eine KI für ein Szenario, und bin dabei auf das Problem gestoßen, dass der Clonk die Objekte, die er soeben mit SetCommand(..,"Drop",..) abgelegt hat, gleich zu Beginn des Rückweges wieder aufnimmt.
Kann ich das irgendwie einfach mithilfe von Commands/simulierten Controls verhindern, wie es ein echter Spieler durch Gedrückthalten von Doppelrunter kann? Ich würde da der Einfachheit halber lieber auf Markierungseffekte o. ä. verzichten.
Parent - - By Serpens66 (More than 200 posts.) Date 07.02.2015 00:06 Edited 07.02.2015 00:12
vermutlich kommen noch professionellere Antworten, aber spontan fällt mir RejectCollect(id idObject, object pObject) ein, was du im Clonkskript findest. 

Damit kannst du sagen, was der Clonk aufnehmen darf und was nicht.  Wenn der KI Clonk eine eigene ID hat, kannst du das direkt in sein skript schreiben. Wenn es ein CLNK ist, kannst du ihn ja irgendwie noch markieren, als AI und dann in die oben erwähnte Funktion "RejectCollect(id idObject, object pObject) {if(IsAi) return();   .....} "  reinschreiben.

Auf diese Weise könntest also dafür sorgen, dass der Clonk garnichts mehr aufnimmt.  Oder du kannst einzelne IDs festlegen, die nicht aufgenommen werden dürfen.. Und wenn du die gerade abgelegten Objekte iwie zwischenspeicherst, kannst du bestimmt auch diese mithilfe der Funktion vom Einsammeln ausschließen.

Zur manuellen Vorgehensweise:
-"wie es ein echter Spieler durch Gedrückthalten von Doppelrunter kann"
das bezieht sich auf diese neue Jump&Run Steuerung, oder? Mit der klassischen Steuerung ist es soweit ich weiß so, dass man nach dem ablegen eines Objektes automatisch nichts mehr aufnimmt, bis man 2 Tasten gedrückt hat. D.h. wenn man nach dem ablegen dann einmal in eine Richtung drückt, wird nichts mehr eingesammelt. Erst wenn man dann nochmal eine Taste drückt, sammelt er wieder.   
Je nach dem, wieviele Befehle deine KI nach dem ablegen bekommt, kannst du das entweder nutzen, oder gucken ob du rausfindest, wie das funktioniert ^^
Parent - By Octagon (More than 200 posts.) Date 07.02.2015 11:57 Edited 11.02.2015 11:25
Hmm.
RejectCollect ist toll, aber leider hab ich die KI bislang völlig als Spielregel implementieren wollen (die die KI per Effekt bei OnClonkCreation anhängt)... aber eigentlich ist das egal, weil sie sowieso szenariospezifisch ist. Also werde ich wohl doch mit einem Appendto arbeiten müssen.

Ja, ich gehöre zu diesen inkompetenten faulen Jump-n-Run-Spielern. Schreckliche Casuals, diese Leute.

Das mit den 2 Tasten wusste ich noch gar nicht, danke für diese Auskunft!
Up Topic Deutsch / Hilfestellung / Commands: Passierte Objekte nicht aufnehmen?

Powered by mwForum 2.29.7 © 1999-2015 Markus Wichitill