82 lines
2.5 KiB
Markdown
82 lines
2.5 KiB
Markdown
|
|
> 首先我们先在dp_s文件夹中建立一个项目文件夹 MyProject 方便管理
|
|||
|
|
|
|||
|
|

|
|||
|
|
|
|||
|
|
> 然后我们建立一个新文件 融合石.nut 用于编写我们的代码
|
|||
|
|
|
|||
|
|

|
|||
|
|
|
|||
|
|
> 然后我们在融合石.nut中写入以下代码
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
//本例子由凌众提供
|
|||
|
|
|
|||
|
|
//装备代码1 装备代码2 融合后产出代码
|
|||
|
|
Ronghe_Config <- {
|
|||
|
|
"27601,27601",27601
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
Cb_Use_Item_Sp_Func[7577] <- function(SUser, ItemId) {
|
|||
|
|
//获取玩家背包
|
|||
|
|
local InvenObj = SUser.GetInven();
|
|||
|
|
//如果背包存在
|
|||
|
|
if (InvenObj) {
|
|||
|
|
//获取玩家背包类型1的第9个格子
|
|||
|
|
local ItemObj = InvenObj.GetSlot(1, 9);
|
|||
|
|
local ItemObj2 = InvenObj.GetSlot(1, 10);
|
|||
|
|
//空装备
|
|||
|
|
if (ItemObj.IsEmpty || ItemObj2.IsEmpty) {
|
|||
|
|
//发送通知
|
|||
|
|
SUser.SendNotiPacketMessage("装备融合失败,请检查装备位置是否正确", 8);
|
|||
|
|
//返还消耗的道具
|
|||
|
|
local test = SUser.GiveItem(ItemId, 1);
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
local ItemId1 = ItemObj.GetIndex();
|
|||
|
|
local ItemId2 = ItemObj2.GetIndex();
|
|||
|
|
local Skey = ItemId1 + "," + ItemId2;
|
|||
|
|
|
|||
|
|
if (!(Skey in Ronghe_Config)) {
|
|||
|
|
//发送通知
|
|||
|
|
SUser.SendNotiPacketMessage("装备融合失败,装备不可融合", 8);
|
|||
|
|
//返还消耗的道具
|
|||
|
|
SUser.GiveItem(ItemId, 1);
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
local itemid3 = Ronghe_Config[Skey];
|
|||
|
|
local item = SUser.GiveItem(itemid3, 1);
|
|||
|
|
//最后获得的道具
|
|||
|
|
local reitem = InvenObj.GetSlot(1, item[1]);
|
|||
|
|
|
|||
|
|
local dz = ItemObj.GetForging();
|
|||
|
|
local qh = ItemObj.GetUpgrade();
|
|||
|
|
local zf = ItemObj.GetAmplification();
|
|||
|
|
local fm = ItemObj.GetEnchanting();
|
|||
|
|
local pj = ItemObj.GetAdd_Info();
|
|||
|
|
|
|||
|
|
ItemObj.Delete();
|
|||
|
|
ItemObj2.Delete();
|
|||
|
|
|
|||
|
|
reitem.SetForging(dz);
|
|||
|
|
reitem.SetUpgrade(qh);
|
|||
|
|
reitem.SetAmplification(zf);
|
|||
|
|
reitem.SetEnchanting(fm);
|
|||
|
|
reitem.SetAdd_Info(pj);
|
|||
|
|
reitem.Flush();
|
|||
|
|
|
|||
|
|
SUser.SendItemSpace(0);
|
|||
|
|
SUser.SendNotiPacketMessage("装备融合成功", 8);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|

|
|||
|
|
|
|||
|
|
> 最后我们回到dp_s文件夹中,打开Main.nut 加载我们刚才编写的逻辑
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
sq_RunScript("MyProject/融合石.nut");
|
|||
|
|
```
|
|||
|
|

|
|||
|
|
|
|||
|
|
> 至此一个简单的融合石的逻辑就写完了,然后我们就可以在游戏中使用道具7577来融合了
|