admin 发表于 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,怪物数量)

admin 发表于 2021-7-22 22:01:52

清除怪物
函数原型:
map.ClearAllMonsters()    #map表示地图对象   

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

示例:

map.ClearAllMonsters()         #清除副本地图怪物

admin 发表于 2021-7-22 22:02:09

清理玩家
函数原型:
map.ClearAllPlayers()    #map表示地图对象   

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

示例:

map.ClearAllPlayers()         #清除副本地图玩家

admin 发表于 2021-7-22 22:02:30

清除所有道具
函数原型:
map.ClearAllItems()    #map表示地图对象   

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

示例:

map.ClearAllItems()         #清除副本地图道具

admin 发表于 2021-7-22 22:02:47

函数   GiveItem   

函数解释给予道具



函数GiveItemsByStat

附加值name   bound   count   expire

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

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

admin 发表于 2021-7-22 22:03:32

Sender.InSafeZone                   判断是否在安全区

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

current_map = SEnvir.GetMap(Sender.Character.CurrentMap)         获取当前角色所在的地图

admin 发表于 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提示

admin 发表于 2021-7-22 22:04:01

增加自定义双击使用功能道具

道具数据库新建一个物品

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

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

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

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

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

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

下面是范例:

def OnUseItem(args):   #消耗品 从27开始扩展道具数据库Shape 设置对应值
Sender=args
Item = args
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

admin 发表于 2021-7-22 22:04:29

创建副本
函数原型:
def OnCreate(args):    #创建副本
map = args
sender=args   

参数:
map = args   #地图
sender=args   #玩家

功能:
创建副本

示例:
def OnCreate(args):    #创建副本
map = args
sender=args
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秒判断一次地图是否有人如果没有则关闭掉这个副本节约资源

admin 发表于 2021-7-22 22:04:51

进入副本
函数原型:
def OnEnter(args):    #进入副本
map = args
sender=args   

参数:
map = args   #地图
sender=args   #玩家

功能:
进入副本

示例:
def OnEnter(args):            #进入副本
map = args
sender = args
sender.Connection.ReceiveChat(map.Info.Description,MessageType.System)#进入副本提示
页: 1 2 3 4 5 6 [7] 8
查看完整版本: Z服刺客韩服传奇3新手经常出现的一些问题解答!