hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.06. 04:02



Jelenlévő felhasználók

Jelenleg 511 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 510 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot] az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 15 hozzászólás ]  Oldal Előző 1 2
Szerző Üzenet
 Hozzászólás témája: Re: Extended Weapon Menu probléma
HozzászólásElküldve: 2016.04.10. 15:20 
Offline
Senior Tag
Avatar

Csatlakozott: 2015.12.27. 11:34
Hozzászólások: 295
Megköszönt másnak: 944 alkalommal
Megköszönték neki: 16 alkalommal
mforce írta:
,

ez egy sima vessző, nem pontos.
Mellesleg a pontosvessző (;) kikommentelés, tehát anélkül kell.


De vessző nélkül nem indul el, vesszővel meg nem működik

_________________
Kép

Facebook Oldalunk
Facebook Csoportunk


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Extended Weapon Menu probléma
HozzászólásElküldve: 2016.06.05. 17:14 
Offline
Újonc

Csatlakozott: 2015.09.01. 19:09
Hozzászólások: 8
Megköszönt másnak: 1 alkalommal
Azt hiszem rossz helyre írtam, de a lényeg a lényeg: ha a játékos a kör elején nem választ a fegyvermenüből és a földről vesz fel pl.: egy wp-t, majd választ a fegyvermenüből egy kalast, akkor egyszerre 2 fegyója van: wp, ak. Ezt nem lehetne valahogy megszüntetni? Köszi


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Extended Weapon Menu probléma
HozzászólásElküldve: 2016.06.05. 18:00 
Offline
Jómunkásember
Avatar

Csatlakozott: 2016.02.27. 17:55
Hozzászólások: 349
Megköszönt másnak: 25 alkalommal
Megköszönték neki: 57 alkalommal
Ez szinte minden fegyvermenü-nél így van.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Extended Weapon Menu probléma
HozzászólásElküldve: 2016.06.05. 20:55 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2014.09.08. 22:21
Hozzászólások: 3014
Megköszönt másnak: 96 alkalommal
Megköszönték neki: 555 alkalommal
  1. switch(cs_get_user_team(id)) {
  2.         case CS_TEAM_T: {
  3.             if(user_has_weapon(id, CSW_C4)) {
  4.                 strip_user_weapons(id)
  5.                 give_item(id, "weapon_c4")
  6.                 cs_set_user_plant(id,1,1)
  7.             }
  8.             else {
  9.                 strip_user_weapons(id)
  10.             }
  11.         }
  12.         case CS_TEAM_CT: {
  13.             strip_user_weapons(id);
  14.             cs_set_user_defuse(id, 1);
  15.         }
  16.     }
  17.     set_pdata_int(id, m_fHasPrimary, 0)
  18.     give_item(id, "weapon_knife");


Weapmenu_h függvénybe.
Mellesleg majd valamikor frissítem, de csak rehlds alá.

_________________
GitHub - mforce


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Extended Weapon Menu probléma
HozzászólásElküldve: 2016.06.09. 19:34 
Offline
GFX-Designer
Avatar

Csatlakozott: 2015.03.12. 15:06
Hozzászólások: 624
Megköszönt másnak: 199 alkalommal
Megköszönték neki: 78 alkalommal
Valaki tudna segíteni színezni a menüt, és a pisztoly menüt?

Valahogy így kellene:
Szögletes zárójelek([]) piros színnel, fegyver neve, a szögletes zárójel közt pedig szürke színnel.

[AK47]
[M4A1]
[AWP]
stb..

Köszönöm előre aki segít.

