脚本案例
##触发器 系统 LUA
require("test") --将文本追加给当前lua 引用视为本lua脚本
local Test1 = Ref("活动/test1"); --引用外部lua方法 将方法传递给参数调用
--系统启动触发
function On_System_Start()
--系统触发
lualib.AddTrigger(system,TriggerType.Login,"On_Login_Player")
lualib.AddTrigger(system,TriggerType.Login,"On_Login_Send")
lualib.AddTrigger(system,TriggerType.Login,"活动/test1:On_Login_Send1")
Test() --require 追加方法
Test1:Test1() --Ref 调用方法
end
--系统关闭触发
function On_System_End()
end
--登录触发
function On_Login_Player(player)
lualib.ReceiveSystem(player,"触发器-On_login_player:欢迎登陆传奇客户端")
lualib.AddTrigger(system,TriggerType.Login,"On_login_GM") ---测试触发器追加触发器
lualib.AddTrigger(player,TriggerType.Attack,"On_Attack_Player")
local flag = lualib.HasItem(player,"终极开天", ItemWhereType.Bag|ItemWhereType.Equipment)
if flag then
lualib.ReceiveSystem(player,"你小子居然有终极开天!")
local size = lualib.GetBagSize(player,true)
print("背包空余:"..size)
local count = lualib.GetItemsNumber(player,"随机传送卷")
print("随机传送卷:"..count)
end
end
function On_login_GM(player)
lualib.ReceiveSystem(player,"触发器-on_gm_Player:欢迎GM登录")
end
function On_Attack_Player(myself,target,attack)
local odds = math.random()
if 0.1 > odds then
attack.Damage=attack.Damage*3;
--lualib:FixDefenceType(6)
lualib.ReceiveSystem(myself,odds.."触发三倍攻击无视防御-"..myself.Name.."攻击"..target.Name.."伤害"..attack.Damage)
elseif 0.5 > odds then
attack.Damage=attack.Damage*2;
lualib.ReceiveSystem(myself,odds.."触发攻击双倍-"..myself.Name.."攻击"..target.Name.."伤害"..attack.Damage)
else
lualib.ReceiveSystem(myself,odds.."-"..myself.Name.."攻击"..target.Name.."伤害"..attack.Damage)
end
end
##购买 修理 回购 铁匠铺
function main(npc,player)
if player.PKPoint > 2
then
lualib.NPCSay("我绝对不会为你这样的恶人服务... <Close/@Exit>");
else
lualib.NPCSay([[你好,请问你需要些什么?
主城.整段旅途瞬间可达,只需要一点小钱
<浏览/@Sell> 购买.
<浏览/@Buy> 出售.
<浏览/@BuySell> 商店.
<修理/@Repair> 武器.
<关闭/@Exit>]])
end
end
function BuySell(npc,player)
lualib.NPCSay([[
你想要买卖些什么?
<返回/@Main>
<回购/@BuyBack>
<关闭/@Exit>
]])
lualib.OpenBuySellWindow("")
end
function BuyBack(npc,player)
lualib.OpenBuyBackWindow([[
只要你不离线,都可以回购.
<返回/@Main>
<关闭/@Exit>
]])
end
function Sell(npc,player)
lualib.SetInt(npc,"测试Key",3213)
lualib.SetStr(npc,"测试Key","添加Key")
lualib.OpenSellWindow([[<返回/@Main>]])
end
function Buy(npc,player)
local i = lualib.GetInt(npc,"测试Key")
print(i)
local s = lualib.GetStr(npc,"测试Key")
print(s)
lualib.OpenBuyWindow([[<返回/@Main>]])
end
function Repair(npc,player)
lualib.OpenRepairWindow(true,
[[你要修理什么武器?
<返回/@Main>]])
end
作者:a475529060 创建时间:2024-12-24 17:45
最后编辑:a475529060 更新时间:2025-08-20 18:55
最后编辑:a475529060 更新时间:2025-08-20 18:55