⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 npcsdk.lua

📁 top web admin panel (tales of pirates)
💻 LUA
📖 第 1 页 / 共 5 页
字号:
		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 + -