Dabar yra 2019 Lie 18 09:05




 Puslapis 11 [ 9 pranešimai(ų) ] 
Autorius Žinutė
 Pranešimo tema: isejus is buy zone meniu blokuojamas
Žinutės numeris: #1  StandartinėParašytas: 2019 Geg 14 21:55 
Moderatorius
Vartotojo avataras

Užsiregistravo: 2012 Rgp 03 01:12
Pranešimai: 4492
Karma: 126

Miestas: Vilnius
Sveiki, gal kas galite padeti susitvarkyti meniu kad isejus zaidejui is buy zonos blokuotu ta meniu (ISJUNGIA)

kazkip turbut su sitais tai daroma

  1. register_event("StatusIcon", "Event_StatusIcon_Show_buyzone", "be", "1=1", "2=buyzone");
  2. register_event("StatusIcon", "StatusIcon_buyzone_OFF", "be", "1=0", "2=buyzone");
  3. register_event( "StatusIcon", "CloseOpenedMenu", "b", "1=0", "2=buyzone" )


vip meniu sma

  1. #include <amxmodx>
  2. #include <reapi>
  3. #include <vip_system>
  4.  
  5. #define ADMIN_LOADER
  6.  
  7. #pragma semicolon 1
  8. new const MenuKey = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<9);
  9.  
  10. enum _:cvars {
  11.     AUTO_MENU,
  12.     GIVE_ITEMS,
  13.     WEAPONSRND,
  14.     AWPM249RND,
  15.     SHOP,
  16.     SHOP_RND
  17. };
  18.  
  19. new iPistol[MAX_CLIENTS+1], bool:g_bUsePistol, bool:g_bUseWeapon[MAX_CLIENTS+1];
  20.  
  21. static sItems[10];
  22. new pCvar[cvars], pCvarCfg[cvars];
  23. new g_iRound;
  24.  
  25. public plugin_init() {
  26.     register_plugin("[ReVIP] Menu", VIP_SYSTEM_VERSION, "pUzzlik");
  27.     register_dictionary("vip_system.txt");
  28.  
  29.     //    auto open vip menu 1 - on, 0 - off
  30.     pCvar[AUTO_MENU] = register_cvar("open_menu_spawn", "0");
  31.     /*
  32.         flags items
  33.         a - armor
  34.         d - defuse
  35.         f - flashbang
  36.         h - hegranade
  37.         p - pistol
  38.         s - smoke
  39.     */
  40.     pCvar[GIVE_ITEMS] = register_cvar("give_items", "adfhps");
  41.     //    which is available with a round primary weapons
  42.     pCvar[WEAPONSRND] = register_cvar("primary_weapons_rnd", "2");
  43.     //    which is available with a round primary weapons
  44.     pCvar[AWPM249RND] = register_cvar("heavy_weapons_rnd", "4");
  45.     //    if you want to use a custom shop, (1 - enable)
  46.     pCvar[SHOP] = register_cvar("use_custom_shop", "1");
  47.     //    with round displayed shop menu
  48.     pCvar[SHOP_RND] = register_cvar("custom_shop_block_rnd", "2");
  49.  
  50.     register_clcmd("vipmenu", "ShowMenu");
  51.     register_clcmd("say /vipmenu", "ShowMenu");
  52.     register_clcmd("say_team /vipmenu", "ShowMenu");
  53.  
  54.     register_clcmd("say", "hook_say");
  55.     register_clcmd("say_team", "hook_say");
  56.  
  57.     register_menucmd(register_menuid("Vip Menu"), MenuKey, "MenuHandler");
  58. }
  59.  
  60. public plugin_cfg() {
  61.     get_pcvar_string(pCvar[GIVE_ITEMS],sItems,charsmax(sItems)); trim(sItems);
  62.     pCvarCfg[WEAPONSRND] = get_pcvar_num(pCvar[WEAPONSRND]);
  63.     pCvarCfg[AWPM249RND] = get_pcvar_num(pCvar[AWPM249RND]);
  64.     pCvarCfg[AUTO_MENU] = get_pcvar_num(pCvar[AUTO_MENU]);
  65.     pCvarCfg[SHOP] = get_pcvar_num(pCvar[SHOP]);
  66.     pCvarCfg[SHOP_RND] = get_pcvar_num(pCvar[SHOP_RND]);
  67. }
  68.  
  69. public vip_core_restart_round(round) {
  70.     arrayset(g_bUseWeapon, false, sizeof(g_bUseWeapon));
  71.     g_iRound = round;
  72. }
  73.  
  74. public vip_core_player_spawn(const id) {
  75.     if(core_is_bonus_spawn(id)) {
  76.         for(new i, str_len = strlen(sItems); i < str_len ; i++) {
  77.             switch(sItems[i]){
  78.                 case 'a': rg_set_user_armor(id, 100, ARMOR_VESTHELM);
  79.                 case 'd': {
  80.                     new TeamName:team = get_member(id, m_iTeam);
  81.                     if(team == TEAM_CT) rg_give_defusekit (id, true);
  82.                 }
  83.                 case 'f': {
  84.                     rg_give_item(id, "weapon_flashbang", GT_APPEND);
  85.                     rg_give_item(id, "weapon_flashbang", GT_APPEND);
  86.                 }
  87.                 case 'h': rg_give_item(id, "weapon_hegrenade", GT_APPEND);
  88.                 case 'p': {
  89.                     switch(iPistol[id]) {
  90.                         case 0: { rg_give_item(id, "weapon_deagle", GT_REPLACE); rg_set_user_bpammo(id, WEAPON_DEAGLE, 35); }
  91.                         case 1: { rg_give_item(id, "weapon_usp", GT_REPLACE); rg_set_user_bpammo(id, WEAPON_USP, 100); }
  92.                         case 2: { rg_give_item(id, "weapon_glock18", GT_REPLACE); rg_set_user_bpammo(id, WEAPON_GLOCK18, 120); }
  93.                     }
  94.                     g_bUsePistol = true;
  95.                 }
  96.                 case 's': rg_give_item(id, "weapon_smokegrenade", GT_APPEND);
  97.             }
  98.         }
  99.  
  100.         if(pCvarCfg[AUTO_MENU] && g_iRound >= pCvarCfg[WEAPONSRND]) ShowMenu(id);
  101.     }
  102. }
  103.  
  104. public hook_say(id) {
  105.     static szMsg[32]; read_args(szMsg, charsmax(szMsg)); remove_quotes(szMsg);
  106.     static const szChoosedWP[][] = { "/ak47", "/m4a1", "/famas", "/awp", "/b51" };
  107.  
  108.     for(new a; a < sizeof szChoosedWP; a++) {
  109.         if(!strcmp(szMsg, szChoosedWP[a])) {
  110.             if(!core_is_allow_use(id)) break;
  111.             return MenuHandler(id, a);
  112.         }
  113.     }
  114.     return PLUGIN_CONTINUE;
  115. }
  116.  
  117. public ShowMenu(id) {
  118.     if(!core_is_allow_use(id)) return PLUGIN_HANDLED;
  119.  
  120.     new szMenu[512], key; key = MENU_KEY_0;
  121.     new iLen, szName[16]; get_entvar(id, var_netname, szName, charsmax(szName));
  122.    
  123.     iLen = formatex(szMenu, charsmax(szMenu), "\r%L \w[\d%L\w]^n\w%L^n", LANG_SERVER, "MENU_NAME", LANG_SERVER, "NAME_SERVER", LANG_SERVER, "WELCOME", szName);
  124.  
  125.     #if defined ADMIN_LOADER
  126.         new exp = admin_expired(id);
  127.         if(exp > 0) {
  128.             new sys = get_systime();
  129.             if((exp - sys) / 86400 > 0)    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\ywill expired: \w%d d.!^n^n", (exp - sys) / 86400);
  130.         } else if(exp == 0) iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "%L^n^n", LANG_SERVER, "VIP_EXPIRED_PRMANENT");
  131.     #else
  132.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n");
  133.     #endif
  134.  
  135.     new szUseWpn[2]; formatex(szUseWpn, charsmax(szUseWpn), "%s", g_bUseWeapon[id] ? "d" : "w");
  136.  
  137.     if(g_iRound < pCvarCfg[WEAPONSRND])
  138.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r1. \d%L \r%L^n\r2. \d%L \r%L^n\r3. \d%L \r%L^n", LANG_SERVER, "AK47", LANG_SERVER, "ROUND", g_iRound, pCvarCfg[WEAPONSRND], LANG_SERVER, "M4A1", LANG_SERVER, "ROUND", g_iRound, pCvarCfg[WEAPONSRND], LANG_SERVER, "FAMAS", LANG_SERVER, "ROUND", g_iRound, pCvarCfg[WEAPONSRND]);
  139.     else {
  140.         key |= MENU_KEY_1|MENU_KEY_2|MENU_KEY_3;
  141.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r1. \%s%L^n\r2. \%s%L^n\r3. \%s%L^n", szUseWpn, LANG_SERVER, "AK47", szUseWpn, LANG_SERVER, "M4A1", szUseWpn, LANG_SERVER, "FAMAS");
  142.     }
  143.  
  144.     if(g_iRound < pCvarCfg[AWPM249RND])
  145.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r4. \d%L \r%L^n\r5. \d%L \r%L^n^n", LANG_SERVER, "AWP", LANG_SERVER, "ROUND", g_iRound, pCvarCfg[AWPM249RND], LANG_SERVER, "GALIL", LANG_SERVER, "ROUND", g_iRound, pCvarCfg[AWPM249RND]);
  146.     else {
  147.         key |= MENU_KEY_4|MENU_KEY_5;
  148.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r4. \%s%L^n\r5. \%s%L^n^n", szUseWpn, LANG_SERVER, "AWP", szUseWpn, LANG_SERVER, "GALIL");
  149.     }
  150.  
  151.     if(g_bUsePistol) {
  152.         key |= MENU_KEY_6;
  153.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r6. %L \r[\w%s\r]^n", LANG_SERVER, "PISTOL", iPistol[id] == 0 ? "Deagle" : iPistol[id] == 1 ? "USP" : "Glock");
  154.     }
  155.     formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n\r0. %L", LANG_SERVER, "EXIT");
  156.  
  157.     set_member(id, m_iMenu, Menu_OFF);
  158.     return show_menu(id, key, szMenu, -1, "Vip Menu");
  159. }
  160.  
  161. public MenuHandler(id, key) {
  162.     if(key <= 4) {
  163.         /***    Защита от дурака    ***/
  164.         if(g_iRound < pCvarCfg[WEAPONSRND]) return client_print_color(id, 0, "%L %L", LANG_SERVER, "CHAT_TAG", LANG_SERVER, "PISTOLS_ROUND");
  165.         /***    End        ***/
  166.         if(g_bUseWeapon[id]) return client_print_color(id, 0, "%L %L", LANG_SERVER, "CHAT_TAG", LANG_SERVER, "ALREDY_WEAPON_RND");
  167.         g_bUseWeapon[id] = true;
  168.        
  169.         static const szChoosedBP[] = { 90, 90, 90, 30, 90 };
  170.         static const szChoosedWP[][] = { "weapon_ak47", "weapon_m4a1", "weapon_famas", "weapon_awp", "weapon_galil" };
  171.        
  172.         return rg_give_items(id, szChoosedWP[key], szChoosedBP[key]);
  173.     }
  174.     else if (key == 5) GivePistol(id);
  175.     return PLUGIN_HANDLED;
  176. }
  177.  
  178. public GivePistol(id) {
  179.     iPistol[id] >= 2 ? (iPistol[id] = 0) : iPistol[id]++;
  180.     ShowMenu(id);
  181.     return PLUGIN_HANDLED;
  182. }
  183.  
  184. stock rg_give_items(id, currWeaponName[], ammoAmount) {
  185.     rg_drop_items_by_slot(id, PRIMARY_WEAPON_SLOT);
  186.  
  187.     rg_give_item(id, currWeaponName, GT_APPEND);
  188.     rg_set_user_bpammo(id, rg_get_weapon_info(currWeaponName, WI_ID), ammoAmount);
  189.  
  190.     engclient_cmd(id, currWeaponName);
  191.     return PLUGIN_HANDLED;
  192. }


