只要是有關判別裝備位置的語法都會錯位,例如getequipname(1)
本帖最後由 zxc12141214 於 2017-4-3 11:23 PM 編輯我是使用RatenaCN1.6.3 SQL版
有爬了許多文章,我不知道這問題該怎麼搜尋,
我只知道可能跟scripts_athena裡的腳本有關,
因為我不喜歡太多的雜魚.. 所以將NPC都關閉,
請問有人能解答這是設定上哪個環節出錯誤嘛?
https://upload.cc/i/UkuZW7.jpg
如圖上顯示我身上就穿那樣,他怎麼給我亂判定位置..
在來這是腳本:https://pastebin.com/dl/QbdfstHJ
這是開機檔的部分:https://drive.google.com/file/d/0B7H8YNFWmFFeZnE5Y1JGc3NUaXM/view?usp=sharing rACN的equipment slot跟EA的不同
請自行修正 https://github.com/rathena/rathena/blob/master/doc/script_commands.txt#L2533
RA有更改過
簡單來說
更換這邊的順序 顯示就會正常了 setarray .@Equip$,"頭上","衣服","左手","右手","掛批","鞋子","飾品","飾品","頭中","頭下";內部腳本有沒有要動到自己研究囉 louis8604031 發表於 2017-4-2 11:52 PM static/image/common/back.gif
rACN的equipment slot跟EA的不同
請自行修正
equipment slot 這個是甚麼呀? 設定檔嘛?
a91323 發表於 2017-4-2 11:53 PM static/image/common/back.gif
https://github.com/rathena/rathena/blob/master/doc/script_commands.txt#L2533
RA有更改過
都是英文 哈哈...
我好多腳本都是用EA的判定寫法,
我該怎麼修正才能讓一切都正常?
還是只能利用腳本的寫法去修改成RA版了呢?
louis8604031 發表於 2017-4-2 11:58 PM static/image/common/back.gif
簡單來說
更換這邊的順序 顯示就會正常了內部腳本有沒有要動到自己研究囉
我有試過了,但是最後一個 頭飾下的位置,
我全身都有穿裝備,他還是判別不到...
所以那邊修改順序... 問題還是存在。
本帖最後由 zxc12141214 於 2017-4-3 12:35 AM 編輯
a91323 發表於 2017-4-2 11:53 PM static/image/common/back.gif
https://github.com/rathena/rathena/blob/master/doc/script_commands.txt#L2533
RA有更改過
//==============發現原因===================//
EQI_ACC_L (0) - Accessory 1
EQI_ACC_R (1) - Accessory 2
EQI_SHOES (2) - Footgear (shoes, boots)
EQI_GARMENT (3) - Garment (mufflers, hoods, manteaux)
EQI_HEAD_LOW (4) - Lower Headgear (beards, some masks)
EQI_HEAD_MID (5) - Middle Headgear (masks, glasses)
EQI_HEAD_TOP (6) - Upper Headgear
EQI_ARMOR (7) - Armor (jackets, robes)
EQI_HAND_L (8) - Left hand (weapons, shields)
EQI_HAND_R (9) - Right hand (weapons)
//所以改成這樣子對嗎? set .@Size,getarraysize(.@Item);
mes $@RrcssNPC_Str$;
mes "請選擇您要拆除的物品選項。";
next;
setarray .@Equip$,"飾品左","飾品右","鞋子","斗篷","頭下","頭中","頭上","身體","左手","右手";
for ( set @i,0; @i <= 9; set @i,@i+0 ) {
if ( getequipid(@i) = 0 ) {
setd "@EquipName"+@i+"$",.@Equip$[@i]+"–^FF0000沒有裝備物品^000000";
} else {
if ( getequipcardcnt(@i) ) {
setd "@EquipName"+@i+"$",.@Equip$[@i]+"–^0000FF"+getequipname(@i)+"^000000["+getitemslots(getequipid(@i))+"S]";
} else {
setd "@EquipName"+@i+"$",.@Equip$[@i]+"–^FF0000沒有插上卡片^000000";
}
}
}
zxc12141214 發表於 2017-4-3 12:31 AM static/image/common/back.gif
//==============發現原因===================//
EQI_ACC_L (0) - Accessory 1
EQI_ACC_R...
直接測試不就知道對不對?
-樂- 發表於 2017-4-3 12:53 AM static/image/common/back.gif
直接測試不就知道對不對?
壇主~ 我感覺我快成功了..
但還是不是很懂到底哪裡出了問題...
左飾品變成0了以後,我根本摸不著頭緒...
我盡力的結果如下...
但是右飾品總是不顯示或是沒辦法正確判別有沒有卡片...//================================================//
set .@Size,getarraysize(.@Item);
mes $@RrcssNPC_Str$;
mes "請選擇您要拆除的物品選項。";
next;
setarray .@Equip$,"飾品左","鞋子","斗篷","頭下","頭中","頭上","身體","左手","右手","飾品右";
for ( set @i,1; @i <= 10; set @i,@i+1 ) {
if ( getequipid(@i) <= 0 ) {
setd "@EquipName"+@i+"$",.@Equip$[@i]+"–^FF0000沒有裝備物品^000000";
} else {
if ( getequipcardcnt(@i) ) {
setd "@EquipName"+@i+"$",.@Equip$[@i]+"–^0000FF"+getequipname(@i)+"^000000["+getitemslots(getequipid(@i))+"S]";
} else {
setd "@EquipName"+@i+"$",.@Equip$[@i]+"–^FF0000沒有插上卡片^000000";
}
}
}
set @CItem,select(@EquipName1$,@EquipName2$,@EquipName3$,@EquipName4$,@EquipName5$,@EquipName6$,@EquipName7$,@EquipName8$,@EquipName9$,@EquipName0$);
set @CardCount,getequipcardcnt(@CItem);
for ( set @i,1; @i <= 10; set @i,@i+1 ) {
setd "@EquipName"+@i+"$","";
}
if ( @CardCount == 0 ) {
mes $@RrcssNPC_Str$;
mes "這個物品並沒有插上卡片唷!";
close;
}
mes "[多功能工匠][機率:^FF0000"+(.@CardRand1-(@CardCount*.@CardRand2))+"%^000000]";
mes "拆除 ^0000FF"+getequipname(@CItem)+"^000000["+getitemslots(getequipid(@CItem))+"S] 上的卡片";
mes "需要 ^FF0000金錢 "+(.@CardZeny1+(@CardCount*.@CardZeny2))+"^000000 z";
for ( set @i,1; @i < .@Size; set @i,@i+1 ) {
mes " 和 ^FF0000"+getitemname(.@Item[@i])+" "+.@INum[@i]+"^000000 個";
}
next;
if (select("是的!","不了!")==2) {
close;
}
if ( Zeny < (.@CardZeny1+(@CardCount*.@CardZeny2)) ) {
mes $@RrcssNPC_Str$;
mes "抱歉您身上的金錢不足!";
close;
}
for ( set @i,1; @i < .@Size; set @i,@i+1 ) {
if ( countitem(.@Item[@i]) < .@INum[@i] ) {
mes $@RrcssNPC_Str$;
mes "抱歉您身上的物品不足!";
close;
}
}
mes $@RrcssNPC_Str$;
mes "鏘!鏘!鏘!";
next;
if ( (.@CardRand1-(@CardCount*.@CardRand2)) < 100 ) {
mes "[多功能工匠][機率:^FF0000"+(.@CardRand1-(@CardCount*.@CardRand2))+"%^000000]";
mes "如果拆除失敗您想保留什麼?";
next;
switch(select("保留裝備!","保留卡片!")) {
case 1: set @CardFailed,1; set .@Str$,"裝備"; break;
case 2: set @CardFailed,2; set .@Str$,"卡片"; break;
}
}
set Zeny,Zeny - (.@CardZeny1+(@CardCount*.@CardZeny2));
for ( set @i,1; @i < .@Size; set @i,@i+1 ) {
delitem .@Item[@i],.@INum[@i];
}
if ( (.@CardRand1-(@CardCount*.@CardRand2)) >= rand(100) ) {
successremovecards @CItem;
specialeffect2 EF_SANCTUARY;
mes $@RrcssNPC_Str$;
mes "恭喜您物品已拆除成功了!";
} else {
failedremovecards @CItem,@CardFailed;
specialeffect2 EF_SUI_EXPLOSION;
mes $@RrcssNPC_Str$;
mes "抱歉您的物品拆除失敗了!";
mes "已經盡力幫您保住"+.@Str$+"了!";
}
close;
}
zxc12141214 發表於 2017-4-3 02:54 AM static/image/common/back.gif
壇主~ 我感覺我快成功了..
但還是不是很懂到底哪裡出了問題...
左飾品變成0了以後,我根本摸不著頭緒.. ...
裝備位置要從0到9不是1到10
IDUN-2 發表於 2017-4-3 01:10 PM static/image/common/back.gif
裝備位置要從0到9不是1到10
謝謝~ 可能是語法的問題.. 整體還是怪怪的~
我先把它移到已解決~
起碼現在是可以正常使用的!
頁:
[1]