Construction Set Skriptthread zum Construction Set

Ich brauche einen Script wenn ich einen Hebel drücke soll ein Typ erscheinen einfach per enable .

Er soll aber nach 24 Stunden wieder verschwinden und man soll ihn unendlich oft rufen können nicht nur einmal und auch wenn der Typ mal gestorebn ist.
 
ich habe auch mal ein skriptproblem mit diesem klumpen:

Code:
scn StendarrPlatteScript
short dif
 
begin gamemode
set dif to (GetPCFame - GetPCInfamy)
end
 
begin onactivate
if dif <= -100 
messagebox "Stendarr, der große Richter, hat Eure Taten betrachtet. Sowohl Eure Guten als auch die Schlechten. In seinen Augen seid Ihr der abscheulichste Unmensch, Ihr seid es nicht würdig zu leben, also folgt dem Weg, den der Richter Euch auferlegt hat oder verlasst diese Hallen voll Schande!"
CreatureDoor.enable
elseif dif <= -75 && dif > -100
messagebox "Stendarr, der große Richter, hat Eure Taten betrachtet. Sowohl Eure Guten als auch die Schlechten. In seinen Augen seid Ihr eine der düstersten Gestalten Cyrodiils, also folgt dem Weg, den der Richter Euch auferlegt hat oder verlasst diese Hallen voll Schande!"
DarkmindDoor.enable
elseif dif <= -50 && > -75
messagebox "Stendarr, der große Richter, hat Eure Taten betrachtet. Sowohl Eure Guten als auch die Schlechten. In seinen Augen seid Ihr ein bösartiger Zyniker , also folgt dem Weg, den der Richter Euch auferlegt hat oder verlasst diese Hallen voll Schande!"
BullyDoor.enable
elseif dif <= -25 && > -50
messagebox "Stendarr, der große Richter, hat Eure Taten betrachtet. Sowohl Eure Guten als auch die Schlechten. In seinen Augen seid Ihr ein verschlossener Eigenbrödtler, also folgt dem Weg, den der Richter Euch auferlegt hat oder verlasst diese Hallen voll Schande!"
NobodyDoor.enable
elseif dif <= 0 && > -25
messagebox "Stendarr, der große Richter, hat Eure Taten betrachtet. Sowohl Eure Guten als auch die Schlechten. In seinen Augen seid Ihr nur ein Bürger Cyrodiils, also folgt dem Weg, den der Richter Euch auferlegt hat oder verlasst diese Hallen voll Schande!"
GuyDoor.enableelseif dif <= 25 && > 0
messagebox "Stendarr, der große Richter, hat Eure Taten betrachtet. Sowohl Eure Guten als auch die Schlechten. In seinen Augen seid Ihr ein rechtschaffener Bürger Cyrodiils, also folgt dem Weg, den der Richter Euch auferlegt hat oder verlasst diese Hallen voll Schande!"
FellowDoor.enable
elseif dif <= 50 && > 25
messagebox "Stendarr, der große Richter, hat Eure Taten betrachtet. Sowohl Eure Guten als auch die Schlechten. In seinen Augen seid Ihr einer der Edelmänner Cyrodiils, also folgt dem Weg, den der Richter Euch auferlegt hat oder verlasst diese Hallen voll Schande!"
PriestDoor.enable
elseif dif <= 75 && > 50
messagebox "Stendarr, der große Richter, hat Eure Taten betrachtet. Sowohl Eure Guten als auch die Schlechten. In seinen Augen seid Ihr ein guter Ritter im Dienste Cyrodiils, also folgt dem Weg, den der Richter Euch auferlegt hat oder verlasst diese Hallen voll Schande!"
KnightDoor.enable
elseif dif > 75
messagebox "Stendarr, der große Richter, hat Eure Taten betrachtet. Sowohl Eure Guten als auch die Schlechten. In seinen Augen seid Ihr der größte Held Cyrodiils, also folgt dem Weg, den der Richter Euch auferlegt hat oder verlasst diese Hallen voll Schande!"
HeroDoor.enable
endif
DoorScreen.disable
setdestroyed 1
end
und zwar hab ihc dne skript auf ne platte zum lesen gesetzt und beim aktivieren der platte passiert einfach ganrnix :?

wäre super wenn mir da jemand mit helfen könnte

MfG DarkSinthoras

EDIT: wegen deiner frage anti-held:

ich weis zwar nicht alles aber en teil aknn ich dir helfen:

legst das skript ungefähr so auf den hebel

scn Hebelskript

float timer

begin onactivate

TYPID.enable
TYPID.resurrect
TYPID.(pme REHE) spielt einen effekt ab, damit das nich so doof aussieht dass da einfach der typ auftaucht
set timer to (was weis ich wielange da ein tag ist :lol:)
end

begin gamemode

if timer == 0
TYPID.disable
TYPID.kill
TYPID.pme REAN
endif
end

müsste eigentlich funzen wenn du den typen auf quest item anhakst ;)
 
Zuletzt bearbeitet:
Folgendes Problem :(

Code:
[B]short activated

long sleepHours
long sleptHours

Begin onActivate

if isActionRef player == 1
 if activated == 0
  set sleptHours to getPCMiscStat 20
  set activated to 1
 endif
endif
activate
return

end

Begin GameMode

if activated == 1
 set sleepHours to getPCMiscStat 20
 if sleepHours > sleptHours
  set activated to 2
  zzREF.activate 1
 else
  set activated to 0
 endif
endif

end[/B]

wenn ich dieses script benutze. ist die secret wall (zzREF) auf aber dahinter ist wieder eine Wand, die iegentlich nicht da seien sollte. WEnn ich diese entfernen möchte steht dann da, das sie für das Script bgebraucht wird. Und wenn ich sie trotzdem entferne geht das Script nicht weil Item "1" nicht da ist.

Bitte um Hilfe
 
Code:
Scn StendarrPlatteScript

Short Dif
Short Fam
Short InFam

Short Troy
 
Begin OnActivate
	If Troy == 0
		Set Fam to GetPCFame
		Set InFam to GetPCInfamy
		Set Dif to Fam - Infam
		Set Troy to 1
	Endif
End

Begin GameMode
	If Troy == 1
		If Dif > 75
			MessageBox
			HeroDoor.Enable
		Elseif Dif <= 75 && Dif > 50
			MessageBox
			KnightDoor.Enable
		Elseif Dif <= 50 && Dif > 25
			MessageBox
			PriestDoor.Enable
		Elseif Dif <= 25 && Dif > 0
			MessageBox
			FellowDoor.Enable
		Elseif Dif <= -1 && Dif >= -24
			MessageBox
			GuyDoor.Enable
		Elseif Dif <= -25 && Dif >= -49
			MessageBox
			NobodyDoor.Enable
		Elseif Dif <= -50 && Dif >= -74
			MessageBox
			BullyDoor.Enable
		Elseif Dif <= -75 && Dif >= -99
			MessageBox
			DarkmindDoor.Enable
		Elseif Dif <= -100
			MessageBox "Pöser Pube"
			CreatureDoor.enable
		Endif
		DoorScreen.Disable
		SetDestroyed 1
	Endif	
End

DarkSinthoras, hier dein Script. Die Messages hab ich jetzt nicht eingefügt, mdas kannst du machen ;)
 
  • Like
Reaktionen: DarkSinthoras
@ manniL:
Code:
scn name

short activated

long sleepHours
long sleptHours

Begin onActivate

if isActionRef player == 1
 if activated == 0
  set sleptHours to getPCMiscStat 20
  set activated to 1
 endif
endif
activate
return

end

Begin GameMode

if activated == 1
 set sleepHours to getPCMiscStat 20
 if sleepHours > sleptHours
  set activated to 2
  <Secret-Wall-Ref>.activate 1
  [COLOR="Red"]<Gegenstand1-Ref>.enable
  ...[/COLOR]
 else
  set activated to 0
 endif
endif

end
Ich hab die Zeilen, die du ergänzen musst rot markiert.


@ Anti_Held:
Das könntest du so schreiben:
Code:
scn name

short activated
float hour
long day

Begin onActivate

<NPC-Ref>.enable
set hour to GameHour
set day to GameDaysPassed
set activated to 1

end

Begin GameMode

if activated == 0
 return
endif

if GameDaysPassed > day
 if GameHour > hour
  set activated to 0
  <NPC-Ref>.disable
 endif
endif

end
 
  • Like
Reaktionen: Anti_Held
Ich bräucht 3 Scripts

  1. Wenn ich eine Triggerzone durchquere, soll ein Gegner (= Boss) von seiner ursprünglichen Größe (0.6) auf eine gewaltige Größe von etwa 1.2 bzw. 1.3 anwachsen. Allerdings immer schön etappenweise, d.h. etwa 0.25 pro Sekunde.
  2. Der oben genannte Gegner soll außerdem noch pro Sekunde etwas stärker werden, sodass Geschwindigkeit wirklich wichtig ist. Sobald er voll ausgewachsen ist, soll er nämlich (fast) unüberwindbar sein. Wie geht es, dass ab einer bestimmten Zeit immer eine weitere Eigenschaft (= Zauber) hinzugefügt wird?
  3. Ein Gegner soll eine Waffe habe, welche jeglichen Block überwindet. Soll heißen, dass jeder Schlag den Gegner zurücktaumeln lässt.
