找回密码
 立即注册

QQ登录

只需一步,快速开始

Close
查看: 2015|回复: 0

[L2JTW] 【l2jtw】打造屬於自已的 Chat 指令腳本

[复制链接]
  • 打卡等级:尐伊娃
  • 打卡总天数:192
  • 打卡月天数:9
  • 打卡总奖励:1854
发表于 2014-3-28 22:54:22 | 显示全部楼层 |阅读模式
转自l2jtw
原文如下

原作者:Smith
亂翻核心的時候發現的... 發覺還滿好用的,就把它移植到腳本上了
用途跟 Chat Handlers 有點類似,但是比 Chat Handlers 更方便實用
使用 Chat Handlers 對不會寫腳本的人,可能影響伺服器的「發話」「 .VC」功能還有「禁言功能」無效化
基本上這個不會... 但是不知道有沒有其它的潛在問題,大家可以測試看看,改成自已想要的東西


目前有個利用此腳本構想...

1.如果玩家打出來的字串裡有「哈哈」就會自動執行大笑的動作
2.如果玩家打出來的字串裡有「鳴」就會自動執行哭的動作
3.如果玩家打出來的字串裡有「耶」就會自動執行勝利的動作
依此類推來使用,可以讓您伺服器更加生動活潑ˇˇ







以下腳本為測試使用的....

內容是這樣子的..
玩家只要在對話頻道打上 「 給我錢 」,就會獲得金幣10個
玩家只要在對話頻道打上 「 讓我死吧 」,就會自殺

歡迎大家參考學習,應用在其它地方

  1. import sys
  2. from com.l2jserver.gameserver.scripting.scriptengine.impl           import L2Script

  3. QUEST_ID = 52084
  4. QUEST_NAME = "52084_Smith"
  5. QUEST_DESCRIPTION = "custom"

  6. class SMITH(L2Script) :

  7.     def onPlayerTalk(self,event) :
  8.         if event.getText() == "給我錢" :
  9.             event.getOrigin().addItem(QUEST_NAME,57,10,None,True)
  10.         if event.getText() == "讓我死吧" :
  11.             event.getOrigin().doDie(event.getOrigin())
  12.         #print event.getText() #取得玩家對話內容
  13.         #print event.getOrigin() #取得說話玩家的 player
  14.         #print event.getTarget() #取得密語的受話者名稱,如果使用的非密語,「event.getTarget()」值會是 None
  15.         #print event.getTargetType() #取得說話的頻道
  16.         return

  17. QUEST = SMITH(QUEST_ID,QUEST_NAME,QUEST_DESCRIPTION)
  18. QUEST.addPlayerTalkNotify()
复制代码




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表