Prikabinti failai:
re_vipmenu.sma [7.85 KiB]
Atsisiųsta 42 kartus(ų)

_________________
Paveikslėlis
Paveikslėlis
Paveikslėlis
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: isejus is buy zone meniu blokuojamas
Žinutės numeris: #2  StandartinėParašytas: 2019 Geg 24 08:39 
O taip. Jis jau surinko 50 žinučių!

Užsiregistravo: 2015 Kov 01 23:29
Pranešimai: 94
Karma: 0
galima ikelti koda, kad tiesiog po keliu sec užsidarytu ir tiek, tarkim po 5sec.


Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: isejus is buy zone meniu blokuojamas
Žinutės numeris: #3  StandartinėParašytas: 2019 Geg 24 11:50 
Moderatorius
Vartotojo avataras

Užsiregistravo: 2012 Rgp 03 01:12
Pranešimai: 4492
Karma: 126

Miestas: Vilnius
Molvas rašė:
galima ikelti koda, kad tiesiog po keliu sec užsidarytu ir tiek, tarkim po 5sec.

zianu kad galima bet as to nenoriu. noriu buten taip kaip parasiau :2D:

  1. #include <amxmodx>
  2. #include <cstrike>
  3. #include <amxmisc>
  4. #include <reapi>
  5. #include <vip_system>
  6.  
  7.  
  8. #pragma semicolon 1
  9. enum _:cvars { FLAG_DEF, FLAG, VIPMENU, BLOCKBONUS };
  10. new pCvar[cvars], g_Flags[cvars], g_iMenuRnd, g_iBonusRnd;
  11.  
  12. enum _:fwd { FWD_SPAWN, FWD_RESTART };
  13. new g_fwdFunction[fwd];
  14. new g_iRound;
  15.  
  16. new HookChain:HookSpawn;
  17.  
  18. public plugin_natives() {
  19.     register_library(VIP_SYSTEM_VERSION);
  20.     register_native("get_flag_access_def", "native_flag_access_def", 1);
  21.     register_native("get_flag_access", "native_flag_access", 1);
  22.     register_native("get_round_num", "native_round_num", 1);
  23.     register_native("get_block_maps", "native_block_maps", 1);
  24.     register_native("core_is_bonus_spawn", "native_bonus_spawn", 1);
  25.     register_native("core_is_allow_use", "native_allow_use", 1);
  26. }
  27.  
  28. public native_flag_access_def(id){
  29.     if(is_user_connected(id) && get_user_flags(id) & g_Flags[FLAG_DEF]) return true;
  30.     return false;
  31. }
  32.  
  33. public native_flag_access(id){
  34.     if(is_user_connected(id) && get_user_flags(id) & g_Flags[FLAG]) return true;
  35.     return false;
  36. }
  37.  
  38. public native_round_num()
  39.     return g_iRound;
  40.    
  41. public native_block_maps() {
  42.     new szDisabledFile[64];
  43.     get_configsdir(szDisabledFile, charsmax(szDisabledFile));
  44.     formatex(szDisabledFile, charsmax(szDisabledFile), "%s/vip_disabled_maps.cfg", szDisabledFile);
  45.  
  46.     if(file_exists(szDisabledFile)) {
  47.         new iLineNum, szData[64], iTextLen;
  48.         new szMapName[64]; rh_get_mapname(szMapName, charsmax(szMapName));
  49.  
  50.         while(read_file(szDisabledFile, iLineNum, szData, charsmax(szData), iTextLen)) {
  51.             if(containi(szMapName, szData) != -1) return true;
  52.             iLineNum++;
  53.         }
  54.     }
  55.     return false;
  56. }
  57.    
  58. public native_bonus_spawn(id) {
  59.     if(!is_user_alive(id)) return false;
  60.     if(get_block_maps()) return false;
  61.     if(!get_flag_access_def(id)) return false;
  62.     return true;
  63. }
  64.    
  65. public native_allow_use(id) {
  66.     if(!is_user_alive(id)) {
  67.         client_print_color(id, -2, "%L %L", LANG_SERVER, "CHAT_TAG", LANG_SERVER, "VIP_ALIVE");
  68.         return false;
  69.     }
  70.     if(get_block_maps()) {
  71.         client_print_color(id, -2, "%L %L", LANG_SERVER, "CHAT_TAG", LANG_SERVER, "BLOCK_MAPS");
  72.         return false;
  73.     }
  74.     if(!get_flag_access_def(id)) {
  75.         client_print_color(id, -2, "%L %L", LANG_SERVER, "CHAT_TAG", LANG_SERVER, "ONLY_VIP");
  76.         return false;
  77.     }
  78.     if(g_iMenuRnd > g_iRound) {
  79.         client_print_color(id, -2, "%L %L", LANG_SERVER, "CHAT_TAG", LANG_SERVER, "WARMUP_ROUND");
  80.         return false;
  81.     }
  82.     if(!cs_get_user_buyzone(id)) {
  83.         client_print_color(id, -2, "%L %L", LANG_SERVER, "CHAT_TAG", LANG_SERVER, "BUY_ZONE");
  84.         return false;
  85.     }
  86.     return true;
  87. }
  88.  
  89. public plugin_init() {
  90.     register_plugin("[ReVIP] System Core", VIP_SYSTEM_VERSION, "pUzzlik");
  91.     register_dictionary("vip_system.txt");
  92.  
  93.     //  flag access def. t
  94.     pCvar[FLAG_DEF] = register_cvar("access_flag_vip", "t");
  95.     //  flag access (def. g)
  96.     pCvar[FLAG] = register_cvar("other_access_flag", "m");
  97.     //  with round displayed vip menu
  98.     pCvar[VIPMENU] = register_cvar("display_menu_rnd", "2");
  99.     //  with round enable forward spawn player
  100.     pCvar[BLOCKBONUS] = register_cvar("spawn_player_block", "2");
  101.  
  102.     g_fwdFunction[FWD_RESTART] = CreateMultiForward("vip_core_restart_round", ET_IGNORE, FP_CELL);
  103.     g_fwdFunction[FWD_SPAWN] = CreateMultiForward("vip_core_player_spawn", ET_IGNORE, FP_CELL);
  104.  
  105.     RegisterHookChain(RG_RoundEnd, "RoundEnd", true);
  106.     RegisterHookChain(RG_CSGameRules_RestartRound, "CSGameRules_RestartRound_Pre");
  107.     DisableHookChain(HookSpawn = RegisterHookChain(RG_CBasePlayer_Spawn, "CBasePlayer_Spawn", true));
  108.    
  109.     new szFileCfg[64];
  110.     get_configsdir(szFileCfg, charsmax(szFileCfg));
  111.     formatex(szFileCfg, charsmax(szFileCfg), "%s/vip_system.cfg", szFileCfg);
  112.     if(file_exists(szFileCfg)) server_cmd("exec %s", szFileCfg);
  113. }
  114.  
  115. public plugin_cfg() {
  116.     new sFlagDef[10]; get_pcvar_string(pCvar[FLAG_DEF], sFlagDef, charsmax(sFlagDef));
  117.     new sFlag[10]; get_pcvar_string(pCvar[FLAG], sFlag, charsmax(sFlag));
  118.     g_Flags[FLAG_DEF] = read_flags(sFlagDef);
  119.     g_Flags[FLAG] = read_flags(sFlag);
  120.     g_iMenuRnd = get_pcvar_num(pCvar[VIPMENU]);
  121.     g_iBonusRnd = get_pcvar_num(pCvar[BLOCKBONUS]);
  122. }
  123.  
  124. public RoundEnd(WinStatus:status, ScenarioEventEndRound:event) {
  125.     if(event == ROUND_GAME_COMMENCE || event == ROUND_GAME_RESTART) {
  126.         g_iRound = 0;
  127.         DisableHookChain(HookSpawn);
  128.     }
  129. }
  130.  
  131. public CSGameRules_RestartRound_Pre() {
  132.     g_iRound++;
  133.  
  134.     new Result;
  135.     ExecuteForward(g_fwdFunction[FWD_RESTART], Result, g_iRound);
  136.     if(g_iRound == g_iBonusRnd) EnableHookChain(HookSpawn);
  137. }
  138.  
  139. public CBasePlayer_Spawn(const id) {
  140.     new Result;
  141.     ExecuteForward(g_fwdFunction[FWD_SPAWN], Result, id);
  142. }