Danke schon einmal im Vorraus.

:bye:
 
Zuletzt bearbeitet:
Ich hab mal wieder ein Problem, meine Idee in einem Skript umzusetzen:
Ich wollte eine Statue bauen, die den Spieler mit einem Zauber beschießt, wenn er sich ihr nähert.
Das soll sie aber nicht machen wenn der Spieler eine Nekromantenrobe trägt. Wie kann da der Skript aussehen?

Vielen Dank schon mal im Voraus
Runic
 
Der Skript soll nur abfragen ob der Spieler die Robe trägt, ob er die Kapuze nun auch auf hat ist nicht so wichtig!
 
@ Anti_Held: Hast du den NPC per Activator aktiviert? Mit so einem Script zB.:

Code:
scn Scriptname

ref myself

Begin OnActivate
set myself to getself
[NPC-Ref].activate myself 1
End

Wichtig ist, dass die Flag 1 ist, ansonsten wird der Script auf dem NPC nicht ausgeführt. Außerdem würde ich den Script noch etwas anpassen:

Code:
scn name

short activated
short hour
short day

Begin onActivate

if activated == 0
	if [NPC-Ref].getdead
		resethealth
		resurrect 0
	endif
	[NPC-Ref].enable
	set hour to GameHour
	set day to GameDaysPassed + 1
	set activated to 1
endif
end

Begin GameMode

if activated == 0
	return
endif

if GameDaysPassed == day
	if GameHour > hour
		set activated to 0
		<NPC-Ref>.disable
	endif
elseif GameDaysPassed > day
	set activated to 0
	<NPC-Ref>.disable
endif

end
 
Hab auch mal ne Frage:

Der Skript soll so ablaufen
Liest ein Dokument;Muss etwas entscheiden: Text,und dann ja oder nein drücken;Dann verschwindet das Dokument;Zwei Tage später wird dann jede Woche 200 Septime abgezogen.

Wie muss der nun lauten?
MFG:-D
 
@ Raven:

Den gibts nur für OBSE und heist Con_TGM. Weis aber nicht, ob man den auch abfragen kann. :-D


Ich hätte auch ein Problem zu melden:

Habe ein Skript geschrieben, der auf einem Activator liegt. Sobald man ihn aktiviert, soll eine Flamme erscheinen und dem Spieler die Kontrolle entzogen werden.
Nach 2 Sekunden soll die Flamme wieder disabled werden und dafür eine Andere enabled werden.
Das Ganze dann nochmal und danach soll nach 1 Sekunde die Kontrolle wieder aktiviert und die Quest soll aktualisiert und der Spieler soll zu einem Marker teleportiert werden. Bisher sieht das Skript so aus:

Code:
scn ...

short on
float timer

Begin OnActivate
  If on == 0
    set on to 1
      <Feuer1Ref>.enable
        set timer to 5
           DisablePlayerControls
       endif
end 

Begin GameMode

If On == 1
   If Timer >= 0
      set timer to (timer - getsecondspassed)
    endif
  endif

  If Timer <= 3
      <Feuer2Ref>.enable
        <Feuer1Ref>.disable
         endif
    If Timer <= 1
        <Feuer2Ref>.disable
           <Feuer3Ref>.enable
       endif
     If Timer <= 0
        setstage <Quest> xx
           EnablePlayerControls
             Player.MoveTo <MarkerID>
       endif
end
Es passiert aber nichts, woran kann das liegen?

mfg
Kahmul
 
Zuletzt bearbeitet:
Es passiert aber nichts, woran kann das liegen?

Könntest du das etwas konkretisieren? DisablePlayerControls müsste wenigstens wirken. Beim GameMode Block müsste allerdings noch etwas geändert werden:

Code:
scn Scriptname

short step
float timer

Begin OnActivate
If step == 0
	<Feuer1Ref>.enable
	set timer to 5
	DisablePlayerControls
	set step to 1
endif
end 

Begin GameMode

If step == 0
	return
else
	If Timer >= 0
		set timer to timer - getsecondspassed
	endif

	If (Timer <= 3) && (step == 1)
		<Feuer2Ref>.enable
		<Feuer1Ref>.disable
		set step to 2
	endif
	If (Timer <= 1) && (step == 2)
		<Feuer2Ref>.disable
		<Feuer3Ref>.enable
		set step to 3
	endif
	If (Timer <= 0) && (step == 3)
		setstage <Quest> xx
		EnablePlayerControls
		Player.MoveTo <MarkerID>
	endif
endif
end
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Kahmul