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

📄 scriptsdk.lua

📁 top web admin panel (tales of pirates)
💻 LUA
📖 第 1 页 / 共 5 页
字号:
-----------------------------------------------------------
--ScriptSdk.lua Created by knight 2005.1.14.
--
--定义简化策划书写任务和npc对话脚本的函数接口
print( "loading scriptsdk.lua" )
------------------------------------------------------------

--脚本系统全局变量

Page       = {}				--npc对话信息全局变量定义
Exchange  = {}
ExchangeX = {}
FuncList  = {}
Trade     = {}				--npc交易信息全局变量定义
Goods	 = {}				--npc货物交易信息全局变量定义
Mission    = {}				--所有任务信息保存全局变量定义
MisLogList = {}			--所有任务日志信息保存全局变量定义
TriggerList = {}			--所有全局触发器信息保存全局变量定义
NpcMissionList  = {}		--npc携带任务信息全局变量定义
Trigger  = {}

NpcInfoList = {}			--所有npc脚本信息保存全局变量定义
NpcInfoList.count = 0	--所有npc脚本信息计数

MapList = {}				--地图服务器所有地图名称信息列表
MapList.count = 0		--地图名称计数

RandParam = {}			--随机任务的生成参数表

NpcList	= {}				--世界中所有NPC信息列表

NpcPointer = LUA_NULL	--Npc初始化指针

Profession = {} 			--角色转职职业选择限制条件信息
Category  = {}			--角色转职职业选择体形限制条件信息

BerthPortList = {}		--港口信息

ResourceList = {}		--资源信息
ResourceList.wood = {}
ResourceList.mine = {}

BoatLevelList = {}		--船只升级数据信息

talklist = {}				--随机任务前后缀信息列表

--任务奖励选项类型
--多选一
PRIZE_SELONE          = 0
--全给予
PRIZE_SELALL           = 1

--任务类型
NOMAL_MISSION		  = 0 		--普通任务
RAND_MISSION		  = 1		--随机任务
WORLD_MISSION		  = 2 	    --世界任务

--任务显示类型
ALLWAYS_SHOW		 	= 0 	--总是显示任务状态
COMPLETE_SHOW   		= 1 	--完成任务条件时才显示任务状态,(只有角色满足完成条件,角色才会看到任务)
ACCEPT_SHOW			= 2	--可以接受任务时任务才显示出来

--任务需求类型
MIS_RAND_KILL		  = 0   	--摧毁物件
MIS_RAND_GET		  = 1		--获取物品
MIS_RAND_SEND		  = 2		--送物品
MIS_RAND_CONVOY    = 3		--护送NPC
MIS_RAND_EXPLORE	  = 4		--探索地图

--护送NPC到达目标类型
MIS_CONVOY_NPC	  = 0		--护送交付NPC
MIS_CONVOY_MAP	  = 1		--护送到某个指定地点

--触发器类型
MIS_TRIGGER_NOMAL	= 0	 --普通
MIS_TRIGGER_RAND		= 1	 --随机(用于随机任务中,使用时根据传递的参数设置触发器信息)

--随机任务每个段必须完成的任务基数,才可以产生奖励物品
MIS_RAND_MAXCOMPLETE = 1

--随机任务等级类型
MIS_LEVEL_CHAR 	= 0	    --角色随机任务等级类型
MIS_LEVEL_GANG 	= 1		--公会随机任务等级类型

--随机任务奖励经验类型
MIS_EXP_NOMAL 		= 0		--奖励普通经验
MIS_EXP_SAIL			= 1		--奖励航海经验
MIS_EXP_LIFE			= 2		--奖励生活经验

--各种实体类型信息
BASE_ENTITY			= 0		--基本实体
RESOURCE_ENTITY	= 1		--资源实体
TRANSIT_ENTITY		= 2		--传送实体
BERTH_ENTITY		= 3		--停泊实体

--NPC交易方式类型
TRADE_NOMAL			= 0		--普通交易
TRADE_GOODS		= 2		--货物交易

--任务奖励物品类型
MIS_ITEM_INST_BUY	= 0	--商店买卖
MIS_ITEM_INST_MONS	= 1	--怪物掉落
MIS_ITEM_INST_COMP	= 2	--合成
MIS_ITEM_INST_TASK	= 3	--任务获得

