搜索
LUA

LUA

本版块未设置版块简介!请后台版块编辑添加。
  •  帖子: 115
  •  讨论: 115
  •  关注: 0

laba.lua--喇叭

GA 发表于 2025-5-10 02:13:29 | 显示全部楼层 |阅读模式
103 0
--  ***************************************************************************************************** --
--  code by http://www.Cgdev.me
--  喇叭模块
--                   #更新日志#
--  TYPE ***** TIME ***** Editor ***** Text
--  CREATE  2013/01/16     blue

--                   #基本设置#
local limit_time = 10; --两次发喇叭间隔时间,单位秒
local laba_itemid = 622848; --小喇叭的道具编号
local turn_on_key = "/开启喇叭"; --玩家开启喇叭开关的命令
local turn_off_key = "/关闭喇叭"; --玩家关闭喇叭开关的命令
--  ***************************************************************************************************** --

tbl_labaPlayer = {};
Delegate.RegDelLoginEvent("labaLoginEvent");
Delegate.RegDelAllOutEvent("labaOutEvent");
Delegate.RegDelTalkEvent("labaTalkEvent");
function new_labaplayerobject(player)
        local labaplayer =
        {
                index = player;
                isopen = true;
                limit_time = 0;
        };
        return labaplayer;
end

function labaLoginEvent(player)
        tbl_labaPlayer[Playerkey(player)] = new_labaplayerobject(player);
end

function labaOutEvent(player)
        tbl_labaPlayer[Playerkey(player)] = nil;
end


function labaTalkEvent(player,msg,color,range,size)
       

        if(msg==turn_on_key) then
                tbl_labaPlayer[Playerkey(player)].isopen = false;
                NLG.SystemMessage(player,"小喇叭已经开启。");
        end
       
        if(msg==turn_off_key) then
                tbl_labaPlayer[Playerkey(player)].isopen = true;
                NLG.SystemMessage(player,"小喇叭已经关闭。");
        end       
       
       
        if( check_msg(msg,">") ) then       
       
                local litime = tbl_labaPlayer[Playerkey(player)].limit_time;       
                if (os.time() - litime < limit_time )then
                        NLG.SystemMessage(player,limit_time.."秒内禁止重复发喇叭。");
                        return;
                end
       
                if(Char.ItemNum(player,laba_itemid) > 0)then
                       
                        for _,v in pairs (tbl_labaPlayer) do
                                if(v.isopen == true)then
                                        NLG.SystemMessage(v.index,"[小喇叭]"..Char.GetData(player,%对象_名字%)..": "..string.sub(msg,2));
                                end
                        end               
                        Char.DelItem(player,laba_itemid,1);
                        tbl_labaPlayer[Playerkey(player)].limit_time = os.time();
                else
                        NLG.SystemMessage(player,"对不起您的小喇叭不足!");       
                end
        end
               
end


回复

使用道具 举报

全部评论

暂无评论,期待您打破宁静

TA的帖子
相关帖子
  • admin 2025-5-10

    用本目录下文件"内容"覆盖服务器data目录下同名文件相应"内容" 请勿直接覆盖文件本身 ...

  • admin 2025-5-11

    首先到教堂招魂的那个地方找到NPC牧师乌咝 和她对话 (年轻人,你相信爱情会是永远的 ...

  • admin 2025-5-11

    ############## 城城的武器强化系统 ############## #剑1 block StrCmpChat == 700 W ...

  • admin 2025-5-11

    魔力宝贝手动架设中遇到的问题及解决方法魔力宝贝手动架设教程—魔力私服,魔力宝贝私 ...

  • admin 2025-5-12

    起始地点法兰城的竞技场的贝贝(34.36)头目战╳ 必要条件---必要等级Lv1 职业限定---建 ...

  • admin 2025-5-12

    1.与里谢里雅堡的H1N1防疫宣传员(28,77)说话,取得"防疫小口罩"。 图例物品名称等级种 ...

  • admin 2025-5-12

    魅惑的哈密瓜无取得宠物「哈密瓜公主」╳╳○ 起始地点魔法大学头目战╳ 必要条件--- ...

  • admin 2025-5-12

    起始地点法兰城的里谢里雅堡头目战○ 必要条件---必要等级--- 职业限定---建议等级--- ...

  • admin 2025-5-12

    起始地点法兰城的里谢里雅堡头目战○ 必要条件---必要等级--- 职业限定---建议等级--- ...

  • admin 2025-5-12

    起始地点法兰城的冒险者旅馆头目战○ 必要条件---必要等级--- 职业限定---建议等级LV8 ...

发布 联系QQ