hlmod.hu

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



Jelenlévő felhasználók

Jelenleg 545 felhasználó van jelen :: 2 regisztrált, 0 rejtett és 543 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], 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  [ 1 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: DM szavazó
HozzászólásElküldve: 2015.08.24. 17:28 
Offline
Lelkes
Avatar

Csatlakozott: 2015.07.04. 20:19
Hozzászólások: 23
Megköszönt másnak: 7 alkalommal
Üdv,
Valaki átírná nekem ezt úgy hogy a szavazást 5 percenként elindítja automatikusan? Illetve ezt cvar-al is lehessen állítani.
Előre is köszönöm :)

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <fakemeta>
  3. #include <hamsandwich>
  4.  
  5. enum _:TASKS
  6. {
  7. TASK_VOTE_INIT = 1445,
  8. TASK_VOTE_TIME,
  9. TASK_VOTE_COUNTDOWN
  10. };
  11.  
  12. enum _:MODES
  13. {
  14. NORMAL = 0,
  15. HEAD
  16. };
  17.  
  18. #define get_percent(%1,%2) ( ( %1 ) * 100 ) / ( %1 + %2 )
  19.  
  20. #define SERVER_TAG " DM VOTE "
  21.  
  22. new g_iMaxPlayers, g_iOnlyHead, g_iVoteTime, g_iVoteCountdown = 7;
  23.  
  24. new cvar_votetime, cvar_blockknife_dmg, cvar_voteinit_time;
  25.  
  26. new g_vote[ 2 ], g_hasvoted[ 33 ];
  27.  
  28. new const sound_countdown[ ][ ] = {
  29. "misc/one.wav",
  30. "misc/two.wav",
  31. "misc/three.wav",
  32. "misc/four.wav",
  33. "misc/five.wav"
  34. };
  35.  
  36. public plugin_precache( )
  37. {
  38. for( new i = 0; i < sizeof sound_countdown; i++ )
  39. precache_sound( sound_countdown[ i ] );
  40. }
  41.  
  42. public plugin_init( )
  43. {
  44. register_plugin( "DeatMatch Mod's Vote", "v1.0", "Neeeeeeeeeel.-" );
  45.  
  46. register_dictionary( "dm_vote.txt" );
  47.  
  48. cvar_votetime = register_cvar( "dm_vote_time", "15" );
  49.  
  50. cvar_blockknife_dmg = register_cvar( "dm_block_knife_dmg", "1" );
  51.  
  52. cvar_voteinit_time = register_cvar( "dm_voteinit_time", "40" );
  53.  
  54. RegisterHam( Ham_TraceAttack, "player", "fw_TraceAttack" );
  55.  
  56. g_iMaxPlayers = get_maxplayers( );
  57.  
  58. set_task( get_pcvar_float( cvar_voteinit_time ), "show_vote", TASK_VOTE_INIT );
  59. }
  60.  
  61. public client_putinserver( id )
  62. g_hasvoted[ id ] = 0;
  63.  
  64. public show_vote( )
  65. {
  66. if( g_iVoteCountdown == 7 )
  67. {
  68. g_iVoteCountdown--;
  69. set_task( 1.0, "show_vote", TASK_VOTE_COUNTDOWN, _, _, "b" );
  70.  
  71. return PLUGIN_HANDLED;
  72. }
  73.  
  74. else if( g_iVoteCountdown )
  75. {
  76. set_hudmessage( 85, 255, 0, -1.0, 0.09, 1, 6.0, 1.0 );
  77.  
  78. if( g_iVoteCountdown != 1 )
  79. {
  80. for( new i = 1; i <= g_iMaxPlayers; i++ )
  81. {
  82. if( is_user_connected( i ) )
  83. show_hudmessage( i, "%L", i, "VOTE_STARTS_IN", g_iVoteCountdown - 1 )
  84. }
  85.  
  86. PlaySound( g_iVoteCountdown - 2 );
  87.  
  88. g_iVoteCountdown--;
  89.  
  90. return PLUGIN_HANDLED;
  91. }
  92.  
  93. else
  94. {
  95. for( new i = 1; i <= g_iMaxPlayers; i++ )
  96. {
  97. if( is_user_connected( i ) )
  98. show_hudmessage( i, "%L", i, "VOTE_STARTING" )
  99. }
  100. }
  101. }
  102.  
  103. remove_task( TASK_VOTE_COUNTDOWN );
  104.  
  105. g_iVoteTime = get_pcvar_num( cvar_votetime );
  106.  
  107. set_task( 1.0, "time_vote", TASK_VOTE_TIME, _, _, "b" );
  108.  
  109. for( new i = 1; i <= g_iMaxPlayers; i++ )
  110. {
  111. if( is_user_connected( i ) )
  112. show_menu_vote( i );
  113. }
  114.  
  115. return PLUGIN_HANDLED;
  116. }
  117.  
  118. public time_vote( )
  119. {
  120. if( !g_iVoteTime )
  121. {
  122. remove_task( TASK_VOTE_TIME );
  123.  
  124. finish_vote( );
  125.  
  126. return PLUGIN_HANDLED;
  127. }
  128.  
  129. set_hudmessage( 85, 255, 0, -1.0, 0.09, 1, 6.0, 1.0 );
  130.  
  131. for( new i = 1; i <= g_iMaxPlayers; i++ )
  132. {
  133. if( is_user_connected( i ) )
  134. show_hudmessage( i, "%L", i, "VOTE_FINISHS_IN", g_iVoteTime );
  135. }
  136.  
  137. g_iVoteTime--;
  138.  
  139. return PLUGIN_HANDLED;
  140. }
  141.  
  142. public finish_vote( )
  143. {
  144. new result = g_vote[ HEAD ] == g_vote[ NORMAL ] ? 0 : 1;
  145.  
  146. for( new i = 1; i <= g_iMaxPlayers; i++ )
  147. {
  148. if( is_user_connected( i ) )
  149. {
  150. if( !result )
  151. ChatColor( i, "!g[%s] %L", SERVER_TAG, i, "VOTE_NOWINNER" );
  152.  
  153. else
  154. {
  155. ChatColor( i, "!g[%s] %L", SERVER_TAG, i, "VOTE_FINISH", ( g_vote[ HEAD ] + g_vote[ NORMAL ] ) > 0 ? get_percent( g_vote[ HEAD ], g_vote[ NORMAL ] ) : 0, ( g_vote[ HEAD ] + g_vote[ NORMAL ] ) > 0 ? get_percent( g_vote[ NORMAL ], g_vote[ HEAD ] ) : 0 );
  156. ChatColor( i, "!g[%s] %L", SERVER_TAG, i, "VOTE_RESULT", g_vote [ HEAD ] > g_vote[ NORMAL ] ? "Only Headshot mode" : "Normal mode" );
  157. }
  158. }
  159. }
  160.  
  161. g_iOnlyHead = g_vote[ HEAD ] > g_vote[ NORMAL ] ? true : false;
  162.  
  163. set_cvar_num( "sv_restart", 1 );
  164. }
  165.  
  166. public PlaySound( sound )
  167. client_cmd( 0, "spk ^"%s^"", sound_countdown[ sound ] );
  168.  
  169. public show_menu_vote( id )
  170. {
  171. new data[ 64 ];
  172. formatex( data, charsmax( data ), "%L", id, "VOTE_MENU_TITLE" );
  173.  
  174. new Menu = menu_create( data, "menu_vote" );
  175.  
  176. formatex( data, charsmax( data ), "Normál Mód \\r[\\y%d%%\\r]", ( g_vote[ HEAD ] + g_vote[ NORMAL ] ) > 0 ? get_percent( g_vote[ NORMAL ], g_vote[ HEAD ] ) : 0 );
  177. menu_additem( Menu, data, "1" );
  178.  
  179. formatex( data, charsmax( data ), "Csak fejlövés \\r[\\y%d%%\\r]", ( g_vote[ HEAD ] + g_vote[ NORMAL ] ) > 0 ? get_percent( g_vote[ HEAD ], g_vote[ NORMAL ] ) : 0 );
  180. menu_additem( Menu, data, "2" );
  181.  
  182. menu_setprop( Menu, MPROP_EXIT, MEXIT_NEVER );
  183.  
  184. menu_display( id, Menu );
  185. }
  186.  
  187. public menu_vote( id, Menu, item )
  188. {
  189. if( g_hasvoted[ id ] )
  190. return PLUGIN_HANDLED;
  191.  
  192. new uName[ 33 ];
  193. get_user_name( id, uName, charsmax( uName ) );
  194.  
  195. if( item > 1 ) //bugfix
  196. item = 0;
  197.  
  198. g_vote[ item ]++;
  199.  
  200. ChatColor( 0, "!g[%s] %L", SERVER_TAG, id, "VOTE_HAS_CHOOSEN", uName, !item ? "Normál" : "Csak fejlövés" );
  201.  
  202. for( new i = 1; i <= g_iMaxPlayers; i++ )
  203. {
  204. if( is_user_connected( i ) )
  205. show_menu_vote( i );
  206. }
  207.  
  208. g_hasvoted[ id ] = true;
  209.  
  210. return PLUGIN_HANDLED;
  211. }
  212.  
  213. public fw_TraceAttack( victim, attacker, Float:damage, Float:direction[3], trace, damageBits )
  214. {
  215. if( get_user_weapon( attacker ) == CSW_KNIFE && get_pcvar_num( cvar_blockknife_dmg ) )
  216. return HAM_SUPERCEDE;
  217.  
  218. else if( g_iOnlyHead && victim != attacker && ( 1 <= attacker <= g_iMaxPlayers ) && get_tr2( trace, 9/*TR_iHitGroup*/ ) != HIT_HEAD )
  219. {
  220. set_tr2( trace, TR_flFraction, 1.0 );
  221. return HAM_SUPERCEDE;
  222. }
  223.  
  224. return HAM_IGNORED;
  225. }
  226.  
  227. stock ChatColor( const id, const input[ ], any:... )
  228. {
  229. new count = 1, players[ 32 ];
  230. static msg[ 191 ];
  231. vformat( msg, 190, input, 3 );
  232.  
  233. replace_all( msg, 190, "!g", "^4" );
  234. replace_all( msg, 190, "!y", "^1" );
  235. replace_all( msg, 190, "!team", "^3" );
  236. replace_all( msg, 190, "!team2", "^0" );
  237.  
  238. if( id )
  239. players[ 0 ] = id;
  240. else
  241. get_players( players, count, "ch" );
  242.  
  243. for( new i = 0; i < count; i++ )
  244. {
  245. if( is_user_connected( players[ i ] ) )
  246. {
  247. message_begin( MSG_ONE_UNRELIABLE, get_user_msgid( "SayText" ), _, players[ i ] )
  248. write_byte( players[ i ] );
  249. write_string( msg );
  250. message_end( );
  251. }
  252. }
  253. }
  254. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  255. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang11274\\ f0\\ fs16 \n\\ par }
  256. */
  257.  

_________________
Kép

[steam]http://steamcommunity.com/id/pupi93[/steam]


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


Ki van itt

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