Elemente | Beschreibung |
---|---|
name | Name of Npc Entity |
briefing | s5lua_g to briefing table that will be shown |
vanishPos | Position/entity name where the npc is moving to vanish after briefing done vanishing position should be unexplored else npc will not be removed |
heroName | The npc is talking only to this hero |
wrongHeroMessage | String with wrong hero message |
follow | If true/false npc will follow nearest hero If name of an entity, serf will only follow this entity |
local npc = {} npc.name = "bishop" --Name des Npc npc.briefing = NpcBriefing --Briefing npc.heroName = "dario" --Name des Helden mit dem der NPC nur spricht npc.wrongHeroMessage = "Ich rede nicht mir dir @cr Mach dich vom Acker." -- Meldung bei falschen Ansprechpartner npc.follow = "dario" -- Startet vom Startpunkt und bewegt sich zum anzusprechenden Npc CreateNPC(npc)
In NPC Briefings ist es meist nicht möglich, die Kameraposition auf den ansprechenden Helden zu setzen, da die Briefings schon viel früher erstellt wurden und somit die Position des Heldens höchstwahrscheinlich am anderen Ende der Karte war. Dafür gibt es einen kleinen Workaround. Statt einem Briefing erhält der NPC eine Callback Funktion, die dann erst das Briefing erstellt und startet.
function CreateNpcHorst() local npc = { name = "horst", callback = BriefingHorst, } CreateNPC(npc) end function BriefingHorst() local briefing = {} local AP = ... AP{ title = "Held", text = "Hi Horst", position = GetPosition("held"), -- Die Position des Helden wird jetzt korrekt angezeigt dialogCamera = true, } AP{ title = "Horst", text = "Hallo mein Held.", position = GetPosition("horst"), dialogCamera = true, } StartBriefing(briefing) end
Der Schreibstil der NPC-Erstellung sollte gleichlautend mit dem Workaround sein, ist sonst irritierend. Ninobi
Zur Tutorial-Übersicht