📄 npcsdk.lua
字号:
elseif item.func == OpenEidolonMetempsychosis then
return OpenEidolonMetempsychosis( character, npc )
elseif item.func == OpenItemTiChun then
return OpenItemTiChun( character, npc )
elseif item.func == OpenItemEnergy then
return OpenItemEnergy( character, npc )
elseif item.func == OpenGMSend then
return OpenGMSend( character, npc )
elseif item.func == OpenGMRecv then
return OpenGMRecv( character, npc )
elseif item.func == OpenItemFix then
return OpenItemFix( character, npc )
elseif item.func == OpenGetStone then
return OpenGetStone( character, npc )
elseif item.func == OpenTiger then
return OpenTiger( character, npc )
elseif item.func == SetSpawnPos then
return SetSpawnPos( character, item.p1 )
elseif item.func == TransferDiamond then
return TransferDiamond( character, item.p1 )
elseif item.func == ListChallenge then
return ListChallenge( character, npc )
elseif item.func == ListAuction then
return ListAuction( character, npc )
elseif item.func == SendExchangeData then
return SendExchangeData( character, npc )
elseif item.func == SendExchangeXData then
return SendExchangeXData( character, npc, exchangeData )
elseif item.func == Garner2GetWiner then
return Garner2GetWiner(character,npc)
elseif item.func == Change_FightingBook then
return Change_FightingBook (character,npc)
elseif item.func == Garner2RequestReorder then
return Garner2RequestReorder (character,npc)
elseif item.func == Transfer_TeamStar then
return Transfer_TeamStar( character, item.p1 )
elseif item.func == LifeSkillBegin then
return LifeSkillBegin(character,npc,item.p1)
elseif item.func == Change_shanyao then
return Change_shanyao(character,npc)
elseif item.func == Change_rongyao then
return Change_rongyao(character,npc)
elseif item.func == Change_huihuang then
return Change_huihuang(character,npc)
elseif item.func == GetChaName_0 then
return GetChaName_0(character,npc )
elseif item.func == GetChaName_1 then
return GetChaName_1(character,npc )
elseif item.func == GetChaName_2 then
return GetChaName_2(character,npc )
elseif item.func == GetChaName_3 then
return GetChaName_3(character,npc )
elseif item.func == GetChaName_4 then
return GetChaName_4(character,npc )
elseif item.func == GetChaName_5 then
return GetChaName_5(character,npc )
elseif item.func == GetChaName_6 then
return GetChaName_6(character,npc )
elseif item.func == GetChaName_7 then
return GetChaName_7(character,npc )
elseif item.func == GetChaName_8 then
return GetChaName_8(character,npc )
elseif item.func == GetChaName_9 then
return GetChaName_9(character,npc )
elseif item.func == GetChaName_10 then
return GetChaName_10(character,npc )
elseif item.func == GetChaName_11 then
return GetChaName_11(character,npc )
elseif item.func == GetChaName_12 then
return GetChaName_12(character,npc )
elseif item.func == GetChaName_13 then
return GetChaName_13(character,npc )
elseif item.func == GetChaName_14 then
return GetChaName_14(character,npc )
elseif item.func == GetChaName_15 then
return GetChaName_15(character,npc )
elseif item.func == GetChaName_16 then
return GetChaName_16(character,npc )
elseif item.func == GetChaName_17 then
return GetChaName_17(character,npc )
elseif item.func == GetChaName_18 then
return GetChaName_18(character,npc )
elseif item.func == GetChaName_19 then
return GetChaName_19(character,npc )
elseif item.func == GetChaName_20 then
return GetChaName_20(character,npc )
elseif item.func == GetChaName_21 then
return GetChaName_21(character,npc )
elseif item.func == GetChaName_22 then
return GetChaName_22(character,npc )
elseif item.func == GetChaName_23 then
return GetChaName_23(character,npc )
elseif item.func == GetChaName_24 then
return GetChaName_24(character,npc )
elseif item.func == GetChaName_25 then
return GetChaName_25(character,npc )
elseif item.func == GetChaName1_born then
return GetChaName1_born(character,npc )
elseif item.func == GetChaName2_born then
return GetChaName2_born(character,npc )
elseif item.func == GetChaName3_born then
return GetChaName3_born(character,npc )
elseif item.func == GetChaName4_born then
return GetChaName4_born(character,npc )
elseif item.func == GetChaName5_born then
return GetChaName5_born(character,npc )
elseif item.func == GetChaName6_born then
return GetChaName6_born(character,npc )
elseif item.func == GiveHoe then
return GiveHoe(character,npc)
elseif item.func == CheckMetal then
return CheckMetal(character,npc )
elseif item.func == PKPointToZero then
return PKPointToZero(character,npc)
elseif item.func == PlayEffect then
return PlayEffect( npc, 361 )
elseif item.func == GetChaName1_guildwar then
return GetChaName1_guildwar(character,npc )
elseif item.func == GetChaName2_guildwar then
return GetChaName2_guildwar(character,npc )
elseif item.func == GetChaName3_guildwar then
return GetChaName3_guildwar(character,npc )
elseif item.func == GetChaName4_guildwar then
return GetChaName4_guildwar(character,npc )
elseif item.func == GetChaName5_guildwar then
return GetChaName5_guildwar(character)
elseif item.func == GetChaName6_guildwar then
return GetChaName6_guildwar(character)
elseif item.func == GetChaName7_guildwar then
return GetChaName7_guildwar(character)
elseif item.func == GetChaName8_guildwar then
return GetChaName8_guildwar(character)
elseif item.func == GetChaName9_guildwar then
return GetChaName9_guildwar(character)
elseif item.func == GetChaName10_guildwar then
return GetChaName10_guildwar(character)
elseif item.func == GetChaName11_guildwar then
return GetChaName11_guildwar(character)
elseif item.func == GetChaName12_guildwar then
return GetChaName12_guildwar(character)
elseif item.func == GetChaName13_guildwar then
return GetChaName13_guildwar(character)
elseif item.func == GetChaName14_guildwar then
return GetChaName14_guildwar(character)
elseif item.func == GetChaName15_guildwar then
return GetChaName15_guildwar(character)
elseif item.func == GetChaName16_guildwar then
return GetChaName16_guildwar(character)
elseif item.func == GetChaName17_guildwar then
return GetChaName17_guildwar(character)
elseif item.func == GetChaName18_guildwar then
return GetChaName18_guildwar(character)
elseif item.func == GetChaName19_guildwar then
return GetChaName19_guildwar(character)
elseif item.func == GetChaName20_guildwar then
return GetChaName20_guildwar(character)
elseif item.func == GetChaName21_guildwar then
return GetChaName21_guildwar(character)
elseif item.func == GetChaName22_guildwar then
return GetChaName22_guildwar(character)
elseif item.func == GetChaName23_guildwar then
return GetChaName23_guildwar(character)
elseif item.func == GetChaName24_guildwar then
return GetChaName24_guildwar(character)
elseif item.func == GetChaName25_guildwar then
return GetChaName25_guildwar(character)
elseif item.func == GetChaName26_guildwar then
return GetChaName26_guildwar(character)
elseif item.func == GetChaName27_guildwar then
return GetChaName27_guildwar(character)
elseif item.func == GetChaName28_guildwar then
return GetChaName28_guildwar(character)
elseif item.func == GetChaName29_guildwar then
return GetChaName29_guildwar(character)
elseif item.func == GetChaName30_guildwar then
return GetChaName30_guildwar(character)
elseif item.func == GetChaName31_guildwar then
return GetChaName31_guildwar(character)
elseif item.func == GetChaName32_guildwar then
return GetChaName32_guildwar(character)
elseif item.func == GetChaName33_guildwar then
return GetChaName33_guildwar(character)
elseif item.func == GetChaName34_guildwar then
return GetChaName34_guildwar(character)
elseif item.func == GetChaName35_guildwar then
return GetChaName35_guildwar(character)
elseif item.func == GetChaName36_guildwar then
return GetChaName36_guildwar(character)
elseif item.func == GetChaName37_guildwar then
return GetChaName37_guildwar(character)
elseif item.func == GetChaName38_guildwar then
return GetChaName38_guildwar(character)
elseif item.func == GetChaName39_guildwar then
return GetChaName39_guildwar(character)
elseif item.func == GetChaName40_guildwar then
return GetChaName40_guildwar(character)
elseif item.func == GetChaName41_guildwar then
return GetChaName41_guildwar(character)
elseif item.func == GetChaName42_guildwar then
return GetChaName42_guildwar(character)
elseif item.func == GetChaName43_guildwar then
return GetChaName43_guildwar(character)
elseif item.func == GetChaName44_guildwar then
return GetChaName44_guildwar(character)
elseif item.func == GetChaName45_guildwar then
return GetChaName45_guildwar(character)
else
return SystemNotice( character, "MsgProc: function option unknown function!" )
end
elseif usCmd == CMD_CM_BLACKMARKET_EXCHANGE_REQ then --黑市兑换
local timeNum = ReadWord( rpk )
local srcID = ReadWord( rpk )
local srcNum = ReadWord( rpk )
local tarID = ReadWord( rpk )
local tarNum = ReadWord( rpk )
local byIndex = ReadWord( rpk )
local ret = KitbagLock( character, 0 )
if ret ~= LUA_TRUE then
SystemNotice( character, "背包被锁定无法兑换" )
return
end
local retbag = HasLeaveBagGrid( character, 1)
if retbag ~= LUA_TRUE then
SystemNotice(character,"背包空格少于1个无法兑换")
return
end
ExchangeReq( character, npc, srcID, srcNum, tarID, tarNum, timeNum )
elseif usCmd == CMD_CM_TRADEITEM then --请求交易处理
local tradetype = ReadByte( rpk )
if tradetype == ROLE_TRADE_SALE then --请求出售物品
if trade.tp ~= TRADE_NOMAL then
SystemNotice( character, "Trade mode error!tp =", trade.tp )
PRINT( "trade mode error!tp = , tradetype = ", trade.tp, ROLE_TRADE_SALE )
return
end
local index = ReadByte( rpk )
local count = ReadByte( rpk )
if count == 0 then
return
end
PRINT( "MsgProc:Sale index = %d, count = %d", index, count )
Sale( character, npc, index, count )
elseif tradetype == ROLE_TRADE_BUY then --请求购买物品
if trade.tp ~= TRADE_NOMAL then
SystemNotice( character, "Trade mode error!tp =", trade.tp )
PRINT( "trade mode error!tp = , tradetype = ", trade.tp, ROLE_TRADE_BUY )
return
end
local itemtype = ReadByte( rpk )
local index1 = ReadByte( rpk )
local index2 = ReadByte( rpk )
local count = ReadByte( rpk )
if count == 0 then
return
end
PRINT( "MsgProc:Buy itemtype = %d, index1 = %d, index2 = %d, count = %d", itemtype, index1, index2, count )
Buy( character, npc, trade, itemtype, index1, index2, count )
elseif tradetype == ROLE_TRADE_SALE_GOODS then --请求出售货舱物品
if trade.tp ~= TRADE_GOODS then
SystemNotice( character, "Trade mode error!tp =", trade.tp )
PRINT( "trade mode error!tp = , tradetype = ", trade.tp, ROLE_TRADE_SALE_GOODS )
return
end
local boatid = ReadDword( rpk )
local index = ReadByte( rpk )
local count = ReadByte( rpk )
if count == 0 then
return
end
PRINT( "MsgProc:Sale boatid = ,index =, count =", boatid, index, count )
SaleGoods( character, npc, trade, boatid, index, count )
elseif tradetype == ROLE_TRADE_BUY_GOODS then --请求购买货舱物品
if trade.tp ~= TRADE_GOODS then
SystemNotice( character, "Trade mode error!tp =", trade.tp )
PRINT( "trade mode error!tp = , tradetype = ", trade.tp, ROLE_TRADE_BUY_GOODS )
return
end
local boatid = ReadDword( rpk )
local itemtype = ReadByte( rpk )
local index1 = ReadByte( rpk )
local index2 = ReadByte( rpk )
local count = ReadByte( rpk )
if count == 0 then
return
end
PRINT( "MsgProc:Buy goods boatid =, itemtype = , index1 = , index2 =, count = ", boatid, itemtype, index1, index2, count )
BuyGoods( character, npc, trade, boatid, itemtype, index1, index2, count )
elseif tradetype == ROLE_TRADE_SELECT_BOAT then --选择交易船只
local index = ReadByte( rpk )
PRINT( "MsgProc:index = ", index )
TradeGoods( character, npc, trade, index )
else
return SystemNotice( character, "MsgProc: trade request command error!" )
end
elseif usCmd == CMD_CM_MISSION then --任务处理
return MissionProc( character, npc, rpk, missionlist )
else
EXLG( "NpcSdk_error", "MsgProc:unknown internet command! CMD = %d", usCmd )
return SystemNotice( character, "MsgProc: Unknown internet command!" )
end
end
function GiveHoe(role,npc)
local r1 = 0
local r2 = 0
r1, r2 = MakeItem ( role , 3908 , 1 , 4 )
local Itemnew = GetChaItem ( role , 2 , r2 )
SetItemAttr(Itemnew, ITEMATTR_URE, 10 )--当前存储经验
SetItemAttr(Itemnew, ITEMATTR_MAXURE, 10 )--最高存储经验
RefreshCha(role)
end
function CheckMetal(role,npc)
local hoe_Count = CheckBagItem ( role , 3908 ) --检查锄头数量
local hoe_temp = GetChaItem2 ( role , 2 , 3908 ) --取锄头对象
local hoe_maxUre = GetItemAttr ( hoe_temp , ITEMATTR_MAXURE)
if hoe_Count ==1 then
if hoe_maxUre <50 then
SetItemAttr(hoe_temp,ITEMATTR_MAXURE,5000)
SetItemAttr(hoe_temp,ITEMATTR_URE,5000)
SystemNotice(role,"您的合金矿镐已经恢复正常")
else
SystemNotice(role,"对不起,您的合金矿镐是正常产品哦")
end
else
SystemNotice(role,"对不起,请保证背包内有一把损坏的合金矿镐")
end
RefreshCha(role)
end
function PKPointToZero(role,npc)
local PK
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -