Construction Set Der Scriptthread

falsch verstanden

ich meinte nicht dass des auf nen NPC oder monster gehen soll sonder auf die waffe:p:p:p
also wenn ich mit der waffe irgendjemanden (also egal wen) töte dann kommt an seiner stelle ein ahnengeist
 
Gern geschehen, Du solltest eventuell darauf hinweisen, daß der geneigte Spieler die Schriftrolle direkt und nicht im Inventar lesen sollte, nur zur Sicherheit. :)
 
  • Like
Reaktionen: basswalker
Es kann passieren, daß OnActivate nicht ausgelöst wird. OnActivate bezieht sich darauf, daß ein Objekt in der Spielewelt 'aktiviert' wird. Im Inventar muß OnPCEquip abgefragt werden, ich schau mal nach und sag Dir dann bescheid.


So sollte beides klappen: (leider kann ich hier das Skript nicht einrücken)

begin meineSchriftrolle

short doOnce
short OnPCEquip ;muß deklariert werden

if ( doOnce == 0 )
if ( OnActivate == 1 )
Journal, "meinTagebuch", 10
set doOnce to 1
activate
elseif ( OnPCEquip == 1 )
Journal, "meinTagebuch", 10
set doOnce to 1
endif
endif

end
 
Zuletzt bearbeitet:
  • Like
Reaktionen: basswalker
Entschuldige, das ist Scharr-Gong. Variablen werden 'deklariert', und im Gegensatz zu OnActivate, was bei aktivierbaren Objekten generell vorhanden ist, muß OnPCEquip jedesmal im Skript 'deklariert', also eingetragen werden. :)
 
Entschuldige, das ist Scharr-Gong. Variablen werden 'deklariert', und im Gegensatz zu OnActivate, was bei aktivierbaren Objekten generell vorhanden ist, muß OnPCEquip jedesmal im Skript 'deklariert', also eingetragen werden. :)

Ähm willst du mir damit einfach nur sagen dass die Zeile

"short OnPCEquip"

im script vorhanden sein muss? Wenn nicht versteh ich weiterhin nur Bahnhof :D
 
untot

brauch jetzt nen script dass wenn jemand tot ist, er wieder volles leben hat und woanderester hin teleportet wird. Wie in Wow dass man dann wiederbelebt wird 8)

habs mit dem script versucht gehr aber nicht irgendwie:huh::

begin player_undead

if ( ModCurrentHealth <= 1) ; wenn tot

GetHealth ; heilt dich

PositionCell 4367, 4400,13574, 0, "Unterwelt"

endif

end
 
Zuletzt bearbeitet:
hi, hab ein scriptproblem (warum sonst würd ich wohl in diesen thread schreiben;) ). und zwar kommt immer, wenn ich in die nähe meines selbstgebastelten fahrstuhls komme, einmal ein "expression"-fehler und dann ein "right eval"-fehler.
wäre nett, wenn mal jemand drüberschauen kann:
Code:
begin MMelevator

short state ;0=up, 2,3=moving 4=down
short done

if ( done == 0 )
	if ( getpccell, "Mundusal, Äußere Kammer" )
		set done to 1
		disablelevitation
	endif
elseif ( done == 1 )
	if ( getpccell, "Mundusal, Äußere Kammer" )
		set done to 0
		enablelevitation
	endif
endif

if ( state == 0 )
	if ( getcollidingpc == 1 )
		set state to 2
		set timer to 33.3
	endif
elseif ( state == 2 )
	if ( timer > 1 )
		set timer to ( timer - getsecondspassed )
		MM_dagoth_scaffold->moveworld, z, -100
	elseif ( timer <= 0 )
		set state to 4
	elseif ( timer <= 1 )
		set timer to ( timer - getsecondspassed )
	endif
elseif ( state == 3 )
	if ( timer > 1 )
		set timer to ( timer - getsecondspassed )
		"MM_dagoth_scaffold"->moveworld, z, 100
	elseif ( timer <= 0 )
		set state to 0
	elseif ( timer <= 1 )
		set timer to ( timer - getsecondspassed )
	endif
elseif ( state == 4 )
	if ( getcollidingpc == 1 )
		set state to 3
		set timer to 33.3
	endif
endif

end
 
