Construction Set Skriptthread zum Construction Set

hi
ich hab da mal ne frage, wenn ich machen, dass ein ring/amulett pro sekunde
lebensenergie oder anderes wiederherstellt wie mache ich das dann?

und wie kann man attribute festigen?(magie z.b.)

hab bis jetzt noch keine skripts gemacht:oops:

thx
 
Performacelastiger? Das kannst du mit einem return-befehl verhindern:
Code:
scn ACWBladeDmgScript

[COLOR="SeaGreen"]short equipped[/COLOR]
short htoh
short blade
short dex
short str
short hitonce
float dmg
float N
float M
float AR
float absorb
float dif
ref target

[COLOR="SeaGreen"]Begin OnEquip player
set equipped to 1
End

Begin OnUnequip player
set equipped to 0
End

begin GameMode

If equipped == 0
return
Elseif equipped == 1[/COLOR]
set target to getcrosshairref
set htoh to player.getav handtohand
set blade to player.getav blade
set dex to player.getav agility
set str to player.getav strength
set AR to target.getarmorrating/100
set N to ((htoh+blade)/2)/100
set M to ((dex+str)/2)/100

If N > 1
	set N to 1
endif

If M > 1
	set M to 1
endif


if player.isattacking
	if target.isactor
		if player.isanimgroupplaying attackleft
			set absorb to (((pow dex N)/4)+((pow htoh N)/4)+((pow blade M)/8)+((pow str M)/8))*(AR*-1)
			set dif to ((((pow dex N)/4)+((pow htoh N)/4)+((pow blade M)/8)+((pow str M)/8))*-1)-absorb
			set dmg to ceil dif
			if player.getav health <= dmg
				player.kill
			else
				player.modav2 health dmg
			endif
		endif
	endif
endif

printc "dmg: %.2f	dif: %.2f	absorb: %.2f", dmg, dif, absorb
[COLOR="SeaGreen"]Endif[/COLOR]

end
Kannst es ja mal damit probieren.
 
  • Like
Reaktionen: Nexon
Nette Idee, Danke. Bleibt leider ein weiteres Problem, was mich jetz schon ewig nervt und ich äußerst seltsam finde. Hier das Script.

Code:
scn ACWBladeDmgScript

short htoh
short blade
short dex
short str
short hitonce
short equipped
float dmg
float N
float M
float AR
float absorb
float dif
ref target

Begin OnEquip player
set equipped to 1
End

Begin OnUnequip player
set equipped to 0
End

begin GameMode

If equipped == 0
return
Elseif equipped == 1 
set target to getcrosshairref
set htoh to player.getav handtohand
set blade to player.getav blade
set dex to player.getav agility
set str to player.getav strength
set AR to target.getarmorrating/100
set N to ((htoh+blade)/2)/100
set M to ((dex+str)/2)/100

If N > 1
	set N to 1
endif

If M > 1
	set M to 1
endif


if player.isattacking
	if target.isactor
		if player.isanimgroupplaying attackleft && hitonce==0
			set hitonce to 1
			set absorb to (((pow dex N)/4)+((pow htoh N)/4)+((pow blade M)/8)+((pow str M)/8))*(AR*-1)
			set dif to ((((pow dex N)/4)+((pow htoh N)/4)+((pow blade M)/8)+((pow str M)/8))*-1)-absorb
			set dmg to ceil dif
			if player.getav health <= dmg
				player.kill
			else
				player.modav2 health dmg
			endif
			printc "dmg: %.2f	dif: %.2f	absorb: %.2f", dmg, dif, absorb
		endif
	endif
endif
set hitonce to 0
endif

end

Das Problem ist, dass das Script, trotz der hitonce Variable nicht einmal ausgeführt wird, sondern über 20 mal. Das ist leider nicht so gedacht, da natürlich der Schaden viel zu hoch ausfällt dadurch.
 
hitonce wird ja auch immer wieder auf 0 gesetzt. Allerdings verstehe ich nicht, wieso es so oft ausgeführt wird. Aber probier es mal hiermit:

Code:
scn ACWBladeDmgScript

short htoh
short blade
short dex
short str
short hitonce
short equipped
float dmg
float N
float M
float AR
float absorb
float dif
ref target

Begin OnEquip player
set equipped to 1
End

Begin OnUnequip player
set equipped to 0
End

begin GameMode

If equipped == 0
return
Elseif equipped == 1 
set target to getcrosshairref
set htoh to player.getav handtohand
set blade to player.getav blade
set dex to player.getav agility
set str to player.getav strength
set AR to target.getarmorrating/100
set N to ((htoh+blade)/2)/100
set M to ((dex+str)/2)/100

If N > 1
	set N to 1
endif

If M > 1
	set M to 1
endif


if player.isattacking
	if target.isactor
		if player.isanimgroupplaying attackleft == 1 && hitonce == 0
			set hitonce to 1
			set absorb to (((pow dex N)/4)+((pow htoh N)/4)+((pow blade M)/8)+((pow str M)/8))*(AR*-1)
			set dif to ((((pow dex N)/4)+((pow htoh N)/4)+((pow blade M)/8)+((pow str M)/8))*-1)-absorb
			set dmg to ceil dif
			if player.getav health <= dmg
				player.kill
			else
				player.modav2 health dmg
			endif
			printc "dmg: %.2f	dif: %.2f	absorb: %.2f", dmg, dif, absorb
