Arielle 1000
Freund des Hauses
Das ist ja schon vorhanden. Für jedes einzelne Item. Mit Bedingung GetItemCount. Ich dachte nur, man könnte es vielleicht über ein Skript regeln.
scn MeineQuest
short Ablauf
float timer
begin OnActivate
if ( IsActionRef Player == 1 ) && ( GetStage MeineQuest == 50)
Messagebox "Blablabla!"
endif
if Ablauf == 0
set Ablauf to 1
set timer to 5
endif
if Ablauf == 1
set Timer to Timer - GetSecondsPassed
if Timer < 0
set Ablauf to 2
Setstage MeineQuest 60
endif
endif
end
Variablen keine!
begin OnActivate
if IsActionRef Player == 1 && GetStage MeineQuest == 50
SetStage MeineQuest 60
Messagebox "Blablabla!"
endif
End
short Ablauf
float Timer
begin OnActivate
if IsActionRef Player == 1 && GetStage MeineQuest == 50
Set Ablauf to 1
endif
End
Begin GameMode
if Ablauf == 1
set Ablauf to 2
set Timer to 5
Messagebox
endif
if Ablauf == 2
set Timer to Timer - GetSecondsPassed
if Timer < 0
set Ablauf to 3
Setstage MeineQuest 60
endif
endif
End
scn A0CreaAttackDistance1K
;Creatur greift bei bestimmten Ereignissen sofort an. Unabhängig der Settings.
short Schaden
short Level
ref Creatur
ref Distance1
ref Distance2
Begin Onload
set Creatur to getSelf
set Level to player.getLevel
set Schaden to Level*1000
;modAV Attackbonus SCHADEN ;nicht bei Creaturen. Schadenseingabe deshalb direkt zB.10000
End
Begin Gamemode
if getgameloaded
set Distance1 to 256* 5 ;Felderabstand neuer Attackradius "5" =1280
set Distance2 to 256* 7 ;Felderabstand neuer Attackradius "7" =1792
;===================ENDE DER EINGABEN============================================================
MessageEX" Witterungsradius=%.0f, Bei schneller Bewegung=%.0f"Distance1, Distance2 3
MessageEX"Level des Players=%.0f, Schaden der Creatur=%.0f"Level, Schaden 3
endif
if getdistance player < Distance1
if player.isSneaking ==1 && player.isRunning !=1
MessageEX"2 Sneakmodus, Creatur sieht und hört einen nicht"
Creatur.stopcombat player
else
MessageEX"3 tschüss, Creatur hat einen gewittert"
Creatur.startcombat player
endif
elseif getdistance player < Distance2
if player.isRunning || player.IsRidingHorse
MessageEX"1 Runmodus, Creatur wird aggressiv und beginnt die Jagd"
Creatur.startcombat player
else
Creatur.stopcombat player
endif
else
Creatur.stopcombat player
endif
End
scn A0CreaAttackDistance1K
;Creatur greift bei Witterung und Bewegung sofort an. Unabhängig der Settingeinstellungen.
;short Schaden
;short Level
short Mov
ref Creatur
ref Distance1
ref Distance2
Begin Onload
set Creatur to getSelf
;set Level to player.getLevel ; steht auf 0, warum. Player ist Level 12
;set Schaden to Level*1000 ; steht auch auf 0
;modAV Attackbonus SCHADEN ;geht nicht bei Creaturen. Schadenseingabe deshalb direkt zB.10000
End
Begin Gamemode
if getgameloaded
set Distance1 to 256* 5 ;Witterungsradius klein "5" =1280
set Distance2 to 256* 7 ;Witterungsradius gross "7" =1792
set Mov to 0 ;Bewegungsvariable
;===================ENDE DER EINGABEN============================================================
MessageEX" Witterungsradius=%.0f, Bei Bewegung=%.0f" Distance1, Distance2 3
;MessageEX"Level des Players=%.0f, Schaden der Creatur=%.0f" Level, Schaden 3
endif
if getdistance player < Distance1
if player.isMovingForward || player.isMovingBackward || player.isMovingLeft || player.isMovingRight
set Mov to 1
;elseif player.isTurningLeft || player.isTurningRight || player.isSneaking==1
; set Mov to 2
;elseif player.IsRidingHorse || player.isRunning
; set Mov to 3
else
set Mov to 0
endif
elseif getdistance player < Distance2
if player.isRunning || player.IsRidingHorse
set Mov to 4
if Mov==4
MessageEX"4 agressiv weit"
set mov to 6
endif
else
if player.isMovingForward || player.isMovingBackward || player.isMovingLeft || player.isMovingRight
set Mov to 5
if Mov==5
MessageEX"5 gewittert weit"
set mov to 6
endif
endif
set Mov to 0
endif
;else
;Creatur.stopcombat player
endif
; Ausserhalb funktioniert die Abfrage nicht.
if Mov ==0
set mov to 6
endif
;if Mov ==1
; MessageEX"1 gewittert nah"
;Creatur.startcombat player
;MessageEX"1 Creatur hat einen gewittert"
; set mov to 6
;endif
;
;if Mov ==2
; MessageEX"2 weniger gewittert"
; set mov to 6
;endif
;
;if Mov ==3
;
; MessageEX"3 agressiv nah"
; set mov to 6
;endif
;Creatur.startcombat player
;MessageEX"2 Creatur wird aggressiv und beginnt die Jagd"
;
; Creatur.stopcombat player
; MessageEX"3 Creatur sieht und hört einen nicht"
;if player.isSneaking ==1 && player.isRunning !=1
;if player.isswimming ==1
End
;Achtung alle auskommentiert da im Spiel keine Funktion.
;if Mov ==1
; MessageEX"1 gewittert nah"
;Creatur.startcombat player
;MessageEX"1 Creatur hat einen gewittert"
; set mov to 6
;endif
;
;if Mov ==2
; MessageEX"2 weniger gewittert"
; set mov to 6
;endif
;
;if Mov ==3
;
; MessageEX"3 agressiv nah"
; set mov to 6
;endif
Scriptname Meine Quest
short learned
short controlvar
short button
short doonce
Begin OnAdd Player
if ( learned == 0 )
if ( controlvar == 0 )
MessageBox "Wollt Ihr den Zauber erlernen?" "Ja" "Nein"
set controlvar to 1
endif
endif
If DoOnce == 0
if getstage "MeineQuest" == 8
SetStage "MeineQuest" 10
Set DoOnce to 1
Endif
Endif
End
Begin GameMode
if ( controlvar == 1 )
set button to GetButtonPressed
if ( button == -1 )
return
elseif ( button == 0)
set controlvar to 2
set learned to 1
PlaySound UIStatsSkillUp
Player.AddSpell 000NKGoIsland
elseif ( button == 1 )
set controlvar to 0
endif
endif
End
Scn A67HQ01JakirLeiche
short activated
begin OnActivate
if activated == 0 && isActionRef player == 1 && player.isInCombat == 0
activate
set activated to 1
endif
end
begin GameMode
if activated == 1 && getstage A67HQ01 == 70
setstage A67HQ01 80
endif
end
Scn A67HQ01Warten
short doonce
short startday
short timerstart
float timer
float fQuestDelayTime
begin GameMode
if timerstart == 0
return
elseif doonce == 0 && timerstart > 0
set startday to GameDaysPassed + 1
set doonce to 1
elseif doonce == 1
if Gamedayspassed >= startday && timerstart == 60
setstage A67HQ01 65
set doonce to 0
set timerstart to 0
if Gamedayspassed >= startday && timerstart == 210
setstage A67HQ01 220
set doonce to 0
set timerstart to 0
if Gamedayspassed >= startday && timerstart == 230
setstage A67HQ01 240
set doonce to 0
set timerstart to 0
endif
endif
endif
endif
end