- 打卡等级:尐伊娃
- 打卡总天数:192
- 打卡月天数:9
- 打卡总奖励:1854
|
转自l2jtw
原文如下
原作者:Smith
亂翻核心的時候發現的... 發覺還滿好用的,就把它移植到腳本上了
用途跟 Chat Handlers 有點類似,但是比 Chat Handlers 更方便實用
使用 Chat Handlers 對不會寫腳本的人,可能影響伺服器的「發話」「 .VC」功能還有「禁言功能」無效化
基本上這個不會... 但是不知道有沒有其它的潛在問題,大家可以測試看看,改成自已想要的東西
目前有個利用此腳本構想...
1.如果玩家打出來的字串裡有「哈哈」就會自動執行大笑的動作
2.如果玩家打出來的字串裡有「鳴」就會自動執行哭的動作
3.如果玩家打出來的字串裡有「耶」就會自動執行勝利的動作
依此類推來使用,可以讓您伺服器更加生動活潑ˇˇ
以下腳本為測試使用的....
內容是這樣子的..
玩家只要在對話頻道打上 「 給我錢 」,就會獲得金幣10個
玩家只要在對話頻道打上 「 讓我死吧 」,就會自殺
歡迎大家參考學習,應用在其它地方
- import sys
- from com.l2jserver.gameserver.scripting.scriptengine.impl import L2Script
- QUEST_ID = 52084
- QUEST_NAME = "52084_Smith"
- QUEST_DESCRIPTION = "custom"
- class SMITH(L2Script) :
- def onPlayerTalk(self,event) :
- if event.getText() == "給我錢" :
- event.getOrigin().addItem(QUEST_NAME,57,10,None,True)
- if event.getText() == "讓我死吧" :
- event.getOrigin().doDie(event.getOrigin())
- #print event.getText() #取得玩家對話內容
- #print event.getOrigin() #取得說話玩家的 player
- #print event.getTarget() #取得密語的受話者名稱,如果使用的非密語,「event.getTarget()」值會是 None
- #print event.getTargetType() #取得說話的頻道
- return
- QUEST = SMITH(QUEST_ID,QUEST_NAME,QUEST_DESCRIPTION)
- QUEST.addPlayerTalkNotify()
复制代码
|
|