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

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

|
|||
|
|
|
|||
|
|
> 然后我们在跨界石.nut中写入以下代码
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
CrossoverStr1 <- "装备栏1号位没有装备..";
|
|||
|
|
CrossoverStr2 <- "跨界失败,请检查一下账号金库是否没有开启或者没有空位";
|
|||
|
|
CrossoverStr3 <- "跨界失败";
|
|||
|
|
CrossoverStr4 <- "跨界成功,已经装备栏第一格的 [%s] 转移至账号金库";
|
|||
|
|
CrossoverId <- 7577;
|
|||
|
|
Cb_Use_Item_Sp_Func[CrossoverId] <- function(SUser, ItemId) {
|
|||
|
|
//获取账号金库对象
|
|||
|
|
local CargoObj = SUser.GetAccountCargo();
|
|||
|
|
//获取账号金库中的一个空格子
|
|||
|
|
local EmptySlot = CargoObj.GetEmptySlot();
|
|||
|
|
|
|||
|
|
//如果没有空格子
|
|||
|
|
if (EmptySlot == -1) {
|
|||
|
|
SUser.SendNotiPacketMessage(CrossoverStr2, 8);
|
|||
|
|
//不扣除道具
|
|||
|
|
SUser.GiveItem(ItemId, 1);
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//获取角色背包
|
|||
|
|
local InvenObj = SUser.GetInven();
|
|||
|
|
//获取需要转移的装备 这里默认写的装备栏第一个格子
|
|||
|
|
local ItemObj = InvenObj.GetSlot(Inven.INVENTORY_TYPE_ITEM, 9);
|
|||
|
|
//获取装备名字
|
|||
|
|
local ItemName = PvfItem.GetNameById(ItemObj.GetIndex());
|
|||
|
|
//如果没找到这个格子的装备
|
|||
|
|
if (!ItemName) {
|
|||
|
|
SUser.SendNotiPacketMessage(CrossoverStr1, 8);
|
|||
|
|
//不扣除道具
|
|||
|
|
SUser.GiveItem(ItemId, 1);
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
//跨界
|
|||
|
|
local Flag = CargoObj.InsertItem(ItemObj, EmptySlot);
|
|||
|
|
if (Flag == -1) {
|
|||
|
|
SUser.SendNotiPacketMessage(CrossoverStr3, 8);
|
|||
|
|
//不扣除道具
|
|||
|
|
SUser.GiveItem(ItemId, 1);
|
|||
|
|
} else {
|
|||
|
|
//销毁背包中的道具
|
|||
|
|
ItemObj.Delete();
|
|||
|
|
//刷新玩家背包列表
|
|||
|
|
SUser.SendUpdateItemList(1, 0, 9);
|
|||
|
|
//刷新账号金库列表
|
|||
|
|
CargoObj.SendItemList();
|
|||
|
|
SUser.SendNotiPacketMessage(format(CrossoverStr4, ItemName), 7);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|

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

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