查看: 64|回复: 0

2021/1/1 【BLUE引擎更新日志】 添加变量$CURITEMINDEX,当前将出产物品的ID

[复制链接]

943

主题

46

回帖

4452

积分

版主

积分
4452
威望
163
金币
340
贡献
1493
发表于 2024-10-26 16:42:43 | 显示全部楼层 |阅读模式

Blue引擎+登录器+程序全部免费开放,QQ快捷登陆,加入BLUE引擎论坛!

您需要 登录 才可以下载或查看,没有账号?立即注册

×
2021/1/1        全套配套
---------------------------------------------------------------------------
M2 修正重新加载NPC后城堡标志设置错误问题
   Npcs.txt也可以修改后重新加载(之前只支持Merchant.txt)
   全局字符串限制长度为1024
   添加变量$CURITEMINDEX,当前将出产物品的ID
   添加变量$ITEM(NN),主要用于展示背包的物品,NN为物品的ID,客户端鼠标指向物品图标有属性展示,下面有例子,需要同时更新客户端
   [@PickupItem]触发的<$PARAM(3)>修改为掉落者名称
   主菜单添加重新加载MapQuest脚本功能
   修正少数情况下NPC脚本参数个数识别错误问题
   改善法师英雄
   魔法设置面板添加:忽视护体神盾、忽视强化骷髅伤害减免、忽视内功伤害减免 开关,默认关闭,开启则在忽视几率触发的情况下起作用

客户端
   修补NPC对话框处理部分图片类对象
   完善聊天栏、对话框等的装备显示
   支持SetAbility动画效果,需要定义好效果文件AbilityEffects.txt,并将文件放到data目录,聊天栏打:~ReloadAE 命令可重新加载文件
   聊天栏、对话框、跑马灯修正装备显示位置,支持[Ctrl+鼠标中键]查看佣兵契约纸

NPC脚本会自动补全#IF,比如:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[@测试]
;会自动再内存补全下面2条语句,不修改脚本文件,之前下面的例子不会执行SetRandomNO这句
;#if
;true
#act
SetRandomNO 10000

#if
compval <$RANDOMNO> < 1000
#act
sendmsg 3 特等奖<$RANDOMNO>
#elseif
compval <$RANDOMNO> < 7000
#act
sendmsg 7 鼓励奖<$RANDOMNO>
#elseact
sendmsg 7 谢谢参与<$RANDOMNO>



扩展SetAbility,第5参数是自身效果id,id对应AbilityEffects.txt的条目效果,
参考附件AbilityEffects.txt,此文件需要放在客户端的data目录,格式:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;ID(1~65535不要重复) WIL名称 起始图片 帧数 帧间隔 声音 声音循环(0/1) 特效模式(0/1)
1 Prguse2 110 15 80 Wav\powerup.wav 1 1
2 Prguse2 90  19 80 Wav\powerup.wav 1 1

脚本示例:        // 一个Ability带三个动画效果
SetAbility 51 80 15 "" 1
SetAbility 51 80 15 "" 2
SetAbility 51 80 15 某buffer恢复正常 3


QF添加怪物掉落极品触发:[@MonDropItemDown],极品指HintItemList.txt中存在的物品,需要同时更新客户端
触发时支持的变量:<$PARAM(0)>:手动丢弃(0/1) <$PARAM(1)>:物品名 <$PARAM(2)>ooks <$PARAM(3)>:掉落者名称,<$PARAM(4)>:地图名,
<$PARAM(5)>:X坐标 <$PARAM(6)>:Y坐标 <$PARAM(7)>:物品ID <$PARAM(8)>:掉落者Race(人物1,英雄60)
例1:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[@MonDropItemDown]
#act
mov M_DropItemID <$PARAM(7)>
; 聊天框展示掉落物品
SENDMSG 0 <$PARAM(4)>的<$PARAM(3)>掉落:<$ITEM(M_DropItemID)>
; SendScrollMsg的漂移有点慢,可以去掉
;SendScrollMsg <$PARAM(4)>的<$PARAM(3)>掉落:<$ITEM(M_DropItemID)>(点击物品可暂停漂移) 151 16


例2:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[@吆喝]
#say
先放上你要吆喝的物品,放置完成后点击<开始吆喝/@开始吆喝>开始叫卖。\ \<返回/@back>   <关闭/@exit>
#act
QueryItemDlg 放上吆喝的物品 @ShowMyItem 0

[@ShowMyItem]
#act
GetDlgItemId MShowItemID
inc SShowItems <$ITEM(MShowItemID)>
delaygoto 100 @吆喝

[@开始吆喝]
#if
compval <$STR(SShowItems)> ! ""
#act
SendScrollMsg 【<$USERNAME>】出售物品:<$STR(SShowItems)>(点击物品可暂停漂移) 151 16
mov SShowItems ""
close

例3:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[@showItems]
#act
SetDlgItem 屠龙
FormatStr %s <$DLGITEMSHOW>
SetDlgItem 怒斩
FormatStr "%s   %s" <$CALCRESULT> <$DLGITEMSHOW>
SetDlgItem 龙牙
FormatStr "%s   %s" <$CALCRESULT> <$DLGITEMSHOW>
SetDlgItem 逍遥扇
FormatStr "%s   %s" <$CALCRESULT> <$DLGITEMSHOW>
#say
装备:<$CALCRESULT>\ \<返回/@back>   <关闭/@exit>

MapQuest添加拾取触发,文件MapQuest.txt,
触发时支持的变量:同上
掉落物品的角色,如果下线或消失,角色名将为空,一般设置物品消失的时间比怪物消失的时间长
例:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
;地图        变量        判断        角色名                        物品名                执行文件名
3                [123]        0                蛤蟆/玩家名                乌木剑                QPickup1                        // QPickup1指向MapQuest_def目录下的QPickup.txt脚本
3                [123]        0                *                                屠龙                QPickup2



添加远程脚本功能
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1) 引擎成功加载RemoteScript.dll,可以使用远程脚本功能,
   RemoteScript.ini是参数设置文件,其中:
     Host=127.0.0.1                                        // 远程NPC脚本服务器的IP地址
     Port=8800                                                // 远程NPC脚本服务器的端口
     Password=bluem2                                // 连接密码
     ServerVersion=热血传奇_V1.0        // 服务器的版本,会以此标识上传、加载远程脚本数据,可动态修改
   要加载远程NPC脚本:勾选 引擎主菜单-管理-使用远程脚本,勾选后,重新加载NPC或开启引擎会加载远程服务器的NPC脚本数据
   最好要保证远程脚本服务器能和引擎服务器通讯够顺畅,否则远程加载NPC脚本速度会变慢。
   启用远程加载脚本后,本地脚本文件的内容可以清空

2) 远程脚本服务器参见附件:RemoteScriptServer.7z
   修改参数文件config.conf,以达到自己的要求,主要修改其中的端口和连接密码,参考压缩包中的“说明.txt”
   修改完,运行:启动.bat 即可

3) 引擎成功加载RemoteScript.dll,适当修改脚本之后,可以点击 引擎主菜单-管理-上传脚本数据,
   可以使用专门的测试服务器修改、上传脚本,其他连接同一远程脚本服务器的引擎,只需要重新加载所有NPC即是最新状态。

4) 涉及文件在压缩包目录:通用-远程NPC脚本 中,注意连接设置正确性,否则将导致引擎卡顿

您的回帖是对楼主莫大的鼓励和支持。禁止讨论违规敏感话题、禁止攻击辱骂他人!懒人可选回复语句:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

帮助

客服

QQ群

回复

列表