Skip to content

[Feature Requeset] Item or Charlist #1506

@canerksk

Description

@canerksk

Hi,
Currently on SphereServer there’s no easy way to access all objects.

For example, if I’m on map0 and run:

[function getdoors]
foritems 7168 or 9999999999999
if (<type> == t_door)
serv.log <uid>
endif
endfor

or

[function gethealers]
forchars 7168 or 9999999999999
if (<baseid> == c_healer_f)
serv.log <uid>
endif
endfor

this command only accesses objects (items) on map0.
I can’t access objects located on map1–2–3–4–5, unless I manually loop through each map using forinstances — which is a very long and inefficient process.
and in order for me to operate on all doors I need to traverse the entire map0~5

If we had a function similar to GUILDSTONES.COUNT / GUILDSTONES., we could easily access all dynamic objects on the server without all this manual work.

For example, something like:

[function getdoors]
for 0 <serv.itemlist.count>
ref1=<serv.itemlist.<dlocal._for>.uid>
if (<ref1.type> == t_door)
serv.log <ref1>
endif
endfor

And for characters:

[function gethealers]
for 0 <serv.charlist.count>
ref1=<serv.charlist.<dlocal._for>.uid>
if (<ref1.baseid> == c_healer_f)
serv.log <ref1>
endif
endfor

I’m suggesting adding a similar function — something like multis.count / multis..uid — that would work the same way as guildstones or townstones, allowing us to iterate over all items or characters across all maps.

I need to be able to access objects on the entire server, not just on one map. For example, if I want to change the color of only +12 (power) weapons, I have to enter the IDs of all the power weapons one by one with forinstanes.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions