Member
|
09-11-2022
, 07:04
Re: [Help] Need Some Changes in plugin
|
#5
|
Quote:
Originally Posted by Uzviseni Bog
add to vip plugin
PHP Code:
#define ADMIN_LEVEL_H ADMIN_ALL
|
Got Error in this Plugin !!!
PHP Code:
#include <amxmodx> #include <amxmisc> #include <fun> #include <cstrike>
#pragma semicolon 1 #pragma tabsize 4
#define PLUGIN "Gun Menu" #define VERSION "1.0" #define AUTHOR "begin" #define PREFIX_CHAT "^4[AMXX]" #define TASK_DESTROY_MENU 2981724
enum E_CVARS { CVAR_MONEY_PER_DAMAGE, CVAR_MONEY_KILL_BOUNS, CVAR_MONEY_HS_BOUNS, CVAR_VIP_HP, CVAR_VIP_HP_HS, CVAR_VIP_MAX_HP, CVAR_GIVE_HE, CVAR_GIVE_FB, CVAR_GIVE_SG, CVAR_MENU_ACTIVE, CVAR_MENU_M4A1, CVAR_MENU_AK47, CVAR_MENU_AWP, CVAR_MENU_VIP, CVAR_VIP_ROUND, }
enum E_WEAPONS { WPN_M4A1, WPN_AK47, WPN_AWP, WPN_DEAGLE, }
enum E_WEAPON_DETAIL { DETAIL_NAME[32], DETAIL_ITEM[32], DETAIL_CLASS, DETAIL_AMMO, }
new g_CVarString [E_CVARS][][] = { {"gmenu_money_per_damage", "3", "num"}, {"money_kill_bonus", "200", "num"}, {"money_hs_bonus", "500", "num"}, {"amx_vip_hp", "15", "num"}, {"amx_vip_hp_hs", "30", "num"}, {"amx_vip_max_hp", "100", "num"}, {"gmenu_vip_he_cancel", "1", "num"}, {"gmenu_vip_flash_cancel", "1", "num"}, {"gmenu_vip_smoke_cancel", "0", "num"}, {"gmenu_active", "1", "num"}, {"gmenu_cancel_m4a1", "0", "num"}, {"gmenu_cancel_ak47", "1", "num"}, {"gmenu_cancel_awp", "1", "num"}, {"gmenu_cancel_vip", "15", "num"}, {"gmenu_vip_available_round", "3", "num"}, }; new g_cvarPointer [E_CVARS]; new g_cvars [E_CVARS]; new g_menu_callback; new g_round; new g_c4 [MAX_PLAYERS + 1]; new g_menuid [MAX_PLAYERS + 1]; new nHp_add; new nKiller; new nHp_max; new nKiller_hp; new g_MsgSync; #if defined DAMAGE_RECIEVED new g_MsgSync2; #endif
new const WEAPON_LIST[E_WEAPONS][E_WEAPON_DETAIL] = { {"M4A1", "weapon_m4a1", CSW_M4A1, 90}, {"AK47", "weapon_ak47", CSW_AK47, 90}, {"AWP", "weapon_awp", CSW_AWP, 30}, {"DEAGLE", "weapon_deagle", CSW_DEAGLE, 35}, };
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR);
// Register Cvar pointers. register_cvars();
register_logevent("logevent_round_start", 2, "1=Round_Start"); register_event("TextMsg", "Event_Round_Restart", "a", "2=#Game_Commencing", "2=#Game_will_restart_in"); register_event("Damage","Damage","b"); register_event("DeathMsg","death_msg","a"); register_event("DeathMsg", "hook_death", "a", "1>0"); register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0"); #if defined DAMAGE_RECIEVED g_MsgSync2 = CreateHudSyncObj() #endif
g_menu_callback = menu_makecallback("MenuCancel"); }
// ==================================================== // Register Cvars. // ==================================================== register_cvars() { for(new E_CVARS:i = CVAR_GIVE_HE; i < E_CVARS; i++) { g_cvarPointer[i] = create_cvar(g_CVarString[i][0], g_CVarString[i][1]); if (equali(g_CVarString[i][2], "num")) bind_pcvar_num(g_cvarPointer[i], g_cvars[i]); else if(equali(g_CVarString[i][2], "float")) bind_pcvar_float(g_cvarPointer[i], Float:g_cvars[i]);
hook_cvar_change(g_cvarPointer[i], "cvar_change_callback"); } }
// ==================================================== // Callback cvar change. // ==================================================== public cvar_change_callback(pcvar, const old_value[], const new_value[]) { for(new E_CVARS:i = CVAR_GIVE_HE; i < E_CVARS; i++) { if (g_cvarPointer[i] == pcvar) { if (equali(g_CVarString[i][2], "num")) g_cvars[i] = str_to_num(new_value); else if (equali(g_CVarString[i][2], "float")) g_cvars[i] = _:str_to_float(new_value); } } }
public Event_Round_Restart() { g_round = 0; }
public logevent_round_start() { g_round++;
new players[32], pnum; get_players(players, pnum, "ac");
for(new i = 0, iplayer; i < pnum; i++) { iplayer = players[i];
if (!is_user_alive(iplayer)) continue; give_defaultset(iplayer); if (g_cvars[CVAR_MENU_ACTIVE]) { if (g_round <= g_cvars[CVAR_VIP_ROUND]) client_print_color(iplayer, print_team_default, "%s^3 Menu will be available in^4 %i^3 Round",PREFIX_CHAT,(g_cvars[CVAR_VIP_ROUND] + 1)-g_round); else OpenMenu(iplayer); } else { client_print_color(iplayer, print_team_default, "%s^3 Menu Not Actived^1 [^4Contact Admins^1]",PREFIX_CHAT); } } return PLUGIN_HANDLED; }
public OpenMenu(id) { g_menuid[id] = menu_create("Free VIP Guns", "OpenMenu_Handler"); menu_additem(g_menuid[id], "Get M4A1 + Deagle", "0",_,g_menu_callback); menu_additem(g_menuid[id], "Get AK47 + Deagle", "1",_,g_menu_callback); menu_additem(g_menuid[id], "Get AWP + Deagle", "2",_,g_menu_callback); menu_setprop(g_menuid[id], MPROP_EXIT, MEXIT_ALL); menu_display(id, g_menuid[id], 0, g_cvars[CVAR_MENU_VIP]); client_print_color(id, print_team_default, "%s^3 Please Choose Your^4 VIP Gun^3, Menu Will Closed in^4 %i^3 Seconds",PREFIX_CHAT, g_cvars[CVAR_MENU_VIP]); client_print (id,print_chat,"Test: M4A1=%i, AK47=%i, AWP=%i",g_cvars[CVAR_MENU_M4A1], g_cvars[CVAR_MENU_AK47], g_cvars[CVAR_MENU_AWP]); set_task(float(g_cvars[CVAR_MENU_VIP]),"Destroy_Menu",id+TASK_DESTROY_MENU); }
public Destroy_Menu(taskid) { new id = taskid - TASK_DESTROY_MENU; show_menu(id,0,"^n",1); }
public MenuCancel(id, menu, item) { new szData[6], szName[64], access, callback; menu_item_getinfo(menu, item, access, szData, charsmax(szData), szName, charsmax(szName), callback); switch(item) { case 0: return g_cvars[CVAR_MENU_M4A1] ? ITEM_ENABLED : ITEM_DISABLED; case 1: return g_cvars[CVAR_MENU_AK47] ? ITEM_ENABLED : ITEM_DISABLED; case 2: return g_cvars[CVAR_MENU_AWP] ? ITEM_ENABLED : ITEM_DISABLED; } return ITEM_ENABLED; }
public OpenMenu_Handler(id, menu, item) { if(item == MENU_EXIT || !is_user_alive(id) || item == MENU_TIMEOUT) { return PLUGIN_HANDLED; } select_weapon(id,E_WEAPONS:item); menu_destroy(menu); return PLUGIN_HANDLED; }
public select_weapon(id, E_WEAPONS:class) { if (WPN_M4A1 <= class <= WPN_DEAGLE) { if (user_has_weapon(id, CSW_C4)) g_c4[id] = true; else g_c4[id] = false; strip_user_weapons(id); give_defaultset(id); give_weaponset(id, class); give_weaponset(id, WPN_DEAGLE); give_c4_or_defusekit(id); client_print_color(id,print_team_default,"%s^3 You Got Free^4 %s^3 and^4 Deagle",PREFIX_CHAT, WEAPON_LIST[class][DETAIL_NAME]); } }
// // Give Default Set. // give_defaultset(id) { give_item(id, "weapon_knife"); give_item(id, "item_assaultsuit");
if (g_cvars[CVAR_GIVE_HE]) give_item(id, "weapon_hegrenade"); if (g_cvars[CVAR_GIVE_FB]) { for(new i = 0; i < 2; i++) { give_item(id, "weapon_flashbang"); } } if (g_cvars[CVAR_GIVE_SG]) give_item(id, "weapon_smokegrenade"); }
// // Give Weapons. // give_weaponset(id, E_WEAPONS:weapon) { give_item(id, WEAPON_LIST[weapon][DETAIL_ITEM]); cs_set_user_bpammo(id, WEAPON_LIST[weapon][DETAIL_CLASS], WEAPON_LIST[weapon][DETAIL_AMMO]); }
// // Give C4 or Defuse Kit. // give_c4_or_defusekit(id) { new CsTeams:team = cs_get_user_team(id); if (team == CS_TEAM_CT) cs_set_user_defuse(id, 1); else if(team == CS_TEAM_T) if (g_c4[id]) give_item(id, "weapon_c4"); }
public death_msg() { if(read_data(1)<=get_maxplayers() && read_data(1) && read_data(1)!=read_data(2)) cs_set_user_money(read_data(1),cs_get_user_money(read_data(1)) +g_cvars[CVAR_MONEY_KILL_BOUNS] - 300); }
public Damage(id) { new weapon, hitpoint; new attacker = get_user_attacker(id,weapon,hitpoint); if(attacker<= get_maxplayers() && is_user_alive(attacker) && (attacker!=id)) { new money = read_data(2) *g_cvars[CVAR_MONEY_PER_DAMAGE]; if(hitpoint==1) money +=g_cvars[CVAR_MONEY_HS_BOUNS]; cs_set_user_money(attacker,cs_get_user_money(attacker) + money); } }
public on_damage(id) { new attacker = get_user_attacker(id); #if defined DAMAGE_RECIEVED // id should be connected if this message is sent, but lets check anyway if ( is_user_connected(id) && is_user_connected(attacker) ) { new damage = read_data(2); set_hudmessage(255, 0, 0, 0.45, 0.50, 2, 0.1, 4.0, 0.1, 0.1, -1); ShowSyncHudMsg(id, g_MsgSync2, "%i^n", damage); #else if ( is_user_connected(attacker)) { new damage = read_data(2); #endif set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1); ShowSyncHudMsg(attacker, g_MsgSync, "%i^n", damage); } }
public hook_death() { // Killer id nKiller = read_data(1); if ( (read_data(3) == 1) && (read_data(5) == 0) ) { nHp_add = g_cvars[CVAR_VIP_HP_HS]; } else nHp_add = g_cvars[CVAR_VIP_HP]; nHp_max = g_cvars[CVAR_VIP_MAX_HP]; // Updating Killer HP if(!(get_user_flags(nKiller) & ADMIN_LEVEL_H)) return; nKiller_hp = get_user_health(nKiller); nKiller_hp += nHp_add; // Maximum HP check if (nKiller_hp > nHp_max) nKiller_hp = nHp_max; set_user_health(nKiller, nKiller_hp); // Hud message "Healed +15/+30 hp" set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1); show_hudmessage(nKiller, "Healed +%d hp", nHp_add); // Screen fading message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, nKiller); write_short(1<<10); write_short(1<<10); write_short(0x0000); write_byte(0); write_byte(0); write_byte(200); write_byte(75); message_end(); }
Error Msg From Logs
PHP Code:
L 09/07/2022 - 15:41:38: HudSyncObject -1 is invalid L 09/07/2022 - 15:41:38: [AMXX] Displaying debug trace (plugin "gunmenu.amxx", version "1.0") L 09/07/2022 - 15:41:38: [AMXX] Run time error 10: native error (native "ShowSyncHudMsg") L 09/07/2022 - 15:41:38: [AMXX] [0] gunmenu.sma::on_damage (line 331) L 09/07/2022 - 15:41:40: HudSyncObject -1 is invalid L 09/07/2022 - 15:41:40: [AMXX] Displaying debug trace (plugin "gunmenu.amxx", version "1.0") L 09/07/2022 - 15:41:40: [AMXX] Run time error 10: native error (native "ShowSyncHudMsg") L 09/07/2022 - 15:41:40: [AMXX] [0] gunmenu.sma::on_damage (line 331)
Last edited by counterstrike1.6; 09-11-2022 at 07:10.
|
|