hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.28. 21:05



Jelenlévő felhasználók

Jelenleg 204 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 203 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  [ 3 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Fegyvermenü iniből
HozzászólásElküldve: 2020.04.01. 09:05 
Offline
Senior Tag
Avatar

Csatlakozott: 2017.08.09. 17:01
Hozzászólások: 266
Megköszönt másnak: 61 alkalommal
Megköszönték neki: 72 alkalommal
Sziasztok, lenne pár dolog amit kérdeznék a kérdésekbe nem mertem rakni mert csatolok forráskódot is.

A következő lenne:

Nekem van egy ilyenem:
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fun>
  4. #include <fakemeta>
  5. #include <cstrike>
  6. #include <hamsandwich>
  7.  
  8. #define PLUGIN "Fegyvermenu"
  9. #define VERSION "0.1.0"
  10. #define AUTHOR ""
  11.  
  12. new g_bChoosed, g_cServerPrefix;
  13. new g_cMaxWP[2], g_cBPammo[2], g_cPlayerMin[2], g_iWPCounter[2];
  14.  
  15. enum _:g_eData{
  16.     g_eGiveItemName[64],
  17.     g_eBPAmmoName[64],
  18.     g_eGunName[64]
  19. }
  20.  
  21. new const g_cGunsNames[][g_eData] = {
  22.     {"weapon_ak47", CSW_AK47, "AK47"},
  23.     {"weapon_m4a1", CSW_M4A1, "M4A1"},
  24.     {"weapon_awp", CSW_AWP, "AWP"},
  25.     {"weapon_famas", CSW_FAMAS, "FAMAS"},
  26.     {"weapon_m249", CSW_M249, "M249"},
  27.     {"weapon_m3", CSW_M3, "M3"},
  28.     {"weapon_xm1014", CSW_XM1014, "XM1014"},
  29.     {"weapon_scout", CSW_SCOUT, "SCOUT"},
  30.     {"weapon_mp5navy", CSW_MP5NAVY, "MP5NAVY"},
  31.     {"weapon_galil", CSW_GALIL, "GALIL"},
  32.     {"weapon_aug", CSW_AUG, "AUG"},
  33.     {"weapon_sg552", CSW_SG552, "SG552"},
  34.     {"weapon_p90", CSW_P90, "P90"},
  35.     {"weapon_tmp", CSW_TMP, "TMP"},
  36.     {"weapon_ump45", CSW_UMP45, "UMP45"}
  37. }
  38. new const g_cPistolNames[][g_eData] = {
  39.     {"weapon_deagle", CSW_DEAGLE, "DEAGLE"},
  40.     {"weapon_usp", CSW_USP, "USP"},
  41.     {"weapon_glock18", CSW_GLOCK18, "GLOCK18"},
  42.     {"weapon_p228", CSW_P228, "P228"},
  43.     {"weapon_fiveseven", CSW_FIVESEVEN, "FIVESEVEN"},
  44.     {"weapon_elite", CSW_ELITE, "ELITE"}
  45. }
  46. public plugin_init()
  47. {
  48.     register_plugin(PLUGIN, VERSION, AUTHOR);
  49.    
  50.     register_clcmd("say /fegyo", "ChooseCMD");
  51.    
  52.     g_cServerPrefix = register_cvar("server_prefix", "[SZERVER]");
  53.    
  54.     g_cBPammo[0] = register_cvar("ammo_for_guns", "100");
  55.     g_cBPammo[1] = register_cvar("ammo_for_pistol", "60");
  56.    
  57.     g_cMaxWP[0] = register_cvar("awp_max_player_ct", "2");
  58.     g_cMaxWP[1] = register_cvar("awp_max_player_t", "2");
  59.    
  60.     g_cPlayerMin[0] = register_cvar("min_player_ct", "4");
  61.     g_cPlayerMin[1] = register_cvar("min_player_t", "4");
  62.    
  63.     RegisterHam(Ham_Spawn, "player", "Remove_guns", 1);
  64. }
  65. public Remove_guns(iId)
  66. {
  67.     if(is_user_alive(iId))
  68.     {
  69.         strip_user_weapons(iId);
  70.         set_pdata_int(iId, 116, 0);
  71.         give_item(iId, "weapon_knife");
  72.         g_bChoosed = false;
  73.         g_iWPCounter[0] = 0;
  74.         g_iWPCounter[1] = 0;
  75.         menu_gun(iId);
  76.     }
  77. }
  78. public ChooseCMD(iId)
  79. {
  80.     if(!g_bChoosed)
  81.     {
  82.         menu_gun(iId)
  83.         g_bChoosed = true;
  84.     }
  85.     else
  86.         client_printcolor(iId, "^4%s^1 Már válaszottál fegyvert!", get_server_prefix());
  87. }
  88. public menu_gun(iId)
  89. {
  90.     if(!is_user_alive(iId))
  91.         return;
  92.    
  93.     new sRow[8];
  94.     new iMenu = menu_create(fmt("\r%s\d |\w Nagy fegyverek", get_server_prefix()), "menu_gun_h");
  95.    
  96.     for(new i = 0; i < sizeof(g_cGunsNames); i++)
  97.     {
  98.         num_to_str(i, sRow, 7);
  99.         menu_additem(iMenu, fmt("\w[\y%s\w]", g_cGunsNames[i][g_eGunName]), sRow);
  100.     }
  101.    
  102.    
  103.     menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL);
  104.     menu_setprop(iMenu, MPROP_BACKNAME, fmt("Vissza"));
  105.     menu_setprop(iMenu, MPROP_NEXTNAME, fmt("Kovetkezo"));
  106.     menu_setprop(iMenu, MPROP_EXITNAME, fmt("KilĂ©pĂ©s"));
  107.     menu_display(iId, iMenu, 0);
  108. }
  109. public menu_gun_h(iId, iMenu, iItem)
  110. {
  111.     if(iItem == MENU_EXIT)
  112.     {
  113.         menu_destroy(iMenu);
  114.         return PLUGIN_HANDLED;
  115.     }
  116.     new sData[6], iAccess;
  117.     menu_item_getinfo(iMenu, iItem, iAccess, sData, charsmax(sData));
  118.     new iKey = str_to_num(sData);
  119.    
  120.     new iCT, iT, iPlayer[32];
  121.     get_players(iPlayer, iCT, "e", "CT");
  122.     get_players(iPlayer, iT, "e", "TERRORIST");
  123.    
  124.     for(new i = iKey; i < sizeof(g_cGunsNames); i++)
  125.     {
  126.         if(iKey == 2)
  127.         {
  128.             if(get_user_team(iId) == 2)
  129.             {
  130.                 if(iCT < get_pcvar_num(g_cPlayerMin[0]) && iT < get_pcvar_num(g_cPlayerMin[1]))
  131.                 {
  132.                     client_printcolor(iId, "^4%s^1 Az AWP csak 5v5től érhető el!", get_server_prefix());
  133.                     menu_gun(iId);
  134.                     return PLUGIN_HANDLED;
  135.                 }
  136.                 else if(g_iWPCounter[0] > get_pcvar_num(g_cMaxWP[0]))
  137.                 {
  138.                     client_printcolor(iId, "^4%s^1 A csapatod elérte a maximum AWP mennyiséget ami %ddb AWP!",get_pcvar_num(g_cMaxWP[0]), get_server_prefix());
  139.                     menu_gun(iId);
  140.                     return PLUGIN_HANDLED;
  141.                 }
  142.                 else
  143.                 {
  144.                     give_item(iId, g_cGunsNames[2][g_eGiveItemName]);
  145.                     cs_set_user_bpammo(iId,g_cGunsNames[2][g_eBPAmmoName],get_pcvar_num(g_cBPammo[0]));
  146.                     give_item(iId, "weapon_knife");
  147.                     give_item(iId, "item_assaultsuit");
  148.                     client_printcolor(iId, "^4%s^1 Sikeresen kiválaszottad a(z)^3 %s^1 fegyvert!", get_server_prefix(),g_cGunsNames[2][g_eGunName]);
  149.                     g_iWPCounter[0] ++;
  150.                     g_bChoosed = true;
  151.                     menu_minigun(iId);
  152.                     break;
  153.                 }
  154.             }
  155.             if(get_user_team(iId) == 1)
  156.             {
  157.                 if(iCT < get_pcvar_num(g_cPlayerMin[0]) && iT < get_pcvar_num(g_cPlayerMin[1]))
  158.                 {
  159.                     client_printcolor(iId, "^4%s^1 Az AWP csak 5v5től érhető el!", get_server_prefix());
  160.                     menu_gun(iId);
  161.                     return PLUGIN_HANDLED;
  162.                 }
  163.                 else if(g_iWPCounter[1] > get_pcvar_num(g_cMaxWP[1]))
  164.                 {
  165.                     client_printcolor(iId, "^4%s^1 A csapatod elérte a maximum AWP mennyiséget ami %ddb AWP!",get_pcvar_num(g_cMaxWP[1]), get_server_prefix());
  166.                     menu_gun(iId);
  167.                     return PLUGIN_HANDLED;
  168.                 }
  169.                 else
  170.                 {
  171.                     give_item(iId, g_cGunsNames[2][g_eGiveItemName]);
  172.                     cs_set_user_bpammo(iId,g_cGunsNames[2][g_eBPAmmoName],get_pcvar_num(g_cBPammo[0]));
  173.                     give_item(iId, "weapon_knife");
  174.                     give_item(iId, "item_assaultsuit");
  175.                     client_printcolor(iId, "^4%s^1 Sikeresen kiválaszottad a(z)^3 %s^1 fegyvert!", get_server_prefix(),g_cGunsNames[2][g_eGunName]);
  176.                     g_iWPCounter[1] ++;
  177.                     g_bChoosed = true;
  178.                     menu_minigun(iId);
  179.                     break;
  180.                 }
  181.             }
  182.         }
  183.         else
  184.         {
  185.             give_item(iId, g_cGunsNames[iKey][g_eGiveItemName]);
  186.             cs_set_user_bpammo(iId,g_cGunsNames[iKey][g_eBPAmmoName],get_pcvar_num(g_cBPammo[0]));
  187.             give_item(iId, "weapon_knife");
  188.             give_item(iId, "item_assaultsuit");
  189.             client_printcolor(iId, "^4%s^1 Sikeresen kiválaszottad a(z)^3 %s^1 fegyvert!", get_server_prefix(),g_cGunsNames[iKey][g_eGunName]);
  190.             g_bChoosed = true;
  191.             menu_minigun(iId);
  192.             break;
  193.         }
  194.     }
  195.    
  196.     return PLUGIN_HANDLED;
  197. }
  198. public menu_minigun(iId)
  199. {
  200.     if(!is_user_alive(iId))
  201.         return;
  202.    
  203.     new sRow[8];
  204.     new iMenu = menu_create(fmt("\r%s\d |\w Pisztolyok", get_server_prefix()), "menu_minigun_h");
  205.    
  206.     for(new i = 0; i < sizeof(g_cPistolNames); i++)
  207.     {
  208.         num_to_str(i, sRow, 7);
  209.         menu_additem(iMenu, fmt("\w[\y%s\w]", g_cPistolNames[i][g_eGunName]), sRow);
  210.     }
  211.    
  212.     menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL);
  213.     menu_setprop(iMenu, MPROP_BACKNAME, fmt("Vissza"));
  214.     menu_setprop(iMenu, MPROP_NEXTNAME, fmt("Kovetkezo"));
  215.     menu_setprop(iMenu, MPROP_EXITNAME, fmt("KilĂ©pĂ©s"));
  216.     menu_display(iId, iMenu, 0);
  217. }
  218. public menu_minigun_h(iId, iMenu, iItem)
  219. {
  220.     if(iItem == MENU_EXIT)
  221.     {
  222.         menu_destroy(iMenu);
  223.         return PLUGIN_HANDLED;
  224.     }
  225.     new sData[6], iAccess;
  226.     menu_item_getinfo(iMenu, iItem, iAccess, sData, charsmax(sData));
  227.     new iKey = str_to_num(sData);
  228.    
  229.     for(new i = iKey; i < sizeof(g_cPistolNames); i++)
  230.     {
  231.         give_item(iId, g_cPistolNames[iKey][g_eGiveItemName]);
  232.         cs_set_user_bpammo(iId,g_cPistolNames[iKey][g_eBPAmmoName],get_pcvar_num(g_cBPammo[1]));
  233.         give_item(iId, "weapon_knife");
  234.         give_item(iId, "item_assaultsuit");
  235.         client_printcolor(iId, "^4%s^1 Sikeresen kiválaszottad a(z)^3 %s^1 fegyvert!", get_server_prefix(),g_cPistolNames[iKey][g_eGunName]);
  236.         g_bChoosed = true;
  237.         break;
  238.     }
  239.    
  240.     return PLUGIN_HANDLED;
  241. }
  242. public client_disconnected(iId)
  243. {
  244.     if(is_user_bot(iId))
  245.         return;
  246.    
  247.     g_bChoosed = false;
  248. }
  249. public client_connect(iId)
  250. {
  251.     if(is_user_bot(iId))
  252.         return;
  253.    
  254.     g_bChoosed = false;
  255. }
  256. public get_server_prefix()
  257. {
  258.     new sPrefix[40];
  259.     get_pcvar_string(g_cServerPrefix, sPrefix, charsmax(sPrefix));
  260.     return sPrefix;
  261. }
  262. stock client_printcolor(const id, const input[], any:...)
  263. {
  264.     new count = 1, players[32]
  265.     static msg[191]
  266.     vformat(msg, 190, input, 3)
  267.    
  268.     replace_all(msg, 190, "!g", "^4")
  269.     replace_all(msg, 190, "!y", "^1")
  270.     replace_all(msg, 190, "!t", "^3")
  271.     replace_all(msg, 191, "á", "á")
  272.     replace_all(msg, 191, "é", "Ă©")
  273.     replace_all(msg, 191, "í", "Ă­")
  274.     replace_all(msg, 191, "ó", "Ăł")
  275.     replace_all(msg, 191, "ö", "ö")
  276.     replace_all(msg, 191, "ő", "Ĺ‘")
  277.     replace_all(msg, 191, "ú", "Ăş")
  278.     replace_all(msg, 191, "ü", "ĂĽ")
  279.     replace_all(msg, 191, "ű", "ű")
  280.     replace_all(msg, 191, "Á", "Ă")
  281.     replace_all(msg, 191, "É", "É")
  282.     replace_all(msg, 191, "Í", "ĂŤ")
  283.     replace_all(msg, 191, "Ó", "Ă“")
  284.     replace_all(msg, 191, "Ö", "Ă–")
  285.     replace_all(msg, 191, "Ő", "Ĺ")
  286.     replace_all(msg, 191, "Ú", "Ăš")
  287.     replace_all(msg, 191, "Ü", "Ăś")
  288.     replace_all(msg, 191, "Ű", "Ĺ°")
  289.    
  290.     if (id) players[0] = id; else get_players(players, count, "ch");{
  291.         for ( new i = 0; i < count; i++ )
  292.         {
  293.             if ( is_user_connected(players[i]) )
  294.             {
  295.                 new SayText;
  296.                 SayText = get_user_msgid("SayText")
  297.                 message_begin(MSG_ONE_UNRELIABLE, SayText, _, players[i])
  298.                 write_byte(players[i]);
  299.                 write_string(msg);
  300.                 message_end();
  301.             }
  302.         }
  303.     }
  304. }

Ezt a részt:
  1. new const g_cGunsNames[][g_eData] = {
  2.     {"weapon_ak47", CSW_AK47, "AK47"},
  3.     {"weapon_m4a1", CSW_M4A1, "M4A1"},
  4.     {"weapon_awp", CSW_AWP, "AWP"},
  5.     {"weapon_famas", CSW_FAMAS, "FAMAS"},
  6.     {"weapon_m249", CSW_M249, "M249"},
  7.     {"weapon_m3", CSW_M3, "M3"},
  8.     {"weapon_xm1014", CSW_XM1014, "XM1014"},
  9.     {"weapon_scout", CSW_SCOUT, "SCOUT"},
  10.     {"weapon_mp5navy", CSW_MP5NAVY, "MP5NAVY"},
  11.     {"weapon_galil", CSW_GALIL, "GALIL"},
  12.     {"weapon_aug", CSW_AUG, "AUG"},
  13.     {"weapon_sg552", CSW_SG552, "SG552"},
  14.     {"weapon_p90", CSW_P90, "P90"},
  15.     {"weapon_tmp", CSW_TMP, "TMP"},
  16.     {"weapon_ump45", CSW_UMP45, "UMP45"}
  17. }
  18. new const g_cPistolNames[][g_eData] = {
  19.     {"weapon_deagle", CSW_DEAGLE, "DEAGLE"},
  20.     {"weapon_usp", CSW_USP, "USP"},
  21.     {"weapon_glock18", CSW_GLOCK18, "GLOCK18"},
  22.     {"weapon_p228", CSW_P228, "P228"},
  23.     {"weapon_fiveseven", CSW_FIVESEVEN, "FIVESEVEN"},
  24.     {"weapon_elite", CSW_ELITE, "ELITE"}
  25. }


