※ 引述《amosdeus (幽素)》之銘言:
: 請問有辦法在套裝的程式下,寫出像榮光之鑽這類限制型的eq嗎?
: 在套裝不齊全之前最高只能到xx,湊齊了可以到yy。
: 當然如果要花時間想或是太麻煩您動頭腦想,請當我沒提這問題!
: 謝謝
: Plain@Sanc
可以啊,只是很麻煩而已(我是指寫的人)。
一般來說,如果是我的話,我會挑套裝中的某一件來設定
(因為要穿滿後才有效果)。
set("sdata",({"suit_data"}));
接下來就可以針對成長的部份去做,例如餵盾,就要去
add_action 一個 餵盾 的指令,然後寫對應的函數,在
那其中,如果餵盾到某一等級,可以讓套裝整體多增加
con 10 以及 str 10,關鍵程式段就是...
int a,b;
// 先修改 suit_data -> suit_effect -> stat-xxx 的資料
if(!undefinedp(data["suit_data"]["suit_effect"]["stat-con"])
a=data["suit_data"]["suit_effect"]["stat-con"];
if(!undefinedp(data["suit_data"]["suit_effect"]["stat-air"])
b=data["suit_data"]["suit_effect"]["stat-air"];
data["suit_data"]["suit_effect"]["stat-con"]=a+10;
data["suit_data"]["suit_effect"]["stat-air"]=b+10;
// 再修改 suit_data -> suit_ok_effect -> stat-xxx 的資料
if(!undefinedp(data["suit_data"]["suit_ok_effect"]["stat-con"])
a=data["suit_data"]["suit_ok_effect"]["stat-con"];
if(!undefinedp(data["suit_data"]["suit_ok_effect"]["stat-air"])
b=data["suit_data"]["suit_ok_effect"]["stat-air"];
data["suit_data"]["suit_ok_effect"]["stat-con"]=a+10;
data["suit_data"]["suit_ok_effect"]["stat-air"]=b+10;
這樣成長前與成長後就會不一樣(因為該裝備會儲存成長後的
suit_data)。
若要方便起見,套裝繼承檔只需增加底下兩個函數...
// 修改 suit_effect 專用
// data 為那件 eq 的 data
// v 為正值就是增加, v 為負值就是減少
void change_suit_effect(mapping data,string kind,int v)
{
int a;
if(!undefinedp(data["suit_data"]["suit_effect"][kind]))
a=(int)data["suit_data"]["suit_effect"][kind];
data["suit_data"]["suit_effect"][kind]=a+v;
}
// 修改 suit_ok_effect 專用
// data 為那件 eq 的 data
// v 為正值就是增加, v 為負值就是減少
void change_suit_ok_effect(mapping data,string kind,int v)
{
int a;
if(!undefinedp(data["suit_data"]["suit_ok_effect"][kind]))
a=(int)data["suit_data"]["suit_ok_effect"][kind];
data["suit_data"]["suit_ok_effect"][kind]=a+v;
}
這兩個函數我已經加在套裝繼承檔中。
這樣要讓該件 eq 的套裝屬性 con多+10 air多+10,只需四行...
change_suit_effect(data,"stat-con",10);
change_suit_effect(data,"stat-air",10);
change_suit_ok_effect(data,"stat-con",10);
change_suit_ok_effect(data,"stat-air",10);
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.225.2.96