[COLOR="SeaGreen"]		elseif player.isanimgroupplaying attackleft == 0 && hitonce == 1
			set hitonce to 0[/COLOR]
		endif
	endif
endif

endif

end
 
You, Sir, are the bomb!!!

Weißt du, wie lange ich mir deswegen schon den Kopf kaputt mache. Kann kaum glauben, dass es endlich geht. Ich hatte mich schon damit abgefunden, das Script komplett zu verwerfen.

Tausend Dank man!
 
  • Like
Reaktionen: Gildur
mit addtopic fügst du dem NPC kein neues Topic hinzu, sondern machst es für den Spieler "bekannt". Also "npc.addtopic myTopic" bringt gar nichts. Du musst das Topic dem NPC im CS hinzufügen, und den Befehl im Script in "addtopic mytopic" ändern.

Also kann man nicht einen beliebigen NPC ein Topic verpassen....

Leider kann man schlecht alle NPC im CS modifizieren, also wollte ich es gerne dynamisch machen.
 
theroadskin schrieb:
hi
ich hab da mal ne frage, wenn ich machen, dass ein ring/amulett pro sekunde
lebensenergie oder anderes wiederherstellt wie mache ich das dann?

und wie kann man attribute festigen?(magie z.b.)

hab bis jetzt noch keine skripts gemacht

thx

Das sollte eigentlich ohne Scripts laufen. Dafür gibt es Effekte, die du den Gegenständen als Verzauberung hinzufügen kannst.
Die findest du unter Magic>Enchanment
 
Weiß einer genau, ob Banditen oder Kreaturen zum Beispiel immer inCombat sind?

Ich hab ein Script, welches abfragt, ob das Ziel inCombat ist. In der Stadt zum Beispiel sind alle NPC's auf 0, aber als ich in einer Ruine rumgeschlichen bin und das Ganze an nem Banditen testen wollte, war inCombat schon auf 1 bevor ich angegriffen habe.
 
also ich hab da nen problem:
Wie man nen Gegenstand ins Inc macht beim Spielstart steht ja auf seite 1 aber wie macht man das mit nem Zauber???
pls healp will mir ne mod machen um die mystische morgenröte rüssi zu spielen:-D:-D
 
Ganz einfach:
Du erstellst dir den Zauber unter Magic>Spell.
Da haust du den Effekt rein sowie die Kosten etc.
Dann setzt du noch einen Haken bei "PC Start Spell".
 
Ich hab dann auch mal ne Frage :)
Ich hab mir gedacht, sobald der spieler ein bestimmtes item ausrüstet (in dem fall ein paar handschuhe), sollen ein schwert und ein schild geaddet und equippt werden. Klappt soweit auch. Einziges Problem: Wenn ich das im Menu ausrüste hackt er kurz (ca 2-3 sec.), wenn ich die handschuhe per Schnelltaste ausrüste, hackt er nicht. Gibt es da ne möglichkeit, das zu umgehen?

Code:
scn ercClawSwordScript

Begin OnEquip Player
if GetIsID ercAsgigergauntletSW01 == 1
	player.additem ercInvisBlade 1
	player.equipitem ercInvisBlade 1
	player.additem ErcInvisSchild 1
	player.equipitem ErcInvisSchild 1
endif
end

Begin OnUnEquip Player
If GetIsID ercAsgigergauntletSW01== 1
	player.unequipitem ercInvisBlade 1
	player.unequipitem ErcInvisSchild 1
	player.removeitem ercInvisBlade 1
	player.removeitem ErcInvisSchild 1
endif
end
mfg erc
 
Ich denke auch, dass das ne Möglichkeit wäre. Di Waffen erst ausrüsten, wenn man das Inventar schließt, also im GameMode.
Die Waffe selbst sind ja keine Waffe, sonst hättest du auch mit dem Befehl GetWeaponOut arbeiten können.
 
  • Like
Reaktionen: ercvomnil
Ich brauchte einen Script der feindlichen Einheiten sag wo sie hin latschen sollen. z.B. von einem Punkt in der Wildnis ins Skingrad Castle. Bedanke mich schon mal im vorraus.
 
Zuletzt bearbeitet:
Das machst du mit Packages. Geh mal in die Liste der NPC's, rechtsklicke auf einen von dir, und dann klickst du unten auf AI. Da kannst du Packages erstellen. Die brauchen aber den Punkt wo sie hingehen sollen. Also machst du einen x-Marker (unter Static, heißt auch xMarker) an die Zielstelle und gibts ihm eine ReferendeID, die gibst du als ziel deines Packages an. Scripts brauchst du dazu nur, wenn die NPC's nur unter bestimmten, komplizierteren Bedingungen dorthin gehen sollen.
 
da gibt es nur ein problem da ist kein AI z.b. bei Land dreugh und ein X maker unter Static ist auch net da
 
Zuletzt bearbeitet: