Construction Set Skriptthread zum Construction Set

Ich poste das nochmal, ist immer blöd wenn ne neue Seite anfängt.

Wie muss ein Script lauten, dass die Aggression einer Kreatur auf 100 setzt, sobald der Player nahe genug herankommt?
 
So, ich hab hier jetzt auch mal ein Problem mit einem Skript. Um mich an das LayOut des Anfangsposts zu halten:

-Was muss das Script bewirken?
Um es kurz zu sagen: Ich will eine Waffe haben bzw. ein Skript für eine Waffe. Durch das Skript soll die Waffe zum einen Feuerschaden besitzen (wenn das geht. Wenn nicht müsste ichs halt über eine herkömmliche Verzauberung machen)und, was das eigentliche Problem ist: Sie soll den Shadereffekt des Zaubers "Waffe auflösen" besitzen. Wendet man den Zauber ingame auf einen bewaffneten NPC an, dann steht seine Waffe komplett in Flammen und eben diesen Effekt will ich auf einer für den Spieler verwendbaren Waffe haben, samt einem passendem Nebeneffekt, wie zum Beispiel dass die Hitpoint-Anzahl des Gegners bei Treffer um zB ein Viertel verringert wird.

Ich hab bereits mit der Hilfe eines Bekannten, der etwas vom Skripten versteht, versucht das umzusetzen mithilfe eines einfachen Skriptes wie dem hier bzw. in sinnvollen Variationen davon:

scn SKRIPTNAME
Begin OnLoad
pms "ShaderEffectID" 999999999
End

Mal haben wirs dann ohne die "9"en probiert, anstatt "Begin OnLoad" "Begin OnEquip" zu nehmen oder auch mit verschiedenen shadereffekten, aber ingame kam einfach nichts. Dann hatten wir/ich versucht, das Skript als Verzauberung laufen zu lassen, also dass man das Skript ner Verzauberung der Waffe zuweist und nicht der Waffe direkt,aber der im Skript geforderte Shadereffekt trat nicht auf. - Ich konnte zwar der Verzauberung dann szsg einen Skripteffekt zuweisen, aber da hat's dann immer nur die "normalen" Glanz-Effekte (also zB dieses orangene oder weiße Schimmern bei Feuer- oder Eis-Verzauberungen) ingame angezeigt. Effekte wie eben dieses "Waffe auflösen" wurden nicht angezeigt, geschweigedenn der Effekt, der im Skript steht. -
Woran kann das denn liegen, dass der Shadereffekt aus dem Skript nicht angezeigt wird? Bzw. sitzt der Wurm im Skript oder muss ich die Sache irgendwie anders anpacken? Für Hilfe wär ich sehr dankbar :)

Gruß,
Carcharoth
 
Zuletzt bearbeitet:
hi, ich suche
1.)ein script, mit dem man unsterbliche chars töten kann
(eher für eine cheat-mod. gedacht^^)
danke schon mal im vorraus
2.)ein script, mit dem man eine maske belegen kann, sodass man (wie bei der
grauen kutte der nacht [die vom graufuchs^^]) nur kopfgeld auf die maske
bekommt, welches beim ablegen verschwindet. außerdem sollen einen die
NPC's nicht erkennen!

danke schon mal im vorraus, der dunkelfürst
 
Bei 2. kann ich dir nicht helfen, aber bei 1.

Das Script muss ungefähr so sein:

Code:
Begin OnActivate
        Player.Kill
        endif
End

Das wichtige dabei ist das "Player.Kill. Das wirkt genau wie wenn man sich selber anklickt und "kill" in die Konsole eingibt. Denn TGM macht zwar unendlich Leben, aber das schützt NICHT vor Kill.
 
Das Script muss ungefähr so sein:

Code:
Begin OnActivate
Player.Kill
endif
End
Das wichtige dabei ist das "Player.Kill. Das wirkt genau wie wenn man sich selber anklickt und "kill" in die Konsole eingibt. Denn TGM macht zwar unendlich Leben, aber das schützt NICHT vor Kill.
Korrigiert mich wenn ich falsch liege, aber würde dieses Script nicht den Player killen? Player.kill? Ich glaube, der dunkelfürst möchte essential NPCs töten und nicht sich selbst^^
 