Kettő külön iniből szeretném beolvastatni úgy hogy még bővíteni is lehessen akár.

Meg is próbáltam de erre jutottam:
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fun>
  4. #include <fakemeta>
  5. #include <cstrike>
  6. #include <hamsandwich>
  7.  
  8. #define PLUGIN "Fegyvermenu"
  9. #define VERSION "0.1.0"
  10. #define AUTHOR ""
  11.  
  12. new g_bChoosed, g_cServerPrefix;
  13. new g_cMaxWP[2], g_cBPammo[2], g_cPlayerMin[2], g_iWPCounter[2];
  14. new file[2], cfgdir[2][64], sfLineData[2][128];
  15. new g_sGiveItemName[2][64], g_sBPAmmoName[2][64], g_sGunName[2][64];
  16.  
  17. public plugin_init()
  18. {
  19.     register_plugin(PLUGIN, VERSION, AUTHOR);
  20.    
  21.     get_localinfo("amxx_configsdir", cfgdir[0], charsmax(cfgdir[]));
  22.     format(cfgdir[0], charsmax(cfgdir[]), "%s/BigGuns.ini", cfgdir[0]);
  23.     file[0] = fopen(cfgdir[0], "rt");
  24.    
  25.     get_localinfo("amxx_configsdir", cfgdir[0], charsmax(cfgdir[]));
  26.     format(cfgdir[1], charsmax(cfgdir[]), "%s/SmallGuns.ini", cfgdir[1]);
  27.     file[1] = fopen(cfgdir[1], "rt");
  28.    
  29.     register_clcmd("say /fegyo", "ChooseCMD");
  30.    
  31.     g_cServerPrefix = register_cvar("server_prefix", "[SZERVER]");
  32.    
  33.     g_cBPammo[0] = register_cvar("ammo_for_guns", "100");
  34.     g_cBPammo[1] = register_cvar("ammo_for_pistol", "60");
  35.    
  36.     g_cMaxWP[0] = register_cvar("awp_max_player_ct", "2");
  37.     g_cMaxWP[1] = register_cvar("awp_max_player_t", "2");
  38.    
  39.     g_cPlayerMin[0] = register_cvar("min_player_ct", "4");
  40.     g_cPlayerMin[1] = register_cvar("min_player_t", "4");
  41.    
  42.     RegisterHam(Ham_Spawn, "player", "Remove_guns", 1);
  43. }
  44. public BigGuns()
  45. {
  46.     if(file[0])
  47.     {
  48.         new i = 0;
  49.         while(!feof(file[0]))
  50.         {
  51.             fgets(file[0], sfLineData[0], charsmax(sfLineData[]));
  52.            
  53.             if(!sfLineData[0][0] || sfLineData[0][0] == ';' || sfLineData[0][0] == '/' && sfLineData[0][1] == '/')
  54.                 continue;
  55.            
  56.             parse(sfLineData[0], g_sGiveItemName[0][i], charsmax(g_sGiveItemName[][]), g_sBPAmmoName[0][i], charsmax(g_sBPAmmoName[][]), g_sGunName[0][i], charsmax(g_sGunName[][]));
  57.             i++;
  58.         }
  59.         fclose(file[0]);
  60.     }
  61. }
  62. public SmallGuns()
  63. {
  64.     if(file[1])
  65.     {
  66.         new k = 0;
  67.         while(!feof(file[1]))
  68.         {
  69.             fgets(file[1], sfLineData[1], charsmax(sfLineData[]));
  70.            
  71.             if(!sfLineData[1][0] || sfLineData[1][0] == ';' || sfLineData[1][0] == '/' && sfLineData[1][1] == '/')
  72.                 continue;
  73.            
  74.             parse(sfLineData[1], g_sGiveItemName[1][k], charsmax(g_sGiveItemName[][]), g_sBPAmmoName[1][k], charsmax(g_sBPAmmoName[][]), g_sGunName[1][k], charsmax(g_sGunName[][]));
  75.             k++;
  76.         }
  77.         fclose(file[1]);
  78.     }
  79. }
  80. public plugin_precache()
  81. {
  82.     BigGuns();
  83.     SmallGuns();
  84. }
  85. public Remove_guns(iId)
  86. {
  87.     if(is_user_alive(iId))
  88.     {
  89.         strip_user_weapons(iId);
  90.         set_pdata_int(iId, 116, 0);
  91.         give_item(iId, "weapon_knife");
  92.         g_bChoosed = false;
  93.         g_iWPCounter[0] = 0;
  94.         g_iWPCounter[1] = 0;
  95.         menu_gun(iId);
  96.     }
  97. }
  98. public ChooseCMD(iId)
  99. {
  100.     if(!g_bChoosed)
  101.     {
  102.         menu_gun(iId)
  103.         g_bChoosed = true;
  104.     }
  105.     else
  106.         client_printcolor(iId, "^4%s^1 Már válaszottál fegyvert!", get_server_prefix());
  107. }
  108. public menu_gun(iId)
  109. {
  110.     if(!is_user_alive(iId))
  111.         return;
  112.    
  113.     new sRow[8];
  114.     new iMenu = menu_create(fmt("\r%s\d |\w Nagy fegyverek", get_server_prefix()), "menu_gun_h");
  115.    
  116.     for(new i = 0; i < 14; i++)
  117.     {
  118.         num_to_str(i, sRow, 7);
  119.         menu_additem(iMenu, fmt("\w[\y%s\w]", g_sGunName[0][i]), sRow);
  120.     }
  121.    
  122.    
  123.     menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL);
  124.     menu_setprop(iMenu, MPROP_BACKNAME, fmt("Vissza"));
  125.     menu_setprop(iMenu, MPROP_NEXTNAME, fmt("Kovetkezo"));
  126.     menu_setprop(iMenu, MPROP_EXITNAME, fmt("KilĂ©pĂ©s"));
  127.     menu_display(iId, iMenu, 0);
  128. }
  129. public menu_gun_h(iId, iMenu, iItem)
  130. {
  131.     if(iItem == MENU_EXIT)
  132.     {
  133.         menu_destroy(iMenu);
  134.         return PLUGIN_HANDLED;
  135.     }
  136.     new sData[6], iAccess;
  137.     menu_item_getinfo(iMenu, iItem, iAccess, sData, charsmax(sData));
  138.     new iKey = str_to_num(sData);
  139.    
  140.     new iCT, iT, iPlayer[32];
  141.     get_players(iPlayer, iCT, "e", "CT");
  142.     get_players(iPlayer, iT, "e", "TERRORIST");
  143.    
  144.     for(new i = iKey; i < file[0]; i++)
  145.     {
  146.         if(iKey == 2)
  147.         {
  148.             if(get_user_team(iId) == 2)
  149.             {
  150.                 if(iCT < get_pcvar_num(g_cPlayerMin[0]) && iT < get_pcvar_num(g_cPlayerMin[1]))
  151.                 {
  152.                     client_printcolor(iId, "^4%s^1 Az AWP csak 5v5től érhető el!", get_server_prefix());
  153.                     menu_gun(iId);
  154.                     return PLUGIN_HANDLED;
  155.                 }
  156.                 else if(g_iWPCounter[0] > get_pcvar_num(g_cMaxWP[0]))
  157.                 {
  158.                     client_printcolor(iId, "^4%s^1 A csapatod elérte a maximum AWP mennyiséget ami %ddb AWP!",get_pcvar_num(g_cMaxWP[0]), get_server_prefix());
  159.                     menu_gun(iId);
  160.                     return PLUGIN_HANDLED;
  161.                 }
  162.                 else
  163.                 {
  164.                     give_item(iId, g_sGiveItemName[0][2]);
  165.                     cs_set_user_bpammo(iId,g_sBPAmmoName[0][2],get_pcvar_num(g_cBPammo[0]));
  166.                     give_item(iId, "weapon_knife");
  167.                     give_item(iId, "item_assaultsuit");
  168.                     client_printcolor(iId, "^4%s^1 Sikeresen kiválaszottad a(z)^3 %s^1 fegyvert!", get_server_prefix(),g_sGunName[0][2]);
  169.                     g_iWPCounter[0] ++;
  170.                     g_bChoosed = true;
  171.                     menu_minigun(iId);
  172.                     break;
  173.                 }
  174.             }
  175.             if(get_user_team(iId) == 1)
  176.             {
  177.                 if(iCT < get_pcvar_num(g_cPlayerMin[0]) && iT < get_pcvar_num(g_cPlayerMin[1]))
  178.                 {
  179.                     client_printcolor(iId, "^4%s^1 Az AWP csak 5v5től érhető el!", get_server_prefix());
  180.                     menu_gun(iId);
  181.                     return PLUGIN_HANDLED;
  182.                 }
  183.                 else if(g_iWPCounter[1] > get_pcvar_num(g_cMaxWP[1]))
  184.                 {
  185.                     client_printcolor(iId, "^4%s^1 A csapatod elérte a maximum AWP mennyiséget ami %ddb AWP!",get_pcvar_num(g_cMaxWP[1]), get_server_prefix());
  186.                     menu_gun(iId);
  187.                     return PLUGIN_HANDLED;
  188.                 }
  189.                 else
  190.                 {
  191.                     give_item(iId, g_sGiveItemName[0][2]);
  192.                     cs_set_user_bpammo(iId,g_sBPAmmoName[0][2],get_pcvar_num(g_cBPammo[0]));
  193.                     give_item(iId, "weapon_knife");
  194.                     give_item(iId, "item_assaultsuit");
  195.                     client_printcolor(iId, "^4%s^1 Sikeresen kiválaszottad a(z)^3 %s^1 fegyvert!", get_server_prefix(),g_sGunName[0][2]);
  196.                     g_iWPCounter[1] ++;
  197.                     g_bChoosed = true;
  198.                     menu_minigun(iId);
  199.                     break;
  200.                 }
  201.             }
  202.         }
  203.         else
  204.         {
  205.             give_item(iId, g_sGiveItemName[iKey]);
  206.             cs_set_user_bpammo(iId,g_sBPAmmoName[0][iKey],get_pcvar_num(g_cBPammo[0]));
  207.             give_item(iId, "weapon_knife");
  208.             give_item(iId, "item_assaultsuit");
  209.             client_printcolor(iId, "^4%s^1 Sikeresen kiválaszottad a(z)^3 %s^1 fegyvert!", get_server_prefix(),g_sGunName[0][iKey]);
  210.             g_bChoosed = true;
  211.             menu_minigun(iId);
  212.             break;
  213.         }
  214.     }
  215.    
  216.     return PLUGIN_HANDLED;
  217. }
  218. public menu_minigun(iId)
  219. {
  220.     if(!is_user_alive(iId))
  221.         return;
  222.    
  223.     new sRow[8];
  224.     new iMenu = menu_create(fmt("\r%s\d |\w Pisztolyok", get_server_prefix()), "menu_minigun_h");
  225.    
  226.     for(new i = 0; i < 5; i++)
  227.     {
  228.         num_to_str(i, sRow, 7);
  229.         menu_additem(iMenu, fmt("\w[\y%s\w]", g_sGunName[1][i]), sRow);
  230.     }
  231.    
  232.     menu_setprop(iMenu, MPROP_EXIT, MEXIT_ALL);
  233.     menu_setprop(iMenu, MPROP_BACKNAME, fmt("Vissza"));
  234.     menu_setprop(iMenu, MPROP_NEXTNAME, fmt("Kovetkezo"));
  235.     menu_setprop(iMenu, MPROP_EXITNAME, fmt("KilĂ©pĂ©s"));
  236.     menu_display(iId, iMenu, 0);
  237. }
  238. public menu_minigun_h(iId, iMenu, iItem)
  239. {
  240.     if(iItem == MENU_EXIT)
  241.     {
  242.         menu_destroy(iMenu);
  243.         return PLUGIN_HANDLED;
  244.     }
  245.     new sData[6], iAccess;
  246.     menu_item_getinfo(iMenu, iItem, iAccess, sData, charsmax(sData));
  247.     new iKey = str_to_num(sData);
  248.    
  249.     for(new i = iKey; i < file[1]; i++)
  250.     {
  251.         give_item(iId, g_sGiveItemName[1][iKey]);
  252.         cs_set_user_bpammo(iId,g_sBPAmmoName[1][iKey],get_pcvar_num(g_cBPammo[1]));
  253.         give_item(iId, "weapon_knife");
  254.         give_item(iId, "item_assaultsuit");
  255.         client_printcolor(iId, "^4%s^1 Sikeresen kiválaszottad a(z)^3 %s^1 fegyvert!", get_server_prefix(),g_sGunName[1][iKey]);
  256.         g_bChoosed = true;
  257.         break;
  258.     }
  259.    
  260.     return PLUGIN_HANDLED;
  261. }
  262. public client_disconnected(iId)
  263. {
  264.     if(is_user_bot(iId))
  265.         return;
  266.    
  267.     g_bChoosed = false;
  268. }
  269. public client_connect(iId)
  270. {
  271.     if(is_user_bot(iId))
  272.         return;
  273.    
  274.     g_bChoosed = false;
  275. }
  276. public get_server_prefix()
  277. {
  278.     new sPrefix[40];
  279.     get_pcvar_string(g_cServerPrefix, sPrefix, charsmax(sPrefix));
  280.     return sPrefix;
  281. }
  282. stock client_printcolor(const id, const input[], any:...)
  283. {
  284.     new count = 1, players[32]
  285.     static msg[191]
  286.     vformat(msg, 190, input, 3)
  287.    
  288.     replace_all(msg, 190, "!g", "^4")
  289.     replace_all(msg, 190, "!y", "^1")
  290.     replace_all(msg, 190, "!t", "^3")
  291.     replace_all(msg, 191, "á", "á")
  292.     replace_all(msg, 191, "é", "Ă©")
  293.     replace_all(msg, 191, "í", "Ă­")
  294.     replace_all(msg, 191, "ó", "Ăł")
  295.     replace_all(msg, 191, "ö", "ö")
  296.     replace_all(msg, 191, "ő", "Ĺ‘")
  297.     replace_all(msg, 191, "ú", "Ăş")
  298.     replace_all(msg, 191, "ü", "ĂĽ")
  299.     replace_all(msg, 191, "ű", "ű")
  300.     replace_all(msg, 191, "Á", "Ă")
  301.     replace_all(msg, 191, "É", "É")
  302.     replace_all(msg, 191, "Í", "ĂŤ")
  303.     replace_all(msg, 191, "Ó", "Ă“")
  304.     replace_all(msg, 191, "Ö", "Ă–")
  305.     replace_all(msg, 191, "Ő", "Ĺ")
  306.     replace_all(msg, 191, "Ú", "Ăš")
  307.     replace_all(msg, 191, "Ü", "Ăś")
  308.     replace_all(msg, 191, "Ű", "Ĺ°")
  309.    
  310.     if (id) players[0] = id; else get_players(players, count, "ch");{
  311.         for ( new i = 0; i < count; i++ )
  312.         {
  313.             if ( is_user_connected(players[i]) )
  314.             {
  315.                 new SayText;
  316.                 SayText = get_user_msgid("SayText")
  317.                 message_begin(MSG_ONE_UNRELIABLE, SayText, _, players[i])
  318.                 write_byte(players[i]);
  319.                 write_string(msg);
  320.                 message_end();
  321.             }
  322.         }
  323.     }
  324. }

[i]Hibák:
Menüt bedobja de csak ez látható: []
Sokszor erre részre is hibát dob, ezzel az üzenettel: "Invalid weapon id 0":

  1. cs_set_user_bpammo(iId,g_sBPAmmoName[0][2],get_pcvar_num(g_cBPammo[0]));


Inik tartalma:
  1. "weapon_ak47";CSW_AK47;"AK47"
  2. "weapon_m4a1";CSW_M4A1;"M4A1"
  3. "weapon_awp";CSW_AWP;"AWP"
  4. "weapon_famas";CSW_FAMAS;"FAMAS"
  5. "weapon_m249";CSW_M249;"M249"
  6. "weapon_m3";CSW_M3;"M3"
  7. "weapon_xm1014";CSW_XM1014;"XM1014"
  8. "weapon_scout";CSW_SCOUT;"SCOUT"
  9. "weapon_mp5navy";CSW_MP5NAVY;"MP5NAVY"
  10. "weapon_galil";CSW_GALIL;"GALIL"
  11. "weapon_aug";CSW_AUG;"AUG"
  12. "weapon_sg552";CSW_SG552;"SG552"
  13. "weapon_p90";CSW_P90;"P90"
  14. "weapon_tmp";CSW_TMP;"TMP"
  15. "weapon_ump45";CSW_UMP45;"UMP45"


  1. "weapon_deagle";CSW_DEAGLE;"DEAGLE"
  2. "weapon_usp";CSW_USP;"USP"
  3. "weapon_glock18";CSW_GLOCK18;"GLOCK18"
  4. "weapon_p228";CSW_P228;"P228"
  5. "weapon_fiveseven";CSW_FIVESEVEN;"FIVESEVEN"
  6. "weapon_elite";CSW_ELITE;"ELITE"


