UID98637
帖子
精華
主題
積分14127
現金
積極性
威望
違規
熱心
推廣次數
閱讀權限30
註冊時間2008-7-29
在線時間 小時
最後登錄1970-1-1
TA的每日心情 | 無聊 2023-11-3 10:41 AM |
---|
簽到天數: 690 天 連續簽到: 1 天 [LV.9]以壇為家II
|
EA
私服版號: |
rAthenaCN1.7.2 |
問題內容: |
腳本問題 |
本帖最後由 ex00089 於 2018-1-4 09:20 PM 編輯
想請問
我想在卡普拉選單裡面新增一個洞穴傳送
想把城市與洞穴分開收費與傳送
我分開後 選單 傳送服務 顯示傳送地區與金額都是正常 也能傳送
但是 選擇 洞穴服務 顯示傳送地區是 傳送服務 的城是傳送 卻不是洞穴傳送的選單
傳送後只會扣錢 也不會傳送
內件卡普拉的菜單 我新增了一個(由於腳本內容長 有刪減一些掉)- function script F_Kafra {
- callfunc "F_ClearGarbage"; // Clear outdated, unused variables
- .@welcome = getarg(0);
- .@menu_num = getarg(1);
- switch(.@welcome){
- default:
- case 0:
- mes "[卡普拉 職員]";
- mes "歡迎光臨!";
- mes "卡普拉公司永遠為您提供最優質的服務!";
- mes "您需要什麼服務呢?";
- break;
- case 1:
- mes "[卡普拉 職員]";
- mes "^666666歡迎...來到...";
- mes "卡普拉公司...";
- mes "我們...到死...都會繼續為您服務...^000000";
- break;
- case 2:
- set @GID,getcharid(2);
- mes "[卡普拉 職員]";
- mes "歡迎光臨. ^ff0000" + GetGuildName(@GID) + "^000000 成員們.";
- mes "卡普拉公司永遠在各位身邊為您服務!";
- break;
- case 3:
- mes "[卡普拉 職員]";
- mes "您看起來好像來自一個遙遠的地方, 是來研究我們的文化, 還是來觀光呢?";
- mes "若兩者皆是, 為何不稍稍停留片刻?";
- mes "在這野花香味撲鼻的國度, 相聚是緣.";
- break;
- case 4:
- mes "[卡普拉 職員]";
- mes "與許多的卡普拉服務點一樣,";
- mes "我們會讓你感覺從未離開家鄉.";
- break;
- case 5:
- break;
- }
- while (1) {
- next;
- deletearray @K_Menu0$[0],getarraysize(@K_Menu0$);
- if (.@welcome == 2) {
- // Guild Kafra Menu override (free Teleport, free Storage, Free Cart)
- setarray @K_Menu0$[0],"使用倉庫","租用手推車","傳送服務","結束對話";
- // setarray @K_Menu0$[0],"使用倉庫","租用手推車","結束對話";
- } else {
- switch(.@menu_num){
- case 1: setarray @K_Menu0$[0],"儲存服務","使用倉庫","結束對話"; break;
- default: setarray @K_Menu0$[0],"儲存服務","使用倉庫","傳送服務","洞穴傳送","租用手推車","查詢其他信息","結束對話"; break;
- }
- }
- set .@menu$,"";
- for (set .@i, 0; .@i < getarraysize(@K_Menu0$); set .@i, .@i + 1)
- set .@menu$, .@menu$ + @K_Menu0$[.@i] + ":";
- set .@j, select (.@menu$) - 1;
- if (@K_Menu0$[.@j] == "儲存服務") {
- return;
- } else if (@K_Menu0$[.@j] == "使用倉庫") {
- if(.@welcome == 2)
- callfunc "F_KafStor",2,0,0;
- else
- callfunc "F_KafStor",0,getarg(3),.@welcome;
- } else if (@K_Menu0$[.@j] == "傳送服務") {
- if(.@menu_num != 4) callfunc "F_KafTele",.@welcome;
- else {
- mes "[卡普拉 職員]";
- mes "由於卡普拉公司與秀髮茲發德共和國";
- mes "簽訂了 ^FF0000《限制傳送服務協議》^000000";
- mes "所以目前無法為您提供傳送服務!";
- next;
- mes "[卡普拉 職員]";
- mes "如果您想移動到其他區域, 我們推薦您使用飛空艇服務!";
- mes "感謝您的理解與支持.";
- }
- } else if (@K_Menu0$[.@j] == "洞穴傳送") {
- if(.@menu_num != 4) callfunc "Fild",.@welcome;
- } else if (@K_Menu0$[.@j] == "租用手推車") {
- callfunc "F_KafCart",.@welcome,getarg(4);
- } else if (@K_Menu0$[.@j] == "查詢其他信息") {
- callfunc "F_KafInfo",getarg(2);
- } else if (@K_Menu0$[.@j] == "結束對話"){
- callfunc "F_KafEnd",.@welcome,0;
- end;
- } else if (@K_Menu0$[.@j] == "公會倉庫") {
- callfunc "F_KafStor",1,0;
- }
- }
- }
複製代碼 --------------------------------------------------------------------------------------------------------------
城市傳送 座標地點- function script F_KafTele {
- mes "[卡普拉 職員]";
- mes "請告訴我您的目的地";
- next;
- set .@menu$, "";
- for (set .@i, 0; .@i <= 6; set .@i, .@i + 1)
- set .@menu$, .@menu$ + @wrpC$[.@i] + ":";
- set .@j, select (.@menu$) - 1;
- if (@wrpC$[.@j] == "結束對話")
- {
- mes "[卡普拉 職員]";
- mes "如果想用傳送服務, 歡迎您隨時來找我!";
- close2;
- cutin "", 255;
- end;
- }
- if(countitem(7060) > 0 && getarg(0) != 2) delitem 7060,1;
- else {
- if (Zeny<@wrpP[.@j]){
- mes "[卡普拉 職員]";
- mes "您沒有足夠的金幣來使用傳送服務,";
- mes "傳送到 "+@wrpD$[.@j]+" 需要 "+@wrpP[.@j]+" Zeny.";
- close2;
- cutin "", 255;
- end;
- }
- set Zeny, Zeny - @wrpP[.@j];
- set RESRVPTS, RESRVPTS + (@wrpP[.@j]/16);
- }
- cutin "", 255;
- if (@wrpD$[.@j] == "運河之都 艾爾帕蘭") warp "aldebaran",168,112;
- else if (@wrpD$[.@j] == "魔法之都 吉芬") warp "geffen", 120, 39;
- end;
- }
複製代碼 ------------------------------------------------------------------------------------------------------------------------
城市傳送 收費- function script F_KafSet {
- cleararray @wrpC$[0],"",getarraysize(@wrpC$);
- cleararray @wrpD$[0],"",getarraysize(@wrpD$);
- cleararray @wrpP$[0],"",getarraysize(@wrpP$);
- cleararray @viewpX[0],"",getarraysize(@viewpX);
- cleararray @viewpY[0],"",getarraysize(@viewpY);
- if (strnpcinfo(4) == "prontera") {
- setarray @wrpD$[0], "運河之都 艾爾帕蘭", "魔法之都 吉芬";
- setarray @wrpP[0], 2000, 3000;
- if (VIP_SCRIPT && !vip_status(VIP_STATUS_ACTIVE)) {
- for (set .@i, 0; .@i < getarraysize(@wrpD$); set .@i, .@i + 1)
- setd "@wrpP["+.@i+"]",getd("@wrpP["+.@i+"]") * 2;
- }
- for (set .@i, 0; .@i < getarraysize(@wrpD$); set .@i, .@i + 1)
- setd "@wrpC$["+.@i+"]",getd("@wrpD$["+.@i+"]")+" -> "+getd("@wrpP["+.@i+"]")+" z";
- setd "@wrpC$["+getarraysize(@wrpC$)+"]","結束對話";
- return;
- }
複製代碼 ---------------------------------------------------------------------------------------------------------------------
洞穴傳送 座標地點- function script Fild {
- mes "[卡普拉 職員]";
- mes "請告訴我您的目的地";
- next;
- set .@menu$, "";
- for (set .@i, 0; .@i <= 20; set .@i, .@i + 1)
- set .@menu$, .@menu$ + @wrpC$[.@i] + ":";
- set .@j, select (.@menu$) - 1;
- if (@wrpC$[.@j] == "結束對話")
- {
- mes "[卡普拉 職員]";
- mes "如果想用傳送服務, 歡迎您隨時來找我!";
- close2;
- cutin "", 255;
- end;
- }
- else {
- if (Zeny<@wrpP[.@j]){
- mes "[卡普拉 職員]";
- mes "您沒有足夠的金幣來使用傳送服務,";
- mes "傳送到 "+@wrpD$[.@j]+" 需要 "+@wrpP[.@j]+" Zeny.";
- close2;
- cutin "", 255;
- end;
- }
- set Zeny, Zeny - @wrpP[.@j];
- }
- cutin "", 255;
- if (@wrpD$[.@j] == "廢棄礦場") warp "mjolnir_02", 99, 351;
- else if (@wrpD$[.@j] == "獸人村落") warp "gef_fild10", 52, 326;
- end;
- }
複製代碼 -----------------------------------------------------------------------------------------------
洞穴傳送 收費- function script Dun {
- cleararray @wrpC$[0],"",getarraysize(@wrpC$);
- cleararray @wrpD$[0],"",getarraysize(@wrpD$);
- cleararray @wrpP$[0],"",getarraysize(@wrpP$);
- cleararray @viewpX[0],"",getarraysize(@viewpX);
- cleararray @viewpY[0],"",getarraysize(@viewpY);
- if (strnpcinfo(4) == "prontera") {
- setarray @wrpD$[0], "廢棄礦場","獸人村落";
- setarray @wrpP[0], 600, 1200;
- if (VIP_SCRIPT && !vip_status(VIP_STATUS_ACTIVE)) {
- for (set .@i, 0; .@i < getarraysize(@wrpD$); set .@i, .@i + 1)
- setd "@wrpP["+.@i+"]",getd("@wrpP["+.@i+"]") * 2;
- }
- for (set .@i, 0; .@i < getarraysize(@wrpD$); set .@i, .@i + 1)
- setd "@wrpC$["+.@i+"]",getd("@wrpD$["+.@i+"]")+" -> "+getd("@wrpP["+.@i+"]")+" z";
- setd "@wrpC$["+getarraysize(@wrpC$)+"]","結束對話";
- return;
- }
複製代碼 ---------------------------------------------------------------------------------------------------------------------------------
卡普拉的選單我也新增了一個 - fayon,100,115,4 script 卡普拉 職員::kaf_payon2 113,{
- cutin "kafra_05",2;
- callfunc "F_KafSet";
- mes "[卡普拉 職員]";
- mes "歡迎光臨, 熱情的冒險家~!";
- mes "卡普拉服務永遠在您身邊!";
- mes "您需要什麼服務呢?";
- callfunc "F_Kafra",5,0,1,60,930;
- savepoint "fayon",69,100,1,1;
- callfunc "F_KafEnd",0,1,"斐揚 城內";
- callfunc "Dun";
複製代碼 請問該如何共存 也不會起衝突
|
本帖子中包含更多資源
您需要 登錄 才可以下載或查看,沒有帳號?註冊
x
|