Mit IsEssential(hoffentlich richtig geschrieben) kann man zumindest abfragen, ob die Ref unsterblich ist.
Daraus könnte man sicherlich ein Skript stricken.
Es kommt nur drauf an, wie und warum der NPC doch sterben soll.
 
Skript hängt - Fehlersuche

Kann mir jemand sagen, warum das Skript hängt, sobald die Variable "pl22ZufallsQuestStart" den Wert 2 hat.

Code:
ElseIf ( pl22ZufallsQuestStart == 2 )
	If ( QuestArt >= 0 )
		Set pl22Itemzahl To 1 + 0.05 * GetRandomPercent ;maximal 5 verschiedene Items
		If ( pl22Itemzahl >= 1 && < 2 )
			MessageBox "Block 1"
			;Set pl22Item1 To 1 + 0.99 * GetRandomPercent
			;Set pl22AnzahlItem1 To 1 + 0.20 * GetRandomPercent
			;MessageBox "Ich soll Heredar %f %f bringen. Mal sehen, was sich machen lässt.", pl22AnzahlItem1, pl22Item1
		ElseIf ( pl22Itemzahl >= 2 && < 3 )
			MessageBox "Block 2"
			;Set pl22Item1 To 1 + 0.99 * GetRandomPercent
			;Set pl22Item2 To 1 + 0.99 * GetRandomPercent
			;Set pl22AnzahlItem1 To 1 + 0.20 * GetRandomPercent
			;Set pl22AnzahlItem2 To 1 + 0.20 * GetRandomPercent
			;MessageBox "Ich soll Heredar %f %f und %f %f bringen. Mal sehen, was sich machen lässt.", pl22AnzahlItem1, pl22Item1, pl22AnzahlItem2, pl22Item2
		ElseIf ( pl22Itemzahl >= 3 && 4 )
			MessageBox "Block 3"
			;Set pl22Item1 To 1 + 0.99 * GetRandomPercent
			;Set pl22Item2 To 1 + 0.99 * GetRandomPercent
			;Set pl22Item3 To 1 + 0.99 * GetRandomPercent
			;Set pl22AnzahlItem1 To 1 + 0.20 * GetRandomPercent
			;Set pl22AnzahlItem2 To 1 + 0.20 * GetRandomPercent
			;Set pl22AnzahlItem3 To 1 + 0.20 * GetRandomPercent
			;MessageBox "Ich soll Heredar %f %f, %f %f und %f %f bringen. Mal sehen, was sich machen lässt.", pl22AnzahlItem1, pl22Item1, pl22AnzahlItem2, pl22Item2, pl22AnzahlItem3, pl22Item3
		ElseIf ( pl22Itemzahl >= 4 && < 5 )
			MessageBox "Block 4"
			;Set pl22Item1 To 1 + 0.99 * GetRandomPercent
			;Set pl22Item2 To 1 + 0.99 * GetRandomPercent
			;Set pl22Item3 To 1 + 0.99 * GetRandomPercent
			;Set pl22Item4 To 1 + 0.99 * GetRandomPercent
			;Set pl22AnzahlItem1 To 1 + 0.20 * GetRandomPercent
			;Set pl22AnzahlItem2 To 1 + 0.20 * GetRandomPercent
			;Set pl22AnzahlItem3 To 1 + 0.20 * GetRandomPercent
			;Set pl22AnzahlItem4 To 1 + 0.20 * GetRandomPercent
			;MessageBox "Ich soll Heredar %f %f, %f %f, %f %f und %f %f bringen. Mal sehen, was sich machen lässt.", pl22AnzahlItem1, pl22Item1, pl22AnzahlItem2, pl22Item2, pl22AnzahlItem3, pl22Item3, pl22AnzahlItem4, pl22Item4
		ElseIf ( pl22Itemzahl >= 5 )
			MessageBox "Block 5"
			;Set pl22Item1 To 1 + 0.99 * GetRandomPercent
			;Set pl22Item2 To 1 + 0.99 * GetRandomPercent
			;Set pl22Item3 To 1 + 0.99 * GetRandomPercent
			;Set pl22Item4 To 1 + 0.99 * GetRandomPercent
			;Set pl22Item5 To 1 + 0.99 * GetRandomPercent
			;Set pl22AnzahlItem1 To 1 + 0.20 * GetRandomPercent
			;Set pl22AnzahlItem2 To 1 + 0.20 * GetRandomPercent
			;Set pl22AnzahlItem3 To 1 + 0.20 * GetRandomPercent
			;Set pl22AnzahlItem4 To 1 + 0.20 * GetRandomPercent
			;Set pl22AnzahlItem5 To 1 + 0.20 * GetRandomPercent
			;MessageBox "Ich soll Heredar %f %f, %f %f, %f %f und %f %f bringen.", pl22AnzahlItem1, pl22Item1, pl22AnzahlItem2, pl22Item2, pl22AnzahlItem3, pl22Item3, pl22AnzahlItem4, pl22Item4
			;MessageBox "Außerdem soll ich ihm noch  und %f %f bringen. Mal sehen, was sich machen lässt.", pl22AnzahlItem5, pl22Item5
		Else
			MessageBox "Was anderes"
		EndIf
	EndIf
	Set pl22ZufallsQuestStart To 3
