Npc reagiert nicht

» Siedler Map Source Forum » Siedler DEdK Script Forum » Npc reagiert nicht

Seiten: 1

Morchul
#1
04.05.2020 11:37
Beiträge: 5

Npc reagiert nicht

Hallo zusammen ich versuche zur Zeit einen NPC zu erstellen der angesprochen werden kann.

function CreateSpeaker()
	Major = {}
	Major.name = "maj"
	Major.callback = bla
	CreateNPC(Major)
end

function bla(_npcId,_heroId)
	DisableNpcMarker(_npcId)
	Message("Hallo ")
end


auch schon so versucht

function bla()
	Message("Hallo ")
end


Der Npc hat den Skriptnamen "maj"
Leider funktioniert keiner der beiden Fälle der Npc reagiert nicht egal welcher Held mit ihm spricht.
Ich würde mich sehr über eure Unterstützung freuen.

Der_Deutsche
#2
05.05.2020 14:27
Beiträge: 349

Hallo!
Wenn du immer frühzeitig eine Antwort möchtest, dann komm doch mal auf dem Siedler 5 Discord: https://discord.gg/uUcfyfB
Hier werdest du leider etwas warten müssen auf deine Antwort

MfG

____________________
Nachbau von Siedler 5 Lobbys "Ubi.Com"

Updatelösungen Siedler 5 Patch 1.06

Creators Update Lösung Windows 10 Siedler 5

mcb
#3
05.05.2020 22:17
Beiträge: 1472

Also ich sehe da im Moment kein Problem. Hast du das mal mit den Debugger (oder -debugscript) laufen gelassen?

Zedeg
#4
06.05.2020 13:27
Beiträge: 428

Ich habe deinen Code gerade mal ausprobiert und keine Probleme feststellen können.

Zitat von Morchul:
Leider funktioniert keiner der beiden Fälle der Npc reagiert nicht egal welcher Held mit ihm spricht.

Heißt das, der NSC hat ein Ausrufezeichen, aber die Funktion bla wird nicht aufgerufen?
Übrigens: DisableNpcMarker muss nicht extra aufgerufen werden; das Ausrufezeichen wird automatisch entfernt.
(Falls noch die Frage bestehen sollte, was dieses -debugscript ist, von dem mcb schreibt: https://web.archive.org/web/20...als:fehlermeldungen_aktivieren)

____________________
Journalisten erkundigen sich bei Wissenschaftlern meist nicht nach Grundlagen, sondern eher nach Ergebnissen und Folgerungen. Das erklärt womöglich auch, warum sich Forschungsberichte in den Medien so häufig als feststehende Erkenntnisse lesen, nicht aber als Ideen, Entdeckungen oder Indizien, um die es sich genau genommen in den meisten Fällen handelt. -Axel Bojowski

Morchul
#5
07.05.2020 09:00
Beiträge: 5

Danke für eure Hilfe ich habe die Karte jetzt mit -debugscript gestartet und es ist wirklich eine Fehlermeldung aufgetaucht:

Error: LUA_ERRRUN: [string
"Data\Script\MapTools\NPC.lua"]:168: attempt to index global
'gvMission' (a nil value)
Additional info: Game turn 0 (0:00)

Dieser Beitrag wurde von Morchul am 07.05.2020 um 13:48 editiert.

Morchul
#6
07.05.2020 13:48
Beiträge: 5

Auf Grund der fehlermeldung habe ich die folgenden Zeilen eingefügt die ich in einer anderen Map gefunden habe:

gvMission = {}
gvMission.PlayerID = GUI.GetPlayerID()


und jetzt funktioniert es einwandfrei.

Kann mir jemand erklären was die beiden Zeilen bewirken und weshalb sie notwendig sind?

Play4FuN
#7
07.05.2020 18:25
Beiträge: 704

Zitat von Morchul:
Kann mir jemand erklären was die beiden Zeilen bewirken und weshalb sie notwendig sind?


gvMission ist schlichtweg eine globale Variable ( "gv" ), welche im Normalfall nur die PlayerID speichert. Zumindest bei SP Karten wird die immer erstellt (in irgendeinem Skript, das ganz am Anfang geladen wird) und dann oft in Abfragen gvMission.PlayerID verwendet, anstatt z.B. GUI.GetPlayerID()

____________________
LG Play4FuN

Siedler DEdK Mapping + Scripting Tutorials

Morchul
#8
11.05.2020 07:52
Beiträge: 5

Vielen Dank für eure Hilfe

totalwarANGEL
#9
19.05.2020 20:15
Beiträge: 2123

gvMission wird im Code des Spiels erzeugt. Und da steht noch ein bisschen mehr drin, als du jetzt hast. Es wird für ziemlich viele Funktionen verwendet. Wenn ich mich richtig erinnere, auch für SetupExpedition und Co. Es sollte eigentlich von sich aus da sein. Prüfe mal, ob du das irgend wo überschreibst. Ich empfehle immer solche Konstrukte bei Tables, die vom Spiel kommen:

gvMission = gvMission or {}



____________________
Die Welt ist arschlochförmig und wir leben in der Mitte.

Seiten: 1

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

Impressum