SphereCommunity
FORCHAR fonction - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Sphere 0.56d (/Forum-Sphere-0-56d)
+--- Forum: General Help (/Forum-General-Help)
+--- Thread: FORCHAR fonction (/Thread-FORCHAR-fonction)



FORCHAR fonction - Jhobean - 11-13-2019 10:41 PM

I want to remove every NPC for a massive respawn. I use these 2 fonctions.

The first one is problematique... Look like the forchar do not work outside de LOS of my GM.... I activate the fonction on britain. All npc are removed. I walk few meter and there is NPC alive again.. Any advide how I can respawn all NPC?

THX.

Code:
[function spawnremove]
forchars 9999
if (<npc>)
   remove
endif
endfor

[function respawn]
foritems 65000
if (<baseid> == i_worldgem_bit)
   timer 0
  endif
endfor



RE: FORCHAR fonction - Jhobean - 11-14-2019 01:57 AM

FORCHAR do not work but I found a way to respawn all my NPC

[function respawn]
SRC.SYSMESSAGE @032 REINITIALISATION DES SPAWNS EN COURS...
forinstances i_worldgem_bit
if (<type> == t_spawn_char)
reset //reset les spawn équivaut a un dclic
timer=1
local.count ++
endif
endfor
SRC.SYSMESSAGE @032 <EVAL <local.count>> Spawn de NPC reinitialiser


RE: FORCHAR fonction - Coruja - 11-15-2019 02:29 PM

Try check MaxLoopTimes setting on sphere.ini, because this value is used to limit FORITEMS/FORCHARS/FORCLIENTS/etc loops (avoiding heavy/infinite loop) so if you set MaxLoopTimes=1000 (example) it will not allow FORCHARS loop 9999 times

But anyway "FORINSTANCES i_worldgem_bit" is more reliable than "FORCHARS/FORITEMS 9999", because FORINSTANCES i_worldgem_bit will loop through all i_worldgem_bit items on server so this will only affect spawned NPCs. On the other hand, using FORCHARS 9999 -> REMOVE will cause some problems because it will only find NPCs under 9999 distance ~on this same map~ and will also remove NPCs not linked to spawns and player mounts/pets