EndIf

Edit: Lösung:
Code:
ElseIf ( pl22ZufallsQuestStart == 2 )
	If ( QuestArt > 0 )
		Set pl22Itemzahl To 1 + 0.05 * GetRandomPercent ;maximal 5 verschiedene Items
		MessageBox "%f", pl22Itemzahl
		If ( pl22Itemzahl >= 1 ) && ( pl22Itemzahl < 2 )
			MessageBox "Block 1"
			;Set pl22Item1 To 1 + 0.99 * GetRandomPercent
			;Set pl22AnzahlItem1 To 1 + 0.20 * GetRandomPercent
			;MessageBox "Ich soll Heredar %f %f bringen. Mal sehen, was sich machen lässt.", pl22AnzahlItem1, pl22Item1
		ElseIf ( pl22Itemzahl >= 2 ) && ( pl22Itemzahl < 3 )
			MessageBox "Block 2"
			;Set pl22Item1 To 1 + 0.99 * GetRandomPercent
			;Set pl22Item2 To 1 + 0.99 * GetRandomPercent
			;Set pl22AnzahlItem1 To 1 + 0.20 * GetRandomPercent
			;Set pl22AnzahlItem2 To 1 + 0.20 * GetRandomPercent
			;MessageBox "Ich soll Heredar %f %f und %f %f bringen. Mal sehen, was sich machen lässt.", pl22AnzahlItem1, pl22Item1, pl22AnzahlItem2, pl22Item2
		ElseIf ( pl22Itemzahl >= 3 ) && ( pl22Itemzahl < 4 )
			MessageBox "Block 3"
			;Set pl22Item1 To 1 + 0.99 * GetRandomPercent
			;Set pl22Item2 To 1 + 0.99 * GetRandomPercent
			;Set pl22Item3 To 1 + 0.99 * GetRandomPercent
			;Set pl22AnzahlItem1 To 1 + 0.20 * GetRandomPercent
			;Set pl22AnzahlItem2 To 1 + 0.20 * GetRandomPercent
			;Set pl22AnzahlItem3 To 1 + 0.20 * GetRandomPercent
			;MessageBox "Ich soll Heredar %f %f, %f %f und %f %f bringen. Mal sehen, was sich machen lässt.", pl22AnzahlItem1, pl22Item1, pl22AnzahlItem2, pl22Item2, pl22AnzahlItem3, pl22Item3
		ElseIf ( pl22Itemzahl >= 4 ) && ( pl22Itemzahl < 5 )
			MessageBox "Block 4"
			;Set pl22Item1 To 1 + 0.99 * GetRandomPercent
			;Set pl22Item2 To 1 + 0.99 * GetRandomPercent
			;Set pl22Item3 To 1 + 0.99 * GetRandomPercent
			;Set pl22Item4 To 1 + 0.99 * GetRandomPercent
			;Set pl22AnzahlItem1 To 1 + 0.20 * GetRandomPercent
			;Set pl22AnzahlItem2 To 1 + 0.20 * GetRandomPercent
			;Set pl22AnzahlItem3 To 1 + 0.20 * GetRandomPercent
			;Set pl22AnzahlItem4 To 1 + 0.20 * GetRandomPercent
			;MessageBox "Ich soll Heredar %f %f, %f %f, %f %f und %f %f bringen. Mal sehen, was sich machen lässt.", pl22AnzahlItem1, pl22Item1, pl22AnzahlItem2, pl22Item2, pl22AnzahlItem3, pl22Item3, pl22AnzahlItem4, pl22Item4
		ElseIf ( pl22Itemzahl >= 5 )
			MessageBox "Block 5"
			;Set pl22Item1 To 1 + 0.99 * GetRandomPercent
			;Set pl22Item2 To 1 + 0.99 * GetRandomPercent
			;Set pl22Item3 To 1 + 0.99 * GetRandomPercent
			;Set pl22Item4 To 1 + 0.99 * GetRandomPercent
			;Set pl22Item5 To 1 + 0.99 * GetRandomPercent
			;Set pl22AnzahlItem1 To 1 + 0.20 * GetRandomPercent
			;Set pl22AnzahlItem2 To 1 + 0.20 * GetRandomPercent
			;Set pl22AnzahlItem3 To 1 + 0.20 * GetRandomPercent
			;Set pl22AnzahlItem4 To 1 + 0.20 * GetRandomPercent
			;Set pl22AnzahlItem5 To 1 + 0.20 * GetRandomPercent
			;MessageBox "Ich soll Heredar %f %f, %f %f, %f %f und %f %f bringen.", pl22AnzahlItem1, pl22Item1, pl22AnzahlItem2, pl22Item2, pl22AnzahlItem3, pl22Item3, pl22AnzahlItem4, pl22Item4
			;MessageBox "Außerdem soll ich ihm noch  und %f %f bringen. Mal sehen, was sich machen lässt.", pl22AnzahlItem5, pl22Item5
		Else
			MessageBox "Was anderes"
		EndIf
	EndIf
	Set pl22ZufallsQuestStart To 3
