SphereCommunity
.possess - .say - & others - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Sphere 0.56d (/Forum-Sphere-0-56d)
+--- Forum: Script Requests (/Forum-Script-Requests)
+--- Thread: .possess - .say - & others (/Thread-possess-say-others)



.possess - .say - & others - Pollo - 11-21-2012 04:21 AM

hey i was wondering if any of you knows or have these commands:

.posses (or whatever )the command let you ( from GM plevel ) posses an npc, monster, etc

.say ( or whatever ) the command let u say something ( from GM plevel ) and permit to target a player or npc, so the words appear on his character/mob. es: i write .say *you feel a creepy sound* -> enter -> target appear -> i target the npc or player -< on target player or monster head appear *you feel a creepy sound*

.throw ( from Plevel 0 ) the command let u throw items on the ground

.emote ( from Plevel 0 ) a list of emotes appear , so the character will emote + play a sound

.unstuckme the character stucked will be teleported 2 tiles away

thx Big Grin


RE: .possess - .say - & others - Mordaunt - 11-21-2012 04:35 AM

.control is what you are looking for to take over an npc

.xsay <text> will force an npc to talk

.xemote <text> will force an npc to emote something

The other two will require a little scripting


RE: .possess - .say - & others - Skul - 11-21-2012 04:40 AM

Well seeing some of these are already done here is the info you need:
Code:
[function possess]
if (<account.plevel> > 1)
  sysmessage Possesss who?
  control //this is a built-in command to control any character object
endif
As for .say, use .xsay 'text', it is the same thing.

Code:
[function unstuck]
if !(<canmove n>) && !(<canmove e>) && !(<canmove s>) && !(<canmove w>)
  local.p=<p>
  local.p.x=<p.x>
  local.p.y=<p.y>
  p.y -= 1
  if (<canmove n>)
    local.p=<p>
  endif
  p.y += 2
  if (<canmove s>)
   local.p=<p>
  endif
  p.y -= 2
  p.x -= 1
  if (<canmove e>)
    local.p=<p>
  endif
  p.x += 2
  if (<canmove w>)
    local.p=<p>
  endif
  p=<local.p>
  if (<p.x>==<dlocal.p.x>) && (<p.y>==<dlocal.p.y>)
    sysmessage You will need to page a GM to move from your stuck position.
  else
   sysmessage You were able to move yourself from your stuck position.
  endif
else
  sysmessage You are not stuck at this time.  Please find a safe hole to stick yourself in and use this command again.
endif



RE: .possess - .say - & others - Pollo - 11-21-2012 08:26 AM

guys u really rock, thx a lot!


RE: .possess - .say - & others - RanXerox - 11-21-2012 02:20 PM

Here is another unstuck function that might work:

Code:
[FUNCTION unstuck]
MOVENEAR <P>,2

Warning: You should *really* test this (or the other one) very carefully to make sure you can't use it to break into a house or appear behind a wall etc...


RE: .possess - .say - & others - Pollo - 11-21-2012 07:10 PM

i will test em today. thx Big Grin


RE: .possess - .say - & others - Pollo - 11-22-2012 10:05 PM

can you help me with an example with the command .emote?

.emote => a list of emotes if u click on "laugh" => character emote * xxx is laughing* + sound AHAHAH


RE: .possess - .say - & others - Mordaunt - 11-23-2012 01:18 AM

Well to do that you'd have to override the default emote function with a custom written one that bring up a dialog.
It would be less work to make a .laugh function.

Code:
[function laugh]
Emote laughing
Sound (you'll have to look up the sound, I'm on my tablet so can't)

All default Emote really does is put whatever you typed after. Emote into * * to display as an action.
Remember other player see *you see <name> <Emote text>*


RE: .possess - .say - & others - Pollo - 11-23-2012 01:38 AM

i don't want to override .emote, i just need i guess a gump with a list of functions like the code above. so a player digit .emotes or .emo or whatever and can choose the emote with sound.

i'm sure the script is still around.

thx anyway Big Grin