弒血
|
分享:
▼
x2
|
[插件] 插件簡易流程教學2
這次拿一些插件編寫基礎教學好了
//開頭這個是第一步,沒有這個什麼都不用做了,簡單的註冊需要的inc腳本名稱 #include <amxmodx>
#include <fakemeta> #include <hamsandwich>
// 自定義 3種數據名
#define PLUGIN "Print_Damage" #define VERSION "1.0" #define AUTHOR "MyChat: 弒血"
//宣告一個浮點陣列空間33 new Float:g_damage[33];
//控制台注入
public plugin_init() { // 註冊插件 "名稱" "版本" "創作者" register_plugin(PLUGIN, VERSION, AUTHOR); // Events(事件) 回合開局 & freezetime 期間內執行的內容 register_event("HLTV", "event_round_start", "ae", "1=0", "2=0"); // all hamsandwich.inc 內語法 & 傷害事件 & 傷害類型 "player" & 執行的function(函數內容) & 1 = post 傷害結束後 RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage_Post", 1); }
// 回合開局 & freezetime 期間內執行的內容 public event_round_start() { //以迴圈給予1~32玩家id內的傷害疊加設定0.0 (初始化) for (new i=1; i<33; i++) g_damage[ i ]= 0.0; }
/*================================================================================ [Clien Public] =================================================================================*/
//客戶端進入人物選單後的function執行內容 // Client joins the game public client_putinserver(id) { //宣告一個靜態布林名稱 static bool:g_hamczbots; //確認註冊者是否為bot(機器人),如果是的話就執行 & 確認布林名稱是否為false(假),如果是執行以下內容 // Reg Ham Zbot if (is_user_bot(id) && !g_hamczbots) { // 使用語法 set_task 0.1 秒後 執行自定義名 "register_ham_czbots" 的內容 & 傳遞數據為 id set_task(0.1, "register_ham_czbots", id); // 直接把布林給予真的值 & 以阻斷下次重複註冊類型id進入此判斷內容 // Ham forwards for CZ bots succesfully registered g_hamczbots = true; } }
// Register Ham Forwards for CZ bots public register_ham_czbots(id) { // Make sure it's a CZ bot and it's still connected // 檢查 0.1秒後bot是否還在連線&遊戲內 如果不是在遊戲&連線內 返回中斷以下執行 if (!is_user_connected(id) return; //給予bot執行 傷害事件 & 傷害類型 id & 執行的function(函數內容) & 1 = post 傷害結束後 RegisterHamFromEntity(Ham_TakeDamage, id, "fw_TakeDamage_Post", 1); }
// Ham Take Damage Post Forward public fw_TakeDamage_Post(victim, inflictor, attacker, Float:damage, damage_type) { //判斷 受害者 如果是攻擊者 就返回不執行以下內容 // Non-player damage or self damage if (victim == attacker) return HAM_IGNORED; //攻擊者 如果不是 1~32範圍內就返回 & 因為以下給予id 一定要確認是否為客戶段持有 if (32 > attacker < 1) return HAM_IGNORED; //紀錄攻擊者id 傷害值疊加導入g_damage內 g_damage[attacker] += damage //給予客戶端攻擊者的id & 並使用顯示在左下角 & 當前傷害 跟 儲存每次攻擊者傷害 floatround = 浮點數轉整數 %d = 整數顯示類型 client_print(attacker, print_chat "damage [%d] | damage all[%d]", floatround(damage), floatround(g_damage[attacker])); return HAM_IGNORED; }
以上 是給予 C$O那種 可以在 每次傷害後 顯示當前造成多少傷害 跟 累計多少傷害 的 print 內容 希望 一些新手不要再覺得語法很難...&程式這種東西 可以把他想要的東西拿來組合就有了 拼圖概念構造
[ 此文章被弒血在2019-06-16 13:23重新編輯 ]
此文章被評分,最近評分記錄財富:500 (by amore12) | 理由: 讚..^^ | |
|
|
|