设为首页收藏本站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
楼主: admin
打印 上一主题 下一主题

Z服刺客韩服传奇3新手经常出现的一些问题解答!

[复制链接]

659

主题

757

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
27976

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

61#
 楼主| 发表于 2021-7-22 22:01:31 | 只看该作者
创建怪物
函数原型:
map.CreateNpc(...)    #map表示地图对象   

参数:
( int x,int y, int range, string monname,int count=1 )
( int x,int y, int range, int monindex,int count=1 )

x: x坐标
y: y坐标
range: 范围
monname: 怪物的名字
monindex: 怪物的ID
count: 怪物的数量

功能:
在指定的坐标刷怪物,支持静态地图和副本地图

示例:

map.CreateMon(25,23,10,'半兽勇士',10)           #副本地图刷新的怪物 (刷怪坐标X,Y,范围,怪物名字或者ID,怪物数量)
回复 支持 反对

使用道具 举报

659

主题

757

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
27976

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

62#
 楼主| 发表于 2021-7-22 22:01:52 | 只看该作者
清除怪物
函数原型:
map.ClearAllMonsters()    #map表示地图对象   

功能:  
清除地图的怪物,支持副本地图

示例:

map.ClearAllMonsters()           #清除副本地图怪物
回复 支持 反对

使用道具 举报

659

主题

757

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
27976

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

63#
 楼主| 发表于 2021-7-22 22:02:09 | 只看该作者
清理玩家
函数原型:
map.ClearAllPlayers()    #map表示地图对象   

功能:  
清除地图的玩家,支持副本地图

示例:

map.ClearAllPlayers()           #清除副本地图玩家
回复 支持 反对

使用道具 举报

659

主题

757

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
27976

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

64#
 楼主| 发表于 2021-7-22 22:02:30 | 只看该作者
清除所有道具
函数原型:
map.ClearAllItems()    #map表示地图对象   

功能:  
清除地图的道具,支持副本地图

示例:

map.ClearAllItems()           #清除副本地图道具
回复 支持 反对

使用道具 举报

659

主题

757

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
27976

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

65#
 楼主| 发表于 2021-7-22 22:02:47 | 只看该作者
函数   GiveItem   

函数解释  给予道具



函数  GiveItemsByStat

附加值  name   bound   count   expire

函数解释 给道具 可以设置 道具名 是否绑定 数量 使用时间

范例:{'name':'双倍经验卷',
             'bound':0,              (0不绑定  1绑定   或者写  False  和 True也可以)
             'count':2,
             'Expire':86400,},
回复 支持 反对

使用道具 举报

659

主题

757

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
27976

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

66#
 楼主| 发表于 2021-7-22 22:03:32 | 只看该作者
Sender.InSafeZone                   判断是否在安全区

Sender.CurrentMap.Info.Index in [1, 5, 6]          判断所在地图 比奇Index是1  道馆Index是5  潘夜村落Index是6

current_map = SEnvir.GetMap(Sender.Character.CurrentMap)           获取当前角色所在的地图
回复 支持 反对

使用道具 举报

659

主题

757

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
27976

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

67#
 楼主| 发表于 2021-7-22 22:03:46 | 只看该作者
脚本信息函数说明

MessageType.Normal               //普通聊天
MessageType.Shout                  //区域聊天
MessageType.Global                 //世界喊话
MessageType.WhisperIn           //私聊
MessageType.WhisperOut        //收到私聊
MessageType.Group                  //组队聊天
MessageType.ObserverChat    //观察者聊天
MessageType.Guild                    //行会聊天
MessageType.GMWhisperIn     //GM私聊  
MessageType.Hint                      //提示信息
MessageType.System                //系统信息
MessageType.Announcement   //公告信息
MessageType.Combat              //战斗信息提示
MessageType.Notice                 //告示中央显示
MessageType.RollNotice           //中央滚动告示
MessageType.ItemTips              //极品物品提示
MessageType.BossTips            //boss提示
回复 支持 反对

使用道具 举报

659

主题

757

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
27976

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

68#
 楼主| 发表于 2021-7-22 22:04:01 | 只看该作者
增加自定义双击使用功能道具

道具数据库新建一个物品

Index表示物品id号,需检查不能重复

ItemName表示物品名字,可根据需要换名;

Shape值从27起,表示可以双击使用的道具类型;

Image表示道具的图标显示id,可根据需要换图(道具资源参考客户端资源说明--道具图标);

其余字段参数可都可根据需要自行配置;

在Script目录下Player目录里的PlayerProcess.py文件中增加道具的相关脚本执行:

下面是范例:

def OnUseItem(args):   #消耗品 从27开始扩展  道具数据库Shape 设置对应值
Sender=args[0]
Item = args[1]
if(Item.Info.ItemType == ItemType.Consumable):  #背包格子判断
  if(Item.Info.Shape == 27):  #道具数据库Shape值  从27起
   goods1={ '六绝星环':2,
      '指环':1,
      '牛角戒指':1,}
   if(Sender.GiveItems(goods1)):   #给多种物品 返回值为FALSE 表示给物品失败 True 成功 goods 必须是如上的dictionary结构
    return True
   else:
    Sender.Connection.ReceiveChat("你的背包空间不足。",MessageType.System)
   return False
  
  elif(Item.Info.Shape == 28): #道具数据库Shape值
   goods2={ '火球术':1,
      '指环':1,
      '牛角戒指':1,}
   if(Sender.GiveItems(goods2)):  #给多种物品 返回值为FALSE 表示给物品失败 True 成功 goods 必须是如上的dictionary结构
    return True
   else:
    Sender.Connection.ReceiveChat("你的背包空间不足。",MessageType.System)
   return False
   

else:
  return False
回复 支持 反对

使用道具 举报

659

主题

757

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
27976

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

69#
 楼主| 发表于 2021-7-22 22:04:29 | 只看该作者
创建副本
函数原型:
def OnCreate(args):    #创建副本
map = args[0]
sender=args[1]   

参数:
map = args[0]     #地图
sender=args[1]   #玩家

功能:
创建副本

示例:
def OnCreate(args):    #创建副本
map = args[0]
sender=args[1]
Server.Envir.SEnvir.DelayCall("Map.Battle.CloseFuben",3600,(map,))   #地图总时间 秒为单位
MapSetTempV(map,_V_NUM,0)               #设定值     
Server.Envir.SEnvir.DelayCall("Map.Battle.ManualCloseFuben",5,(map,0))   #5秒判断一次地图是否有人如果没有则关闭掉这个副本节约资源
回复 支持 反对

使用道具 举报

659

主题

757

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
27976

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

70#
 楼主| 发表于 2021-7-22 22:04:51 | 只看该作者
进入副本
函数原型:
def OnEnter(args):    #进入副本
map = args[0]
sender=args[1]   

参数:
map = args[0]     #地图
sender=args[1]   #玩家

功能:  
进入副本

示例:
def OnEnter(args):            #进入副本
map = args[0]
sender = args[1]
sender.Connection.ReceiveChat(map.Info.Description,MessageType.System)  #进入副本提示
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|黑金论坛    

GMT+8, 2024-4-25 23:42 , Processed in 0.300390 second(s), 23 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.