A kérdésem hogy mit rontottam itt el, legközelebb mire figyeljek oda, és lehetne e szebben a beolvasás rész? Ha igen hogyan?

_________________
"Szeretek aludni... mert az álmaim szebbek, mint a valóság."


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Fegyvermenü iniből
HozzászólásElküldve: 2020.04.01. 10:42 
Offline
Őskövület
Avatar

Csatlakozott: 2012.03.22. 18:22
Hozzászólások: 2978
Megköszönt másnak: 115 alkalommal
Megköszönték neki: 368 alkalommal
Pár észrevétel így gyorsan ránézésre,majd megpróbálok segíteni jobban is:

-Szerintem a precache előbb lefut mint az Init,szóval még nem kapta meg az elérési útját a cfgdir
Tedd a BigGuns() meg a SmallGuns()-ot a plugin init végére.

-A parse az a szóközöket törli ki és azokat szedi szét. Pl:
Tibor vagyok
eredmény:
Tibor
Vagyok
Nem vagyok biztos benne hogy a ; meg társai karaktereket is érzékeli és ott bontaná szét,próbáld meg szóközzel.

_________________
Blasenkampfwagen

https://discord.gg/uBYnNnZP
GTA:PURSUIT MTA

Ők köszönték meg ultraibolya nek ezt a hozzászólást: HellEnergY (2020.04.01. 14:04)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Fegyvermenü iniből
HozzászólásElküldve: 2020.07.07. 18:25 
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
Nem tudom, hogy így jó-e.

Ui: Cfg fájlból olvassa ki, lehet jobb így.


  1. new Folder[48], NagyFegyverek[48];
  2.  
  3. public plugin_precache() {
  4.     new Line[128], Data[3][48], Len;
  5.     get_configsdir(Folder, 47);
  6.     format(NagyFegyverek, 47, "%s/nagyFegyver.cfg", Folder);
  7.    
  8.     if(file_exists(NagyFegyverek))
  9.     {
  10.         for(new i; i < file_size(NagyFegyverek, 1); i++)
  11.         {
  12.             read_file(NagyFegyverek, i, Line, 127, Len);
  13.             parse(Line, Data[0], 31, Data[1], 31, Data[2], 31);
  14.            
  15.             g_cGunsNames[i][g_eGiveItemName] = str_to_num(Data[0]);
  16.             g_cGunsNames[i][g_eBPAmmoName] = str_to_num(Data[1]);
  17.             g_cGunsNames[i][g_eGunName] = str_to_num(Data[2]);
  18.         }
  19.     }



  1. "weapon_ak47" "CSW_AK47" "AK47"
  2.  "weapon_m4a1"  "CSW_M4A1" "M4A1"
  3.  "weapon_awp" "CSW_AWP" "AWP"
  4. "weapon_famas"  "CSW_FAMAS"  "FAMAS"
  5.  "weapon_m249" "CSW_M249" "M249"  
  6.  "weapon_m3"  "CSW_M3" "M3"
  7. "weapon_xm1014" "CSW_XM1014" "XM1014"
  8. "weapon_scout" " CSW_SCOUT"  "SCOUT"
  9. "weapon_mp5navy"  "CSW_MP5NAVY"  "MP5NAVY"
  10. "weapon_galil" "CSW_GALIL" "GALIL"
  11.  "weapon_aug" "CSW_AUG"  "AUG"
  12.  "weapon_sg552" "CSW_SG552"  "SG552"
  13. "weapon_p90" "CSW_P90" "P90"
  14. "weapon_tmp" "CSW_TMP" "TMP"
  15.  "weapon_ump45" "CSW_UMP45" "UMP45"

_________________
Kép

Facebook Oldalunk
Facebook Csoportunk


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  [ 3 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 2 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