nelabai supranyu kodel nekompiliuoja :facepalms:

Cituoti:
//AMXXPC compile.exe
// by the AMX Mod X Dev Team


//// re_vip_core.sma
//
// C:\Users\Lina\Desktop\scripting\scripting\re_vip_core.sma(80) : error 017: un
defined symbol "cs_get_user_buyzone"
//
// 1 Error.
// Could not locate output file C:\Users\Lina\Desktop\scripting\scripting\compil
ed\re_vip_core.amx (compile failed).
//
// Compilation Time: 0,47 sec
// ----------------------------------------

Press enter to exit ...



_________________
Paveikslėlis
Paveikslėlis
Paveikslėlis
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: isejus is buy zone meniu blokuojamas
Žinutės numeris: #4  StandartinėParašytas: 2019 Geg 25 20:29 
O taip. Jis jau surinko 50 žinučių!

Užsiregistravo: 2015 Kov 01 23:29
Pranešimai: 94
Karma: 0
nesupranta cs_get_user_buyzone kas per dalykas


Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: isejus is buy zone meniu blokuojamas
Žinutės numeris: #5  StandartinėParašytas: 2019 Geg 26 07:17 
Moderatorius
Vartotojo avataras

Užsiregistravo: 2012 Rgp 03 01:12
Pranešimai: 4492
Karma: 126

Miestas: Vilnius
Molvas rašė:
nesupranta cs_get_user_buyzone kas per dalykas

tai va ir nesuprantu cstrike includa pridejas jugi



_________________
Paveikslėlis
Paveikslėlis
Paveikslėlis
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: isejus is buy zone meniu blokuojamas
Žinutės numeris: #6  StandartinėParašytas: 2019 Bir 01 00:19 
Ar galit patikėti? Jis jau parašė 20 žinučių
Vartotojo avataras

Užsiregistravo: 2015 Geg 29 22:41
Pranešimai: 27
Karma: 2
laimiukas3 rašė:
Sveiki, gal kas galite padeti susitvarkyti meniu kad isejus zaidejui is buy zonos blokuotu ta meniu (ISJUNGIA)

kazkip turbut su sitais tai daroma

  1. register_event("StatusIcon", "Event_StatusIcon_Show_buyzone", "be", "1=1", "2=buyzone");
  2. register_event("StatusIcon", "StatusIcon_buyzone_OFF", "be", "1=0", "2=buyzone");
  3. register_event( "StatusIcon", "CloseOpenedMenu", "b", "1=0", "2=buyzone" )