EndIf
 
Zuletzt bearbeitet von einem Moderator:
Ich kann dir leider nicht helfen Vampir-Lord. Es könnte sein, dass sich eine Endlosschleife bildet. :?

Ich habe aber auch ne Frage:

Wie mache ich es, dass ein Begin OnActivate an einer Truhe erst dann ausgelöst wird, wenn sie aufgeschlossen wurde, das LockLevel also 0 ist?
 
naja, ihr kennt doch bestimmt das gerücht um das licht-schattenschwert, oder? wenn nich´t, dann guckt im inet (z.b. bei spieletipps.de, oder bei spieletipps.de) nach dem licht-schatten-schwert (wahrscheinlich falsch geschrieben^^). kurz:
angeblich soll i-wo in den kaiserlichen abwässerkanälen eine leiche/zombie sein, welche einem die quest gibt ein, zwei NPC's zu töten. als belohnung bekommt man das licht-schatten-schwert (wahrscheinlich immernoch falsch geschrieben^^). mit diesem schwert soll man unsterbliche charactere töten können (und ich glaube, es soll noch einige andere features haben, bin mir aber nicht sicher), sobald man die quest beendet hat, bekommt man angeblich 8.000.000 kopfgeld.

es ist nur ein gerücht, dieses schwert gibt es nämlich gar nicht und....naja, ich will das ändern, ihr seht: das WÄRE dann eine CHEAT-MOD.^^

naja, dafür brauche ich das script, reicht das an infos, oder was wollt ihr noch wissen, werde fragen beantworten, wenn es mir beei dem script hilft^^

greez der dunkelfürst
 
@Der Dunkelfürst:
Wie wäre es, wenn Du dann mal genau beschreibst, was das Skript bewirken soll. Im Moment kann ich bloß rauslesen, dass essentielle Char getötet werden können sollen und dass das Kopfgeld extrem hoch sein soll.
 
Für das Killen von Unsterblichen hat jemand schon ne Lösung gebracht.
Um das Kopfgeld zu erreichen:
Code:
Player.SetCrimeGold 120.0
Das gibt 120 Gold Kopfgeld. Wert halt anpassen.
 
Nene, mit dem Lock Level, das meinte ich so:

Die Trhue soll einen, wenn man sie anklickt, teleportieren. Das klappt ja auch. Nur ist es dem Script egal, ob die Truhe abgeschlossen ist. Das soll aber so sein, dass die Truhe erst aufgeschlossen werden muss (mit einem Schlüssel), bevor man teleportiert wird.
Also:

Lock Level 100 = Kein Teleport

Lock Level 0 = Teleport