hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2025.06.16. 13:24



Jelenlévő felhasználók

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

A legtöbb felhasználó (2761 fő) 2025.01.09. 20:06-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot], Google [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  [6 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Zene szól mapváltás megszavazásakor
HozzászólásElküldve:2010.06.12. 08:13 
Offline
Jómunkásember

Csatlakozott:2010.02.07. 11:24
Hozzászólások:325
Sziasztok!!!!

MElyik az a plugin amikor mapváltás szavazása van akkor szól egy zene?

Köv kérdés:
Amikor kevesen vannak a szerón mondjuk 24/16-an akkor csak fun mapok menjenek, ha pedig 24-en akkor csak de_ és cs_ mapok fussanak.
EZ is valamilyen ütemző lehet nem?:P


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve:2010.06.13. 14:27 
Offline
Jómunkásember

Csatlakozott:2010.01.01. 21:15
Hozzászólások:440
Megköszönték neki: 5 alkalommal
Üdv!

Első kérdésedben tudok segíteni.

Itt van maga a plugin.
Kód:
#include <amxmodx>
#include <amxmisc>

#define SELECTMAPS  5

#define charsof(%1) (sizeof(%1)-1)

new Array:g_mapName;
new g_mapNums;

new g_nextName[SELECTMAPS]
new g_voteCount[SELECTMAPS + 2]
new g_mapVoteNum
new g_teamScore[2]
new g_lastMap[32]

new g_coloredMenus
new bool:g_selected = false

public plugin_init()
{
   register_plugin("Nextmap Chooser", AMXX_VERSION_STR, "AMXX Dev Team")
   register_dictionary("mapchooser.txt")
   register_dictionary("common.txt")
   
   g_mapName=ArrayCreate(32);
   
   new MenuName[64]
   
   format(MenuName, 63, "%L", "en", "CHOOSE_NEXTM")
   register_menucmd(register_menuid(MenuName), (-1^(-1<<(SELECTMAPS+2))), "countVote")
   register_cvar("amx_extendmap_max", "90")
   register_cvar("amx_extendmap_step", "15")

   if (cstrike_running())
      register_event("TeamScore", "team_score", "a")

   get_localinfo("lastMap", g_lastMap, 31)
   set_localinfo("lastMap", "")

   new maps_ini_file[64]
   get_configsdir(maps_ini_file, 63);
   format(maps_ini_file, 63, "%s/maps.ini", maps_ini_file);
   
   if (!file_exists(maps_ini_file))
      get_cvar_string("mapcyclefile", maps_ini_file, 63)
   if (loadSettings(maps_ini_file))
      set_task(15.0, "voteNextmap", 987456, "", 0, "b")

   g_coloredMenus = colored_menus()
   
}

public checkVotes()
{
   new b = 0
   
   for (new a = 0; a < g_mapVoteNum; ++a)
      if (g_voteCount[b] < g_voteCount[a])
         b = a

   
   if (g_voteCount[SELECTMAPS] > g_voteCount[b]
       && g_voteCount[SELECTMAPS] > g_voteCount[SELECTMAPS+1])
   {
      new mapname[32]
      
      get_mapname(mapname, 31)
      new Float:steptime = get_cvar_float("amx_extendmap_step")
      set_cvar_float("mp_timelimit", get_cvar_float("mp_timelimit") + steptime)
      client_print(0, print_chat, "%L", LANG_PLAYER, "CHO_FIN_EXT", steptime)
      log_amx("Vote: Voting for the nextmap finished. Map %s will be extended to next %.0f minutes", mapname, steptime)
      
      return
   }
   
   new smap[32]
   if (g_voteCount[b] && g_voteCount[SELECTMAPS + 1] <= g_voteCount[b])
   {
      ArrayGetString(g_mapName, g_nextName[b], smap, charsof(smap));
      set_cvar_string("amx_nextmap", smap);
   }

   
   get_cvar_string("amx_nextmap", smap, 31)
   client_print(0, print_chat, "%L", LANG_PLAYER, "CHO_FIN_NEXT", smap)
   log_amx("Vote: Voting for the nextmap finished. The nextmap will be %s", smap)
}

public countVote(id, key)
{
   if (get_cvar_float("amx_vote_answers"))
   {
      new name[32]
      get_user_name(id, name, 31)
      
      if (key == SELECTMAPS)
         client_print(0, print_chat, "%L", LANG_PLAYER, "CHOSE_EXT", name)
      else if (key < SELECTMAPS)
      {
         new map[32];
         ArrayGetString(g_mapName, g_nextName[key], map, charsof(map));
         client_print(0, print_chat, "%L", LANG_PLAYER, "X_CHOSE_X", name, map);
      }
   }
   ++g_voteCount[key]
   
   return PLUGIN_HANDLED
}

bool:isInMenu(id)
{
   for (new a = 0; a < g_mapVoteNum; ++a)
      if (id == g_nextName[a])
         return true
   return false
}

public voteNextmap()
{
   new winlimit = get_cvar_num("mp_winlimit")
   new maxrounds = get_cvar_num("mp_maxrounds")
   
   if (winlimit)
   {
      new c = winlimit - 2
      
      if ((c > g_teamScore[0]) && (c > g_teamScore[1]))
      {
         g_selected = false
         return
      }
   }
   else if (maxrounds)
   {
      if ((maxrounds - 2) > (g_teamScore[0] + g_teamScore[1]))
      {
         g_selected = false
         return
      }
   } else {
      new timeleft = get_timeleft()
      
      if (timeleft < 1 || timeleft > 129)
      {
         g_selected = false
         return
      }
   }

   if (g_selected)
      return

   g_selected = true
   
   new menu[512], a, mkeys = (1<<SELECTMAPS + 1)

   new pos = format(menu, 511, g_coloredMenus ? "\y%L:\w^n^n" : "%L:^n^n", LANG_SERVER, "CHOOSE_NEXTM")
   new dmax = (g_mapNums > SELECTMAPS) ? SELECTMAPS : g_mapNums
   
   for (g_mapVoteNum = 0; g_mapVoteNum < dmax; ++g_mapVoteNum)
   {
      a = random_num(0, g_mapNums - 1)
      
      while (isInMenu(a))
         if (++a >= g_mapNums) a = 0
      
      g_nextName[g_mapVoteNum] = a
      pos += format(menu[pos], 511, "%d. %a^n", g_mapVoteNum + 1, ArrayGetStringHandle(g_mapName, a));
      mkeys |= (1<<g_mapVoteNum)
      g_voteCount[g_mapVoteNum] = 0
   }
   
   menu[pos++] = '^n'
   g_voteCount[SELECTMAPS] = 0
   g_voteCount[SELECTMAPS + 1] = 0
   
   new mapname[32]
   get_mapname(mapname, 31)

   if ((winlimit + maxrounds) == 0 && (get_cvar_float("mp_timelimit") < get_cvar_float("amx_extendmap_max")))
   {
      pos += format(menu[pos], 511, "%d. %L^n", SELECTMAPS + 1, LANG_SERVER, "EXTED_MAP", mapname)
      mkeys |= (1<<SELECTMAPS)
   }

   format(menu[pos], 511, "%d. %L", SELECTMAPS+2, LANG_SERVER, "NONE")
   new MenuName[64]
   
   format(MenuName, 63, "%L", "en", "CHOOSE_NEXTM")
   show_menu(0, mkeys, menu, 15, MenuName)
   set_task(15.0, "checkVotes")
   client_print(0, print_chat, "%L", LANG_SERVER, "TIME_CHOOSE")
   client_cmd(0, "spk Gman/Gman_Choose2")
   log_amx("Vote: Voting for the nextmap started")
}
stock bool:ValidMap(mapname[])
{
   if ( is_map_valid(mapname) )
   {
      return true;
   }
   // If the is_map_valid check failed, check the end of the string
   new len = strlen(mapname) - 4;
   
   // The mapname was too short to possibly house the .bsp extension
   if (len < 0)
   {
      return false;
   }
   if ( equali(mapname[len], ".bsp") )
   {
      // If the ending was .bsp, then cut it off.
      // the string is byref'ed, so this copies back to the loaded text.
      mapname[len] = '^0';
      
      // recheck
      if ( is_map_valid(mapname) )
      {
         return true;
      }
   }
   
   return false;
}

loadSettings(filename[])
{
   if (!file_exists(filename))
      return 0

   new szText[32]
   new currentMap[32]
   
   new buff[256];
   
   get_mapname(currentMap, 31)

   new fp=fopen(filename,"r");
   
   while (!feof(fp))
   {
      buff[0]='^0';
      
      fgets(fp, buff, charsof(buff));
      
      parse(buff, szText, charsof(szText));
      
      
      if (szText[0] != ';' &&
         ValidMap(szText) &&
         !equali(szText, g_lastMap) &&
         !equali(szText, currentMap))
      {
         ArrayPushString(g_mapName, szText);
         ++g_mapNums;
      }
      
   }
   
   fclose(fp);

   return g_mapNums
}

public team_score()
{
   new team[2]
   
   read_data(1, team, 1)
   g_teamScore[(team[0]=='C') ? 0 : 1] = read_data(2)
}

public plugin_end()
{
   new current_map[32]

   get_mapname(current_map, 31)
   set_localinfo("lastMap", current_map)
}


Ezt a részt pedig át írod.
Kód:
client_cmd(0, "spk Gman/Gman_Choose2")


PL erre:
Kód:
client_cmd(0, "spk demetera/demetera_hang")


A hangot Wav-ban megvágod és lecseréled azt a részt amit leírtam.

Sok sikert.


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve:2010.06.19. 22:15 
Offline
Jómunkásember

Csatlakozott:2010.01.01. 21:15
Hozzászólások:440
Megköszönték neki: 5 alkalommal
Semmi válasz? :shock:


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve:2010.06.20. 08:44 
Offline
Tud valamit

Csatlakozott:2010.05.20. 06:39
Hozzászólások:121
Megköszönték neki: 6 alkalommal
én megnéztem , müködik :)


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve:2010.06.20. 15:18 
Offline
Jómunkásember

Csatlakozott:2010.01.01. 21:15
Hozzászólások:440
Megköszönték neki: 5 alkalommal
Komolyan?


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve:2010.06.20. 19:58 
Offline
Tud valamit

Csatlakozott:2010.05.20. 06:39
Hozzászólások:121
Megköszönték neki: 6 alkalommal
figyelj.
felraktam egy szerora és amikkor szavazás volt szolt valami zene .
szerintem mükdöik :)


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


Ki van itt

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