標題:
[已解決]
petskill參數的問題
[打印本頁]
作者:
kill466
時間:
2010-1-28 20:15
標題:
petskill參數的問題
結晶光線,讓敵人容易呈現石化達十回合前後,PETSKILL_Combined,綜合法|1|427,,,685,1,7,2,2000,PETSKILL_NONE
精神催眠,讓敵人容易呈現混亂達十回合前後,PETSKILL_Combined,綜合法|1|428,,,686,1,7,2,2000,PETSKILL_NONE
深層注射,讓敵人容易呈現中毒達十回合前後,PETSKILL_Combined,綜合法|1|429,,,687,1,7,2,2000,PETSKILL_NONE
沉睡大地,讓敵人容易呈現沉睡達十回合前後,PETSKILL_Combined,綜合法|1|430,,,688,1,7,2,2000,PETSKILL_NONE
靈魂枷鎖,封鎖敵人行動三回合,PETSKILL_Barrier,障 turn 3 成 50,,,689,1,7,2,0,PETSKILL_BARRIER
魔幻之術,破壞敵方光鏡守護精靈並取得部分能力為自己使用,PETSKILL_Lighttakeed,ABSROB,,,690,1,7,2,5000,PETSKILL_Light
黏液攻擊,有機率造成敵寵無法動彈或降低攻擊次數,PETSKILL_NormalAttack,羅 turn 1 成 100,,,691,1,6,2,1000,PETSKILL_NORMALATTACK
精準,儲存3回合力量,攻擊時有三倍以上攻擊力且100%命中,PETSKILL_ChargeAttack,2 攻%210 命%100,,,692,1,6,2,8000,PETSKILL_CHARGE2
反擊,當對手攻擊自己時,以五倍功擊力反擊,PETSKILL_NoGuard,功%400 反擊%100 會心%100 命%100,,,693,1,5,2,3000,PETSKILL_NOGUARD1
束縛,敵方全體敏捷力三回合內降低15%,PETSKILL_SetMagicPet,3|-15|DEX,,,694,1,8,2,2500,PETSKILL_SETMAGICPET
天旋地轉,攻下降40%命中上升60%攻擊三體,使敵MP損耗迴避敏捷降低並容易混亂,PETSKILL_AttackCrazed,3 功%-20% 防%+30 命%+60 5|5|混|3,,,694,1,1,2,0,PETSKILL_MPDAMAGE
憤怒,將防禦力轉為攻擊敏捷力,PETSKILL_PowerBalance,攻%+150 防%-100 敏%+150,,,695,1,6,2,2000,PETSKILL_POWERBALANCE1
爆裂攻擊,功擊力上升50% 命中率上升50% 防禦降50%,有機率使敵人落馬,PETSKILL_FallGround,功%+50 防%-50 會心%100 命%50,,,696,1,6,2,3000,PETSKILL_FALLGROUND
有經驗的大大應該看得出我超過一半的技能無效吧...
有誰能指點一下嗎?
舉例反擊這招,我是拿不守防來改,是不是除了技能本身的迴避跟反擊之外(也就是說都寫死在PETSKILL_後面了?),其他參數都是無效的?
蝸牛的黏液攻擊,到底要用甚麼改?群體技改單體?試好久了- -"
我很天真以為魔障改參數就可以變成其他效果,後來看到"PETSKILL_"後面字串發現,都是有相對應的....
[
本帖最後由 kill466 於 2010-1-30 09:31 編輯
]
作者:
kill466
時間:
2010-1-28 20:25
剛剛又測試了一下,我的卡克爾無法使用精準、黏液攻擊,但是蝴蝶可以正常跑出去打,為甚麼呢?
作者:
yang
時間:
2010-1-28 20:53
你說對了,加什麼都寫死在"PETSKILL_"裡
其他參數都無效
作者:
kill466
時間:
2010-1-28 22:20
對不起,在問個問題
群體技的效果前面的數字
5|5|麻
兩個5的機率分別是指?
作者:
yang
時間:
2010-1-28 23:24
恩,我剛剛看了一下群攻
大概了解了
現在說給你聽
不知道你會不懂
5|5|眠|3|30|攻%-5|101489
攻擊類型|攻擊物件數量|效果|回合數|效果命中機率|圖號(至少一個)
// 當攻擊物件數量小於在場目標數量,則以攻擊類型決定攻擊方式
攻擊類型說明一下↓
型態 1 :每個目標都要打到,會有一個攻擊物件打二個目標以上的情形(詳細請看源碼)
型態 2 :每個攻擊物件打完該攻擊目標後便不再攻擊其它目標,每個目標只會受一次攻擊
//當 攻擊類型& 0x00000001 為 true 之外的值都以型態 2 處理
所以攻擊類型為1時,為型態2。(1 and 1 =true)
攻擊類型為5時,是型態1。
作者:
kill466
時間:
2010-1-29 00:00
也就是說
if (場上敵人數量 <= 攻擊物件數量) {
if (攻擊類型 == 1) 進行型態2
if (攻擊型態 == 5) 進行型態1
}
是嗎?
作者:
kill466
時間:
2010-1-29 00:03
##覺醒,命中率與迴避率上升50% 攻防敏上升25%,PETSKILL_Awaken,攻%5 防%5 敏%5 命%30 回%30,,Aw,642,1,7,3,10000,PETSKILL_NONE
話說我比較在意這一招,他是1,7,3,學來玩玩發現根本沒效果,這是Boss技?
原本是想要做一系列強化舊寵物的技能,真失望= =" 只能從原創技能改改效果了
補:我後來抓服務端那邊的源碼看一下,發現沒有awaken這一項,是這個原因嗎?也就是說這文件原本是用在不同版本的服務端上?還是pkser是有的,只是我抓的那個源碼比較舊?
下面是pet_skill.c的 狂獅怒吼 的if片段
if( (pszP = strstr( pszOption, "-攻%" ) ) != NULL ){
sscanf( pszP+4, "%f", &fPer );
fPer=(fPer/100);
CHAR_setWorkInt( charaindex, CHAR_WORKATTACKPOWER, (CHAR_getWorkInt( charaindex, CHAR_WORKFIXSTR)*fPer) );
}
if( (pszP = strstr( pszOption, "+攻%" ) ) != NULL ){
sscanf( pszP+4, "%f", &fPer );
fPer=(fPer/100);
CHAR_setWorkInt( charaindex, CHAR_WORKATTACKPOWER, CHAR_getWorkInt( charaindex, CHAR_WORKFIXSTR)+(CHAR_getWorkInt( charaindex, CHAR_WORKFIXSTR)*fPer) );
}
假使我要做一個不守防具有增加能力效果,是不是把這些加入不防守判斷式裡面就可以了?
只有稍微看一下- - 還不是很懂
如果是的話,那不防守裡面的讀取參數判斷式是不是也能用在其他技能?
[
本帖最後由 kill466 於 2010-1-29 09:52 編輯
]
作者:
yang
時間:
2010-1-29 09:46
PETSKILL_Awaken 源碼裡面沒有,所以沒功能
寵物技能我是隨便拿一個檔案來改的(應該是大陸那抓來的)
所以沒去檢查那些技能有沒有用
寵物技能幾乎都是寫死的
所以很多私服自創技能也不過是群功改圖檔之類的技能而已
作者:
kill466
時間:
2010-1-29 09:55
sorry,推一下,上一篇有編輯內容。
作者:
yang
時間:
2010-1-29 10:19
剛看了一下,我覺得是下面這個
不確定正不正確喔
正確的話只要在技能的函數加上這個判斷就有功能
讀取敏值是我改的
//讀取攻值
if( (pszP = strstr( pszOption, "攻%" ) ) != NULL ){
sscanf( pszP+3, "%f", &fPer );
fPer=(fPer/100);
//設定修正值
strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR);
strdef=(int)(strdef * fPer);
CHAR_setWorkInt(charaindex,CHAR_WORKATTACKPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXSTR)+strdef));
}
//讀取敏值
if( (pszP = strstr( pszOption, "敏%" ) ) != NULL ){
sscanf( pszP+3, "%f", &fPer );
fPer=(fPer/100);
//設定修正值
strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXDEX);
strdef=(int)(strdef * fPer);
CHAR_setWorkInt(charaindex,CHAR_WORKQUICK,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXDEX)+strdef));
}
//讀取防值
if( (pszP = strstr( pszOption, "防%" ) ) != NULL ){
sscanf( pszP+3, "%f", &fPer );
fPer=(fPer/100);
//設定修正值
strdef=CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH);
strdef=(int)(strdef * fPer);
CHAR_setWorkInt(charaindex,CHAR_WORKDEFENCEPOWER,(CHAR_getWorkInt(charaindex,CHAR_WORKFIXTOUGH)+strdef));
}
--------------------------------------------------------------
陣列讀取方式 參考群功技能 在修正讀取位置
歡迎光臨 We Love SA 石器時代研討中心 (http://lab.welovesa.com/)
Powered by Discuz! 6.0.0