Difference between revisions of "Languages Tutorial"

From SphereWiki
Jump to: navigation, search
(Created page with 'The script below is in no way complete, all it does at the moment is retransmit what the player said (from the player's point of view nothing happened). It is up to you to add wh...')
 
m (Added languagemenue)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
 +
{{Languages|Languages_Tutorial}}
 +
 
The script below is in no way complete, all it does at the moment is retransmit what the player said (from the player's point of view nothing happened). It is up to you to add what you want to the script and make it work the way you want to.  
 
The script below is in no way complete, all it does at the moment is retransmit what the player said (from the player's point of view nothing happened). It is up to you to add what you want to the script and make it work the way you want to.  
  
Line 51: Line 53:
  
 
Good luck!
 
Good luck!
 +
 +
[[Category:Articles]]

Latest revision as of 21:51, 26 November 2010

Help
Available languages


The script below is in no way complete, all it does at the moment is retransmit what the player said (from the player's point of view nothing happened). It is up to you to add what you want to the script and make it work the way you want to.


In your sphere.ini look for the line:


SpeechSelf=spk_player // make sure it is equal to spk_player


In sphere_speech.scp you'll find the [SPEECH spk_player] block. Under it add the code as shown below:


[SPEECH spk_player]
ON=*
    IF !(<ISGM>)
        VAR.MODE = <ARGN1>
        CAPTURE_SPEECH <ARGS>
        ARGN1 = talkmode_prompt
    ENDIF
    RETURN 0


talkmode_prompt prevents speech from appearing above the player's head, but allows npc's to react to things like "buy" and other commands.


Next, in a seperate file you can script the capture_speech function. Here's the outline of what it looks like:


[FUNCTION capture_speach]
REF1 = <UID>

// Get player speach modes
LOCAL.MODE = <VAR.MODE>

// Get hearing distance based on speech mode
IF (<LOCAL.MODE> == talkmode_system)
    LOCAL.HEAR_DIST = 15	// normal hearing distance
ELSEIF (<LOCAL.MODE> == talkmode_yell)
    LOCAL.HEAR_DIST = 30	// yell hearing distance
ELSEIF (<LOCAL.MODE> == talkmode_whisper)
    LOCAL.HEAR_DIST = 2 	// whisper hearing distance
ENDIF

LOCAL.SENTENCE = <ARGS> // do things with your sentence here

FORCLIENTS <LOCAL.HEAR_DIST>
    // here you can define who hears what, changing the sentence to whatever you want, changing the color ect..
    REF1.TRYSRC <UID> MESSAGEUA 0 0 0 0 <LOCAL.SENTENCE>
ENDFOR


Good luck!