精華區beta mud_sanc 關於我們 聯絡資訊
※ 引述《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