--下面是leo的黑市商人
MoliTable ={}
NakaTable ={}
CoinTable1000 ={}
CoinTable600 ={}

MoliTable[1]=0766
MoliTable[2]=0769
MoliTable[3]=0773
MoliTable[4]=0776
MoliTable[5]=0780
MoliTable[6]=0784
MoliTable[7]=0788
MoliTable[8]=0792
MoliTable[9]=0795
MoliTable[10]=0798
MoliTable[11]=0802
MoliTable[12]=0806

NakaTable[1]=0765
NakaTable[2]=0768
NakaTable[3]=0772
NakaTable[4]=0775
NakaTable[5]=0779
NakaTable[6]=0783
NakaTable[7]=0787
NakaTable[8]=0791
NakaTable[9]=0794
NakaTable[10]=0797
NakaTable[11]=0801
NakaTable[12]=0805
NakaTable[13]=0807
NakaTable[14]=0808
NakaTable[15]=0809
NakaTable[16]=0810
NakaTable[17]=0811
NakaTable[18]=0812
NakaTable[19]=0813
NakaTable[20]=0814
NakaTable[21]=0815
NakaTable[22]=0877

CoinTable1000[1]=0764
CoinTable1000[2]=0767
CoinTable1000[3]=0771
CoinTable1000[4]=0774
CoinTable1000[5]=0778
CoinTable1000[6]=0782
CoinTable1000[7]=0786
CoinTable1000[8]=0790
CoinTable1000[9]=0793
CoinTable1000[10]=0796
CoinTable1000[11]=0800
CoinTable1000[12]=0804
CoinTable1000[13]=0764
CoinTable1000[14]=0767
CoinTable1000[15]=0771
CoinTable1000[16]=0774
CoinTable1000[17]=0778
CoinTable1000[18]=0782
CoinTable1000[19]=0786
CoinTable1000[20]=0790
CoinTable1000[21]=0793
CoinTable1000[22]=0796
CoinTable1000[23]=0800
CoinTable1000[24]=0804
CoinTable1000[25]=0764
CoinTable1000[26]=0767
CoinTable1000[27]=0771
CoinTable1000[28]=0774
CoinTable1000[29]=0778
CoinTable1000[30]=0782
CoinTable1000[31]=0786
CoinTable1000[32]=0790
CoinTable1000[33]=0793
CoinTable1000[34]=0796
CoinTable1000[35]=0800
CoinTable1000[36]=0804

CoinTable600[1]=0763
CoinTable600[2]=0770
CoinTable600[3]=0777
CoinTable600[4]=0781
CoinTable600[5]=0785
CoinTable600[6]=0789
CoinTable600[7]=0799
CoinTable600[8]=0803
CoinTable600[9]=0763
CoinTable600[10]=0770
CoinTable600[11]=0777
CoinTable600[12]=0781
CoinTable600[13]=0785
CoinTable600[14]=0789
CoinTable600[15]=0799
CoinTable600[16]=0803
CoinTable600[17]=0763
CoinTable600[18]=0770
CoinTable600[19]=0777
CoinTable600[20]=0781
CoinTable600[21]=0785
CoinTable600[22]=0789
CoinTable600[23]=0799
CoinTable600[24]=0803
CoinTable600[25]=0763
CoinTable600[26]=0770
CoinTable600[27]=0777
CoinTable600[28]=0781
CoinTable600[29]=0785
CoinTable600[30]=0789
CoinTable600[31]=0799
CoinTable600[32]=0803
CoinTable600[33]=0763
CoinTable600[34]=0770
CoinTable600[35]=0777
CoinTable600[36]=0781
CoinTable600[37]=0785
CoinTable600[38]=0789
CoinTable600[39]=0799
CoinTable600[40]=0803
CoinTable600[41]=0763
CoinTable600[42]=0770
CoinTable600[43]=0777
CoinTable600[44]=0781
CoinTable600[45]=0785
CoinTable600[46]=0789
CoinTable600[47]=0799
CoinTable600[48]=0803
CoinTable600[49]=0763
CoinTable600[50]=0770
CoinTable600[51]=0777
CoinTable600[52]=0781
CoinTable600[53]=0785
CoinTable600[54]=0789
CoinTable600[55]=0799
CoinTable600[56]=0803
----------------leo黑市商人 end
------------------------------------------------------------

--初始化服务器船只升级信息
function InitBoatLevel()
	BoatLevelList = {}
	BoatLevelList.count = 0
end

--添加船只升级数据信息
function AddBoatLevel( level, money, exp )
	BoatLevelList.count = BoatLevelList.count + 1
	BoatLevelList[level] = {}
	BoatLevelList[level].money = money
	BoatLevelList[level].exp = exp	
	LG( "boatlevel_init", "AddBoatLevel: count, level, money, exp", BoatLevelList.count, level, money, exp )
end

--初始化地图列表信息
function InitMap()
	MapList = {}
	MapList.idname = {}
	MapList.mapname = {}
	MapList.count = 0
end

--添加地图名称信息自动生成地图唯一ID
function AddMap( idname, str )
	for n = 1, MapList.count, 1 do
		if MapList.mapname[n] == nil or MapList.idname[n] == nil then
			break
		end
		if MapList.mapname[n] == str or MapList.idname[n] == idname then
			return
		end
	end
	MapList.count = MapList.count + 1
	MapList.idname[MapList.count] = idname
	MapList.mapname[MapList.count] = str
	LG( "mission", "Set map ["..MapList.mapname[MapList.count].."], IDNAME = "..MapList.idname[MapList.count].."ID = "..MapList.count )
	PRINT( "Set map ["..MapList.mapname[MapList.count].."], IDNAME = "..MapList.idname[MapList.count].."ID = "..MapList.count )
	
	local ret = SetMap( MapList.idname[MapList.count], MapList.count )
	if ret == LUA_FALSE then
		LG( "mission", "Set map notice failed ["..MapList.mapname[MapList.count].."], IDNAME = "..MapList.idname[MapList.count].."ID = "..MapList.count )
		PRINT( "Set map notice failed ["..MapList.mapname[MapList.count].."], IDNAME = "..MapList.idname[MapList.count].."ID = "..MapList.count )
	end
end

--获得指定ID的地图名称
function GetMap( mapid )
	if mapid > MapList.count or MapList.mapname[mapid] == nil then
		return "Unknown map name"
	end
	
	return MapList.mapname[mapid]
end

--初始化对话页信息
function InitPage()
	Page = {}
	Page.trade = {}
	for i = 1, 32, 1 do
		Page[i] = {}
		Page[i].count = 0
		for n = 1, 12, 1 do
			Page[i][n] = {}
		end
	end
	Page[1].ismission = 1
end

--初始化交易页信息
function InitTrade()
	Trade = {}
	Trade.tp = TRADE_NOMAL
	Trade.berth = -1
	
	--武器
	Trade[1] = {}
	Trade[1].itemtype = WEAPON
	Trade[1].count = 0;
	Trade[1].item = {}
	Trade[1].price = {}
	--防具
	Trade[2] = {}
	Trade[2].itemtype = DEFENCE
	Trade[2].count = 0;
	Trade[2].item = {}
	Trade[2].price = {}
	--杂项
	Trade[3] = {}
	Trade[3].itemtype = OTHER
	Trade[3].count = 0;
	Trade[3].item = {}
	Trade[3].price = {}
	--合成
	Trade[4] = {}
	Trade[4].itemtype = SYNTHESIS
	Trade[4].count = 0;
	Trade[4].item = {}
	Trade[4].price = {}
end

function InitTradeX( trade )
--	trade = {}
--	trade.tp = TRADE_NOMAL
--	trade.berth = -1
	
	--武器
--	trade[1] = {}
	trade[1].itemtype = WEAPON
	trade[1].count = 0;
--	trade[1].item = {}
--	trade[1].price = {}
	--防具
--	trade[2] = {}
	trade[2].itemtype = DEFENCE
	trade[2].count = 0;
--	trade[2].item = {}
--	trade[2].price = {}
	--杂项
--	trade[3] = {}
	trade[3].itemtype = OTHER
	trade[3].count = 0;
--	trade[3].item = {}
--	trade[3].price = {}
	--合成
--	trade[4] = {}
	trade[4].itemtype = SYNTHESIS
	trade[4].count = 0;
--	trade[4].item = {}
--	trade[4].price = {}
end

--初始化货物交易信息
function InitGoods( berth )
	Trade = {}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -