Neues Monster direkt nach dem Tod eines anderen?

Rund um das Scripten unter Sphere 55i

Moderator: Mods - Sphere

Antworten
Nachricht
Autor
Sariel

Neues Monster direkt nach dem Tod eines anderen?

#1 Beitrag von Sariel » 11 Aug 2007 05:04

Ich habe da ein Problem.

Ich moechte gerne das ein Monster im Prinzip spwan lassen ohne einen weiteren Spwan zu setzten) wenn ein anderes stirbt.
Ueber die On Death Funktion waehre wohl am besten.

Also direkt nach dem Tot erscheint am Punkt an dem das andere gestorben ist 1oder 2 neue Monster.
Und wenn es moeglich ist das diese "neuen Monster" abhaenig von dem Spwan punkt des ersten sind, da ich keine wild umeinanderl aufenden Monster moechte.

Nur hab ich keine Ahung wie das gehen sollte, hat da wer eine gute Idee?
Wahrscheinlich ist es nicht so schwer, aber ich sehe gerade den Wald vor lauter Bauemen nich :(

nazghul

#2 Beitrag von nazghul » 11 Aug 2007 11:20

k.A. ob das mit .55i so geht. Zumindest wird es nicht ganz einfach, das Memory item zu finden, das den Spawner referenziert. Für .56b würde man es so machen (vielleicht kannst Du es ja umsetzen)

Code: Alles auswählen

on=@death
  tag.spawner_pos=<memoryfindtype.memory_is_spawn.link.p>
  // bei der naechsten Zeile bin ich nicht sicher - wo speichert der
  // spawner die MaxDist? Musst Du nachschauen
  tag.spawner_dist=<memoryfindtype.memory_is_spawn.link.morez> 
  // erster NPC
  serv.newnpc erster_npc
  new.home=<tag.spawner_pos>
  new.homedist=<tag.spawner_dist>
  new.p=<p>

  // zweiter NPC -> dasselbe wie unter erster NPC
Zuletzt geändert von nazghul am 13 Aug 2007 10:48, insgesamt 1-mal geändert.

Sariel

#3 Beitrag von Sariel » 13 Aug 2007 10:46

Ah gut Teste ich mal, danke dir :-)

Daskaras
Moderator (Sphere)
Beiträge: 857
Registriert: 13 Jan 2004 14:43

#4 Beitrag von Daskaras » 13 Aug 2007 20:45

serv und new funktioniert nicht in der 55i
mußt src machen oder sogar ohne ..weiß ich jetzt auch net mehr genau

Sirius
Administrator
Beiträge: 713
Registriert: 07 Feb 2004 17:17
Kontaktdaten:

#5 Beitrag von Sirius » 13 Aug 2007 23:35

Also je nachdem was du mit "wild umeinande rlaufende Monster" verstehst, kannst ja auch einfach her gehn und den neuen Monstern die nach dem Tot erscheinen eine kleine Homedist geben und ihren Homepoint auf den Totesort des getöteten Monsters setzen. Dürfte doch auch problemlos per script gehn, oder? ... Ist jetzt nur ne Idee eines Scriptlaien, der solche Aktionen gerne per Hand macht für kleine Events :)

Edit: Ok vergesst mein Geschwafel, hät mir die Scriptzeilen von nazghul vielleicht erstmal anschaun sollen bevor ich meinen Senf losgeb :D
-
--> No Signature <--
---

nazghul

#6 Beitrag von nazghul » 13 Aug 2007 23:59

Daskaras hat geschrieben:serv und new funktioniert nicht in der 55i
mußt src machen oder sogar ohne ..weiß ich jetzt auch net mehr genau
newnpc whatever
act.p=...

wäre wohl richtig

Schwieriger dürfte wohl das MEMORYFINDTYPE zu emulieren sein, weils in .55i ja keine Loops gibt :(

-- edit
Lötzinn! Während des @death existiert der "sterbende" NPC doch noch! Also kann man die entspr. Werte auch direkt aus ihm abschreiben:

Code: Alles auswählen

on=@death
  // erster NPC
  newnpc erster_npc
  act.home=<home>
  act.homedist=<homedist>
  act.p=<p>

  // zweiter NPC -> dasselbe wie unter erster NPC 
So sollte es gehen.

Sariel

#7 Beitrag von Sariel » 26 Aug 2007 19:49

Habs so geregelt so geht es ziemlich gut.
Danke euch jedenfalls :-)

ON=@Death
f_spawn_npc_10feet c_blablabla
f_spawn_npc_10feet c_blablabla

Moe

#8 Beitrag von Moe » 27 Aug 2007 17:04

nazghul hat geschrieben:Schwieriger dürfte wohl das MEMORYFINDTYPE zu emulieren sein
wieso emulieren? soweit ich weiß gibts die Funktion auch in 55i.
Und das wäre auch der richtige Ansatz. Die NPC erstellen und dann das Memoryitem für den Spawnpunkt in die NPC kopieren. Es ist allerdings ratsam beim Erstellen der NPC das Begängnis im Sektor (sector.complexity) abzufragen und nötigenfalls keinen weiteren NPC zu erstellen.

nazghul

#9 Beitrag von nazghul » 27 Aug 2007 17:25

as I said before: Nicht nötig, das SpawnMem anzufassen, da @DEATH der NPC ja noch existiert und man alles Relevante von ihm direkt abschreiben kann. Man will ja gerade eben keinen Spawn simulieren.

Was die complexity angeht: Theoretisch richtig, praktisch aber i.d.R. belanglos. Auch eine .55i kommt mit _sehr_ vielen NPC pro Sektor klar, und wenn es wirklich viel zu viel wird, räumt der Server die selber weg

Moe

#10 Beitrag von Moe » 28 Aug 2007 15:21

imho sollte man den neuen NPC mit dem Spawnpunkt verbinden, so dass man nötigenfalls vom Spawn aus Kontrolle über den NPC hat. Simulieren will ich den Spawn nicht, nur benutzen.

Zur complexity: Wer mit viel "complexity" fahren will, stellt das in der ini ein. Im Script sollte der Wert aber nicht ignoriert werden. Wieder gilt: vorhandene Serverfeatures nutzen.

Für die meisten Shards reicht es aber vermutlich, wenn die Scripte nach außen hin das tun, was verlangt wird. So gesehen will ich hier auch keinen Kreuzzug für sauberes Scripten starten.

Antworten