http://bbs.99nets.com/read.php?tid=669865&fpage=3
大家可以自我調整範圍 & 道具發放的條件來控制聲望
預設
LV1 聲望0-9
LV2 聲望10-29
LV3 聲望30-49
LV4 聲望50-69
LV5 聲望70-89
LV6 聲望90-109
LV7 聲望110-129
LV8 聲望130-149
LV9 聲望150-169
LV10 聲望170-199
LV11 聲望200
下面就開始教學囉
1-1 S_OtherCharPacks.java
搜尋 int status = STATUS_PC;
下貼上
1-2 一樣在S_OtherCharPacks.java 搜尋 writeS(pc.getName());
改成
2-1 l1j\\server\\server\\storage\\mysql\\MySqlCharacterStorage.java
搜尋pc.setName(rs.getString(\"char_name\"));
下新增
2-2 搜尋 \"INSERT INTO characters SET account_name=?,objid=?,char_name=?, (抱歉這串很長)
在 char_name=? 與 level=? 中間新增
2-3 搜尋 pstm.setString(++i, pc.getName());
下新增
2-4搜尋 UPDATE characters SET
在level=?之前加上
2-5 在2-4這一長串下的
pstm.setInt(++i, pc.getLevel()); 之前新增
3-1 L1PcInstance.java
找個地方貼上
4-1 C_ItemUSe.java
找個地方貼上
DB內的characters開啟設計表 ,在char_name 和 level兩欄位中間新增 FamenameLevel int 10 0 (記得補上預設值0.避免無法新創角色)
DB內的william_system_message內新增1301~1311 玩家所看到的稱號(可寫自己愛的聲望名稱可彩色. 1301~1311代表請參考 教學 1-1)
DB的etcitem新增80101.80102.80103.80104~
PS~ 自己無法看到聲望,別人才看的到,但也不影響對話的名稱
*******************
4/19 修正 & 回答如下
1.
if (pc.getFameLevel() == 200)
改成if (pc.getFameLevel() >= 200) 這樣就不會有超過或不等於200會沒有聲望名稱
2.聲望道具判斷改了超過200就不在追加使用聲望道具 (有點多 請看一下道具部份原碼)
3.要自己改查詢 只要選擇pc.getFameLevel() 這個下去查就可以了
類似的可以參考一下偷窺卡 就是那種意思
顏色真不明顯 實際上 [LV2]是金色的
ItemTable.java
搜尋item.setToBeSavedAtOnce(
後新增
搜尋weapon.setMaxUseTime(rs.getInt("max_use_time"));
後新增
搜尋armor.setMaxUseTime(rs.getInt("max_use_time"));
後新增
L1Item.java
C_ItemUSe.java
搜尋int item_maxlvl = ((L1EtcItem) l1iteminstance.getItem())
.getMaxLevel();後新增
搜尋pc.sendPackets(new S_ServerMessage(673, String
return;後新增
搜尋第一個else if (max != 0 && max < pc.getLevel())
else if 範圍後新增
搜尋第二個else if (max != 0 && max < pc.getLevel())
else if 範圍後新增
DB的armor.etcitem.weapon資料表新增CheckFameLV int 10 0 (預設0)
----------------------------------------------
有三個地方需要修正才能正常執行 (1)按照步驟之後在S_OtherCharPacks.java 出現無法解析L1WilliamSystemMessage的錯誤 後來發現原來得另外在開頭增加 import l1j.william.L1WilliamSystemMessage; 即可修正.. (2)然後在C_ItemUSe會出現無法解析isDelayEffect的錯誤... 這裡版大貼的程式碼最後 pc.sendPackets(new S_SystemMessage("您的聲望值已到了極限")); } } 第二個 } 要取消就會正常了 (3)再來是... 2-4搜尋 UPDATE characters SET在level=?之前加上FamenameLevel=?,的部份 底下還有一個pstm.setInt(++i, pc.getLevel());的上面必須多加一個 pstm.setInt(++i, pc.getFameLevel());
----------------------------------------------
|
沒有留言:
張貼留言