Autor |
|
Naturzauberer
PMM|PlanetObl. Redakteur
   

Dabei seit: Januar 2003
Geschlecht: 
Herkunft: Köln
Beiträge: 1181
 |
|
Hi @ll!
Ich habe folgendes Script hier und möchte, dass die Anzahl der Pfeile immer aufgefüllt wird. (es handelt sich um einen trainerenden NPC)
code:
begin "train_archer"
if ( menumode == 1 )
return
endif
if ( getdistance player > 150 )
StartCombat "ef_animated_training15"
endif
if ( getdistance player < 150 )
StopCombat
endif
"ef_animated_training15"->sethealth 3000
end
Was muss ich noch hinzufügen, dass die Arrows aufgefüllt werden? Und wie lautet der entsprechende befehl?
Gruss
Naturzauberer
__________________ Eine Internetseite über Tiere und ihr Verhalten. Ein Besuch lohnt sich auf jeden Fall!: http://www.animal-behaviour.de
Ich bitte um eine Registratur im zugehörigen Forum, um eine Community aufbauen zu können!
Und hier meine Mod für Morrowind : Balmora Residence
Remake der Balmora Residence für Oblivion: Bruma Residence
|
|
07.10.2005, 11:16 |
|
F.I.M.
Acid Monk
  

Dabei seit: März 2004
Geschlecht: 
Herkunft: 127.0.0.1
Beiträge: 2058
 |
|
dazu wird man wohl am besten erstmal abfragen ob er noch pfeile hat also mit getitemcount = 0 und dann normal mit additem wuerd ich sagen...
E: du hast dort:
if ( getdistance player > 150 )
StartCombat "ef_animated_training15"
das is doch der NPC der angreiffen soll? muss der nicht den player attackieren?
__________________
Dieser Beitrag wurde von F.I.M. am 07.10.2005, 13:55 Uhr editiert.
|
|
07.10.2005, 13:52 |
 |
Naturzauberer
PMM|PlanetObl. Redakteur
   

Dabei seit: Januar 2003
Geschlecht: 
Herkunft: Köln
Beiträge: 1181
 |
|
Nope, der trainiert mit einer Puppe und wenn der SPieler näher kommt, hört er auf, damit man mit ihm reden kann, während er nicht kämpft..
__________________ Eine Internetseite über Tiere und ihr Verhalten. Ein Besuch lohnt sich auf jeden Fall!: http://www.animal-behaviour.de
Ich bitte um eine Registratur im zugehörigen Forum, um eine Community aufbauen zu können!
Und hier meine Mod für Morrowind : Balmora Residence
Remake der Balmora Residence für Oblivion: Bruma Residence
|
|
07.10.2005, 14:13 |
|
GreyWanderer
Crusader
  
Dabei seit: Januar 2004
Geschlecht: 
Herkunft: Cuiviénen
Beiträge: 465
 |
|
code: set current_value to ( getitemcount, "Arrow_ID" )
if ( start_value > current_value )
AddItem "ArrowID" 1
endif
Wäre die beste Möglichkeit. Wobei - dieser Abschnitt (edit: das ganze Script sollte in keinem Fall jeden Frame laufen!) auch nicht zwingend jeden Frame laufen muss/soll, d.h. nen timer davor wär sinnvoll, dann evtl. sogar mit while statt if (kommt immer drauf an wie hoch die Geschw. der Waffe und wie groß die Abfrageabstände) ... aber das müsstest du dann schon selbst testen.
Also start_value muss mindestens 2 aber besser schon 10 sein (und natürlich short).
edit2: Achja benutz bei dem GetDistance-Ding else(if) ... sonst wären's zwei Abfragen einer langsahmen Funktion pro Durchlauf ... überflüssig
__________________
Abenteuer Mittel Erde
Please visit us!
Dieser Beitrag wurde von GreyWanderer am 07.10.2005, 15:17 Uhr editiert.
|
|
07.10.2005, 15:10 |
|
Garak
Admin
     

Dabei seit: Juli 2002
Geschlecht: 
Herkunft: Cardassia Prime
Beiträge: 9269
 |
|
Du könntest z.B. Deinen Teaminternen Chefscripter fragen - oder einfach das script aus Fyanol Fort übernehmen....
__________________ drei mal dürft ihr raten, wer grade seine Signatur geschrottet hat...geht aber wieder - allerdings solltet Ihr noch die Finger von den Avataren lassen 
|
|
07.10.2005, 18:25 |
|
GreyWanderer
Crusader
  
Dabei seit: Januar 2004
Geschlecht: 
Herkunft: Cuiviénen
Beiträge: 465
 |
|
Hab ich mir auch gedacht 
Wozu hat man einen Garak im Team? Banause
__________________
Abenteuer Mittel Erde
Please visit us!
|
|
07.10.2005, 19:20 |
|
Garak
Admin
     

Dabei seit: Juli 2002
Geschlecht: 
Herkunft: Cardassia Prime
Beiträge: 9269
 |
|
Zitat: Original von GreyWanderer
code: set current_value to ( getitemcount, "Arrow_ID" )
if ( start_value > current_value )
AddItem "ArrowID" 1
endif
warum so umständlich? kannst mir kaum erzählen
code:
if (getitemcount "chitin arrow" < 5)
additem "chitin arrow" 20
endif
wäre langsamer
Was die sache mit dem "nicht in jedem Frame laufen" angeht: im prinzip ja, aber: bei so dermassen kurzen scripten muss man aufpassen, dass der framecounter (oder was man da einsetzen will) nicht mehr performance schluckt als die eigentliche kurze anfrage.
noch was, das gern bei solchen trainingsscripts vergessen wird: der Bogen nützt sich ab und macht irgendwann "puff". Also besser hin und wieder per removeitem/additem erneuern!!
__________________ drei mal dürft ihr raten, wer grade seine Signatur geschrottet hat...geht aber wieder - allerdings solltet Ihr noch die Finger von den Avataren lassen 
|
|
07.10.2005, 22:32 |
|
GreyWanderer
Crusader
  
Dabei seit: Januar 2004
Geschlecht: 
Herkunft: Cuiviénen
Beiträge: 465
 |
|
Ich rechne immer damit, dass man die Scripte zich mal weiterverwendet. Und wenn man das Variablen setzen kann für unterschiedliche Werte statt Scriptklone zu machen ...
Und die erste Zeile ist nur weil so eine Funktion ab und zu auch mal neigt das ganze Script zu crashen ... oder einfach weil ich so ein verwirrter Geist bin Warum sonst schreibt man bei Msg.-Boxen nicht gleich GetButtonPressed ><!= xx ?
Was du über timer und sonstiges gesagt hast stimmt - man muss es selbstverständlich testen. Aber einen Framecounter einzubauen statt jeden Frame GetDistance und GetItemCount ... denke schon dasses besser ist. Aber mey, du bist hier der Chef
__________________
Abenteuer Mittel Erde
Please visit us!
|
|
07.10.2005, 23:02 |
|
Hephaistos
Verschollen


Dabei seit: Februar 2003
Geschlecht: 
Herkunft: Wien
Beiträge: 2102
 |
|
Zitat: Original von Garak
noch was, das gern bei solchen trainingsscripts vergessen wird: der Bogen nützt sich ab und macht irgendwann "puff". Also besser hin und wieder per removeitem/additem erneuern!!
Soweit ich weiß werden neue Items aber nicht automatisch angelegt, oder?
__________________
Die Dummheit der Menschen und das Weltall sind unendlich, wobei ich mir beim Weltall noch nicht sicher bin.
Albert Einstein
Wenn die Klügeren nachgeben, regiert Dummheit die Welt.
Marie von Ebner-Eschenbach
|
|
10.10.2005, 07:52 |
|
GreyWanderer
Crusader
  
Dabei seit: Januar 2004
Geschlecht: 
Herkunft: Cuiviénen
Beiträge: 465
 |
|
Zitat: Original von Hephaistos
Soweit ich weiß werden neue Items aber nicht automatisch angelegt, oder?
Da der NPC in combat ist und (hoffentlich/höchstwahrscheinlich) eine Schützen-Klasse hat, schon.
Natürlich kommt's auch auf die andere Ausrüstung in die Skills an, sodass du im Prinzip schon Recht hast. Ganz ohne jeden Grund wird der NPC den Bogen nicht wieder equippen. D.h. falls man das Script häufiger und auf verschiedene Arten und Weisen anwenden will, sollte man auch equip-command einfügen. Dann kann der NPC auch wer weiß was für eine Klasse haben und tut trotzdem, was von ihm verlangt wird 
__________________
Abenteuer Mittel Erde
Please visit us!
|
|
10.10.2005, 07:59 |
|
|