Construction Set Skriptthread zum Construction Set

Das ist ja mein erstes mal das ich mit dem Script Editor Arbeite also wollt ich fragen kann ich auch den Code über mir kopieren und in den Editor einfügen?
 
Ja, so ziemlich. Hinter dem zu beginn stehenden scn kannst du auch noch anstatt Name einen eigenen Namen eintragen.
Für <Folgen-Package-ID> und <Warten-Package-ID> musst du aber noch die jeweiligen IDs eintragen. ;)

MfG Master of Worlds
 
Äh ich mein eigentlich ob ich den Code von Diarrhoe mit rechtsklick kopieren kann und dann im Script Editor den Code wieder einfügen kann...weil irgentwie geht das nicht.
 
Es ist so einfach nicht, die nummer mit rechtsklick funktioniert im Scriptfenster nicht, die kannst allerdings mit dem befehl Strg+V Sachen einfügen, das funktioniert auch da. Mit Strg+C kann man übrigens auch kopieren.
 
  • Like
Reaktionen: Irathindur
Ich bräuchte einen Skript der folgendes macht ...

Begin OnActivate

Dann eine Messeagebox wo es es als Auswahl gibt

- Xy kaufen
Dabei werden dem Spieler 10 Gold entfernt und dann etwas gegeben wird.
Allerdings soll wenn er keine 10 Gold hat eine Messagebox kommen die sagt dass er nicht genug Geld hat und dann alle Messageboxen geschlossen werden.
 
Also ich habe den Script eingefügt,aber ich soll ja auch bei den <Folgen-Package-ID> und <Warten-Package-ID> die jeweiligen IDs eintragen aber was ist damit gemeint?
 
Du musst dann ja eigene AI Packages erstellen, wenn du neue erstellst gibst du ihnen auch entsprechende IDs oder hierbei eher "Namen" z.B "WartPackage". Dieses "WartPackage" fügst du dann anstatt <Warten-Package-ID> ein, selbe Sache bei <Folgen-Package-ID>. :)

MfG Master of Worlds
 
  • Like
Reaktionen: Irathindur
Du musst zuerst die Packages erstellen. Das machst du im CS unter Character --> Packages. Bei jedem wählst du den Typ des Packages aus, machst spezielle Einstellungen und gibst ihm eine ID. Diese ID trägst du dann in das Skript ein. Nähere Information zu Packages findest du im CS-Wiki.
 
  • Like
Reaktionen: Irathindur
@antihheld:

scn name
short button
short pressed

begin onactivate
messaegbox "wollt ihr Xy kaufen?" "ja" "nein"
set ppressed to 1
end

begin gamemode
if pressed==1
set button to getbuttonpressed
if button==0
if player.getitemcount gold001 >= 10
player.removeitem gold001 10
player.additem <xy-ID> 1
set button to 2
set pressed to 0
else
message "ihr habt nicht genügend gold!"
set button to 2
set pressed to 0
endif
elseif button===1
message "dann halt net! xD"
set button to 2
set pressed to 0
endif
end
 
  • Like
Reaktionen: Anti_Held
warum könnne die das nich?wenn du von ner kreatur verfolgt wirst kann sie dir doch auch in interiors nachjagen...

man könnte vllt ein script schreiben

scn schafscript

begin onload
moveto player
end
 
  • Like
Reaktionen: Irathindur
Wie würde denn das Script aussehen wenn man das so verändert das Schafe einen auch durch Türen folgen?
so sieht das Script bisher bei mir aus

Code:
scn 1schafscript

short init
short button

Begin onActivate

if isActionRef player
 if init == 0
  set init to 1
  set button to -1
  messagebox "Was soll das Schaf tun?" "Folgen" "Warten" "<Abbrechen>"
 endif
endif

end


Begin GameMode

if init
 set button to getButtonPressed
 if button == -1
  return
 elseif button == 0
  set init to 0
  addScriptPackage 1folgen
 elseif button == 1
  set init to 0
  addScriptPackage 1warten
 else
  set init to 0
  return
 endif
endif

end
 
Vielleicht wenn man das beim GameMode-Block hinzufügt:

Code:
if(player.getinsamecell != 1)
       moveTo Player
endif
Ich glaube aber nicht, dass das klappt, weil der GameMode-Block ja nur ausgeführt wird, wenn der Spieler in der selben Zelle ist, wie der Gegenstand, auf dem der Script liegt.
Aber man kanns ja ausprobieren. :-D
 
scn 1schafscript

short init
short button
short follow

Begin onActivate

if isActionRef player
if init == 0
set init to 1
set button to -1
messagebox "Was soll das Schaf tun?" "Folgen" "Warten" "<Abbrechen>"
endif
endif

end


Begin GameMode

if init
set button to getButtonPressed
if button == -1
return
elseif button == 0
set init to 0
addScriptPackage 1folgen
set follow to 1
elseif button == 1
set init to 0
addScriptPackage 1warten
set follow to 0
else
set init to 0
return
endif
endif

end

begin onload
if follow==1
moveto player
endif
end


EDIT: wenn du kahmuls teil einfügst wird das schaf auch wenn es dir gar nicht folgen soll zu dir geportet...
EDIT2: das mit dem moveto hab ich bisher immer so gemacht udn hat jedesmal geklappt ;)
 
So, ich habe jetzt versucht die var zu verknüpfen.
Bloß es klappt nicht. Das erste Script liegt auf einem Buch.
Das zweite ist mein Activator('Wetteraltar'). Normalerweise
müsste der erst funktionieren, wenn ich das Buch lese(das Script funst).
Aber jetzt funktioniert der garnicht :(
Code:
scn MCTestWeatherchangeactivate

short douze
short wetter

begin onActivate
	if douze == 0
		set wetter to 1
		Message "Ihr könnt jetzt den Wetteraltar benutzen."
		set douze to 1
	endif
	activate
end
Code:
scn MCTestWeatheractivator

short bounce

Begin onActivate	
	if MCTeachbook.wetter == 1
	MessageBox "Welches Wetter wollt ihr haben?", "Klar", "Wolkig", "Nebel", "Regen", "Normales Wetter"
	endif
End
Begin GameMode
	Set bounce to GetButtonPressed
		if (bounce == 0)
			SetWeather Clear 1
		Elseif (bounce == 1)
			SetWeather Cloudy 1
		Elseif (bounce == 2)
			SetWeather Fog 1
		Elseif (bounce == 3)
			SetWeather Rain 1
		Elseif (bounce == 4)
			ReleaseWeatherOverride
		endif
End

Wo ist der Fehler?
 
@Irathindur:
"GameMode" wird bei den Schafen nicht ausgeführt, weil sie zu dem Zeitpunkt nicht mehr geladen sind. Auch "onLoad" ist hier falsch, eher bräuchte man einen "onUnload"-Block (keine Sorge, den gibts nicht). ;)
Du solltest daher ein Questskript erstellen, das die Schafe zu dir teleportiert. Als Skript auf den Schafen kannst du das Skript vom Waldmeister nehmen, nur ohne den "onLoad"-Block. In das Questskript schreibst du dann so etwas:
Code:
scn name

float fQuestDelayTime
short doonce

Begin GameMode

if doonce == 0
 set doonce to 1
 set fQuestDelayTime to 0.2
endif

if <Schaf1-Ref>.folgen
 if player.getInSameCell <Schaf1-Ref> == 0
  <Schaf1-Ref>.moveTo player
 endif
endif
if <Schaf2-Ref>.folgen
 if player.getInSameCell <Schaf2-Ref> == 0
  <Schaf2-Ref>.moveTo player
 endif
endif
...

end

Das musst du nur noch um die restlichen Schafe ergänzen. Außerdem musst du den Schafen vorher noch Referenzen zuweisen, mit denen du "<Schaf1-Ref>" usw. ersetzt.


@Foxbuild:
Ändere das zweite Skript mal wie folgt:
Code:
scn MCTestWeatheractivator

short bounce
short init

Begin onActivate	

if MCTeachbook.wetter
 if init == 0
  set init to 1
  set bounce to -1
  messagebox "Welches Wetter wollt ihr haben?", "Klar", "Wolkig", "Nebel", "Regen", "Normales Wetter"
 endif
endif

end


Begin GameMode

if init
 set bounce to GetButtonPressed
 if bounce == -1
  return
 elseif bounce == 0
  set init to 0
  setWeather Clear 1
 elseif bounce == 1
  set init to 0
  setWeather Cloudy 1
 elseif bounce == 2
  set init to 0
  setWeather Fog 1
 elseif bounce == 3
  set init to 0
  setWeather Rain 1
 elseif bounce == 4
  set init to 0
  releaseWeatherOverride
 endif
endif

end


@DarkRuler:
Wie sieht das Skript momentan aus?
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Foxbuild