Construction Set Der inoffizielle Skript-Fragen-Thread zu Zaubern

JNR

Ehrbarer Bürger
Also, da sich hier in letzter zeit wieder viele Skript-Fragen vorfinden, habe ich beschlossen, die mal unter ein Dach zu bringen. Oftmals ist es so, dass man erst gerade mit dem Modden angefangen hat und schon beim 1. Skript nicht mehr weiterkommt. Die Tutorials helfen auch nicht immer, weil bei Skripten beispiele wenig helfen, da es diverse befehle gibt. Später merkt man aber, dass die Lösung total einfach ist. Ich weiß auch aus eigener Erfahrung, wie schnell es geht, dass man schon wieder ne Frage hat und n neuen Thread eröffnen muss, weil bisher noch niemand diese Frage gestellt hat. Dieser Thread is dazu da, um kleinere Skript-fragen zu stellen. Die können dann schnell beantwortet werden und es können auch neue Fragen gestellt werden. Sie sind net mehr so an den Titel gebunden. Klar, man kann sich auch erstma die CS Wiki angucken, aber viele, grad die jüngeren, können noch net so gut Englisch und die Deutsche is in Sachen Skripten ziemlich nutzlos.

Ich fang dann auch ma an mit n paar Fragen:

1. kann ich einen Zauber machen (auf berührung), bei dem aber nicht die Zauberanimation, sondern eine Schlaganimation kommt?

2. Mit welchem Skript kann ich neue gebundene Items beschwören?

3. Wie kann ich aus einer Leiche ein Skelett auferstehen lassen?
 
1. bin ich mir nicht sicher ob das geht, bestimmte zauberanimationen kannst du abspielen, ob die schlag animation abgespielt werden kann weiß ich nich^^

2.
scn itembeschwoeren

begin ScriptEffectStart

player.additem gebundeneruestung 1
player.equipItem gebundeneruestung 1

End

begin ScriptEffectFinish

player.removeItem gebundeneruestung 1

End

3. weiß ich leider auch keine lösung zu, hatte es mal probiert es aber nich hingekriegt
 
  • Like
Reaktionen: JNR
Hab folgendes Problem:
Will n Zauber machen, der Wasser beschwört. Das Wasser is auch schon im CS, fehlt nur noch das Skript.
Bisher hab ich das hier:
scn ConjureWater01Script

begin scripteffectstart
player.additem MageConjuredWater01 2
end

Ich will aber noch, dass man es nur beschwören kann, wenn man nit kämpft. Also hab ich das Skript so erweitert:
scn ConjureWater01Script

ref caster

begin scripteffectstart
set caster to GetSelf
if caster.IsInCombat == 0
caster.additem MageConjuredWater01 2
elseif
return
end

Jetz werd ich zwar immer gefragt, ob das Skript gespeichert werden soll, aber wenn ich auf "ja" klick, passiert nix.. aber n Error bekomm ich net...
 
Zuletzt bearbeitet:
Also zu erst solltest du wissen das bei gescripteten Spells die GetSelf Funktion immer die Reference des Ziels holt
Also solltest du es statt getself mal mit GetContainer versuchen , aber ich bin unsicher od das funktioniert ansonsten machs erstmal mit player

Das es einen Fehler gibt kann daran liegen , das dein Wasser kein tragbarer gegenstand ist (?) also unter z.B. Static gespeichert wurde .
Edit ,oh Killerkid hat Recht ein endif fehlt

versuchs mal mit player.placeatme MageConjuredWater01 2

:lol:
 
Stimmt, aber das hilft iwie auch nit... hab auc schon "caster" durch "player" ersetzt, dann sah es so aus:

scn ConjureWater01Script

begin scripteffectstart
if player.IsInCombat == 0
player.additem MageConjuredWater01 2
elseif
return
endif
end

EDIT:

SinHHHans, daran kanns nit liegen, das erste Skript hat ja funktioniert... das Wasser is unter "Potions"...
 
Zuletzt bearbeitet:
Wie jetz? der zauber soll dem zauberer (also auf selbst) 2 wasser ins inventar legen... Der Zauberer darf sich ahlt nur nit im Kampf befinden...
 
ja, und sinhhhans meint wenn der spieler kein combattarget hat, also das 0 ist das eben passiert. glaube aber das combattarget nur bei npc´s funktioniert, entsinne mich da mal sowas gelesen zu haben.
 
*rauskram*

Die SuFu brachte mich zu diesem Fred; Denn ich hätte da eine Frage ^^
Wie kann ich herausfinden, ob ein Actor grade zaubert? Ich durchforste cswiki schon die ganze Zeit, ohne etwas sinnvolles zu finden. Ich dachte da an sowas wie player.IsCasting aber das war dann doch zu einfach *g*
Wär super wenn mir das jemand sagen könnte!

EDIT: Wäre ausserdem noch gut zu wissen, welcher Schule der gesprochene Spruch angehört. Bei GetMagicEffectSchool blick ich nich durch...
 
Zuletzt bearbeitet:
Doch, IsCasting ist richtig.
Alelrdings könntest du es auch mit ( IsAnimGroupPlaying 36 == 1 ) versuchen.

Bei der Sache mit der Magic School, willst du das wissen während der Zauber noch von dem Actor gewirkt wird, oder wenn es auf ein Objekt/Gegner trifft?
 
  • Like
Reaktionen: Neurosis404
Unknown variable of funktion 'IsCasting'

Und ja, während der Actor (In dem Fall der Spieler) das Ding castet.
Also praktisch:
if player.IsCasting = 1 && Magieschule == Zerstörung

player.IsCasting && usw klappt auch nicht... Dachte eben, da wäre mein Fehler, aber nix is *g*
 
Zuletzt bearbeitet:
Dann nimmt doch If AnimGroupPlaying == 1, allerdings müsstest du dich hier auf "touch" "target" oder "Self" Zauber festlegen.

Btw. GetMagicEffectSchool kann man glaube ich nicht direkt auf den Player sprechen, man müsste erst den grade gecasteten Zauber abfragen und das BaseObject rausbekommen.
 
  • Like
Reaktionen: Neurosis404
Welcher Teilt jetzt?^^

Für AnimatopnPlaying

36 = Target
35 = Touch
34 = Self

Und bei dem anderen, ich glaube nicht, das man Abfragen kann, welchen Zauber ein Objekt grade castet. Du müsstest wenn bei dem ZielObject abfragen, welcher Zauber das war.
 
  • Like
Reaktionen: Neurosis404
1. Ich bräuchte ein Skript für Beschwörungszauber bei dem ich mehrere Kreaturen aufeinmal beschwören kann. Die Beschwörung sollte wenn möglich auf Ziel sein

2. Ein Skript für einen Zauber mit dem man Objekte, NPCs und Kreaturen oder sich selbst (nur für begrenzte Zeit)in einen Gegenstand oder einen anderen NPC/Kreatur
verwandeln kann.