.SMA:
  1. /*
  2.         Extended Weapon Menu
  3.             v1.21 by mforce
  4.    
  5.     Changes:
  6.    
  7.     v1.1 - Multilang added, strip_user_weapons fixed, "hardcoded" things fixed,
  8.     unnecessary cvar removed, using Safety1st method for money block, ColorChat included.
  9.    
  10.     v1.2 - AMXX 1.8.3 support fixed, minimal improvements (less cvar hook)
  11.     v1.21 - Multilang fix.
  12. */
  13.  
  14.  
  15. #include <amxmodx>
  16. #include <cstrike>
  17. #include <fun>
  18. #include <fakemeta>
  19. #include <hamsandwich>
  20.  
  21. new const PLUGIN[] = "Extended Weapon Menu";
  22. new const VERSION[] = "1.21";
  23. new const AUTHOR[] = "mforce";
  24.  
  25.  
  26. new const PREFIX[] = "^4[EWM]";
  27.  
  28. #if AMXX_VERSION_NUM < 183
  29. #include <colorchat>
  30. const MAX_PLAYERS = 32;
  31. const m_fHasPrimary = 116;
  32. #else
  33. const m_fHasPrimary = 464;
  34. #endif
  35. const m_iHideHUD = 361;
  36. const m_iClientHideHUD = 362;
  37. const HUD_HIDE_MONEY = 1<<5;
  38. const m_iMapZone = 235;
  39.  
  40. enum _:weapinfo {name[32], weap_name[32], bpammo};
  41. enum _:PCVARS {AwpMinPlayers, MaxAwps, PistolMenu, MaxHeg, MaxFlash, MaxSmoke}
  42. enum _:TEAMS {TE, CT};
  43. enum _:MAXGRENADES {HE, FLASH, SMOKE};
  44. enum _:AWPCVARS {MinPlayers, MaxAwp};
  45. new g_Cvars[PCVARS], bool:g_AllowAWP, g_Awps[TEAMS], bool:g_Used[MAX_PLAYERS+1], g_Grenades[MAXGRENADES], g_AWPCvarHook[AWPCVARS];
  46.  
  47.  
  48. new const weapons[][weapinfo] = {
  49.     {"M4A1", "weapon_m4a1", 90},
  50.     {"AK47", "weapon_ak47", 90},
  51.     {"AWP", "weapon_awp", 30},
  52.     {"M249", "weapon_m249", 200},
  53.     {"AUG", "weapon_aug", 90},
  54.     {"FAMAS", "weapon_famas", 90},
  55.     {"GALIL", "weapon_galil", 90},
  56.     {"MP5NAVY", "weapon_mp5navy", 120},
  57.     {"XM1014", "weapon_xm1014", 32},
  58.     {"M3", "weapon_m3", 32},
  59.     {"SCOUT", "weapon_scout", 90},
  60.     {"P90", "weapon_p90", 100},
  61.     {"TMP", "weapon_tmp", 120},
  62.     {"UMP45", "weapon_ump45", 100},
  63.     {"MAC10", "weapon_mac10", 100}
  64. };
  65.  
  66. new const pistols[][weapinfo] = {
  67.     {"GLOCK18", "weapon_glock18", 120},
  68.     {"USP", "weapon_usp", 100},
  69.     {"DEAGLE", "weapon_deagle", 35},
  70.     {"FIVESEVEN", "weapon_fiveseven", 100},
  71.     {"P228", "weapon_p228", 52},
  72.     {"ELITE", "weapon_elite", 120}
  73. };
  74.  
  75. public plugin_init() {
  76.     register_plugin(PLUGIN, VERSION, AUTHOR);
  77.     register_dictionary("extended_weapon_menu.txt");
  78.     g_Cvars[AwpMinPlayers] = register_cvar("ewm_awpminplayers", "4")
  79.     g_Cvars[MaxAwps] = register_cvar("ewm_maxawp", "3")
  80.     g_Cvars[PistolMenu] = register_cvar("ewm_pistolmenu", "0")
  81.     g_Cvars[MaxHeg] = register_cvar("ewm_maxheg", "1")
  82.     g_Cvars[MaxFlash] = register_cvar("ewm_maxflash", "2")
  83.     g_Cvars[MaxSmoke] = register_cvar("ewm_maxsmoke", "1")
  84.     RegisterHam(Ham_Spawn, "player", "spawn_event", 1);
  85.     register_event("HLTV", "Event_NewRound", "a", "1=0", "2=0");
  86.    
  87.     new const commands[][] = {"say /gun", "say /guns", "say /weap", "say_team /gun", "say_team /guns", "say_team /weap"};
  88.     for(new i; i < sizeof(commands); i++) {
  89.         register_clcmd(commands[i], "weapmenu");
  90.     }
  91.    
  92.     register_message(get_user_msgid("StatusIcon"), "Message_StatusIcon");
  93.     register_event("ResetHUD", "Event_ResetHUD", "b")
  94.     register_event("HideWeapon", "Event_HideWeapon", "b")
  95.     set_msg_block(get_user_msgid("Money"), BLOCK_SET)
  96. }
  97.  
  98. public plugin_cfg() {
  99.     new sBuffer[256], sFile[64], sData[32], pFile;
  100.     new mapname[32]; get_mapname(mapname, charsmax(mapname));
  101.  
  102.     get_localinfo("amxx_configsdir", sFile, charsmax(sFile));
  103.     format(sFile, charsmax(sFile), "%s/ewm_blockmaps.ini", sFile);
  104.  
  105.     pFile = fopen(sFile, "rt");
  106.  
  107.     if(pFile) {    
  108.         while(!feof(pFile)) {
  109.             fgets(pFile, sBuffer, charsmax(sBuffer));
  110.             trim(sBuffer);
  111.             if(sBuffer[0] == ';') continue;
  112.  
  113.             parse(sBuffer, sData, charsmax(sData));
  114.  
  115.             if(containi(mapname, sData) != -1) {
  116.                 fclose(pFile);
  117.                 pause("od");
  118.             }
  119.         }
  120.         fclose(pFile);
  121.     }
  122.     else fprintf(pFile, ";awp_^n;fy_");
  123. }
  124.  
  125. public Event_NewRound() {
  126.     arrayset(g_Used, false, sizeof(g_Used));
  127.     arrayset(g_Awps, 0, sizeof(g_Awps));
  128.     g_AWPCvarHook[MinPlayers] = get_pcvar_num(g_Cvars[AwpMinPlayers]);
  129.     g_AllowAWP = (GetPlayers(1) >= g_AWPCvarHook[MinPlayers] && GetPlayers(2) >= g_AWPCvarHook[MinPlayers]) ? true : false;
  130.     g_Grenades[HE] = get_pcvar_num(g_Cvars[MaxHeg]);
  131.     g_Grenades[FLASH] = get_pcvar_num(g_Cvars[MaxFlash]);
  132.     g_Grenades[SMOKE] = get_pcvar_num(g_Cvars[MaxSmoke]);
  133.     g_AWPCvarHook[MaxAwp] = get_pcvar_num(g_Cvars[MaxAwps]);
  134. }
  135.  
  136. public spawn_event(id) weapmenu(id);
  137.  
  138. public weapmenu(id) {
  139.     if (!is_user_alive(id) || g_Used[id]) return;
  140.    
  141.     switch(cs_get_user_team(id)) {
  142.         case CS_TEAM_T: {
  143.             if(user_has_weapon(id, CSW_C4)) {
  144.                 strip_user_weapons(id)
  145.                 give_item(id, "weapon_c4")
  146.                 cs_set_user_plant(id,1,1)
  147.             }
  148.             else {
  149.                 strip_user_weapons(id)
  150.             }
  151.         }
  152.         case CS_TEAM_CT: {
  153.             strip_user_weapons(id);
  154.             cs_set_user_defuse(id, 1);
  155.         }
  156.     }
  157.     set_pdata_int(id, m_fHasPrimary, 0)
  158.     give_item(id, "weapon_knife");
  159.  
  160.     new s_MenuName[128]; formatex(s_MenuName, charsmax(s_MenuName), "%s^nby \r%s \y", PLUGIN, AUTHOR);
  161.     new menu = menu_create(s_MenuName, "weapmenu_h");
  162.     for(new i; i<sizeof(weapons);i++) {
  163.         menu_additem(menu, weapons[i][name], "", 0)
  164.     }
  165.    
  166.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  167.     formatex(s_MenuName, charsmax(s_MenuName), "%L", LANG_SERVER, "EWM_MENU_BACK");
  168.     menu_setprop(menu, MPROP_BACKNAME, s_MenuName);
  169.     formatex(s_MenuName, charsmax(s_MenuName), "%L", LANG_SERVER, "EWM_MENU_NEXT");
  170.     menu_setprop(menu, MPROP_NEXTNAME, s_MenuName);
  171.     formatex(s_MenuName, charsmax(s_MenuName), "%L", LANG_SERVER, "EWM_MENU_EXIT");
  172.     menu_setprop(menu, MPROP_EXITNAME, s_MenuName);
  173.     menu_display(id, menu, 0);
  174. }
  175.  
  176. public weapmenu_h(id, menu, item) {
  177.     if(item == MENU_EXIT) {
  178.         menu_destroy(menu);
  179.         return PLUGIN_HANDLED;
  180.     }
  181.  
  182.     if(equal(weapons[item][weap_name], "weapon_awp")) {
  183.         if(!g_AllowAWP) {
  184.             client_print_color(id, print_team_default, "%s^1 %L", PREFIX, LANG_SERVER, "EWM_AWP_ALLOWFROM", g_AWPCvarHook[MinPlayers], g_AWPCvarHook[MinPlayers]);
  185.             weapmenu(id);
  186.             return PLUGIN_HANDLED;
  187.         }
  188.         else if(g_AWPCvarHook[MaxAwp]) {
  189.             switch(cs_get_user_team(id)) {
  190.                 case CS_TEAM_T: {
  191.                     if(g_Awps[TE] < g_AWPCvarHook[MaxAwp]) g_Awps[TE]++;
  192.                     else {
  193.                         client_print_color(id, print_team_default, "%s^1 %L", PREFIX, LANG_SERVER, "EWM_AWP_TOOMANY", g_AWPCvarHook[MaxAwp]);
  194.                         weapmenu(id);
  195.                         return PLUGIN_HANDLED;
  196.                     }
  197.                 }
  198.                 case CS_TEAM_CT: {
  199.                     if(g_Awps[CT] < g_AWPCvarHook[MaxAwp]) g_Awps[CT]++;
  200.                     else {
  201.                         client_print_color(id, print_team_default, "%s^1 %L", PREFIX, LANG_SERVER, "EWM_AWP_TOOMANY", g_AWPCvarHook[MaxAwp]);
  202.                         weapmenu(id);
  203.                         return PLUGIN_HANDLED;
  204.                     }
  205.                 }
  206.             }
  207.         }
  208.     }
  209.    
  210.     if(get_pcvar_num(g_Cvars[PistolMenu]) == 1) {
  211.         pistolmenu(id);
  212.     }
  213.     else {
  214.         give_item(id, "weapon_deagle");
  215.         cs_set_user_bpammo(id, CSW_DEAGLE, 35);
  216.     }
  217.     give_item(id, weapons[item][weap_name]);
  218.     cs_set_user_bpammo(id, get_weaponid(weapons[item][weap_name]), weapons[item][bpammo]);
  219.     cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM);
  220.     give_grenades(id);
  221.     client_print_color(id, print_team_default, "%s^1 %L", PREFIX, LANG_SERVER, "EWM_CHOOSED", weapons[item][name]);
  222.     g_Used[id] = true;
  223.    
  224.     menu_destroy(menu);
  225.     return PLUGIN_HANDLED;
  226. }
  227.  
  228. public pistolmenu(id) {
  229.     new s_MenuName[128]; formatex(s_MenuName, charsmax(s_MenuName), "%s^nby \r%s \y", PLUGIN, AUTHOR);
  230.     new menu = menu_create(s_MenuName, "pistolmenu_h");
  231.     for(new i; i<sizeof(pistols);i++) {
  232.         menu_additem(menu, pistols[i][name], "", 0)
  233.     }
  234.     menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  235.     formatex(s_MenuName, charsmax(s_MenuName), "%L", LANG_SERVER, "EWM_MENU_BACK");
  236.     menu_setprop(menu, MPROP_BACKNAME, s_MenuName);
  237.     formatex(s_MenuName, charsmax(s_MenuName), "%L", LANG_SERVER, "EWM_MENU_NEXT");
  238.     menu_setprop(menu, MPROP_NEXTNAME, s_MenuName);
  239.     formatex(s_MenuName, charsmax(s_MenuName), "%L", LANG_SERVER, "EWM_MENU_EXIT");
  240.     menu_setprop(menu, MPROP_EXITNAME, s_MenuName);
  241.     menu_display(id, menu, 0);
  242. }
  243.  
  244. public pistolmenu_h(id, menu, item) {
  245.     if(item == MENU_EXIT) {
  246.         menu_destroy(menu);
  247.         return PLUGIN_HANDLED;
  248.     }
  249.    
  250.     give_item(id, pistols[item][weap_name]);
  251.     cs_set_user_bpammo(id, get_weaponid(pistols[item][weap_name]), pistols[item][bpammo]);
  252.     client_print_color(id, print_team_default, "%s^1 A(z) ^3%s^1 pisztolyt választottad.", PREFIX, pistols[item][name]);
  253.    
  254.     menu_destroy(menu);
  255.     return PLUGIN_HANDLED;
  256. }
  257.  
  258. give_grenades(id) {
  259.     if(g_Grenades[HE]) {
  260.         give_item(id, "weapon_hegrenade");
  261.         cs_set_user_bpammo(id, CSW_HEGRENADE, g_Grenades[HE]);
  262.     }
  263.  
  264.     if(g_Grenades[FLASH]) {
  265.         give_item(id, "weapon_flashbang" );
  266.         cs_set_user_bpammo(id, CSW_FLASHBANG, g_Grenades[FLASH]);
  267.     }
  268.  
  269.     if(g_Grenades[SMOKE]) {
  270.         give_item(id, "weapon_smokegrenade" );
  271.         cs_set_user_bpammo(id, CSW_SMOKEGRENADE, g_Grenades[SMOKE]);
  272.     }
  273. }
  274.  
  275. GetPlayers(team) {
  276.     new players[32], num;
  277.     get_players(players, num, "ce", team == 1 ? "TERRORIST":"CT")
  278.  
  279.     return num;
  280. }
  281.  
  282. public Event_ResetHUD(id) {
  283.     set_pdata_int(id, m_iClientHideHUD, 0)
  284.     set_pdata_int(id, m_iHideHUD, HUD_HIDE_MONEY)
  285. }
  286.  
  287. public Event_HideWeapon(id) {
  288.     // for compatibility with other plugins using that message; ZP for example
  289.     new iFlags = read_data(1)
  290.     if(~iFlags & HUD_HIDE_MONEY) {
  291.         set_pdata_int(id, m_iClientHideHUD, 0)
  292.         set_pdata_int(id, m_iHideHUD, iFlags|HUD_HIDE_MONEY)
  293.     }
  294. }
  295.  
  296. public Message_StatusIcon(iMsgId, iMsgDest, id) {
  297.     static szIcon[8];
  298.     get_msg_arg_string(2, szIcon, charsmax(szIcon));
  299.     if(equal(szIcon, "buyzone")) {
  300.         if(get_msg_arg_int(1)) {
  301.             set_pdata_int(id, m_iMapZone, get_pdata_int(id, m_iMapZone) & ~(1<<0));
  302.             return PLUGIN_HANDLED;
  303.         }
  304.     }
  305.     return PLUGIN_CONTINUE;
  306. }

_________________
„Nem azért felejtünk el játszani, mert megöregszünk, hanem attól öregszünk meg, hogy elfelejtünk játszani.”

-MAXHACKED Website-
-HERViD Website-
► Spoiler mutatása


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 15 hozzászólás ]  Oldal Előző 1 2


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 24 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole