打印

[已解決] petskill參數的問題

你說對了,加什麼都寫死在"PETSKILL_"裡
其他參數都無效
【★】我非常熱愛石器

TOP

恩,我剛剛看了一下群攻
大概了解了  
現在說給你聽
不知道你會不懂

5|5|眠|3|30|攻%-5|101489
攻擊類型|攻擊物件數量|效果|回合數|效果命中機率|圖號(至少一個)

// 當攻擊物件數量小於在場目標數量,則以攻擊類型決定攻擊方式

攻擊類型說明一下↓
型態 1 :每個目標都要打到,會有一個攻擊物件打二個目標以上的情形(詳細請看源碼)
型態 2 :每個攻擊物件打完該攻擊目標後便不再攻擊其它目標,每個目標只會受一次攻擊
//當 攻擊類型& 0x00000001 為 true 之外的值都以型態 2 處理

所以攻擊類型為1時,為型態2。(1 and 1 =true)
        攻擊類型為5時,是型態1。
【★】我非常熱愛石器

TOP

PETSKILL_Awaken  源碼裡面沒有,所以沒功能
寵物技能我是隨便拿一個檔案來改的(應該是大陸那抓來的)
所以沒去檢查那些技能有沒有用

寵物技能幾乎都是寫死的
所以很多私服自創技能也不過是群功改圖檔之類的技能而已
【★】我非常熱愛石器

TOP

剛看了一下,我覺得是下面這個  
不確定正不正確喔
正確的話只要在技能的函數加上這個判斷就有功能  
讀取敏值是我改的

//讀取攻值
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));
}

--------------------------------------------------------------
陣列讀取方式  參考群功技能 在修正讀取位置
【★】我非常熱愛石器

TOP