天岫龙八苔部3的地涓图传送点修改教程
天岫龙八苔部3的地涓图传送点修改教程
今天我也来写一个教程,我用的凤鸣天三,其中有的地图传送点位置不对有的没有传送点,今天把我的修改经验分享给大家,有不对之处欢迎指正,如果觉得不错请多支持!!!!!!
传送点修改
传送点相关文件
1. Public\Scene\SceneInfo.ini 描述了所有地图的信息
2. Public\Data\Script.dat 描述了所有脚本的信息
3. Public\Scene\**_ area.ini 描述了地图传送点的信息(一般情况下,该文件名都带有对应地图的全拼这样,如凤鸣镇的文件对应是fengmingzhen_area.ini,不过要有的文件有多个,如洛阳,我的端就有luoyang__area.ini和luoyang_new_snow_area.ini两个文件,其实是用的后一个)
4. \Public\Data\Script\event\chuansong\echuansong_**.lua传送脚本(该文件名通常会包含需要传送的两个的地图的全拼, 如洛阳到敦煌的文件名是echuansong_luoyang_dunhuang.lua,该文件名是在Script.dat中声明的,也可能有例外的情况)
SceneInfo.ini文件部分内容如下
[system]
scenenumber=723 ;游戏世界的场景总数
[scene0]
threadindex=30 ;驱动线程的索引
clientres=0 ;客户端使用的场景资源,定义于客户端/Config/SceneDefine.txt文件的最开始列数值
name=洛阳 ;场景名字
active=1 ;场景是否激活
file=luoyang.scn ;场景文件名
serverid=0 ;此场景是由哪个服务器端程序调用的
type=0 ;场景类型,如果是0,表示普通游戏场景,如果是1表示副本 4表示帮会城市"
PvpRuler=0 ;详细含义参见 Server\Config\PvpRuler.txt
BeginPlus=8122400 ;附加项有效时间起始(年月日时,YYMMDDHH)
_clientres=0 ;有效时间内使用此项替换clientres
EndPlus=9030100 ;附加项有效时间终止(年月日时,YYMMDDHH)
IsReLive=0 ;是否允许新手在本场景原地复活,缺省为0时新手不能在原地复活"
可以通过搜索场景名称查找对应的地图
Script.dat部分内容如下 www.5uwl.net
;传送点
400000=\event\chuansong\echuansong_luoyang_dunhuang.lua
400001=\event\chuansong\echuansong_luoyang_songshan.lua
400002=\event\chuansong\echuansong_luoyang_yannan.lua
其中400000为脚本代号,等号后面为对应的脚本文件
下面举例说明一下传送点的修改步骤
例如我用的端是凤鸣天三最新版本,其中洛阳到嵩山的传送点位置错误,在场景中传送点NPC在255、466,而该位置却不能触发传送,实际触发点在258、446,两点相差很远,下面就说明一下其修改步骤.
首先在Public\Scene目录下找到文件luoyang_new_snow_area.ini,打开后,内容如下(部分):
[area_info]
area_count=7
[area0]
guid=0
script_id=400000
left=79.0000
top=253.0000
right=85.0000
bottom=262.0000
[area1]
guid=0
script_id=400001
left=256.0000
top=438.0000
right=262.0000
bottom=448.0000
[area2]
guid=0
script_id=400002
left=450.0000
top=255.0000
right=470.0000
bottom=265.0000
其中area_count表示传送点数目, [area0]表示第一个传送点,以此类推. script_id对应触发脚本,在Script.dat中可以查到,可以查出,400000是表示传送到敦煌, 400001是传送到嵩山, 400002是传送到雁南.我们要修改的坐标是嵩山对应的坐标,可见,255,466是无法落在其声明的区域内的,所以将该区域进行一下修改即可,修改后如下
[area_info]
area_count=7
[area0]
guid=0
script_id=400000
left=79.0000
top=253.0000
right=85.0000
bottom=262.0000
[area1]
guid=0
script_id=400001
left=253.0000
top=464.0000
right=258.0000
bottom=467.0000
[area2]
guid=0
script_id=400002
left=450.0000
top=255.0000
right=470.0000
bottom=265.0000
保存该文件,上传到服务器,然后重启服务端即可.
如果要增加传送点,过程也类似.
不如我的端里 凤鸣镇的传送点都不好用,检查服务端,是没有传送点造成的,现在恢复传送点就要手动增加,如增加凤鸣镇到天岐南淮的传送点.
首先在Public\Scene目录下找到文件fengmingzhen_area.ini打开后,内容如下:
[area_info]
area_count=0
[area0]
guid=0
script_id=400906
left=112.0000
top=26.0000
right=123.0000
bottom=34.0000
可见其中area_count =0,表示没有传送点.要增加传送点首先要找到一个空闲的脚本号,打开Script.dat查找”凤鸣镇”,可以找到如下内容:
;凤鸣镇NPC
045000=\obj\fengming\ofengming_luomi.lua
045001=\obj\fengming\ofengming_ouyeqing.lua
045002=\obj\fengming\ofengming_jiaoying.lua
045003=\obj\fengming\ofengming_tongtianta.lua
045004=\obj\fengming\ofengming_ceshi.lua
可见其脚本号编写到045004,我们就增加一个045005,查找一下也没有被使用,所以就采用045005作为脚本号.然后起一个文件名,作为传送脚本文件名,这里就取名为
echuansong_fengming_tianqi.lua,然后在\event\chuansong\目录下建立该文件,其内容稍后再改.现在将Script.dat在045004下增加如下一行,然后保存.
045005=\event\chuansong\echuansong_fengming_tianqi.lua
然后将fengmingzhen_area.ini按照下面进行修改,并保存.
[area_info]
area_count=1
[area0]
guid=0
script_id=045005 ;天岐南淮
left=438.0000
top=142.0000
right=442.0000
bottom=146.0000
然后打开钢厂建立的文件echuansong_fengming_tianqi.lua,键入如下内容:(可以从其他文件复制过来再修改,我就是复制的洛阳传送脚本再修改的)
--玩家进入一个 area 时触发
function x400000_OnEnterArea( sceneId, selfId )
CallScriptFunction((400900),"TransferFunc",sceneId, selfId, 5755,276,145)
end
--玩家在一个 area 呆了一段时间没走则定时触发
function x400000_OnTimer( sceneId, selfId )
-- 毫秒,看在这个 area 停留多久了
StandingTime =QueryAreaStandingTime( sceneId, selfId )
-- 5秒后仍未传送
if StandingTime>= 5000 then
x400000_OnEnterArea(sceneId, selfId )
ResetAreaStandingTime(sceneId, selfId, 0 )
end
end
--玩家离开一个 area 时触发
function x400000_OnLeaveArea( sceneId, selfId )
end
其中的关键点在
CallScriptFunction((400900),"TransferFunc",sceneId, selfId, 575,39,216)
这里面575,39,216三个数字,第一个是地图号,到SceneInfo.ini中可以查到天岐南淮的代号是575,后面两个数字表示x和y坐标,不过对于未知的地图该坐标需要自己去实验,那不好就落到山顶或地图边缘而动不了J.
其他地方都无需修改.
最后将刚才修改和新建的文件全部上传到服务端,然后重启服务端即可.
发布站程序下载:www.98youx.com发布站程序下载:www.98youx.com