vip meniu sma

  1. #include <amxmodx>
  2. #include <reapi>
  3. #include <vip_system>
  4.  
  5. #define ADMIN_LOADER
  6.  
  7. #pragma semicolon 1
  8. new const MenuKey = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<9);
  9.  
  10. enum _:cvars {
  11.     AUTO_MENU,
  12.     GIVE_ITEMS,
  13.     WEAPONSRND,
  14.     AWPM249RND,
  15.     SHOP,
  16.     SHOP_RND
  17. };
  18.  
  19. new iPistol[MAX_CLIENTS+1], bool:g_bUsePistol, bool:g_bUseWeapon[MAX_CLIENTS+1];
  20.  
  21. static sItems[10];
  22. new pCvar[cvars], pCvarCfg[cvars];
  23. new g_iRound;
  24.  
  25. public plugin_init() {
  26.     register_plugin("[ReVIP] Menu", VIP_SYSTEM_VERSION, "pUzzlik");
  27.     register_dictionary("vip_system.txt");
  28.  
  29.     //    auto open vip menu 1 - on, 0 - off
  30.     pCvar[AUTO_MENU] = register_cvar("open_menu_spawn", "0");
  31.     /*
  32.         flags items
  33.         a - armor
  34.         d - defuse
  35.         f - flashbang
  36.         h - hegranade
  37.         p - pistol
  38.         s - smoke
  39.     */
  40.     pCvar[GIVE_ITEMS] = register_cvar("give_items", "adfhps");
  41.     //    which is available with a round primary weapons
  42.     pCvar[WEAPONSRND] = register_cvar("primary_weapons_rnd", "2");
  43.     //    which is available with a round primary weapons
  44.     pCvar[AWPM249RND] = register_cvar("heavy_weapons_rnd", "4");
  45.     //    if you want to use a custom shop, (1 - enable)
  46.     pCvar[SHOP] = register_cvar("use_custom_shop", "1");
  47.     //    with round displayed shop menu
  48.     pCvar[SHOP_RND] = register_cvar("custom_shop_block_rnd", "2");
  49.  
  50.     register_clcmd("vipmenu", "ShowMenu");
  51.     register_clcmd("say /vipmenu", "ShowMenu");
  52.     register_clcmd("say_team /vipmenu", "ShowMenu");
  53.  
  54.     register_clcmd("say", "hook_say");
  55.     register_clcmd("say_team", "hook_say");
  56.  
  57.     register_menucmd(register_menuid("Vip Menu"), MenuKey, "MenuHandler");
  58. }
  59.  
  60. public plugin_cfg() {
  61.     get_pcvar_string(pCvar[GIVE_ITEMS],sItems,charsmax(sItems)); trim(sItems);
  62.     pCvarCfg[WEAPONSRND] = get_pcvar_num(pCvar[WEAPONSRND]);
  63.     pCvarCfg[AWPM249RND] = get_pcvar_num(pCvar[AWPM249RND]);
  64.     pCvarCfg[AUTO_MENU] = get_pcvar_num(pCvar[AUTO_MENU]);
  65.     pCvarCfg[SHOP] = get_pcvar_num(pCvar[SHOP]);
  66.     pCvarCfg[SHOP_RND] = get_pcvar_num(pCvar[SHOP_RND]);
  67. }
  68.  
  69. public vip_core_restart_round(round) {
  70.     arrayset(g_bUseWeapon, false, sizeof(g_bUseWeapon));
  71.     g_iRound = round;
  72. }
  73.  
  74. public vip_core_player_spawn(const id) {
  75.     if(core_is_bonus_spawn(id)) {
  76.         for(new i, str_len = strlen(sItems); i < str_len ; i++) {
  77.             switch(sItems[i]){
  78.                 case 'a': rg_set_user_armor(id, 100, ARMOR_VESTHELM);
  79.                 case 'd': {
  80.                     new TeamName:team = get_member(id, m_iTeam);
  81.                     if(team == TEAM_CT) rg_give_defusekit (id, true);
  82.                 }
  83.                 case 'f': {
  84.                     rg_give_item(id, "weapon_flashbang", GT_APPEND);
  85.                     rg_give_item(id, "weapon_flashbang", GT_APPEND);
  86.                 }
  87.                 case 'h': rg_give_item(id, "weapon_hegrenade", GT_APPEND);
  88.                 case 'p': {
  89.                     switch(iPistol[id]) {
  90.                         case 0: { rg_give_item(id, "weapon_deagle", GT_REPLACE); rg_set_user_bpammo(id, WEAPON_DEAGLE, 35); }
  91.                         case 1: { rg_give_item(id, "weapon_usp", GT_REPLACE); rg_set_user_bpammo(id, WEAPON_USP, 100); }
  92.                         case 2: { rg_give_item(id, "weapon_glock18", GT_REPLACE); rg_set_user_bpammo(id, WEAPON_GLOCK18, 120); }
  93.                     }
  94.                     g_bUsePistol = true;
  95.                 }
  96.                 case 's': rg_give_item(id, "weapon_smokegrenade", GT_APPEND);
  97.             }
  98.         }
  99.  
  100.         if(pCvarCfg[AUTO_MENU] && g_iRound >= pCvarCfg[WEAPONSRND]) ShowMenu(id);
  101.     }
  102. }
  103.  
  104. public hook_say(id) {
  105.     static szMsg[32]; read_args(szMsg, charsmax(szMsg)); remove_quotes(szMsg);
  106.     static const szChoosedWP[][] = { "/ak47", "/m4a1", "/famas", "/awp", "/b51" };
  107.  
  108.     for(new a; a < sizeof szChoosedWP; a++) {
  109.         if(!strcmp(szMsg, szChoosedWP[a])) {
  110.             if(!core_is_allow_use(id)) break;
  111.             return MenuHandler(id, a);
  112.         }
  113.     }
  114.     return PLUGIN_CONTINUE;
  115. }
  116.  
  117. public ShowMenu(id) {
  118.     if(!core_is_allow_use(id)) return PLUGIN_HANDLED;
  119.  
  120.     new szMenu[512], key; key = MENU_KEY_0;
  121.     new iLen, szName[16]; get_entvar(id, var_netname, szName, charsmax(szName));
  122.    
  123.     iLen = formatex(szMenu, charsmax(szMenu), "\r%L \w[\d%L\w]^n\w%L^n", LANG_SERVER, "MENU_NAME", LANG_SERVER, "NAME_SERVER", LANG_SERVER, "WELCOME", szName);
  124.  
  125.     #if defined ADMIN_LOADER
  126.         new exp = admin_expired(id);
  127.         if(exp > 0) {
  128.             new sys = get_systime();
  129.             if((exp - sys) / 86400 > 0)    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\ywill expired: \w%d d.!^n^n", (exp - sys) / 86400);
  130.         } else if(exp == 0) iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "%L^n^n", LANG_SERVER, "VIP_EXPIRED_PRMANENT");
  131.     #else
  132.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n");
  133.     #endif
  134.  
  135.     new szUseWpn[2]; formatex(szUseWpn, charsmax(szUseWpn), "%s", g_bUseWeapon[id] ? "d" : "w");
  136.  
  137.     if(g_iRound < pCvarCfg[WEAPONSRND])
  138.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r1. \d%L \r%L^n\r2. \d%L \r%L^n\r3. \d%L \r%L^n", LANG_SERVER, "AK47", LANG_SERVER, "ROUND", g_iRound, pCvarCfg[WEAPONSRND], LANG_SERVER, "M4A1", LANG_SERVER, "ROUND", g_iRound, pCvarCfg[WEAPONSRND], LANG_SERVER, "FAMAS", LANG_SERVER, "ROUND", g_iRound, pCvarCfg[WEAPONSRND]);
  139.     else {
  140.         key |= MENU_KEY_1|MENU_KEY_2|MENU_KEY_3;
  141.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r1. \%s%L^n\r2. \%s%L^n\r3. \%s%L^n", szUseWpn, LANG_SERVER, "AK47", szUseWpn, LANG_SERVER, "M4A1", szUseWpn, LANG_SERVER, "FAMAS");
  142.     }
  143.  
  144.     if(g_iRound < pCvarCfg[AWPM249RND])
  145.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r4. \d%L \r%L^n\r5. \d%L \r%L^n^n", LANG_SERVER, "AWP", LANG_SERVER, "ROUND", g_iRound, pCvarCfg[AWPM249RND], LANG_SERVER, "GALIL", LANG_SERVER, "ROUND", g_iRound, pCvarCfg[AWPM249RND]);
  146.     else {
  147.         key |= MENU_KEY_4|MENU_KEY_5;
  148.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r4. \%s%L^n\r5. \%s%L^n^n", szUseWpn, LANG_SERVER, "AWP", szUseWpn, LANG_SERVER, "GALIL");
  149.     }
  150.  
  151.     if(g_bUsePistol) {
  152.         key |= MENU_KEY_6;
  153.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r6. %L \r[\w%s\r]^n", LANG_SERVER, "PISTOL", iPistol[id] == 0 ? "Deagle" : iPistol[id] == 1 ? "USP" : "Glock");
  154.     }
  155.     formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n\r0. %L", LANG_SERVER, "EXIT");
  156.  
  157.     set_member(id, m_iMenu, Menu_OFF);
  158.     return show_menu(id, key, szMenu, -1, "Vip Menu");
  159. }
  160.  
  161. public MenuHandler(id, key) {
  162.     if(key <= 4) {
  163.         /***    Защита от дурака    ***/
  164.         if(g_iRound < pCvarCfg[WEAPONSRND]) return client_print_color(id, 0, "%L %L", LANG_SERVER, "CHAT_TAG", LANG_SERVER, "PISTOLS_ROUND");
  165.         /***    End        ***/
  166.         if(g_bUseWeapon[id]) return client_print_color(id, 0, "%L %L", LANG_SERVER, "CHAT_TAG", LANG_SERVER, "ALREDY_WEAPON_RND");
  167.         g_bUseWeapon[id] = true;
  168.        
  169.         static const szChoosedBP[] = { 90, 90, 90, 30, 90 };
  170.         static const szChoosedWP[][] = { "weapon_ak47", "weapon_m4a1", "weapon_famas", "weapon_awp", "weapon_galil" };
  171.        
  172.         return rg_give_items(id, szChoosedWP[key], szChoosedBP[key]);
  173.     }
  174.     else if (key == 5) GivePistol(id);
  175.     return PLUGIN_HANDLED;
  176. }
  177.  
  178. public GivePistol(id) {
  179.     iPistol[id] >= 2 ? (iPistol[id] = 0) : iPistol[id]++;
  180.     ShowMenu(id);
  181.     return PLUGIN_HANDLED;
  182. }
  183.  
  184. stock rg_give_items(id, currWeaponName[], ammoAmount) {
  185.     rg_drop_items_by_slot(id, PRIMARY_WEAPON_SLOT);
  186.  
  187.     rg_give_item(id, currWeaponName, GT_APPEND);
  188.     rg_set_user_bpammo(id, rg_get_weapon_info(currWeaponName, WI_ID), ammoAmount);
  189.  
  190.     engclient_cmd(id, currWeaponName);
  191.     return PLUGIN_HANDLED;
  192. }


Iš mobiliojo rašau, tai šiek tiek sunkiau. Jeigu netiks, ryt pažiūrėsiu per PC. Man kažkada yra panaši situacija atsitikus dėl eiliškumo:

Problema :

  1.  
  2. #include <amxmodx>
  3. #include <cstrike>
  4. #include <amxmisc>
  5.  


Sprendimas
--->


  1.  
  2. #include <amxmodx>
  3. #include <amxmisc>
  4. #include <cstrike>
  5.  


Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: isejus is buy zone meniu blokuojamas
Žinutės numeris: #7  StandartinėParašytas: 2019 Bir 01 10:40 
Moderatorius
Vartotojo avataras

Užsiregistravo: 2012 Rgp 03 01:12
Pranešimai: 4492
Karma: 126

Miestas: Vilnius
jo sukompilevo negalvojau kad dar eiliskumas yra kazkoks
bet neveikia vistiek del to buy zone meniu uzdarimo



_________________
Paveikslėlis
Paveikslėlis
Paveikslėlis
Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: isejus is buy zone meniu blokuojamas
Žinutės numeris: #8  StandartinėParašytas: 2019 Bir 01 18:06 
Ar galit patikėti? Jis jau parašė 20 žinučių
Vartotojo avataras

Užsiregistravo: 2015 Geg 29 22:41
Pranešimai: 27
Karma: 2
laimiukas3 rašė:
jo sukompilevo negalvojau kad dar eiliskumas yra kazkoks
bet neveikia vistiek del to buy zone meniu uzdarimo


Peržiūrėjau source ir matau, kad ten ant natives bandyta kažką raizgaliot, bet visiškai tas nebūtina, tai labai ir nesigilinau. :D
Į vip_system.txt data/lang file prisidek tik : BUY_ZONE_MENU_OFF

  1. BUY_ZONE_MENU_OFF = Atsiprasome, pirkimo zonoje VIP menu neveikia.


P.s netestavau, jeigu neveiks, pranešk :D

SMA VIP apačioje :

  1. #include <amxmodx>
  2. #include <cstrike>
  3. #include <reapi>
  4. #include <vip_system>
  5.  
  6. #define ADMIN_LOADER
  7.  
  8. #pragma semicolon 1
  9. new const MenuKey = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<9);
  10.  
  11. enum _:cvars {
  12.     AUTO_MENU,
  13.     GIVE_ITEMS,
  14.     WEAPONSRND,
  15.     AWPM249RND,
  16.     SHOP,
  17.     SHOP_RND
  18. };
  19.  
  20. new iPistol[MAX_CLIENTS+1], bool:g_bUsePistol, bool:g_bUseWeapon[MAX_CLIENTS+1];
  21.  
  22. static sItems[10];
  23. new pCvar[cvars], pCvarCfg[cvars];
  24. new g_iRound;
  25.  
  26. public plugin_init() {
  27.     register_plugin("[ReVIP] Menu", VIP_SYSTEM_VERSION, "pUzzlik");
  28.     register_dictionary("vip_system.txt");
  29.  
  30.     //    auto open vip menu 1 - on, 0 - off
  31.     pCvar[AUTO_MENU] = register_cvar("open_menu_spawn", "0");
  32.     /*
  33.         flags items
  34.         a - armor
  35.         d - defuse
  36.         f - flashbang
  37.         h - hegranade
  38.         p - pistol
  39.         s - smoke
  40.     */
  41.     pCvar[GIVE_ITEMS] = register_cvar("give_items", "adfhps");
  42.     //    which is available with a round primary weapons
  43.     pCvar[WEAPONSRND] = register_cvar("primary_weapons_rnd", "2");
  44.     //    which is available with a round primary weapons
  45.     pCvar[AWPM249RND] = register_cvar("heavy_weapons_rnd", "4");
  46.     //    if you want to use a custom shop, (1 - enable)
  47.     pCvar[SHOP] = register_cvar("use_custom_shop", "1");
  48.     //    with round displayed shop menu
  49.     pCvar[SHOP_RND] = register_cvar("custom_shop_block_rnd", "2");
  50.  
  51.     register_clcmd("vipmenu", "ShowMenu");
  52.     register_clcmd("say /vipmenu", "ShowMenu");
  53.     register_clcmd("say_team /vipmenu", "ShowMenu");
  54.  
  55.     register_clcmd("say", "hook_say");
  56.     register_clcmd("say_team", "hook_say");
  57.  
  58.     register_menucmd(register_menuid("Vip Menu"), MenuKey, "MenuHandler");
  59. }
  60.  
  61. public plugin_cfg() {
  62.     get_pcvar_string(pCvar[GIVE_ITEMS],sItems,charsmax(sItems)); trim(sItems);
  63.     pCvarCfg[WEAPONSRND] = get_pcvar_num(pCvar[WEAPONSRND]);
  64.     pCvarCfg[AWPM249RND] = get_pcvar_num(pCvar[AWPM249RND]);
  65.     pCvarCfg[AUTO_MENU] = get_pcvar_num(pCvar[AUTO_MENU]);
  66.     pCvarCfg[SHOP] = get_pcvar_num(pCvar[SHOP]);
  67.     pCvarCfg[SHOP_RND] = get_pcvar_num(pCvar[SHOP_RND]);
  68. }
  69.  
  70. public vip_core_restart_round(round) {
  71.     arrayset(g_bUseWeapon, false, sizeof(g_bUseWeapon));
  72.     g_iRound = round;
  73. }
  74.  
  75. public vip_core_player_spawn(const id) {
  76.     if(core_is_bonus_spawn(id)) {
  77.         for(new i, str_len = strlen(sItems); i < str_len ; i++) {
  78.             switch(sItems[i]){
  79.                 case 'a': rg_set_user_armor(id, 100, ARMOR_VESTHELM);
  80.                 case 'd': {
  81.                     new TeamName:team = get_member(id, m_iTeam);
  82.                     if(team == TEAM_CT) rg_give_defusekit (id, true);
  83.                 }
  84.                 case 'f': {
  85.                     rg_give_item(id, "weapon_flashbang", GT_APPEND);
  86.                     rg_give_item(id, "weapon_flashbang", GT_APPEND);
  87.                 }
  88.                 case 'h': rg_give_item(id, "weapon_hegrenade", GT_APPEND);
  89.                 case 'p': {
  90.                     switch(iPistol[id]) {
  91.                         case 0: { rg_give_item(id, "weapon_deagle", GT_REPLACE); rg_set_user_bpammo(id, WEAPON_DEAGLE, 35); }
  92.                         case 1: { rg_give_item(id, "weapon_usp", GT_REPLACE); rg_set_user_bpammo(id, WEAPON_USP, 100); }
  93.                         case 2: { rg_give_item(id, "weapon_glock18", GT_REPLACE); rg_set_user_bpammo(id, WEAPON_GLOCK18, 120); }
  94.                     }
  95.                     g_bUsePistol = true;
  96.                 }
  97.                 case 's': rg_give_item(id, "weapon_smokegrenade", GT_APPEND);
  98.             }
  99.         }
  100.  
  101.         if(pCvarCfg[AUTO_MENU] && g_iRound >= pCvarCfg[WEAPONSRND]) ShowMenu(id);
  102.     }
  103. }
  104.  
  105. public hook_say(id) {
  106.     static szMsg[32]; read_args(szMsg, charsmax(szMsg)); remove_quotes(szMsg);
  107.     static const szChoosedWP[][] = { "/ak47", "/m4a1", "/famas", "/awp", "/b51" };
  108.  
  109.     for(new a; a < sizeof szChoosedWP; a++) {
  110.         if(!strcmp(szMsg, szChoosedWP[a])) {
  111.             if(!core_is_allow_use(id)) break;
  112.             return MenuHandler(id, a);
  113.         }
  114.     }
  115.     return PLUGIN_CONTINUE;
  116. }
  117.  
  118. public ShowMenu(id) {
  119.  
  120.     if(!(cs_get_user_buyzone(id)))
  121.     {
  122.         print_colorchat(id, "!g[!tVIP!g] !y%L", LANG_PLAYER, "BUY_ZONE_MENU_OFF");
  123.         return PLUGIN_HANDLED;
  124.     }
  125.  
  126.     new szMenu[512], key; key = MENU_KEY_0;
  127.     new iLen, szName[16]; get_entvar(id, var_netname, szName, charsmax(szName));
  128.    
  129.     iLen = formatex(szMenu, charsmax(szMenu), "\r%L \w[\d%L\w]^n\w%L^n", LANG_SERVER, "MENU_NAME", LANG_SERVER, "NAME_SERVER", LANG_SERVER, "WELCOME", szName);
  130.  
  131.     #if defined ADMIN_LOADER
  132.         new exp = admin_expired(id);
  133.         if(exp > 0) {
  134.             new sys = get_systime();
  135.             if((exp - sys) / 86400 > 0)    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\ywill expired: \w%d d.!^n^n", (exp - sys) / 86400);
  136.         } else if(exp == 0) iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "%L^n^n", LANG_SERVER, "VIP_EXPIRED_PRMANENT");
  137.     #else
  138.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n");
  139.     #endif
  140.  
  141.     new szUseWpn[2]; formatex(szUseWpn, charsmax(szUseWpn), "%s", g_bUseWeapon[id] ? "d" : "w");
  142.  
  143.     if(g_iRound < pCvarCfg[WEAPONSRND])
  144.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r1. \d%L \r%L^n\r2. \d%L \r%L^n\r3. \d%L \r%L^n", LANG_SERVER, "AK47", LANG_SERVER, "ROUND", g_iRound, pCvarCfg[WEAPONSRND], LANG_SERVER, "M4A1", LANG_SERVER, "ROUND", g_iRound, pCvarCfg[WEAPONSRND], LANG_SERVER, "FAMAS", LANG_SERVER, "ROUND", g_iRound, pCvarCfg[WEAPONSRND]);
  145.     else {
  146.         key |= MENU_KEY_1|MENU_KEY_2|MENU_KEY_3;
  147.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r1. \%s%L^n\r2. \%s%L^n\r3. \%s%L^n", szUseWpn, LANG_SERVER, "AK47", szUseWpn, LANG_SERVER, "M4A1", szUseWpn, LANG_SERVER, "FAMAS");
  148.     }
  149.  
  150.     if(g_iRound < pCvarCfg[AWPM249RND])
  151.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r4. \d%L \r%L^n\r5. \d%L \r%L^n^n", LANG_SERVER, "AWP", LANG_SERVER, "ROUND", g_iRound, pCvarCfg[AWPM249RND], LANG_SERVER, "GALIL", LANG_SERVER, "ROUND", g_iRound, pCvarCfg[AWPM249RND]);
  152.     else {
  153.         key |= MENU_KEY_4|MENU_KEY_5;
  154.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r4. \%s%L^n\r5. \%s%L^n^n", szUseWpn, LANG_SERVER, "AWP", szUseWpn, LANG_SERVER, "GALIL");
  155.     }
  156.  
  157.     if(g_bUsePistol) {
  158.         key |= MENU_KEY_6;
  159.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r6. %L \r[\w%s\r]^n", LANG_SERVER, "PISTOL", iPistol[id] == 0 ? "Deagle" : iPistol[id] == 1 ? "USP" : "Glock");
  160.     }
  161.     formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n\r0. %L", LANG_SERVER, "EXIT");
  162.  
  163.     set_member(id, m_iMenu, Menu_OFF);
  164.     return show_menu(id, key, szMenu, -1, "Vip Menu");
  165. }
  166.  
  167. public MenuHandler(id, key) {
  168.     if(key <= 4) {
  169.         /***    Защита от дурака    ***/
  170.         if(g_iRound < pCvarCfg[WEAPONSRND]) return client_print_color(id, 0, "%L %L", LANG_SERVER, "CHAT_TAG", LANG_SERVER, "PISTOLS_ROUND");
  171.         /***    End        ***/
  172.         if(g_bUseWeapon[id]) return client_print_color(id, 0, "%L %L", LANG_SERVER, "CHAT_TAG", LANG_SERVER, "ALREDY_WEAPON_RND");
  173.         g_bUseWeapon[id] = true;
  174.        
  175.         static const szChoosedBP[] = { 90, 90, 90, 30, 90 };
  176.         static const szChoosedWP[][] = { "weapon_ak47", "weapon_m4a1", "weapon_famas", "weapon_awp", "weapon_galil" };
  177.        
  178.         return rg_give_items(id, szChoosedWP[key], szChoosedBP[key]);
  179.     }
  180.     else if (key == 5) GivePistol(id);
  181.     return PLUGIN_HANDLED;
  182. }
  183.  
  184. public GivePistol(id) {
  185.     iPistol[id] >= 2 ? (iPistol[id] = 0) : iPistol[id]++;
  186.     ShowMenu(id);
  187.     return PLUGIN_HANDLED;
  188. }
  189.  
  190. /*========================*/
  191. /*=========STOCKS=========*/
  192. /*========================*/
  193.  
  194. stock print_colorchat(const id, const input[], any:...)
  195. {
  196.     new count = 1, players[32];
  197.     static msg[191];
  198.     vformat(msg,190,input,3);
  199.     replace_all(msg,190,"!g","^4");// green txt
  200.     replace_all(msg,190,"!y","^1");// orange txt
  201.     replace_all(msg,190,"!t","^3");// team txt
  202.     replace_all(msg,190,"!w","^0");// team txt
  203.     if (id) players[0] = id; else get_players(players,count,"ch");
  204.     for (new i=0;i<count;i++)
  205.         if (is_user_connected(players[i]))
  206.         {
  207.             message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
  208.             write_byte(players[i]);
  209.             write_string(msg);
  210.             message_end();
  211.         }
  212. }
  213.  
  214. stock rg_give_items(id, currWeaponName[], ammoAmount) {
  215.     rg_drop_items_by_slot(id, PRIMARY_WEAPON_SLOT);
  216.  
  217.     rg_give_item(id, currWeaponName, GT_APPEND);
  218.     rg_set_user_bpammo(id, rg_get_weapon_info(currWeaponName, WI_ID), ammoAmount);
  219.  
  220.     engclient_cmd(id, currWeaponName);
  221.     return PLUGIN_HANDLED;
  222. }
  223.  


Atsijungęs
 Aprašymas  
 
 Pranešimo tema: Re: isejus is buy zone meniu blokuojamas
Žinutės numeris: #9  StandartinėParašytas: 2019 Bir 03 21:22 
Moderatorius
Vartotojo avataras

Užsiregistravo: 2012 Rgp 03 01:12
Pranešimai: 4492
Karma: 126

Miestas: Vilnius
am nelabai veikia

am atsiprasau mano klaida as ne taip uzvadines buvau amxx delto ir neveike :D

truputi dar pakeiciau viskas veikia dekui + karma

ir gal kam prireiks

  1. #include <amxmodx>
  2. #include <cstrike>
  3. #include <reapi>
  4. #include <vip_system>
  5.  
  6. #define ADMIN_LOADER
  7. #define BUYZONE_USE
  8.  
  9. #pragma semicolon 1
  10. new const MenuKey = (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<9);
  11.  
  12. enum _:cvars {
  13.     AUTO_MENU,
  14.     GIVE_ITEMS,
  15.     WEAPONSRND,
  16.     AWPM249RND,
  17.     SHOP,
  18.     SHOP_RND
  19. };
  20.  
  21. new iPistol[MAX_CLIENTS+1], bool:g_bUsePistol, bool:g_bUseWeapon[MAX_CLIENTS+1];
  22.  
  23. static sItems[10];
  24. new pCvar[cvars], pCvarCfg[cvars];
  25. new g_iRound;
  26.  
  27. public plugin_init() {
  28.     register_plugin("[ReVIP] Menu", VIP_SYSTEM_VERSION, "pUzzlik");
  29.     register_dictionary("vip_system.txt");
  30.  
  31.     //    auto open vip menu 1 - on, 0 - off
  32.     pCvar[AUTO_MENU] = register_cvar("open_menu_spawn", "0");
  33.     /*
  34.         flags items
  35.         a - armor
  36.         d - defuse
  37.         f - flashbang
  38.         h - hegranade
  39.         p - pistol
  40.         s - smoke
  41.     */
  42.     pCvar[GIVE_ITEMS] = register_cvar("give_items", "adfhps");
  43.     //    which is available with a round primary weapons
  44.     pCvar[WEAPONSRND] = register_cvar("primary_weapons_rnd", "2");
  45.     //    which is available with a round primary weapons
  46.     pCvar[AWPM249RND] = register_cvar("heavy_weapons_rnd", "4");
  47.     //    if you want to use a custom shop, (1 - enable)
  48.     pCvar[SHOP] = register_cvar("use_custom_shop", "1");
  49.     //    with round displayed shop menu
  50.     pCvar[SHOP_RND] = register_cvar("custom_shop_block_rnd", "2");
  51.  
  52.     register_clcmd("vipmenu", "ShowMenu");
  53.     register_clcmd("say /vipmenu", "ShowMenu");
  54.     register_clcmd("say_team /vipmenu", "ShowMenu");
  55.  
  56.     register_clcmd("say", "hook_say");
  57.     register_clcmd("say_team", "hook_say");
  58.  
  59.     register_menucmd(register_menuid("Vip Menu"), MenuKey, "MenuHandler");
  60. }
  61.  
  62. public plugin_cfg() {
  63.     get_pcvar_string(pCvar[GIVE_ITEMS],sItems,charsmax(sItems)); trim(sItems);
  64.     pCvarCfg[WEAPONSRND] = get_pcvar_num(pCvar[WEAPONSRND]);
  65.     pCvarCfg[AWPM249RND] = get_pcvar_num(pCvar[AWPM249RND]);
  66.     pCvarCfg[AUTO_MENU] = get_pcvar_num(pCvar[AUTO_MENU]);
  67.     pCvarCfg[SHOP] = get_pcvar_num(pCvar[SHOP]);
  68.     pCvarCfg[SHOP_RND] = get_pcvar_num(pCvar[SHOP_RND]);
  69. }
  70.  
  71. public vip_core_restart_round(round) {
  72.     arrayset(g_bUseWeapon, false, sizeof(g_bUseWeapon));
  73.     g_iRound = round;
  74. }
  75.  
  76. public vip_core_player_spawn(const id) {
  77.     if(core_is_bonus_spawn(id)) {
  78.         for(new i, str_len = strlen(sItems); i < str_len ; i++) {
  79.             switch(sItems[i]){
  80.                 case 'a': rg_set_user_armor(id, 100, ARMOR_VESTHELM);
  81.                 case 'd': {
  82.                     new TeamName:team = get_member(id, m_iTeam);
  83.                     if(team == TEAM_CT) rg_give_defusekit (id, true);
  84.                 }
  85.                 case 'f': {
  86.                     rg_give_item(id, "weapon_flashbang", GT_APPEND);
  87.                     rg_give_item(id, "weapon_flashbang", GT_APPEND);
  88.                 }
  89.                 case 'h': rg_give_item(id, "weapon_hegrenade", GT_APPEND);
  90.                 case 'p': {
  91.                     switch(iPistol[id]) {
  92.                         case 0: { rg_give_item(id, "weapon_deagle", GT_REPLACE); rg_set_user_bpammo(id, WEAPON_DEAGLE, 35); }
  93.                         case 1: { rg_give_item(id, "weapon_usp", GT_REPLACE); rg_set_user_bpammo(id, WEAPON_USP, 100); }
  94.                         case 2: { rg_give_item(id, "weapon_glock18", GT_REPLACE); rg_set_user_bpammo(id, WEAPON_GLOCK18, 120); }
  95.                     }
  96.                     g_bUsePistol = true;
  97.                 }
  98.                 case 's': rg_give_item(id, "weapon_smokegrenade", GT_APPEND);
  99.             }
  100.         }
  101.  
  102.         if(pCvarCfg[AUTO_MENU] && g_iRound >= pCvarCfg[WEAPONSRND]) ShowMenu(id);
  103.     }
  104. }
  105.  
  106. public hook_say(id) {
  107.     static szMsg[32]; read_args(szMsg, charsmax(szMsg)); remove_quotes(szMsg);
  108.     static const szChoosedWP[][] = { "/ak47", "/m4a1", "/famas", "/awp", "/b51" };
  109.  
  110.     for(new a; a < sizeof szChoosedWP; a++) {
  111.         if(!strcmp(szMsg, szChoosedWP[a])) {
  112.             if(!core_is_allow_use(id)) break;
  113.             return MenuHandler(id, a);
  114.         }
  115.     }
  116.     return PLUGIN_CONTINUE;
  117. }
  118.  
  119. public ShowMenu(id) {
  120.     #if defined BUYZONE_USE
  121.     if(!cs_get_user_buyzone(id)) return PLUGIN_HANDLED;
  122.     #endif
  123.     if(!core_is_allow_use(id)) return PLUGIN_HANDLED;
  124.  
  125.     new szMenu[512], key; key = MENU_KEY_0;
  126.     new iLen, szName[16]; get_entvar(id, var_netname, szName, charsmax(szName));
  127.    
  128.     iLen = formatex(szMenu, charsmax(szMenu), "\r%L \w[\d%L\w]^n\w%L^n", LANG_SERVER, "MENU_NAME", LANG_SERVER, "NAME_SERVER", LANG_SERVER, "WELCOME", szName);
  129.  
  130.     #if defined ADMIN_LOADER
  131.         new exp = admin_expired(id);
  132.         if(exp > 0) {
  133.             new sys = get_systime();
  134.             if((exp - sys) / 86400 > 0)    iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\ywill expired: \w%d d.!^n^n", (exp - sys) / 86400);
  135.         } else if(exp == 0) iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "%L^n^n", LANG_SERVER, "VIP_EXPIRED_PRMANENT");
  136.     #else
  137.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n");
  138.     #endif
  139.  
  140.     new szUseWpn[2]; formatex(szUseWpn, charsmax(szUseWpn), "%s", g_bUseWeapon[id] ? "d" : "w");
  141.  
  142.     if(g_iRound < pCvarCfg[WEAPONSRND])
  143.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r1. \d%L \r%L^n\r2. \d%L \r%L^n\r3. \d%L \r%L^n", LANG_SERVER, "AK47", LANG_SERVER, "ROUND", g_iRound, pCvarCfg[WEAPONSRND], LANG_SERVER, "M4A1", LANG_SERVER, "ROUND", g_iRound, pCvarCfg[WEAPONSRND], LANG_SERVER, "FAMAS", LANG_SERVER, "ROUND", g_iRound, pCvarCfg[WEAPONSRND]);
  144.     else {
  145.         key |= MENU_KEY_1|MENU_KEY_2|MENU_KEY_3;
  146.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r1. \%s%L^n\r2. \%s%L^n\r3. \%s%L^n", szUseWpn, LANG_SERVER, "AK47", szUseWpn, LANG_SERVER, "M4A1", szUseWpn, LANG_SERVER, "FAMAS");
  147.     }
  148.  
  149.     if(g_iRound < pCvarCfg[AWPM249RND])
  150.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r4. \d%L \r%L^n\r5. \d%L \r%L^n^n", LANG_SERVER, "AWP", LANG_SERVER, "ROUND", g_iRound, pCvarCfg[AWPM249RND], LANG_SERVER, "GALIL", LANG_SERVER, "ROUND", g_iRound, pCvarCfg[AWPM249RND]);
  151.     else {
  152.         key |= MENU_KEY_4|MENU_KEY_5;
  153.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r4. \%s%L^n\r5. \%s%L^n^n", szUseWpn, LANG_SERVER, "AWP", szUseWpn, LANG_SERVER, "GALIL");
  154.     }
  155.  
  156.     if(g_bUsePistol) {
  157.         key |= MENU_KEY_6;
  158.         iLen += formatex(szMenu[iLen], charsmax(szMenu) - iLen, "\r6. %L \r[\w%s\r]^n", LANG_SERVER, "PISTOL", iPistol[id] == 0 ? "Deagle" : iPistol[id] == 1 ? "USP" : "Glock");
  159.     }
  160.     formatex(szMenu[iLen], charsmax(szMenu) - iLen, "^n\r0. %L", LANG_SERVER, "EXIT");
  161.  
  162.     set_member(id, m_iMenu, Menu_OFF);
  163.     return show_menu(id, key, szMenu, -1, "Vip Menu");
  164. }
  165.  
  166. public MenuHandler(id, key) {
  167.     #if defined BUYZONE_USE
  168.     if(!cs_get_user_buyzone(id)) return PLUGIN_HANDLED;
  169.     #endif
  170.     if(key <= 4) {
  171.         /***    Защита от дурака    ***/
  172.         if(g_iRound < pCvarCfg[WEAPONSRND]) return client_print_color(id, 0, "%L %L", LANG_SERVER, "CHAT_TAG", LANG_SERVER, "PISTOLS_ROUND");
  173.         /***    End        ***/
  174.         if(g_bUseWeapon[id]) return client_print_color(id, 0, "%L %L", LANG_SERVER, "CHAT_TAG", LANG_SERVER, "ALREDY_WEAPON_RND");
  175.         g_bUseWeapon[id] = true;
  176.        
  177.         static const szChoosedBP[] = { 90, 90, 90, 30, 90 };
  178.         static const szChoosedWP[][] = { "weapon_ak47", "weapon_m4a1", "weapon_famas", "weapon_awp", "weapon_galil" };
  179.        
  180.         return rg_give_items(id, szChoosedWP[key], szChoosedBP[key]);
  181.     }
  182.     else if (key == 5) GivePistol(id);
  183.     return PLUGIN_HANDLED;
  184. }
  185.  
  186. public GivePistol(id) {
  187.     iPistol[id] >= 2 ? (iPistol[id] = 0) : iPistol[id]++;
  188.     ShowMenu(id);
  189.     return PLUGIN_HANDLED;
  190. }
  191.  
  192. stock rg_give_items(id, currWeaponName[], ammoAmount) {
  193.     rg_drop_items_by_slot(id, PRIMARY_WEAPON_SLOT);
  194.  
  195.     rg_give_item(id, currWeaponName, GT_APPEND);
  196.     rg_set_user_bpammo(id, rg_get_weapon_info(currWeaponName, WI_ID), ammoAmount);
  197.  
  198.     engclient_cmd(id, currWeaponName);
  199.     return PLUGIN_HANDLED;
  200. }
  201.  



_________________
Paveikslėlis
Paveikslėlis
Paveikslėlis
Atsijungęs
 Aprašymas  
 
Rodyti paskutinius pranešimus:  Rūšiuoti pagal  
 Puslapis 11 [ 9 pranešimai(ų) ] 


Dabar prisijungę

Vartotojai naršantys šį forumą: Registruotų vartotojų nėra ir 9 svečių


Jūs negalite kurti naujų temų šiame forume
Jūs negalite atsakinėti į temas šiame forume
Jūs negalite redaguoti savo pranešimų šiame forume
Jūs negalite trinti savo pranešimų šiame forume
Jūs negalite prikabinti failų šiame forume

Ieškoti:
Pereiti į:  

cron