引用 | 編輯
岳岳
2015-08-05 00:09 |
樓主
▼ |
||
x0
複製程式 // Native: zp_get_weapon_speed public Float:native_get_weapon_speed(id) new Float:satan_exp_effect_speed = 0.75; client_print(0, print_chat, "ID: %d , WSP: %f , SP: %f , T: %f", victim, zp_get_weapon_speed(victim), satan_exp_effect_speed, (zp_get_weapon_speed(victim) * satan_exp_effect_speed)) 有誰能告訴我為何他計算出的值視亂碼嗎 我甚至已經試過用新的Float變數計算好"T"、整數變數計算好"T"、 floatround(zp_get_weapon_speed)、 floatround(satan_exp_effect_speed)、 floatround(zp_get_weapon_speed(victim) * satan_exp_effect_speed) 他的顯示通通都是這樣~~~~為何阿~~~~~~~~~ 註: "T" = zp_get_weapon_speed(victim) * satan_exp_effect_speed (同上面的client_print的最後一個計算) 原因:ZP主插件裡的zp_get_weapon_speed設定的Float:拿掉就解決了... 追加疑問: 為何在ZP主插件用Float:反而會整體失效? 在print用%f正常顯示而用%d則會亂碼顯示,這代表應該型態是不有設定錯的才對... 難道不能在public設定型態? 沒設定型態的話回傳Float是會出問題的.... 所以最終我在她所有回傳直轉回整數型態... 然後回傳整數廷泰在其他插件使用中並不需要轉乘float就可以使用...這又是為什麼呢?? 然後用print顯示的%f反而顯示不出來變成"0"了.... x0
|
引用 | 編輯
tonyyoung
2016-04-18 09:35 |
1樓
▲ |
下面是引用 岳岳 於 2015-08-05 00:09 發表的 計算問題......,|set_pev(pev_maxspeed) 問題 (已自行解決):我想應該是這樣吧.... 複製程式 // Native: zp_get_weapon_speed public native_get_weapon_speed(id) new Float:satan_exp_effect_speed = 0.75; client_print(0, print_chat, "ID: %d , WSP: %.2f , SP: %.2f , T: %.2f", victim, zp_get_weapon_speed(victim), satan_exp_effect_speed, float(zp_get_weapon_speed(victim) * satan_exp_effect_speed)) 然後%d只能用來顯示單純的整數...要顯示小數點就要用%f... 另外我寫成%.2f的用意是控制它只顯示到二位小數... x0 |