wenn als erstes ein fenster kommt, wo in Großbuchstaben irgendwas mit EXPRESSION steht und dann ein wo right eval steht, des hab ich auch aber wei s nich worans liegt
also bitte beantworten :p
 
begin untoterNPC ; vermeide Bezeichnungen, die im Spiel enthalten sein KÖNNTEN

if ( GetHealth <= 10) ; wenn 10 Trefferpunkte oder weniger übrig sind

modCurrentHealth, 1000

PositionCell 4367, 4400,13574, 0, "Unterwelt"

endif

end


für den Spieler:


begin untoterSpieler

if ( player->GetHealth <= 10)

player->modCurrentHealth, 1000

PositionCell 4367, 4400,13574, 0, "Unterwelt"

endif

end


Anmerkung: Benutze für Variablen und dergleichen nach Möglichkeit keine englischen Begriffe, das verhindert Konflikte mit anderen Mods und dem Spiel an sich.
 
@Mr Muh: Ich glaub das darf nicht "getcollidingpc" heißen. Das muss glaube ich "getpcstanding" oder so heißen(weiß jetzt nicht mehr genau wie der Befehl heißt). Also, das es aktiviert wird sobald der NPC draufsteht.

mfg Pagan
 
Du musst bei der Kreatur auf den Button "Ai" klicken und dann den Wert bei fight auf 0 stellen. Dann greift sie dich am Anfang nicht mehr an.
An die Kreatur kannst du folgendes Script hängen:

begin kreaturfightscript

if ( player->getitemcount "rüstung" < 1 )
setfight 0
stopcombat player

elseif ( player->getitemcount "rüstung" >= 1 )
setfight 100
startcombat player
endif

end

Danke Dir dafür, das Script funzt soweit sehr gut. Was ist, wenn ich jetzt aber will, dass er bei mehreren Dingen mich angreift? Also es soll so aussehen, dass wenn ich die Rüstung, den Helm, das Schwert etc. nehme, mich anrgreift.

Edit: Hat sich bereits erledigt. Weiß jetzt wie!
 
Zuletzt bearbeitet von einem Moderator:
???

@ wulfgar: geht irgendwie immer noch nicht mein spieler fällt trotzdem noch um ohne teleportet oder wiederbelebt zu werden :eek:

PS: hab des auf den Spieler gelegt (also den PC)
 
@Pagan: hm, der clou war, die variable timer war nicht deklariert^^ aber ich hab jetzt auch getstandingpc genommen, reicht ja aus für diese anwendung.


aber ich hab noch was. und zwar wird bei diesem script besagter gegenstand immer 2x platziert... warum? - frag ich mich...
Code:
begin MMashpillar

float x
float y
float z
float rot
short OnPCDrop

if ( GetDisabled )
SetDelete 1
endif

if ( OnPCDrop )
set x to GetPos x
set y to GetPos y
set z to Getpos z
set rot to GetAngle z
PlaceItem, MMFurn_6th_Ashpillar_act, x, y, z, rot
disable
endif

end
 
abend

ich brauche einen script (wer hätte es gedacht :ugly:)
und zwar folgenden:
sobald man mit einem bestimmten ring im inventar in die nähe eines x-markers kommt, sollen zwei hebel aktiviert werden und ein sound abgespielt werden.
kann mir jemand bitte helfen?

mfG assassin_456
 
abend

ich brauche einen script (wer hätte es gedacht :ugly:)
und zwar folgenden:
sobald man mit einem bestimmten ring im inventar in die nähe eines x-markers kommt, sollen zwei hebel aktiviert werden und ein sound abgespielt werden.
kann mir jemand bitte helfen?

mfG assassin_456

Hi!
Meinst Du mit aktiviert, dass die Hebel sichtbar gemacht werden?
Dann dieses Script an den xMarker hängen und bei den beiden Hebeln das Kästchen "persistent" markieren:

begin xmarkerscript
short status

if ( status == 0 )
if ( player->getitemcount "ring" == 1 )
if ( getdistance player > 512 )

"hebel1"->disable
"hebel2"->disable

elseif ( getdistance player < 512 )
"hebel1"->enable
"hebel2"->enable
playsound "soundx"
set status to 1
endif
endif
endif
end
 
  • Like
Reaktionen: Assassin_456