Aşağıdaki senaryo hiçbir şekilde tamamlanmamıştır, şu anda yaptığı tek şey oyuncunun söylediklerini yeniden iletmektir (oyuncunun bakış açısından hiçbir şey olmadı). Senaryoya istediğinizi eklemek ve istediğiniz gibi çalışmasını sağlamak size kalmış.
sphere.ini satırınızda şu satırı arayın:
SpeechSelf=spk_player // spk_player'a eşit olduğundan emin olunsphere_speech.scp'de [SPEECH spk_player] bloğunu bulacaksınız. Altına kodu aşağıda gösterildiği gibi ekleyin:[SPEECH spk_player]
ON=*
IF !(<ISGM>)
VAR.MODE = <ARGN1>
CAPTURE_SPEECH <ARGS>
ARGN1 = talkmode_prompt
ENDIF
RETURN 0 talkmode_prompt , konuşmanın oyuncunun başının üzerinde görünmesini engeller, ancak NPC'lerin "satın al" ve diğer komutlar gibi şeylere tepki vermesine izin verir.Ardından, ayrı bir dosyada capture_speech işlevini komut dosyası oluşturabilirsiniz. İşte nasıl göründüğünün ana hatları:
[FUNCTION capture_speach]
REF1 = <UID>
// Oyuncu konuşma modlarını edinin
LOCAL.MODE = <VAR.MODE>
// Konuşma moduna göre işitme mesafesi alın
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>
// Burada kimin ne duyduğunu tanımlayabilir, cümleyi istediğiniz gibi değiştirebilir, rengi değiştirebilir vb.
REF1.TRYSRC <UID> MESSAGEUA 0 0 0 0 <LOCAL.SENTENCE>
ENDFOR
