Difference between revisions of "Manual:DIL Manual/findsymbolic()"

From DikuMUD Wiki
Jump to navigation Jump to search
(XML import)
 
Line 17: Line 17:
  
  
unitptr findsymbolic ( u : unitptr, s : string, i : integer )
 
    u : Search is relative to this unit.
 
    s : Symbolic name of the NPC or Object to find.
 
    i : FIND_UNIT_XXX bit vector of places to search.
 
    return: A pointer to an instance of the unit, or null.
 
    Example: findsymbolic(self, "bread@midgaard", FIND_UNIT_INVEN)
 
 
    This routine supplements findroom, findunit and findsymbolic(#).  It comes in
 
    handy, if it is important to get a correct reference to a unit somewhere
 
    relative to 'u'.  If for example, Mary needs to check if she has her own
 
    cooking pot, then she should NOT use the findunit since it may locate a
 
    different pot, not belonging to Haon-Dor but to some other zone.  If she
 
    instead locates it using findsymbolic(self, "pot@haon_dor", FIND_UNIT_IN_ME)
 
    she would be certain that it is in fact her own cooking pot that she is
 
    carrying around, and not some other pot from a Joe Blow's zone.
 
  
  

Revision as of 18:36, 19 January 2021


unitptr findsymbolic ( s : string )
   s : Symbolic name of the NPC or Object to find.
   return: A pointer to an instance of the unit, or null.
   Example: findsymbolic("bread@midgaard")
   This routine supplements findroom and findunit. It comes in handy,if it is
   important to get a correct reference to a NPC in the world.  If for example,
   Mary needs to send a message to John the Lumberjack,  then she should NOT
   use the findunit() since it may locate a different John - even a player!
   If she instead locates him using findsymbolic("john@haon_dor") she will be
   certain that it is in fact her husband, and not the player John Dow from
   Norway.  It will NOT locate rooms, for the only reason that findroom is a
   lot more efficient.



---~---~---~---~---~---~---~---~---
dilbegin zonelog (s:string);
code
{
flog (self.zonidx+".log",s,"a");
return;
}
dilend
---~---~---~---~---~---~---~---~---

The previous DIL function will work in any zone to log to a file with that zones
 name each zone could use it to keep zone logs separate.


---~---~---~---~---~---~---~---~---