- #include <zombie_escape>
- // Define some natives
- native ze_get_user_escapes(id)
- native ze_get_user_infects(id)
- // Defines
- #define TASK_SHOWHUD 100
- #define ID_SHOWHUD (taskid - TASK_SHOWHUD)
- // Constants Change X,Y If you need (HUD & DHud)
- const Float:HUD_SPECT_X = 0.01
- const Float:HUD_SPECT_Y = 0.130
- const Float:HUD_STATS_X = -1.0
- const Float:HUD_STATS_Y = 0.86
- // Colors
- enum
- {
- Red = 0,
- Green,
- Blue
- }
- // Variables
- new g_iMsgSync,
- g_pCvarRankEnabled
- // Cvars
- new g_pCvarHudInfoMode,
- g_pCvarHudInfoComma,
- g_pCvarZombieInfoColors[3],
- g_pCvarHumanInfoColors[3],
- g_pCvarSpecInfoColors[3]
- public plugin_init()
- {
- register_plugin("[ZE] Hud Information", ZE_VERSION, AUTHORS)
- // Messages
- g_iMsgSync = CreateHudSyncObj()
- //Cvars
- g_pCvarHudInfoMode = register_cvar("ze_hud_info_mode", "1")
- g_pCvarHudInfoComma = register_cvar("ze_hud_info_commas", "1")
- g_pCvarZombieInfoColors[Red] = register_cvar("ze_hud_info_zombie_red", "255")
- g_pCvarZombieInfoColors[Green] = register_cvar("ze_hud_info_zombie_green", "20")
- g_pCvarZombieInfoColors[Blue] = register_cvar("ze_hud_info_zombie_blue", "20")
- g_pCvarHumanInfoColors[Red] = register_cvar("ze_hud_info_human_red", "20")
- g_pCvarHumanInfoColors[Green] = register_cvar("ze_hud_info_human_green", "20")
- g_pCvarHumanInfoColors[Blue] = register_cvar("ze_hud_info_human_blue", "255")
- g_pCvarSpecInfoColors[Red] = register_cvar("ze_hud_info_spec_red", "100")
- g_pCvarSpecInfoColors[Green] = register_cvar("ze_hud_info_spec_green", "100")
- g_pCvarSpecInfoColors[Blue] = register_cvar("ze_hud_info_spec_blue", "100")
- // Pointer
- g_pCvarRankEnabled = get_cvar_pointer("ze_speed_rank_mode")
- }
- public client_putinserver(id)
- {
- if(!is_user_bot(id))
- {
- set_task(1.0, "ShowHUD", id+TASK_SHOWHUD, _, _, "b")
- }
- }
- public client_disconnected(id)
- {
- remove_task(id+TASK_SHOWHUD)
- }
- public ShowHUD(taskid)
- {
- if (get_pcvar_num(g_pCvarHudInfoMode) == 0)
- return
- new iPlayer = ID_SHOWHUD
- if (!is_user_alive(iPlayer))
- {
- iPlayer = get_entvar(iPlayer, var_iuser2)
- if (!is_user_alive(iPlayer))
- return
- }
- if(iPlayer != ID_SHOWHUD)
- {
- new szName[32]
- get_user_name(iPlayer, szName, charsmax(szName))
- if (get_pcvar_num(g_pCvarHudInfoMode) == 1)
- {
- set_hudmessage(get_pcvar_num(g_pCvarSpecInfoColors[Red]), get_pcvar_num(g_pCvarSpecInfoColors[Green]), get_pcvar_num(g_pCvarSpecInfoColors[Blue]), HUD_SPECT_X, HUD_SPECT_Y, 0, 1.2, 1.1, 0.5, 0.6, -1)
- if (get_pcvar_num(g_pCvarHudInfoComma) == 1)
- {
- new szHealth[15]
- AddCommas(get_user_health(iPlayer), szHealth, charsmax(szHealth))
- if (ze_is_user_zombie(iPlayer))
- {
- ShowSyncHudMsg(ID_SHOWHUD, g_iMsgSync, "%L", LANG_PLAYER, "ZOMBIE_SPEC_COMMAS", szName, szHealth, ze_get_escape_coins(iPlayer), ze_get_user_escapes(iPlayer), ze_get_user_infects(iPlayer))
- }
- else if ((iPlayer == ze_get_escape_leader_id()) && (0 < get_pcvar_num(g_pCvarRankEnabled) <= 2))
- {
- ShowSyncHudMsg(ID_SHOWHUD, g_iMsgSync, "%L", LANG_PLAYER, "HUMAN_SPEC_COMMAS_LEADER", szName, szHealth, ze_get_escape_coins(iPlayer), ze_get_user_escapes(iPlayer), ze_get_user_infects(iPlayer))
- }
- else
- {
- ShowSyncHudMsg(ID_SHOWHUD, g_iMsgSync, "%L", LANG_PLAYER, "HUMAN_SPEC_COMMAS", szName, szHealth, ze_get_escape_coins(iPlayer), ze_get_user_escapes(iPlayer), ze_get_user_infects(iPlayer))
- }
- }
- else
- {
- if (ze_is_user_zombie(iPlayer))
- {
- ShowSyncHudMsg(ID_SHOWHUD, g_iMsgSync, "%L", LANG_PLAYER, "ZOMBIE_SPEC", szName, get_user_health(iPlayer), ze_get_escape_coins(iPlayer), ze_get_user_escapes(iPlayer), ze_get_user_infects(iPlayer))
- }
- else if ((iPlayer == ze_get_escape_leader_id()) && (0 < get_pcvar_num(g_pCvarRankEnabled) <= 2))
- {
- ShowSyncHudMsg(ID_SHOWHUD, g_iMsgSync, "%L", LANG_PLAYER, "HUMAN_SPEC_LEADER", szName, get_user_health(iPlayer), ze_get_escape_coins(iPlayer), ze_get_user_escapes(iPlayer), ze_get_user_infects(iPlayer))
- }
- else
- {
- ShowSyncHudMsg(ID_SHOWHUD, g_iMsgSync, "%L", LANG_PLAYER, "HUMAN_SPEC", szName, get_user_health(iPlayer), ze_get_escape_coins(iPlayer), ze_get_user_escapes(iPlayer), ze_get_user_infects(iPlayer))
- }
- }
- }
- else if (get_pcvar_num(g_pCvarHudInfoMode) == 2)
- {
- set_dhudmessage(get_pcvar_num(g_pCvarSpecInfoColors[Red]), get_pcvar_num(g_pCvarSpecInfoColors[Green]), get_pcvar_num(g_pCvarSpecInfoColors[Blue]), HUD_SPECT_X, HUD_SPECT_Y, 0, 1.2, 1.1, 0.5, 0.6)
- if (get_pcvar_num(g_pCvarHudInfoComma) == 1)
- {
- new szHealth[15]
- AddCommas(get_user_health(iPlayer), szHealth, charsmax(szHealth))
- if (ze_is_user_zombie(iPlayer))
- {
- show_dhudmessage(ID_SHOWHUD, "%L", LANG_PLAYER, "ZOMBIE_SPEC_COMMAS", szName, szHealth, ze_get_escape_coins(iPlayer), ze_get_user_escapes(iPlayer), ze_get_user_infects(iPlayer))
- }
- else if ((iPlayer == ze_get_escape_leader_id()) && (0 < get_pcvar_num(g_pCvarRankEnabled) <= 2))
- {
- show_dhudmessage(ID_SHOWHUD, "%L", LANG_PLAYER, "HUMAN_SPEC_COMMAS_LEADER", szName, szHealth, ze_get_escape_coins(iPlayer), ze_get_user_escapes(iPlayer), ze_get_user_infects(iPlayer))
- }
- else
- {
- show_dhudmessage(ID_SHOWHUD, "%L", LANG_PLAYER, "HUMAN_SPEC_COMMAS", szName, szHealth, ze_get_escape_coins(iPlayer), ze_get_user_escapes(iPlayer), ze_get_user_infects(iPlayer))
- }
- }
- else
- {
- if (ze_is_user_zombie(iPlayer))
- {
- show_dhudmessage(ID_SHOWHUD, "%L", LANG_PLAYER, "ZOMBIE_SPEC", szName, get_user_health(iPlayer), ze_get_escape_coins(iPlayer), ze_get_user_escapes(iPlayer), ze_get_user_infects(iPlayer))
- }
- else if ((iPlayer == ze_get_escape_leader_id()) && (0 < get_pcvar_num(g_pCvarRankEnabled) <= 2))
- {
- show_dhudmessage(ID_SHOWHUD, "%L", LANG_PLAYER, "HUMAN_SPEC_LEADER", szName, get_user_health(iPlayer), ze_get_escape_coins(iPlayer), ze_get_user_escapes(iPlayer), ze_get_user_infects(iPlayer))
- }
- else
- {
- show_dhudmessage(ID_SHOWHUD, "%L", LANG_PLAYER, "HUMAN_SPEC", szName, get_user_health(iPlayer), ze_get_escape_coins(iPlayer), ze_get_user_escapes(iPlayer), ze_get_user_infects(iPlayer))
- }
- }
- }
- }
- else if (ze_is_user_zombie(iPlayer))
- {
- if (get_pcvar_num(g_pCvarHudInfoMode) == 1)
- {
- set_hudmessage(get_pcvar_num(g_pCvarZombieInfoColors[Red]), get_pcvar_num(g_pCvarZombieInfoColors[Green]), get_pcvar_num(g_pCvarZombieInfoColors[Blue]), HUD_STATS_X, HUD_STATS_Y, 0, 1.2, 1.1, 0.5, 0.6, -1)
- if (get_pcvar_num(g_pCvarHudInfoComma) == 1)
- {
- new szHealth[15]
- AddCommas(get_user_health(ID_SHOWHUD), szHealth, charsmax(szHealth))
- ShowSyncHudMsg(ID_SHOWHUD, g_iMsgSync, "%L", LANG_PLAYER, "ZOMBIE_COMMAS", szHealth, ze_get_escape_coins(ID_SHOWHUD), ze_get_user_escapes(ID_SHOWHUD), ze_get_user_infects(ID_SHOWHUD))
- }
- else
- {
- ShowSyncHudMsg(ID_SHOWHUD, g_iMsgSync, "%L", LANG_PLAYER, "ZOMBIE", get_user_health(ID_SHOWHUD), ze_get_escape_coins(ID_SHOWHUD), ze_get_user_escapes(ID_SHOWHUD), ze_get_user_infects(ID_SHOWHUD))
- }
- }
- else if (get_pcvar_num(g_pCvarHudInfoMode) == 2)
- {
- set_dhudmessage(get_pcvar_num(g_pCvarZombieInfoColors[Red]), get_pcvar_num(g_pCvarZombieInfoColors[Green]), get_pcvar_num(g_pCvarZombieInfoColors[Blue]), HUD_STATS_X, HUD_STATS_Y, 0, 1.2, 1.1, 0.5, 0.6)
- if (get_pcvar_num(g_pCvarHudInfoComma) == 1)
- {
- new szHealth[15]
- AddCommas(get_user_health(ID_SHOWHUD), szHealth, charsmax(szHealth))
- show_dhudmessage(ID_SHOWHUD, "%L", LANG_PLAYER, "ZOMBIE_COMMAS", szHealth, ze_get_escape_coins(ID_SHOWHUD), ze_get_user_escapes(ID_SHOWHUD), ze_get_user_infects(ID_SHOWHUD))
- }
- else
- {
- show_dhudmessage(ID_SHOWHUD, "%L", LANG_PLAYER, "ZOMBIE", get_user_health(ID_SHOWHUD), ze_get_escape_coins(ID_SHOWHUD), ze_get_user_escapes(ID_SHOWHUD), ze_get_user_infects(ID_SHOWHUD))
- }
- }
- }
- else
- {
- if (get_pcvar_num(g_pCvarHudInfoMode) == 1)
- {
- set_hudmessage(get_pcvar_num(g_pCvarHumanInfoColors[Red]), get_pcvar_num(g_pCvarHumanInfoColors[Green]), get_pcvar_num(g_pCvarHumanInfoColors[Blue]), HUD_STATS_X, HUD_STATS_Y, 0, 1.2, 1.1, 0.5, 0.6, -1)
- if (get_pcvar_num(g_pCvarHudInfoComma) == 1)
- {
- if ((ID_SHOWHUD == ze_get_escape_leader_id()) && (0 < get_pcvar_num(g_pCvarRankEnabled) <= 2))
- {
- new szHealth[15]
- AddCommas(get_user_health(ID_SHOWHUD), szHealth, charsmax(szHealth))
- ShowSyncHudMsg(ID_SHOWHUD, g_iMsgSync, "%L", LANG_PLAYER, "HUMAN_LEADER_COMMAS", szHealth, ze_get_escape_coins(ID_SHOWHUD), ze_get_user_escapes(ID_SHOWHUD), ze_get_user_infects(ID_SHOWHUD))
- }
- else
- {
- new szHealth[15]
- AddCommas(get_user_health(ID_SHOWHUD), szHealth, charsmax(szHealth))
- ShowSyncHudMsg(ID_SHOWHUD, g_iMsgSync, "%L", LANG_PLAYER, "HUMAN_COMMAS", szHealth, ze_get_escape_coins(ID_SHOWHUD), ze_get_user_escapes(ID_SHOWHUD), ze_get_user_infects(ID_SHOWHUD))
- }
- }
- else
- {
- if ((ID_SHOWHUD == ze_get_escape_leader_id()) && (0 < get_pcvar_num(g_pCvarRankEnabled) <= 2))
- {
- ShowSyncHudMsg(ID_SHOWHUD, g_iMsgSync, "%L", LANG_PLAYER, "HUMAN_LEADER", get_user_health(ID_SHOWHUD), ze_get_escape_coins(ID_SHOWHUD), ze_get_user_escapes(ID_SHOWHUD), ze_get_user_infects(ID_SHOWHUD))
- }
- else
- {
- ShowSyncHudMsg(ID_SHOWHUD, g_iMsgSync, "%L", LANG_PLAYER, "HUMAN", get_user_health(ID_SHOWHUD), ze_get_escape_coins(ID_SHOWHUD), ze_get_user_escapes(ID_SHOWHUD), ze_get_user_infects(ID_SHOWHUD))
- }
- }
- }
- else if (get_pcvar_num(g_pCvarHudInfoMode) == 2)
- {
- set_dhudmessage(get_pcvar_num(g_pCvarHumanInfoColors[Red]), get_pcvar_num(g_pCvarHumanInfoColors[Green]), get_pcvar_num(g_pCvarHumanInfoColors[Blue]), HUD_STATS_X, HUD_STATS_Y, 0, 1.2, 1.1, 0.5, 0.6)
- if (get_pcvar_num(g_pCvarHudInfoComma) == 1)
- {
- if ((ID_SHOWHUD == ze_get_escape_leader_id()) && (0 < get_pcvar_num(g_pCvarRankEnabled) <= 2))
- {
- new szHealth[15]
- AddCommas(get_user_health(ID_SHOWHUD), szHealth, charsmax(szHealth))
- show_dhudmessage(ID_SHOWHUD, "%L", LANG_PLAYER, "HUMAN_LEADER_COMMAS", szHealth, ze_get_escape_coins(ID_SHOWHUD), ze_get_user_escapes(ID_SHOWHUD), ze_get_user_infects(ID_SHOWHUD))
- }
- else
- {
- new szHealth[15]
- AddCommas(get_user_health(ID_SHOWHUD), szHealth, charsmax(szHealth))
- show_dhudmessage(ID_SHOWHUD, "%L", LANG_PLAYER, "HUMAN_COMMAS", szHealth, ze_get_escape_coins(ID_SHOWHUD), ze_get_user_escapes(ID_SHOWHUD), ze_get_user_infects(ID_SHOWHUD))
- }
- }
- else
- {
- if ((ID_SHOWHUD == ze_get_escape_leader_id()) && (0 < get_pcvar_num(g_pCvarRankEnabled) <= 2))
- {
- show_dhudmessage(ID_SHOWHUD, "%L", LANG_PLAYER, "HUMAN_LEADER", get_user_health(ID_SHOWHUD), ze_get_escape_coins(ID_SHOWHUD), ze_get_user_escapes(ID_SHOWHUD), ze_get_user_infects(ID_SHOWHUD))
- }
- else
- {
- show_dhudmessage(ID_SHOWHUD, "%L", LANG_PLAYER, "HUMAN", get_user_health(ID_SHOWHUD), ze_get_escape_coins(ID_SHOWHUD), ze_get_user_escapes(ID_SHOWHUD), ze_get_user_infects(ID_SHOWHUD))
- }
- }
- }
- }
- }
- This plugin is going to be like infects counter for zombies only.
| Cvars:
Code: Select all
ze_infects_host // Host to connect to ze_infects_user // User to login with ze_infects_pass // Password ze_infects_dbname // Database
| Code:
- #include <zombie_escape>
- // Static (Change it if you need)
- new const g_szLogFile[] = "Zombie_Infects.log" // MySQL Errors log file
- // MySQL Table
- new const g_szTable[] =
- "ALTER TABLE `zombie_escape` ADD IF NOT EXISTS `Infects` INT(10) NOT NULL DEFAULT '0';"
- // Variables
- new g_iInfects[33],
- Handle:g_hTuple
- // Cvars
- new g_pCvarDBInfo[4]
- // Database
- enum
- {
- Host = 0,
- User,
- Pass,
- DB
- }
- // Natives
- public plugin_natives()
- {
- register_native("ze_get_user_infects", "native_ze_get_user_infects", 1)
- register_native("ze_set_user_infects", "native_ze_set_user_infects", 1)
- }
- public plugin_init()
- {
- register_plugin("[ZE] Addons: Infects (MySQL)", "1.1", "Jack GamePlay")
- // Cvars
- g_pCvarDBInfo[Host] = register_cvar("ze_infects_host", "localhost")
- g_pCvarDBInfo[User] = register_cvar("ze_infects_user", "user")
- g_pCvarDBInfo[Pass] = register_cvar("ze_infects_pass", "pass")
- g_pCvarDBInfo[DB] = register_cvar("ze_infects_dbname", "dbname")
- // Initialize MySQL - Delay 0.1 second required so we make sure that our zombie_escape.cfg already executed and cvars values loaded from it
- set_task(0.1, "Delay_MySQL_Init")
- }
- public Delay_MySQL_Init()
- {
- MySQL_Init()
- }
- public MySQL_Init()
- {
- new szHost[64], szUser[32], szPass[32], szDB[128]
- get_pcvar_string(g_pCvarDBInfo[Host], szHost, charsmax(szHost))
- get_pcvar_string(g_pCvarDBInfo[User], szUser, charsmax(szUser))
- get_pcvar_string(g_pCvarDBInfo[Pass], szPass, charsmax(szPass))
- get_pcvar_string(g_pCvarDBInfo[DB], szDB, charsmax(szDB))
- g_hTuple = SQL_MakeDbTuple(szHost, szUser, szPass, szDB)
- // Let's ensure that the g_hTuple will be valid, we will access the database to make sure
- new iErrorCode, szError[512], Handle:hSQLConnection
- hSQLConnection = SQL_Connect(g_hTuple, iErrorCode, szError, charsmax(szError))
- if(hSQLConnection != Empty_Handle)
- {
- log_amx("[MySQL][INFECTS] Successfully connected to host: %s (ALL IS OK).", szHost)
- SQL_FreeHandle(hSQLConnection)
- }
- else
- {
- // Disable plugin, and display the error
- set_fail_state("[INFECTS] Failed to connect to MySQL database: %s", szError)
- }
- // Create our table
- SQL_ThreadQuery(g_hTuple, "QueryCreateTable", g_szTable)
- }
- public QueryCreateTable(iFailState, Handle:hQuery, szError[], iError, szData[], iSize, Float:flQueueTime)
- {
- SQL_IsFail(iFailState, iError, szError, g_szLogFile)
- }
- public client_putinserver(id)
- {
- if (is_user_bot(id) || is_user_hltv(id))
- return
- // Just 1 second delay
- set_task(1.0, "DelayLoad", id)
- }
- public DelayLoad(id)
- {
- LoadInfects(id)
- }
- public plugin_end()
- {
- if (g_hTuple != Empty_Handle)
- {
- SQL_FreeHandle(g_hTuple)
- }
- }
- public ze_user_infected(iVictim, iInfector)
- {
- if (iInfector == 0) // Server ID
- return
- g_iInfects[iInfector] ++
- SaveInfects(iInfector)
- }
- LoadInfects(id)
- {
- new szAuthID[35], szQuery[128], szData[5]
- get_user_authid(id, szAuthID, charsmax(szAuthID))
- formatex(szQuery, charsmax(szQuery), "SELECT `Infects` FROM `zombie_escape` WHERE ( `SteamID` = '%s' );", szAuthID)
- num_to_str(id, szData, charsmax(szData))
- SQL_ThreadQuery(g_hTuple, "QuerySelectData", szQuery, szData, charsmax(szData))
- }
- public QuerySelectData(iFailState, Handle:hQuery, szError[], iError, szData[])
- {
- if (SQL_IsFail(iFailState, iError, szError, g_szLogFile))
- return
- new id = str_to_num(szData)
- // No results for this query means that player not saved before
- if (!SQL_NumResults(hQuery))
- {
- // This is new player
- g_iInfects[id] = 0
- return
- }
- g_iInfects[id] = SQL_ReadResult(hQuery, SQL_FieldNameToNum(hQuery, "Infects"))
- }
- SaveInfects(id)
- {
- new szAuthID[36]
- get_user_authid(id, szAuthID, charsmax(szAuthID))
- new szQuery[128]
- formatex(szQuery, charsmax(szQuery), "UPDATE `zombie_escape` SET `Infects` = '%d' WHERE `SteamID` = '%s';", g_iInfects[id], szAuthID)
- SQL_ThreadQuery(g_hTuple, "QueryUpdateData", szQuery)
- }
- public QueryInsertData(iFailState, Handle:hQuery, szError[], iError, szData[], iSize, Float:flQueueTime)
- {
- SQL_IsFail(iFailState, iError, szError, g_szLogFile)
- }
- public QueryUpdateData(iFailState, Handle:hQuery, szError[], iError, szData[], iSize, Float:flQueueTime)
- {
- SQL_IsFail(iFailState, iError, szError, g_szLogFile)
- }
- // Natives
- public native_ze_get_user_infects(id)
- {
- if (!is_user_connected(id))
- {
- log_error(AMX_ERR_NATIVE, "[ZE] Invalid Player id (%d)", id)
- return false
- }
- return g_iInfects[id]
- }
- public native_ze_set_user_infects(id, iAmount)
- {
- if (!is_user_connected(id))
- {
- log_error(AMX_ERR_NATIVE, "[ZE] Invalid Player id (%d)", id)
- return false
- }
- g_iInfects[id] = iAmount
- SaveInfects(id)
- return true
- }