hlmod.hu

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



Jelenlévő felhasználók

Jelenleg 391 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 391 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  [ 2 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Vote Ban
HozzászólásElküldve: 2015.01.18. 11:51 
Offline
Félisten

Csatlakozott: 2012.06.19. 15:12
Hozzászólások: 926
Megköszönt másnak: 109 alkalommal
Megköszönték neki: 31 alkalommal
Valaki ezt a plugint át tudná úgy írni hogy csak terror csapatnak lehesen beírni hogy /voteban és csak a terror csapat szavazhasson.

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3.  
  4. #define MAX_players 32
  5. #define MAX_menudata 1024
  6.  
  7. new ga_PlayerName[MAX_players][32]
  8. new ga_PlayerAuthID[MAX_players][35]
  9. new ga_PlayerID[MAX_players]
  10. new ga_PlayerIP[MAX_players][16]
  11. new ga_MenuData[MAX_menudata]
  12. new ga_Choice[2]
  13. new gi_VoteStarter
  14. new gi_MenuPosition
  15. new gi_Sellection
  16. new gi_TotalPlayers
  17. new gi_SysTimeOffset = 0
  18. new i
  19. //pcvars
  20. new gi_LastTime
  21. new gi_DelayTime
  22. new gf_Ratio
  23. new gf_MinVoters
  24. new gf_BF_Ratio
  25. new gi_BanTime
  26. new gi_Disable
  27. new gi_BanType
  28.  
  29.  
  30. public plugin_init()
  31. {
  32. register_plugin("VoteBANN","1.0","PHP")
  33. register_clcmd("say voteban","SayIt" )
  34. register_menucmd(register_menuid("ChoosePlayer"), 1023, "ChooseMenu")
  35. register_menucmd(register_menuid("VoteMenu"), 1023, "CountVotes")
  36.  
  37. gi_LastTime=register_cvar("amx_voteban_lasttime","0")
  38. gi_DelayTime=register_cvar("amxx_voteban_delaytime","600")
  39. gf_Ratio=register_cvar("amxx_voteban_ratio","0.50")
  40. gf_MinVoters=register_cvar("amxx_voteban_minvoters","4.0")
  41. gf_BF_Ratio=register_cvar("amxx_voteban_bf_ratio","4.0")
  42. gi_BanTime=register_cvar("amxx_voteban_bantime","2")
  43. gi_Disable=register_cvar("amxx_voteban_disable","0")
  44. gi_BanType=register_cvar("amxx_voteban_type","1")
  45. }
  46.  
  47. public SayIt(id)
  48. {
  49. if(get_pcvar_num(gi_Disable))
  50. {
  51. client_print(id,print_chat,"VoteBann Kikapcsolva")
  52. return 0
  53. }
  54.  
  55. new Elapsed=get_systime(gi_SysTimeOffset) - get_pcvar_num(gi_LastTime)
  56. new Delay=get_pcvar_num(gi_DelayTime)
  57.  
  58. if( (Delay > Elapsed) && !is_user_admin(id) )
  59. {
  60. new seconds = Delay - Elapsed
  61. client_print(id,print_chat,"Varnod kell %d masodpercet az uj Szavazashoz!", seconds)
  62. return 0
  63. }
  64.  
  65. get_players( ga_PlayerID, gi_TotalPlayers )
  66. for(i=0; i<gi_TotalPlayers; i++)
  67. {
  68. new TempID = ga_PlayerID[i]
  69. if( is_user_admin(TempID))
  70. {
  71. if(!is_user_admin(id))
  72. {
  73. client_print(id,print_chat,"A Serveren van Admin,szavazas Kikapcsolva!")
  74. return 0
  75. }
  76. }
  77.  
  78. if(TempID == id)
  79. gi_VoteStarter=i
  80.  
  81. get_user_name( TempID, ga_PlayerName[i], 31 )
  82. get_user_authid( TempID, ga_PlayerAuthID[i], 34 )
  83. get_user_ip( TempID, ga_PlayerIP[i], 15, 1 )
  84. }
  85.  
  86. gi_MenuPosition = 0
  87. ShowPlayerMenu(id)
  88. return 0
  89. }
  90.  
  91. public ShowPlayerMenu(id)
  92. {
  93. new arrayloc = 0
  94. new keys = (1<<9)
  95.  
  96. arrayloc = format(ga_MenuData,(MAX_menudata-1),"voteban menu ^n")
  97. for(i=0; i<8; i++)
  98. if( gi_TotalPlayers>(gi_MenuPosition+i) )
  99. {
  100. arrayloc += format(ga_MenuData[arrayloc],(MAX_menudata-1-arrayloc),"%d. %s^n", i+1, ga_PlayerName[gi_MenuPosition+i])
  101. keys |= (1<<i)
  102. }
  103. if( gi_TotalPlayers>(gi_MenuPosition+8) )
  104. {
  105. arrayloc += format(ga_MenuData[arrayloc],(MAX_menudata-1-arrayloc),"^n9. Tovabb")
  106. keys |= (1<<8)
  107. }
  108. arrayloc += format(ga_MenuData[arrayloc],(MAX_menudata-1-arrayloc),"^n0. Vissza/Kilep")
  109.  
  110. show_menu(id, keys, ga_MenuData, 20, "ChoosePlayer")
  111. return PLUGIN_HANDLED
  112. }
  113.  
  114. public ChooseMenu(id, key)
  115. {
  116. switch(key)
  117. {
  118. case 8:
  119. {
  120. gi_MenuPosition=gi_MenuPosition+8
  121. ShowPlayerMenu(id)
  122. }
  123. case 9:
  124. {
  125. if(gi_MenuPosition>=8)
  126. {
  127. gi_MenuPosition=gi_MenuPosition-8
  128. ShowPlayerMenu(id)
  129. }
  130. else
  131. return 0
  132. }
  133. default:
  134. {
  135. gi_Sellection=gi_MenuPosition+key
  136. new Now=get_systime(gi_SysTimeOffset)
  137. set_pcvar_num(gi_LastTime, Now)
  138.  
  139. run_vote()
  140. return 0
  141. }
  142. }
  143. return PLUGIN_HANDLED
  144. }
  145.  
  146. public run_vote()
  147. {
  148. log_amx("Bann Szavazas Inditva by %s %s %s -ellen", ga_PlayerName[gi_VoteStarter], ga_PlayerName[gi_Sellection], ga_PlayerAuthID[gi_Sellection])
  149. format(ga_MenuData,(MAX_menudata-1),"Bannoljuk %s-t %d percre?^n1. Igen^n2. Nem",ga_PlayerName[gi_Sellection], get_pcvar_num(gi_BanTime))
  150. ga_Choice[0] = 0
  151. ga_Choice[1] = 0
  152. show_menu( 0, (1<<0)|(1<<1), ga_MenuData, 15, "VoteMenu" )
  153. set_task(15.0,"outcom")
  154. return 0
  155. }
  156.  
  157. public CountVotes(id, key)
  158. {
  159. ++ga_Choice[key]
  160. return PLUGIN_HANDLED
  161. }
  162.  
  163. public outcom()
  164. {
  165. new TotalVotes = ga_Choice[0] + ga_Choice[1]
  166. new Float:result = (float(ga_Choice[0]) / float(TotalVotes))
  167.  
  168. if( get_pcvar_float(gf_MinVoters) >= ( float(TotalVotes) / float(gi_TotalPlayers) ) )
  169. {
  170. client_print(0,print_chat,"Nincs eleg szavazat a Bannolashoz %s!", ga_PlayerName[gi_Sellection])
  171. return 0
  172. }
  173. else
  174. {
  175. if( result < get_pcvar_float(gf_BF_Ratio) )
  176. {
  177. client_print(0,print_chat,"[AMXX] %s %d perc es bannolasa lejart!", ga_PlayerName[gi_VoteStarter], get_pcvar_num(gi_BanTime))
  178. ActualBan(gi_VoteStarter)
  179. log_amx("[AMXX] The vote back fired at %s, he is banned for %d minutes", ga_PlayerName[gi_VoteStarter], get_pcvar_num(gi_BanTime))
  180. }
  181.  
  182. if( result >= get_pcvar_float(gf_Ratio) )
  183. {
  184. client_print(0,print_chat,"Szavazas sikeres, %s bannolva %d percre", ga_PlayerName[gi_Sellection], get_pcvar_num(gi_BanTime))
  185. log_amx("[AMXX] The vote succeeded: %s is banned for %d minutes", ga_PlayerAuthID[gi_Sellection], get_pcvar_num(gi_BanTime))
  186. ActualBan(gi_Sellection)
  187. }
  188. else
  189. {
  190. client_print(0,print_chat,"Szavazas nem sikerult!")
  191. log_amx("Szavazas nem sikerult!")
  192. }
  193. }
  194. client_print(0,print_chat,"A %d játékosbol , %d szavazott igenel!.", gi_TotalPlayers, ga_Choice[0])
  195.  
  196. return 0
  197. }
  198.  
  199. public ActualBan(Selected)
  200. {
  201. new Type = get_pcvar_num(gi_BanType)
  202. switch(Type)
  203. {
  204. case 1:
  205. server_cmd("addip %d %s", get_pcvar_num(gi_BanTime), ga_PlayerIP[Selected])
  206. case 2:
  207. server_cmd("amx_ban %d %s Voteban", get_pcvar_num(gi_BanTime), ga_PlayerAuthID[Selected])
  208. default:
  209. server_cmd("banid %d %s kick", get_pcvar_num(gi_BanTime), ga_PlayerAuthID[Selected])
  210. }
  211. return 0
  212. }
  213.  

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Vote Ban
HozzászólásElküldve: 2015.01.18. 22:11 
Offline
Tud valamit
Avatar

Csatlakozott: 2014.12.19. 23:49
Hozzászólások: 100
Megköszönt másnak: 19 alkalommal
Megköszönték neki: 23 alkalommal
Tomos írta:
Valaki ezt a plugint át tudná úgy írni hogy csak terror csapatnak lehesen beírni hogy /voteban és csak a terror csapat szavazhasson. 


Szerintem ennek semmi értelme, de ha gépen leszek megcsinálom! :D

_________________
[mozgo]^^^ [.:~Be4tBox~:.] ^^^[/mozgo]


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


Ki van itt

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