|
Junior Member
|

02-26-2024
, 16:04
Re: Menu
|
#4
|
I tried to modify the first plugin because it is more complete and closer to what I need, but it gives me errors and I don't know how to solve it, I put the code and the picture with the error here
PHP Code:
#include amxmodx #include amxmisc #include cstrike #include fun #include hamsandwich #include engine #include fakemeta #include csx #if AMXX_VERSION_NUM < 183 #include colorchat #endif
#define p. "player Menu Clasic" #define v. "99" #define a. "AlliedMods" #pragma unused Symbol
new const Float: g_flCoords[][] = { { 0.50, 0.40 }, { 0.56, 0.44 }, { 0.60, 0.50 }, { 0.56, 0.56 }, { 0.50, 0.60 }, { 0.44, 0.56 }, { 0.40, 0.50 }, { 0.44, 0.44 } };
new const g_szBeginning[] = "Membrii PLAYER";
new g_Cvar[30], g_Round[33] = 0, g_JumpNum[33], bool:g_DoJump[33], g_iPosition[33], g_iSize, g_playerConfig[] = "playerConfig.cfg", g_playerMaps[] = "playerMaps.ini", g_File1[128], g_File2[128], bool:g_Use[33], bool:g_Menu[33], o, m, s;
enum { Primary = 1, Secondary, Knife, Grenades, C4 };
public plugin_init() { register_plugin p., v., a.;
register_clcmd "say", "sayCommand"; register_clcmd "say_team", "sayCommand"; g_Cvar[0] = register_cvar("player_mode", "2"); g_Cvar[1] = register_cvar("player_tag", "Player"); g_Cvar[2] = register_cvar("player_start_hp", ""); g_Cvar[3] = register_cvar("player_start_ap", ""); g_Cvar[4] = register_cvar("player_start_money", "1000"); g_Cvar[5] = register_cvar("player_jump", "1"); g_Cvar[6] = register_cvar("player_hp_kill", "5"); g_Cvar[7] = register_cvar("player_ap_kill", "5"); g_Cvar[8] = register_cvar("player_hp_hs", "10"); g_Cvar[9] = register_cvar("player_ap_hs", "10"); g_Cvar[10] = register_cvar("player_hp_kill_knife", "15"); g_Cvar[11] = register_cvar("player_ap_kill_knife", "15"); g_Cvar[12] = register_cvar("player_hp_hs_knife", "20"); g_Cvar[13] = register_cvar("player_ap_hs_knife", "20"); g_Cvar[14] = register_cvar("player_bulletdmg", "1"); g_Cvar[16] = register_cvar("player_in_out", "1"); g_Cvar[17] = register_cvar("player_show_chat", "1"); g_Cvar[18] = register_cvar("player_show_hud", "1"); g_Cvar[19] = register_cvar("player_max_hp", "200"); g_Cvar[20] = register_cvar("player_max_ap", "200"); g_Cvar[21] = register_cvar("player_parachute", "1"); g_Cvar[22] = register_cvar("player_money_kill", "400"); g_Cvar[23] = register_cvar("player_money_hs", "600"); g_Cvar[24] = register_cvar("player_bulletdmg_mode", "1"); g_Cvar[25] = register_cvar("player_tab", "1"); g_Cvar[26] = register_cvar("player_defusekit", "1"); g_Cvar[27] = register_cvar("player_free", "1"); g_Cvar[28] = register_cvar("player_free_start", "22"); g_Cvar[29] = register_cvar("player_free_end", "08");
set_task 300.0, "msgInfo", _, _, _, "b"; set_task 1.0, "showplayersH", _, _, _, "b", 0; set_task 1.0, "Giveplayer" ,_,_,_, "b"; RegisterHam Ham_Spawn, "player", "Spawn", 1; register_event "HLTV", "newRound", "a", "1=0", "2=0"; register_event "ResetHUD", "resetModel", "b"; register_event "ResetHUD", "playerTab", "be"; }
public plugin_cfg() { new File[64]; get_configsdir File, charsmax(File); formatex g_File1, charsmax(g_File1), "%s/%s", File, g_playerConfig; formatex g_File2, charsmax(g_File2), "%s/%s", File, g_playerMaps; if(!file_exists(g_File2)) { write_file(g_File2, ";--------------- | Lista hartilor pe care meniul vipului este restrictionat | ---------------"); write_file(g_File2, ""); write_file(g_File2, ";Adaugati mapele una sub alta"); write_file(g_File2, ""); write_file(g_File2, "35hp"); write_file(g_File2, "awp_india"); } }
public client_putinserver(id) { if(!(get_user_flags(id))) return 1; set_task 2.0, "playerIn", id; g_JumpNum[id] = 0; g_DoJump[id] = false; g_Round[id] = 0; g_Use[id] = false; g_Menu[id] = true; return 1; }
#if AMXX_VERSION_NUM < 183 public client_disconnect(id) #else public client_disconnected(id) #endif { if(!(get_user_flags(id))) return 1; set_task 2.0, "playerOut", id; g_JumpNum[id] = 0; g_DoJump[id] = false; g_Round[id] = 0; g_Use[id] = false; return 1; }
public newRound() for(new i = 0; i < 32; i++) g_Use[i] = false;
public playerMenu(id) { if(!is_user_alive(id) || !(get_user_flags(id)) || g_Use[id]) return 1; new menu; switch(cs_get_user_team(id)) { case CS_TEAM_T: { menu = menu_create("\r[\dPlayer-Menu\r] \yTerrorists", "Ammunition"); menu_additem menu, "Ak47+Deagle+Set grenade", "1"; menu_additem menu, "M4a1+Deagle+Set grenade", "2"; }
case CS_TEAM_CT: { menu = menu_create("\r[\dPlayer-Menu\r] \yCounter-Terorists", "Ammunition"); menu_additem menu, "M4a1+Deagle+Set grenade", "1"; menu_additem menu, "Ak47+Deagle+Set grenade", "2"; } } menu_display id, menu, 0; return 1; }
public Ammunition(id, menu, item) { if(item == MENU_EXIT) return 1;
new access, callback, data[6], szName[64], tag[32]; menu_item_getinfo(menu, item, access, data, charsmax(data), szName, charsmax(szName), callback); get_pcvar_string g_Cvar[1], tag, charsmax(tag); new key = str_to_num(data); if(cs_get_user_team(id) == CS_TEAM_T) { switch(key) { case 1: { StripWeapons id, Primary; StripWeapons id, Secondary; give_item id, "weapon_knife"; give_item id, "weapon_ak47"; give_item id, "weapon_deagle"; give_item id, "weapon_hegrenade"; give_item id, "weapon_flashbang"; cs_set_user_bpammo id, CSW_FLASHBANG, 2; cs_set_user_bpammo id, CSW_AK47, 90; cs_set_user_bpammo id, CSW_DEAGLE, 35; #if AMXX_VERSION_NUM < 183 ColorChat id, GREEN, "^3[%s] ^1Ai ales ^4Ak47^1+^4Deagle^1+^4Set grenade^1.", tag; #else client_print_color id, print_team_default, "^3[%s] ^1Ai ales ^4Ak47^1+^4Deagle^1+^4Set grenade^1.", tag; #endif g_Use[id] = true; } case 2: { StripWeapons id, Primary; StripWeapons id, Secondary; give_item id, "weapon_knife"; give_item id, "weapon_m4a1"; give_item id, "weapon_deagle"; give_item id, "weapon_hegrenade"; give_item id, "weapon_flashbang"; cs_set_user_bpammo id, CSW_FLASHBANG, 2; cs_set_user_bpammo id, CSW_M4A1, 90; cs_set_user_bpammo id, CSW_DEAGLE, 35; #if AMXX_VERSION_NUM < 183 ColorChat id, GREEN, "^3[%s] ^1Ai ales ^4M4a1^1+^4Deagle^1+^4Set grenade^1.", tag; #else client_print_color id, print_team_default, "^3[%s] ^1Ai ales ^4M4a1^1+^4Deagle^1+^4Set grenade^1.", tag; #endif g_Use[id] = true; } } if(cs_get_user_team(id) == CS_TEAM_CT) { switch(key) { case 1: { StripWeapons id, Primary; StripWeapons id, Secondary; give_item id, "weapon_knife"; give_item id, "weapon_m4a1"; give_item id, "weapon_deagle"; give_item id, "weapon_hegrenade"; give_item id, "weapon_flashbang"; cs_set_user_bpammo id, CSW_FLASHBANG, 2; cs_set_user_bpammo id, CSW_M4A1, 90; cs_set_user_bpammo id, CSW_DEAGLE, 35; #if AMXX_VERSION_NUM < 183 ColorChat id, GREEN, "^3[%s] ^1Ai ales ^4M4a1^1+^4Deagle^1+^4Set grenade^1.", tag; #else client_print_color id, print_team_default, "^3[%s] ^1Ai ales ^4M4a1^1+^4Deagle^1+^4Set grenade^1.", tag; #endif g_Use[id] = true; } case 2: { StripWeapons id, Primary; StripWeapons id, Secondary; give_item id, "weapon_knife"; give_item id, "weapon_ak47"; give_item id, "weapon_deagle"; give_item id, "weapon_hegrenade"; give_item id, "weapon_flashbang"; cs_set_user_bpammo id, CSW_FLASHBANG, 2; cs_set_user_bpammo id, CSW_AK47, 90; cs_set_user_bpammo id, CSW_DEAGLE, 35; #if AMXX_VERSION_NUM < 183 ColorChat id, GREEN, "^3[%s] ^1Ai ales ^4Ak47^1+^4Deagle^1+^4Set grenade^1.", tag; #else client_print_color id, print_team_default, "^3[%s] ^1Ai ales ^Ak47^1+^4Deagle^1+^4Set grenade^1.", tag; #endif g_Use[id] = true; } ", tag; } } menu_destroy(menu); return 1; }
public Spawn(id) { if(!is_user_alive(id) || !(get_user_flags(id))) return 1; if(get_pcvar_num(g_Cvar[0]) == 2) { if(g_Menu[id] == true) if(g_Round[id] > 2) playerMenu(id); g_Round[id]++; }
if(get_pcvar_num(g_Cvar[26]) == 1) if(cs_get_user_team(id) == CS_TEAM_CT) give_item id, "item_thighpack"; give_item id, "item_assaultsuit"; set_user_health id, get_pcvar_num(g_Cvar[2]); set_user_armor id, get_pcvar_num(g_Cvar[3]); cs_set_user_money id, clamp(cs_get_user_money(id) + get_pcvar_num(g_Cvar[4]), 0, 16000); new MapName[32], szLine[128], iLen; new Size = file_size(g_File2, 1)
get_mapname(MapName, sizeof(MapName)); for(new i = 0; i < Size; i ++) { read_file(g_File2, i, szLine, charsmax(szLine), iLen); if(equali(MapName, szLine)) g_Menu[id] = false; } return 1; }
public Giveplayer() { if(get_pcvar_num(g_Cvar[27]) == 1) { time(o, m, s); if(o >= get_pcvar_num(g_Cvar[28]) && o < 24 || o >= 00 && o < get_pcvar_num(g_Cvar[29])) { for(new i = 1; i <= get_maxplayers(); i++) if(is_user_connected(i) || !is_user_bot(i) || !is_user_hltv(i) || !(get_user_flags(i))) set_user_flags i
set_hudmessage random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.02, 0, 1.0, 1.0; show_hudmessage 0, "", get_pcvar_num(g_Cvar[28]), get_pcvar_num(g_Cvar[29]); } if(o == get_pcvar_num(g_Cvar[29]) && m == 00 && s == 00) server_cmd("amx_reloadadmins"); } }
public playerIn(id) { if(!(get_user_flags(id))) return 1; if(get_pcvar_num(g_Cvar[16]) == 1) { new tag[32], name[32];
get_pcvar_string g_Cvar[1], tag, charsmax(tag); get_user_name id, name, charsmax(name);
#if AMXX_VERSION_NUM < 183 ColorChat 0, GREEN, "^3[%s] ^4%s ^1s-a conectat pe server.", tag, name; #else client_print_color 0, print_team_default, "^3[%s] ^4%s ^1s-a conectat pe server.", tag, name; #endif } return 1; }
public playerOut(id) { if(!(get_user_flags(id))) return 1; if(get_pcvar_num(g_Cvar[16]) == 1) { new tag[32], name[32];
get_pcvar_string g_Cvar[1], tag, charsmax(tag); get_user_name id, name, charsmax(name); #if AMXX_VERSION_NUM < 183 ColorChat 0, GREEN, "^3[%s] ^4%s ^1s-a deconectat de pe server.", tag, name; #else client_print_color 0, print_team_default, "^3[%s] ^4%s ^1s-a deconectat de pe server.", tag, name; #endif } return 1; }
public client_PreThink(id) { if(!is_user_alive(id) || !(get_user_flags(id))) return 1; new Float:fallspeed = 100.0 * -1.0; new BUTTON = get_user_button(id); new OLDBUTON = get_user_oldbutton(id); new JUMP_PLAYER = get_pcvar_num(g_Cvar[5]);
if((BUTTON & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(OLDBUTON & IN_JUMP)) { if(g_JumpNum[id] < JUMP_PLAYER) { g_DoJump[id] = true; g_JumpNum[id]++ } }
if((BUTTON & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND)) g_JumpNum[id] = 0; if(get_pcvar_num(g_Cvar[21]) == 1) { if(BUTTON & IN_USE) { new Float:velocity[3]; entity_get_vector(id, EV_VEC_velocity, velocity); if(velocity[2] < 0.0) { entity_set_int id, EV_INT_sequence, 3; entity_set_int id, EV_INT_gaitsequence, 1; entity_set_float id, EV_FL_frame, 1.0; entity_set_float id, EV_FL_framerate, 1.0;
velocity[2] = (velocity[2] + 40.0 < fallspeed) ? velocity[2] + 40.0 : fallspeed; entity_set_vector id, EV_VEC_velocity, velocity; } } } return 0; }
public client_PostThink(id) { if(!is_user_alive(id)) return 1; if(g_DoJump[id] == true) { new Float: velocity[3]; entity_get_vector id, EV_VEC_velocity, velocity; velocity[2] = random_float(265.0, 285.0); entity_set_vector id, EV_VEC_velocity, velocity; g_DoJump[id] = false; }
return 0; }
public client_death(killer, victim, weapon, hitplace) { if(!(get_user_flags(killer))) return 1; new player_MAXHP = get_pcvar_num(g_Cvar[19]); new player_HP = get_user_health(killer); new player_MAXAP = get_pcvar_num(g_Cvar[20]); new player_AP = get_user_armor(killer); if(!(hitplace == HIT_HEAD) && !(weapon == CSW_KNIFE)) { if(player_HP + get_pcvar_num(g_Cvar[6]) >= player_MAXHP) set_user_health killer, player_MAXHP; else set_user_health killer, player_HP + get_pcvar_num(g_Cvar[6]); if(player_AP + get_pcvar_num(g_Cvar[7]) >= player_MAXAP) set_user_armor killer, player_MAXAP; else set_user_armor killer, player_AP + get_pcvar_num(g_Cvar[7]); cs_set_user_money killer, clamp(cs_get_user_money(killer) - 300 + get_pcvar_num(g_Cvar[22]), 0, 16000); } if(hitplace == HIT_HEAD && !(weapon == CSW_KNIFE)) { if(player_HP + get_pcvar_num(g_Cvar[8])>= player_MAXHP) set_user_health killer, player_MAXHP; else set_user_health killer, player_HP + get_pcvar_num(g_Cvar[8]); if(player_AP + get_pcvar_num(g_Cvar[9]) >= player_MAXAP) set_user_armor killer, player_MAXAP; else set_user_armor killer, player_AP + get_pcvar_num(g_Cvar[9]); cs_set_user_money killer, clamp(cs_get_user_money(killer) - 300 + get_pcvar_num(g_Cvar[23]), 0, 16000); } if(weapon == CSW_KNIFE && !(hitplace == HIT_HEAD)) { if(player_HP + get_pcvar_num(g_Cvar[10]) >= player_MAXHP) set_user_health killer, player_MAXHP; else set_user_health killer, player_HP + get_pcvar_num(g_Cvar[10]); if(player_AP + get_pcvar_num(g_Cvar[11]) >= player_MAXAP) set_user_armor killer, player_MAXAP; else set_user_armor killer, player_AP + get_pcvar_num(g_Cvar[11]);
cs_set_user_money killer, clamp(cs_get_user_money(killer) - 300 + get_pcvar_num(g_Cvar[22]), 0, 16000); } if(weapon == CSW_KNIFE && (hitplace == HIT_HEAD)) { if(player_HP + get_pcvar_num(g_Cvar[12]) >= player_MAXHP) set_user_health killer, player_MAXHP; else set_user_health killer, player_HP + get_pcvar_num(g_Cvar[12]); if(player_AP + get_pcvar_num(g_Cvar[13]) >= player_MAXAP) set_user_armor killer, player_MAXAP; else set_user_armor killer, player_AP + get_pcvar_num(g_Cvar[13]); cs_set_user_money killer, clamp(cs_get_user_money(killer) - 300 + get_pcvar_num(g_Cvar[23]), 0, 16000); }
return 1; }
public client_damage(iAttacker, iVictim, iDamage) { if(!(get_user_flags(iAttacker))) return 1; if(get_pcvar_num(g_Cvar[14]) == 1) { if(get_pcvar_num(g_Cvar[24]) == 1) { if(++g_iPosition[iAttacker] == g_iSize) g_iPosition[iAttacker] = 0;
set_hudmessage random_num(0, 255), random_num(0, 255), random_num(0, 255), Float: g_flCoords[g_iPosition[iAttacker]][0], Float: g_flCoords[g_iPosition[iAttacker]][1], 0, 0.1, 2.5, 0.02, 0.02, -1; show_hudmessage iAttacker, "%i", iDamage; } else if(get_pcvar_num(g_Cvar[24]) == 2) { if(++g_iPosition[iAttacker] == g_iSize) g_iPosition[iAttacker] = 0; if(cs_get_user_team(iAttacker) == CS_TEAM_CT) { set_hudmessage 42, 170, 255, Float: g_flCoords[g_iPosition[iAttacker]][0], Float: g_flCoords[g_iPosition[iAttacker]][1], 0, 0.1, 2.5, 0.02, 0.02, -1; show_hudmessage iAttacker, "%i", iDamage; } else if(cs_get_user_team(iAttacker) == CS_TEAM_T) { set_hudmessage 200, 0, 0, Float: g_flCoords[g_iPosition[iAttacker]][0], Float: g_flCoords[g_iPosition[iAttacker]][1], 0, 0.1, 2.5, 0.02, 0.02, -1; show_hudmessage iAttacker, "%i", iDamage; } } else if(get_pcvar_num(g_Cvar[24]) == 3) { set_hudmessage random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.5, 0, 0.0, 0.1, 0.1, 0.1; show_hudmessage iAttacker, "%i", iDamage; }
else if(get_pcvar_num(g_Cvar[24]) == 4) { if(cs_get_user_team(iAttacker) == CS_TEAM_CT) { set_hudmessage 42, 170, 255, -1.0, 0.5, 0, 0.0, 0.1, 0.1, 0.1; show_hudmessage iAttacker, "%i", iDamage; } else if(cs_get_user_team(iAttacker) == CS_TEAM_T) { set_hudmessage 200, 0, 0, -1.0, 0.5, 0, 0.0, 0.1, 0.1, 0.1; show_hudmessage iAttacker, "%i", iDamage; } } } return 1; }
public showplayerC(user) { if(get_pcvar_num(g_Cvar[17]) == 1) { new tag[32]; get_pcvar_string g_Cvar[1], tag, charsmax(tag); new playerNames[33][32]; new message[256]; new id, count, x, len;
for(id = 0 ; id <= get_maxplayers() ; id++) if(is_user_connected(id)) if(get_user_flags(id)) get_user_name id, playerNames[count++], charsmax(playerNames[]); len = format(message, 255, "^3[%s] ^1player-ii online sunt:^4 ", tag); if(count > 0) { for(x = 0 ; x < count ; x++) { len += format(message[len], 255-len, "%s%s ", playerNames[x], x < (count-1) ? ", ":""); if(len > 96) { print_message(user, message); len = format(message, 255, " "); } } print_message(user, message); } else { #if AMXX_VERSION_NUM < 183 ColorChat user, GREEN, "^3[%s] ^1Nu sunt ^4VIP^1-i online.", tag; #else client_print_color user, print_team_default, "^3[%s] ^1Nu sunt ^4VIP^1-i online.", tag; #endif } } return 0; }
print_message(id, msg[]) { message_begin(MSG_ONE, get_user_msgid("SayText"), {0,0,0}, id); write_byte(id); write_string(msg); message_end(); } public playerTab(id) if(get_pcvar_num(g_Cvar[25]) == 1) set_task 0.5, "setplayerTab", id + 6910;
public setplayerTab(TaskID) { new id = TaskID - 6910; if(get_user_flags(id)) { message_begin(MSG_ALL, get_user_msgid("ScoreAttrib")); write_byte(id); write_byte(4); message_end(); } return 1; }
stock StripWeapons(id, Type, bool: bSwitchIfActive = true) { new iReturn; if(is_user_alive(id)) { new iEntity, iWeapon; while((iWeapon = GetWeaponFromSlot(id, Type, iEntity)) > 0) iReturn = ham_strip_user_weapon(id, iWeapon, Type, bSwitchIfActive); } return iReturn; }
stock GetWeaponFromSlot( id , iSlot , &iEntity ) { if ( !( 1 <= iSlot <= 5 ) ) return 0; iEntity = 0; const m_rgpPlayerItems_Slot0 = 367; const m_iId = 43; const XO_WEAPONS = 4; const XO_PLAYER = 5; iEntity = get_pdata_cbase( id , m_rgpPlayerItems_Slot0 + iSlot , XO_PLAYER ); return ( iEntity > 0 ) ? get_pdata_int( iEntity , m_iId , XO_WEAPONS ) : 0; } stock ham_strip_user_weapon(id, iCswId, iSlot = 0, bool:bSwitchIfActive = true) { new iWeapon if( !iSlot ) { static const iWeaponsSlots[] = { -1, 2, //CSW_P228 -1, 1, //CSW_SCOUT 4, //CSW_HEGRENADE 1, //CSW_XM1014 5, //CSW_C4 1, //CSW_MAC10 1, //CSW_AUG 4, //CSW_SMOKEGRENADE 2, //CSW_ELITE 2, //CSW_FIVESEVEN 1, //CSW_UMP45 1, //CSW_SG550 1, //CSW_GALIL 1, //CSW_FAMAS 2, //CSW_USP 2, //CSW_GLOCK18 1, //CSW_AWP 1, //CSW_MP5NAVY 1, //CSW_M249 1, //CSW_M3 1, //CSW_M4A1 1, //CSW_TMP 1, //CSW_G3SG1 4, //CSW_FLASHBANG 2, //CSW_DEAGLE 1, //CSW_SG552 1, //CSW_AK47 3, //CSW_KNIFE 1 //CSW_P90 } iSlot = iWeaponsSlots[iCswId] } const XTRA_OFS_PLAYER = 5 const m_rgpPlayerItems_Slot0 = 367 iWeapon = get_pdata_cbase(id, m_rgpPlayerItems_Slot0 + iSlot, XTRA_OFS_PLAYER) const XTRA_OFS_WEAPON = 4 const m_pNext = 42 const m_iId = 43 while( iWeapon > 0 ) { if( get_pdata_int(iWeapon, m_iId, XTRA_OFS_WEAPON) == iCswId ) { break } iWeapon = get_pdata_cbase(iWeapon, m_pNext, XTRA_OFS_WEAPON) } if( iWeapon > 0 ) { const m_pActiveItem = 373 if( bSwitchIfActive && get_pdata_cbase(id, m_pActiveItem, XTRA_OFS_PLAYER) == iWeapon ) { ExecuteHamB(Ham_Weapon_RetireWeapon, iWeapon) } if( ExecuteHamB(Ham_RemovePlayerItem, id, iWeapon) ) { user_has_weapon(id, iCswId, 0) ExecuteHamB(Ham_Item_Kill, iWeapon) return 1 } } return 0 }
Last edited by nesq; 02-26-2024 at 16:05.
|
|