hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.25. 18:14



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: nincs regisztrált felhasználó 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: Egyik pluginból a másikban
HozzászólásElküldve: 2023.04.08. 17:32 
Offline
Tag
Avatar

Csatlakozott: 2023.03.12. 22:01
Hozzászólások: 42
Megköszönt másnak: 16 alkalommal
Sziasztok, azt hogyan tudom megcsinálni hogy van egy menü az egyik pluginban pl:
  1. menu_additem(menu, "\r[\yVicces Hangok\y]", "10");
és van egy másik plugin ami hangokat játszik le kód:
  1. #include <amxmodx>
  2.  
  3. new const PLUGIN[] = "Vicces Hangok";
  4. new const VERSION[] = "1.0";
  5. new const AUTHOR[] = "mforce";
  6.  
  7.  
  8. new const PREFIX[] = "Prefix";
  9.  
  10. #define IMMUN ADMIN_KICK            //Adminoknak nincs idĹ‘limit
  11. //#define ACCESS_FLAG             ADMIN_KICK          // - Type // before # if you want it for all players.
  12. #define TIME_BETWEEN_SOUNDS     60                  // - in seconds
  13.  
  14. new Array:musicname, Array:musicpath;
  15. new g_aSize;
  16. new g_iTimeExpired[33], bool:g_iSwitchOff[33];
  17.  
  18. public plugin_init() {
  19.     register_plugin(PLUGIN, VERSION, AUTHOR);
  20.     register_dictionary("funny_sounds.txt");
  21.    
  22.     register_clcmd("say", "sayhandler");
  23.     register_clcmd("say_team", "sayhandler");
  24.     register_clcmd("say /sound", "sound_switchoff");
  25.     register_clcmd("say /list", "musicmenu");
  26.     set_task(300.0, "toswitchoff", 0, .flags="b")
  27. }
  28.  
  29. public toswitchoff() {
  30.     ChatColor(0, "^4[%s]^1 %L ^3/sound", PREFIX, LANG_SERVER, "TO_SWTICH_OFF");
  31. }
  32.  
  33. public plugin_precache() {
  34.     musicname = ArrayCreate(32);
  35.     musicpath = ArrayCreate(64);
  36.    
  37.     new sBuffer[256], sFile[64], sSoundName[32], sSoundPath[64], pFile;
  38.    
  39.     get_localinfo("amxx_configsdir", sFile, charsmax(sFile));
  40.     format(sFile, charsmax(sFile), "%s/funny_sounds.ini", sFile);
  41.    
  42.     pFile = fopen(sFile, "rt");
  43.    
  44.     if(pFile) {    
  45.         while(!feof(pFile)) {
  46.             fgets(pFile, sBuffer, charsmax(sBuffer));
  47.             trim(sBuffer);
  48.             if(sBuffer[0] == ';' || sBuffer[0] == ' ') continue;
  49.            
  50.             parse(sBuffer, sSoundName, charsmax(sSoundName), sSoundPath, charsmax(sSoundPath));
  51.            
  52.             if(containi(sSoundPath, ".mp3") != -1 || containi(sSoundPath, ".wav") != -1) {
  53.                 precache_sound(sSoundPath);
  54.                 ArrayPushString(musicname, sSoundName);
  55.                 ArrayPushString(musicpath, sSoundPath);
  56.             }
  57.         }
  58.         fclose(pFile);
  59.         g_aSize = ArraySize(musicname);
  60.     }
  61.     else write_file(sFile, ";^"anything^" ^"any_dir/anything.mp3^"^n");
  62. }
  63.  
  64. public sayhandler(id) {
  65.     #if defined ACCESS_FLAG
  66.     if(~get_user_flags(id) & ACCESS_FLAG) return;
  67.     #endif
  68.    
  69.     new message[190]; read_args(message, charsmax(message));
  70.     remove_quotes(message);
  71.     new sSoundName[32];
  72.    
  73.     for(new i; i<g_aSize; i++) {
  74.         ArrayGetString(musicname, i, sSoundName, charsmax(sSoundName));
  75.         if(equali(message, sSoundName)) {
  76.             expirecheck(id, i);
  77.         }
  78.     }
  79. }
  80. expirecheck(id, item) {
  81. new usrtime = get_user_time(id);
  82.  
  83. if(usrtime >= g_iTimeExpired[id]) {
  84.     playsound(item);
  85.     g_iTimeExpired[id] = (usrtime + TIME_BETWEEN_SOUNDS);
  86. }
  87. #if defined IMMUN
  88. else if(get_user_flags(id) & IMMUN)
  89. {
  90.     playsound(item);
  91. }
  92. #endif
  93. else
  94.     ChatColor(id, "^4[%s] »^1 %L", PREFIX, LANG_SERVER, "YOU_HAVE_TO_WAIT" , (g_iTimeExpired[id] - usrtime));
  95. }
  96.  
  97. playsound(item) {
  98. new szSound[64]; ArrayGetString(musicpath, item, szSound, charsmax(szSound));
  99. new makesound[128];
  100. if(containi(szSound, ".mp3") != -1)
  101.     formatex(makesound, charsmax(makesound), "mp3 play ^"sound/%s^"", szSound);
  102. else
  103.     formatex(makesound, charsmax(makesound), "spk ^"%s^"", szSound);
  104.  
  105.  
  106. new players[32], num, tempid;
  107. get_players(players, num, "c");
  108. for(new i; i<num; i++) {
  109.     tempid = players[i];
  110.     if(!g_iSwitchOff[tempid])
  111.         client_cmd(tempid, "%s", makesound);
  112. }
  113. }
  114.  
  115. public sound_switchoff(id) {
  116. switch(g_iSwitchOff[id]) {
  117.     case false: {
  118.         g_iSwitchOff[id] = true;
  119.         client_cmd(id, "setinfo _funnysoundsoff 1");
  120.         ChatColor(id, "^4[%s] »^3 %L", PREFIX, LANG_SERVER, "SOUNDS_SWITCHED_OFF");
  121.     }
  122.     case true: {
  123.         g_iSwitchOff[id] = false;
  124.         client_cmd(id, "setinfo _funnysoundsoff 0");
  125.         ChatColor(id, "^4[%s] »^3 %L", PREFIX, LANG_SERVER, "SOUNDS_SWITCHED_ON");
  126.     }
  127. }
  128. }
  129.  
  130. public client_putinserver(id) {
  131. if(is_user_sounds_off(id))
  132.     g_iSwitchOff[id] = true;
  133. }
  134.  
  135. public client_disconnected(id) {
  136. g_iTimeExpired[id] = 0;
  137. g_iSwitchOff[id] = false;
  138. }
  139.  
  140. public plugin_end() {
  141. ArrayDestroy(musicname);
  142. ArrayDestroy(musicpath);
  143. }
  144.  
  145. stock bool:is_user_sounds_off(id) {
  146. new switcher[8];
  147. get_user_info(id, "_funnysoundsoff", switcher, charsmax(switcher));
  148. if(equal(switcher, "1")) return true;
  149. return false;
  150. }
  151.  
  152. public musicmenu(id) {
  153. #if defined ACCESS_FLAG
  154. if(~get_user_flags(id) & ACCESS_FLAG) return;
  155. #endif
  156.  
  157. new s_MenuName[128]; formatex(s_MenuName, charsmax(s_MenuName), "\r%s \w", PLUGIN);
  158. new menu = menu_create(s_MenuName, "musicmenu_h");
  159. new sSoundName[32];
  160. for(new i; i<g_aSize;i++) {
  161.     ArrayGetString(musicname, i, sSoundName, charsmax(sSoundName));
  162.     menu_additem(menu, sSoundName, "", 0)
  163. }
  164. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  165. menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  166. menu_setprop(menu, MPROP_NEXTNAME, "Következő");
  167. menu_setprop(menu, MPROP_EXITNAME, "Kilépés");
  168. menu_display(id, menu, 0);
  169. }
  170.  
  171. public musicmenu_h(id, menu, item) {
  172. if(item == MENU_EXIT) {
  173.     menu_destroy(menu);
  174.     return PLUGIN_HANDLED;
  175. }
  176.  
  177. expirecheck(id, item);
  178.  
  179. menu_destroy(menu);
  180. return PLUGIN_HANDLED;
  181. }
  182.  
  183. stock ChatColor(const id, const szMessage[], any:...) {
  184. static pnum, players[32], szMsg[190], IdMsg;
  185. vformat(szMsg, charsmax(szMsg), szMessage, 3);
  186.  
  187. if(!IdMsg) IdMsg = get_user_msgid("SayText");
  188.  
  189. if(id) {
  190.     if(!is_user_connected(id)) return;
  191.     players[0] = id;
  192.     pnum = 1;
  193. }
  194. else get_players(players, pnum, "ch");
  195.  
  196. for(new i; i < pnum; i++) {
  197.     message_begin(MSG_ONE, IdMsg, .player = players[i]);
  198.     write_byte(players[i]);
  199.     write_string(szMsg);
  200.     message_end();
  201. }
  202. }
És ezt úgy szeretném hogy az első pluginban ha megnyitom a menüt akkor jöjjön elő a másik pluginnal jelen esetlen erre jön elő /list
tehát hogyan lehetséges ez?

_________________
Mindenki a tettei következményeit szenvedi.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Egyik pluginból a másikban
HozzászólásElküldve: 2023.04.08. 22:20 
Offline
Lelkes

Csatlakozott: 2021.02.18. 12:00
Hozzászólások: 17
Megköszönték neki: 8 alkalommal
Kód:
   
      case 10:
      {
         client_cmd(id, "say /list");
      }
      

_________________
217.144.54.193:27137
Kép

Ők köszönték meg _Kaszi_ nek ezt a hozzászólást: John Wick (2023.04.09. 02:30)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Egyik pluginból a másikban
HozzászólásElküldve: 2023.04.09. 02:30 
Offline
Tag
Avatar

Csatlakozott: 2023.03.12. 22:01
Hozzászólások: 42
Megköszönt másnak: 16 alkalommal
Köszönöm működik!

_________________
Mindenki a tettei következményeit szenvedi.


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 6 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