hlmod.hu

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



Jelenlévő felhasználók

Jelenleg 536 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 536 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: Halálfutam ujra éledés
HozzászólásElküldve: 2014.10.29. 04:02 
Offline
Nagyúr

Csatlakozott: 2014.05.10. 16:41
Hozzászólások: 721
Megköszönt másnak: 43 alkalommal
Megköszönték neki: 64 alkalommal
Üdv.
Valaki meg csinálná nekem hogy az életeket csak /ujra , ujra parancsol lehessen fel használni meg köszöném és menne a gomb!:D


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Halálfutam ujra éledés
HozzászólásElküldve: 2014.10.29. 09:21 
Offline
Tiszteletbeli

Csatlakozott: 2010.02.04. 19:12
Hozzászólások: 3528
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 180 alkalommal
SMA Forráskód: [ Mindet kijelol ]
  1. #include < amxmodx >
  2. #include < engine >
  3. #include < cstrike >
  4. #include < fun >
  5. #include < fakemeta >
  6. #include < hamsandwich >
  7.  
  8. #pragma semicolon 1
  9.  
  10. // Comment this line if you do not want to have fake player !
  11. #define FAKE_PLAYER
  12.  
  13. // Bot name
  14. #if defined FAKE_PLAYER
  15. new const g_szBotName[ ] = "Deathrun BOT";
  16. #endif
  17.  
  18. // Messages prefix
  19. new const g_szPrefix[ ] = "[ Halalfutam ]";
  20.  
  21. // Global Variables
  22. new bool:g_bHauntedHouse, bool:g_bGamerFun, bool:g_bRandromized, bool:g_bStarting, bool:g_bFirstRound;
  23. new bool:g_bEnabled, bool:g_bRestart, bool:g_bConnected[ 33 ];
  24.  
  25. new g_pRemoveBuyZone, g_pHideHuds, g_pBlockMoney, g_pLifeSystem, g_pSvRestart, g_pAutoBalance, g_pLimitTeams;
  26. new g_pNoFallDmg, g_pGameName, g_pToggle, g_pBlockSpray, g_pBlockRadio, g_pSemiclip, g_pGiveUsp, g_pBlockKill;
  27.  
  28. new g_iMsgHideWeapon, g_iMsgCrosshair, g_iMsgMoney, g_iMsgTeamInfo, g_iMsgSayText;
  29. new g_iMaxplayers, g_iHudSync, g_iHudSync2, g_iLastTerr, g_iThinker;
  30. new g_iSemiClip[ 33 ], g_Lifes[ 33 ];
  31.  
  32. #if defined FAKE_PLAYER
  33. new g_iFakeplayer;
  34. #endif
  35.  
  36. // Macros
  37. #if cellbits == 32
  38. #define OFFSET_BZ 235
  39. #else
  40. #define OFFSET_BZ 268
  41. #endif
  42.  
  43. // Colorchat
  44. enum Color {
  45. NORMAL = 1,
  46. GREEN,
  47. RED,
  48. BLUE
  49. };
  50.  
  51. new TeamName[ ][ ] = {
  52. "",
  53. "TERRORIST",
  54. "CT",
  55. "SPECTATOR"
  56. };
  57.  
  58. // =======================================================================================
  59.  
  60. public plugin_init( ) {
  61. new const VERSION[ ] = "3.0.3";
  62.  
  63. register_plugin( "Deathrun Mod", VERSION, "xPaw" );
  64.  
  65. g_pToggle = register_cvar( "deathrun_toggle", "1" );
  66. g_pBlockSpray = register_cvar( "deathrun_spray", "1" );
  67. g_pBlockRadio = register_cvar( "deathrun_radio", "1" );
  68. g_pBlockKill = register_cvar( "deathrun_blockkill", "1" );
  69. g_pBlockMoney = register_cvar( "deathrun_blockmoney", "1" );
  70. g_pSemiclip = register_cvar( "deathrun_semiclip", "1" );
  71. g_pGiveUsp = register_cvar( "deathrun_giveusp", "1" );
  72. g_pHideHuds = register_cvar( "deathrun_hidehud", "1" );
  73. g_pLifeSystem = register_cvar( "deathrun_lifesystem", "1" );
  74. g_pGameName = register_cvar( "deathrun_gamename", "1" );
  75. g_pNoFallDmg = register_cvar( "deathrun_terrnfd", "1" );
  76. g_pRemoveBuyZone = register_cvar( "deathrun_removebz", "1" );
  77.  
  78. // Lets get map name...
  79. new szMapName[ 64 ];
  80. get_mapname( szMapName, 63 );
  81.  
  82. if( contain( szMapName, "deathrun_" ) != -1 ) {
  83. set_pcvar_num( g_pToggle, 1 );
  84.  
  85. if( contain( szMapName, "hauntedhouse" ) != -1 )
  86. g_bHauntedHouse = true;
  87. else {
  88. g_bHauntedHouse = false;
  89.  
  90. if( equal( szMapName, "deathrun_gamerfun" ) )
  91. g_bGamerFun = true;
  92. else
  93. g_bGamerFun = false;
  94. }
  95. } else
  96. set_pcvar_num( g_pToggle, 0 );
  97.  
  98. g_pSvRestart = get_cvar_pointer( "sv_restart" );
  99. g_pAutoBalance = get_cvar_pointer( "mp_autoteambalance" );
  100. g_pLimitTeams = get_cvar_pointer( "mp_limitteams" );
  101.  
  102. register_cvar( "deathrun_version", VERSION, FCVAR_SERVER | FCVAR_SPONLY );
  103. set_cvar_string( "deathrun_version", VERSION );
  104.  
  105. // Registering Language file
  106. register_dictionary( "deathrun.txt" );
  107.  
  108. // Logging Events
  109. register_logevent( "EventRoundStart", 2, "1=Round_Start" );
  110. register_logevent( "EventRandromize", 2, "1=Round_End" );
  111. register_event( "SendAudio", "EventTerrsWin", "a", "2&%!MRAD_terwin" );
  112. register_event( "TextMsg", "EventRandromize", "a", "2&#Game_w" );
  113. register_event( "DeathMsg", "EventDeath", "a");
  114. register_event( "Money", "EventMoney", "b" );
  115. register_event( "ResetHUD", "EventResetHud", "be" );
  116.  
  117. g_bFirstRound = true;
  118. g_iMaxplayers = get_maxplayers( );
  119. g_iMsgHideWeapon = get_user_msgid( "HideWeapon" );
  120. g_iMsgCrosshair = get_user_msgid( "Crosshair" );
  121. g_iMsgMoney = get_user_msgid( "Money" );
  122. g_iMsgSayText = get_user_msgid( "SayText" );
  123. g_iMsgTeamInfo = get_user_msgid( "TeamInfo" );
  124.  
  125. g_iHudSync = CreateHudSyncObj( );
  126. g_iHudSync2 = CreateHudSyncObj( );
  127.  
  128. if( get_pcvar_num( g_pToggle ) ) {
  129. RegisterHam( Ham_TakeDamage, "player", "FwdHamPlayerDamage" );
  130. RegisterHam( Ham_Spawn, "player", "FwdHamPlayerSpawn", 1 );
  131. register_forward( FM_ClientKill, "FwdClientKill" );
  132. register_impulse( 201, "FwdImpulse_201" );
  133.  
  134. if( get_pcvar_num( g_pGameName ) )
  135. register_forward( FM_GetGameDescription, "FwdGameDesc" );
  136.  
  137. register_clcmd( "say /elet", "CmdShowlifes" );
  138. register_clcmd( "say /elet", "CmdShowlifes" );
  139.  
  140. register_clcmd("say ujra", "Ujraeledes");
  141. register_clcmd("say /ujra", "Ujraeledes");
  142.  
  143. register_clcmd( "radio1", "CmdRadio" );
  144. register_clcmd( "radio2", "CmdRadio" );
  145. register_clcmd( "radio3", "CmdRadio" );
  146.  
  147. // Terrorist Check
  148. g_iThinker= create_entity( "info_target" );
  149.  
  150. if( is_valid_ent( g_iThinker ) ) {
  151. entity_set_string( g_iThinker, EV_SZ_classname, "DeathrunThinker" );
  152. entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 20.0 );
  153.  
  154. g_bRestart = true;
  155.  
  156. // First think will happen in 20.0, Restart will be done there.
  157.  
  158. register_think( "DeathrunThinker", "FwdThinker" );
  159. } else {
  160. set_task( 15.0, "CheckTerrorists", _, _, _, "b" );
  161.  
  162. // Lets make restart after 20 seconds from map start.
  163. set_task( 20.0, "RestartRound" );
  164. }
  165.  
  166. if( get_pcvar_num( g_pRemoveBuyZone ) ) {
  167. register_message( get_user_msgid( "StatusIcon" ), "MsgStatusIcon" ); // BuyZone Icon
  168.  
  169. // Remove buyzone on map
  170. remove_entity_name( "info_map_parameters" );
  171. remove_entity_name( "func_buyzone" );
  172.  
  173. // Create own entity to block buying
  174. new iEntity = create_entity( "info_map_parameters" );
  175.  
  176. DispatchKeyValue( iEntity, "buying", "3" );
  177. DispatchSpawn( iEntity );
  178. }
  179.  
  180. if( get_pcvar_num( g_pSemiclip ) ) {
  181. register_forward( FM_StartFrame, "FwdStartFrame", 0 );
  182. register_forward( FM_AddToFullPack, "FwdFullPack", 1 );
  183. }
  184.  
  185. g_bEnabled = true;
  186.  
  187. #if defined FAKE_PLAYER
  188. new iEntity, iCount;
  189.  
  190. while( ( iEntity = find_ent_by_class( iEntity, "info_player_deathmatch" ) ) > 0 )
  191. if( iCount++ > 1 )
  192. break;
  193.  
  194. if( iCount <= 1 )
  195. g_iFakeplayer = -1;
  196.  
  197. set_task( 5.0, "UpdateBot" );
  198.  
  199. register_message( get_user_msgid( "DeathMsg" ), "MsgDeathMsg" );
  200. #endif
  201. } else
  202. g_bEnabled = false;
  203. }
  204.  
  205. // FAKEPLAYER
  206. ///////////////////////////////////////////
  207. #if defined FAKE_PLAYER
  208. public UpdateBot( ) {
  209. if( g_iFakeplayer == -1 )
  210. return;
  211.  
  212. new id = find_player( "i" );
  213.  
  214. if( !id ) {
  215. id = engfunc( EngFunc_CreateFakeClient, g_szBotName );
  216. if( pev_valid( id ) ) {
  217. engfunc( EngFunc_FreeEntPrivateData, id );
  218. dllfunc( MetaFunc_CallGameEntity, "player", id );
  219. set_user_info( id, "rate", "3500" );
  220. set_user_info( id, "cl_updaterate", "25" );
  221. set_user_info( id, "cl_lw", "1" );
  222. set_user_info( id, "cl_lc", "1" );
  223. set_user_info( id, "cl_dlmax", "128" );
  224. set_user_info( id, "cl_righthand", "1" );
  225. set_user_info( id, "_vgui_menus", "0" );
  226. set_user_info( id, "_ah", "0" );
  227. set_user_info( id, "dm", "0" );
  228. set_user_info( id, "tracker", "0" );
  229. set_user_info( id, "friends", "0" );
  230. set_user_info( id, "*bot", "1" );
  231. set_pev( id, pev_flags, pev( id, pev_flags ) | FL_FAKECLIENT );
  232. set_pev( id, pev_colormap, id );
  233.  
  234. new szMsg[ 128 ];
  235. dllfunc( DLLFunc_ClientConnect, id, g_szBotName, "127.0.0.1", szMsg );
  236. dllfunc( DLLFunc_ClientPutInServer, id );
  237.  
  238. cs_set_user_team( id, CS_TEAM_T );
  239. ExecuteHamB( Ham_CS_RoundRespawn, id );
  240.  
  241. set_pev( id, pev_effects, pev( id, pev_effects ) | EF_NODRAW );
  242. set_pev( id, pev_solid, SOLID_NOT );
  243. dllfunc( DLLFunc_Think, id );
  244.  
  245. g_iFakeplayer = id;
  246. }
  247. }
  248. }
  249.  
  250. public MsgDeathMsg( const iMsgId, const iMsgDest, const id ) {
  251. if( get_msg_arg_int( 2 ) == g_iFakeplayer )
  252. return PLUGIN_HANDLED;
  253.  
  254. return PLUGIN_CONTINUE;
  255. }
  256. #endif
  257.  
  258. // NEW TERRORIST
  259. ///////////////////////////////////////////
  260. public EventRandromize( ) {
  261. if( !g_bEnabled || g_bFirstRound || g_bRandromized )
  262. return PLUGIN_CONTINUE;
  263.  
  264. g_bRandromized = true;
  265.  
  266. new i, iPlayers[ 32 ], iNum, iPlayer;
  267. get_players( iPlayers, iNum, "c" );
  268.  
  269. if( iNum <= 1 )
  270. return PLUGIN_CONTINUE;
  271.  
  272. for( i = 0; i < iNum; i++ ) {
  273. iPlayer = iPlayers[ i ];
  274.  
  275. if( cs_get_user_team( iPlayer ) == CS_TEAM_T )
  276. cs_set_user_team( iPlayer, CS_TEAM_CT );
  277. }
  278.  
  279. new iRandomPlayer, CsTeams:iTeam;
  280.  
  281. while( ( iRandomPlayer = iPlayers[ random_num( 0, iNum - 1 ) ] ) == g_iLastTerr ) { }
  282.  
  283. g_iLastTerr = iRandomPlayer;
  284.  
  285. iTeam = cs_get_user_team( iRandomPlayer );
  286.  
  287. if( iTeam == CS_TEAM_T || iTeam == CS_TEAM_CT ) {
  288. cs_set_user_team(iRandomPlayer, CS_TEAM_T);
  289.  
  290. new szName[ 32 ];
  291. get_user_name( iRandomPlayer, szName, 31 );
  292.  
  293. for( i = 0; i < iNum; i++ )
  294. ColorChat(iPlayers[ i ], RED, "%s^4 %L", g_szPrefix, iPlayers[ i ], "DR_NOW_TERR", szName);
  295.  
  296. if( !g_bRestart && is_valid_ent( g_iThinker ) )
  297. entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 15.0 );
  298. } else {
  299. g_bRandromized = false;
  300. EventRandromize( );
  301. }
  302.  
  303. return PLUGIN_CONTINUE;
  304. }
  305.  
  306. // NEW ROUND
  307. ///////////////////////////////////////////
  308. public EventRoundStart( ) {
  309. if( !g_bEnabled )
  310. return PLUGIN_CONTINUE;
  311.  
  312. g_bRandromized = false;
  313. g_bStarting = false;
  314.  
  315. new i, iPlayers[ 32 ], iNum, iRealPlayers, CsTeams:iTeam;
  316. get_players( iPlayers, iNum, "c" );
  317.  
  318. if( iNum <= 1 )
  319. return PLUGIN_CONTINUE;
  320.  
  321. for( i = 0; i < iNum; i++ ) {
  322. iTeam = cs_get_user_team( iPlayers[ i ] );
  323.  
  324. if( iTeam == CS_TEAM_T || iTeam == CS_TEAM_CT )
  325. iRealPlayers++;
  326. }
  327.  
  328. if( iRealPlayers <= 1 ) {
  329. set_hudmessage( 0, 128, 0, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4 );
  330.  
  331. for( i = 0; i < iNum; i++ )
  332. ShowSyncHudMsg( iPlayers[ i ], g_iHudSync, "%L", iPlayers[ i ], "DR_NOT_ENOUGH" );
  333.  
  334. return PLUGIN_CONTINUE;
  335. }
  336.  
  337. set_pcvar_num( g_pAutoBalance, 0 );
  338. set_pcvar_num( g_pLimitTeams, 0 );
  339.  
  340. if( g_bFirstRound ) {
  341. set_hudmessage( 0, 128, 0, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4 );
  342.  
  343. for( i = 0; i < iNum; i++ ) {
  344. ShowSyncHudMsg( iPlayers[ i ], g_iHudSync, "%L", iPlayers[ i ], "DR_STARTING" );
  345.  
  346. ColorChat( iPlayers[ i ], RED, "%s^1 %L", g_szPrefix, iPlayers[ i ], "DR_STARTING_CC" );
  347. }
  348.  
  349. if( is_valid_ent( g_iThinker ) ) {
  350. g_bRestart = true;
  351.  
  352. entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 9.0 );
  353. } else
  354. set_task( 9.0, "RestartRound" );
  355.  
  356. g_bStarting = true;
  357. g_bFirstRound = false;
  358. }
  359.  
  360. return PLUGIN_CONTINUE;
  361. }
  362.  
  363. // CHECK TERRORIST
  364. ///////////////////////////////////////////
  365. public FwdThinker( iEntity ) {
  366. if( g_bRestart ) {
  367. g_bRestart = false;
  368.  
  369. RestartRound( );
  370. } else
  371. CheckTerrorists( );
  372.  
  373. entity_set_float( iEntity, EV_FL_nextthink, get_gametime( ) + 15.0 );
  374. }
  375.  
  376. public CheckTerrorists( ) {
  377. if( !g_bEnabled || g_bFirstRound || g_bStarting )
  378. return PLUGIN_CONTINUE;
  379.  
  380. new i, iPlayers[ 32 ], iTerrors, iNum, iRealPlayers, CsTeams:iTeam;
  381. get_players( iPlayers, iNum, "c" );
  382.  
  383. if( iNum <= 1 )
  384. return PLUGIN_CONTINUE;
  385.  
  386. for( i = 0; i < iNum; i++ ) {
  387. iTeam = cs_get_user_team( iPlayers[ i ] );
  388.  
  389. if( iTeam == CS_TEAM_T )
  390. iTerrors++;
  391.  
  392. if( iTeam == CS_TEAM_T || iTeam == CS_TEAM_CT )
  393. iRealPlayers++;
  394. }
  395.  
  396. if( iRealPlayers <= 1 ) {
  397. set_hudmessage( 0, 128, 0, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4 );
  398.  
  399. for( i = 0; i < iNum; i++ )
  400. ShowSyncHudMsg( iPlayers[ i ], g_iHudSync, "%L", iPlayers[ i ], "DR_NOT_ENOUGH" );
  401.  
  402. return PLUGIN_CONTINUE;
  403. }
  404.  
  405. if( iTerrors == 0 ) {
  406. for( i = 0; i < iNum; i++ ) {
  407. ColorChat(iPlayers[ i ], RED, "%s^1 %L", g_szPrefix, iPlayers[ i ], "DR_NO_DETECT");
  408.  
  409. if( is_user_alive( iPlayers[ i ] ) && cs_get_user_team( iPlayers[ i ] ) == CS_TEAM_CT )
  410. user_silentkill( iPlayers[ i ] );
  411. }
  412.  
  413. set_task( 0.5, "EventRandromize" );
  414. }
  415.  
  416. return PLUGIN_CONTINUE;
  417. }
  418.  
  419. // LIFE SYSTEM
  420. ///////////////////////////////////////////
  421. public EventTerrsWin( ) {
  422. if( !g_bEnabled || g_bFirstRound )
  423. return PLUGIN_CONTINUE;
  424.  
  425. new iPlayers[ 32 ], iNum, iPlayer;
  426. get_players( iPlayers, iNum, "c" );
  427.  
  428. if( iNum <= 1 )
  429. return PLUGIN_CONTINUE;
  430.  
  431. new iLifeCvar = get_pcvar_num( g_pLifeSystem );
  432.  
  433. for( new i = 0; i < iNum; i++ ) {
  434. iPlayer = iPlayers[ i ];
  435.  
  436. if( cs_get_user_team( iPlayer ) == CS_TEAM_T ) {
  437. set_user_frags( iPlayer, get_user_frags( iPlayer ) + 3 );
  438.  
  439. if( iLifeCvar == 2 )
  440. g_Lifes[ iPlayer ]++;
  441. }
  442. }
  443.  
  444. return PLUGIN_CONTINUE;
  445. }
  446.  
  447. public EventDeath( ) {
  448. if( !g_bEnabled )
  449. return PLUGIN_CONTINUE;
  450.  
  451. #if defined FAKE_PLAYER
  452. new iVictim = read_data( 2 );
  453. new iTeam = get_user_team( iVictim );
  454.  
  455. if( iTeam == 1 && is_user_alive( g_iFakeplayer ) )
  456. fakedamage( g_iFakeplayer, "worldspawn", 100.0, DMG_GENERIC );
  457.  
  458. if( !get_pcvar_num( g_pLifeSystem ) )
  459. return PLUGIN_CONTINUE;
  460. #else
  461. if( !get_pcvar_num( g_pLifeSystem ) )
  462. return PLUGIN_CONTINUE;
  463.  
  464. new iVictim = read_data( 2 );
  465. new iTeam = get_user_team( iVictim );
  466. #endif
  467.  
  468. new iKiller = read_data( 1 );
  469.  
  470. if( iKiller != iVictim && get_user_team(iKiller) != iTeam )
  471. g_Lifes[iKiller]++;
  472.  
  473. if( cs_get_user_team( iVictim ) == CS_TEAM_CT && g_Lifes[ iVictim ] > 0 ) {
  474. new iCTcount;
  475. for( new i = 1; i <= g_iMaxplayers; i++ ) {
  476. if( is_user_alive( i ) && cs_get_user_team( i ) == CS_TEAM_CT )
  477. iCTcount++;
  478. }
  479.  
  480. if( iCTcount > 1 ) {
  481. //set_task(3.2, "fnRevivePlayer", iVictim);
  482.  
  483. ColorChat( iVictim, RED, "%s^1 %L", g_szPrefix, iVictim, "DR_LIFE_RESPAWN" );
  484. }
  485. /*else
  486. ColorChat( iVictim, RED, "%s^1 %L", g_szPrefix, iVictim, "DR_LIFE_CANT" );*/
  487. }
  488.  
  489. return PLUGIN_CONTINUE;
  490. }
  491.  
  492. public Ujraeledes(iVictim) {
  493. if( cs_get_user_team( iVictim ) == CS_TEAM_CT && g_Lifes[ iVictim ] > 0 && !is_user_alive(iVictim)) {
  494. new iCTcount;
  495. for( new i = 1; i <= g_iMaxplayers; i++ ) {
  496. if( is_user_alive( i ) && cs_get_user_team( i ) == CS_TEAM_CT )
  497. iCTcount++;
  498. }
  499.  
  500. if( iCTcount > 1 ) {
  501. set_task(0.1, "fnRevivePlayer", iVictim);
  502.  
  503. ColorChat( iVictim, RED, "%s^1 %L", g_szPrefix, iVictim, "DR_LIFE_RESPAWN" );
  504. }
  505. /*else
  506. ColorChat( iVictim, RED, "%s^1 %L", g_szPrefix, iVictim, "DR_LIFE_CANT" );*/
  507. }
  508. }
  509.  
  510. public fnRevivePlayer( id ) {
  511. if( g_bConnected[ id ] ) {
  512. if( cs_get_user_team( id ) == CS_TEAM_CT ) {
  513. new iCTcount;
  514. for( new i = 1; i <= g_iMaxplayers; i++ )
  515. if( is_user_alive( i ) && cs_get_user_team( i ) == CS_TEAM_CT )
  516. iCTcount++;
  517.  
  518. if( iCTcount > 1 ) {
  519. ExecuteHamB( Ham_CS_RoundRespawn, id );
  520.  
  521. g_Lifes[ id ]--;
  522. }
  523. }
  524. }
  525. }
  526.  
  527. public CmdShowlifes( id ) {
  528. if( get_pcvar_num( g_pLifeSystem ) == 0 ) {
  529. ColorChat( id, RED, "%s^1 %L", g_szPrefix, id, "DR_LIFE_DISABLE" );
  530. return PLUGIN_HANDLED;
  531. }
  532.  
  533. if( g_Lifes[ id ] > 0 )
  534. ColorChat( id, RED, "%s^1 %L", g_szPrefix, id, "DR_LIFE_CC_COUNT", g_Lifes[ id ] );
  535. else
  536. ColorChat( id, RED, "%s^1 %L", g_szPrefix, id, "DR_LIFE_CC_NO" );
  537.  
  538. return PLUGIN_HANDLED;
  539. }
  540.  
  541. public Showlifes( id ) {
  542. set_hudmessage( 0, 128, 0, 0.04, 0.71, 0, 2.5, 2.5, 0.5, 0.5, 3 );
  543.  
  544. if( g_Lifes[ id ] > 0 )
  545. ShowSyncHudMsg( id, g_iHudSync2, "%L", id, "DR_LIFE_COUNT", g_Lifes[ id ] );
  546. else
  547. ShowSyncHudMsg( id, g_iHudSync2, "%L", id, "DR_LIFE_NO" );
  548. }
  549.  
  550. // EVENTS
  551. ///////////////////////////////////////////
  552. public EventResetHud( id ) {
  553. if( g_bEnabled && get_pcvar_num( g_pHideHuds ) && !is_user_bot( id ) ) {
  554. message_begin( MSG_ONE_UNRELIABLE, g_iMsgHideWeapon, _, id );
  555. write_byte( ( 1<<4 | 1<<5 ) );
  556. message_end( );
  557.  
  558. message_begin( MSG_ONE_UNRELIABLE, g_iMsgCrosshair, _, id );
  559. write_byte( 0 );
  560. message_end( );
  561. }
  562. }
  563.  
  564. public EventMoney( id ) {
  565. if( g_bEnabled && get_pcvar_num( g_pBlockMoney ) ) {
  566. set_pdata_int( id, 115, 0 );
  567.  
  568. message_begin( MSG_ONE_UNRELIABLE, g_iMsgMoney, _, id );
  569. write_long ( 0 );
  570. write_byte ( 1 );
  571. message_end( );
  572. }
  573. }
  574.  
  575. public client_putinserver( id )
  576. g_bConnected[ id ] = true;
  577.  
  578. public client_disconnect( id ) {
  579. g_bConnected[ id ] = false;
  580. CheckTerrorists( );
  581.  
  582. if( !g_bRestart && is_valid_ent( g_iThinker ) )
  583. entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 15.0 );
  584.  
  585. #if defined FAKE_PLAYER
  586. if( g_iFakeplayer == id ) {
  587. set_task( 1.5, "UpdateBot" );
  588.  
  589. g_iFakeplayer = 0;
  590. }
  591. #endif
  592. }
  593.  
  594. // SEMICLIP
  595. ///////////////////////////////////////////
  596. public FwdFullPack( es, e, ent, host, flags, player, pSet ) {
  597. if( !g_bEnabled )
  598. return FMRES_IGNORED;
  599.  
  600. if( player && g_iSemiClip[ ent ] && g_iSemiClip[ host ] ) {
  601. set_es( es, ES_Solid, SOLID_NOT );
  602. set_es( es, ES_RenderMode, kRenderTransAlpha );
  603. set_es( es, ES_RenderAmt, 85 );
  604. }
  605.  
  606. return FMRES_IGNORED;
  607. }
  608.  
  609. public FwdStartFrame( ) {
  610. if( !g_bEnabled )
  611. return FMRES_IGNORED;
  612.  
  613. static iPlayers[ 32 ], iNum, iPlayer, iPlayer2, i, j;
  614. get_players( iPlayers, iNum, "ache", "CT" );
  615.  
  616. arrayset( g_iSemiClip, 0, 32 );
  617.  
  618. if( iNum <= 1 )
  619. return FMRES_IGNORED;
  620.  
  621. for( i = 0; i < iNum; i++ ) {
  622. iPlayer = iPlayers[ i ];
  623.  
  624. for( j = 0; j < iNum; j++ ) {
  625. iPlayer2 = iPlayers[ j ];
  626.  
  627. if( iPlayer == iPlayer2 )
  628. continue;
  629.  
  630. if( g_iSemiClip[ iPlayer ] && g_iSemiClip[ iPlayer2 ] )
  631. continue;
  632.  
  633. if( entity_range( iPlayer, iPlayer2 ) < 128 ) {
  634. g_iSemiClip[ iPlayer ] = true;
  635. g_iSemiClip[ iPlayer2 ] = true;
  636. }
  637. }
  638. }
  639.  
  640. for( i = 0; i < iNum; i++ ) {
  641. iPlayer = iPlayers[ i ];
  642.  
  643. set_pev( iPlayer, pev_solid, g_iSemiClip[ iPlayer ] ? SOLID_NOT : SOLID_SLIDEBOX );
  644. }
  645.  
  646. return FMRES_IGNORED;
  647. }
  648.  
  649. // FORWARDS
  650. ///////////////////////////////////////////
  651. public FwdHamPlayerSpawn( id ) {
  652. if( !g_bEnabled || !is_user_alive( id ) )
  653. return HAM_IGNORED;
  654.  
  655. if( get_pcvar_num( g_pBlockRadio ) ) // thanks to ConnorMcLeod for this good way <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->
  656. set_pdata_int( id, 192, 0 );
  657.  
  658. #if defined FAKE_PLAYER
  659. if( g_iFakeplayer == id ) {
  660. set_pev( id, pev_frags, -1000.0 );
  661. cs_set_user_deaths( id, -1000 );
  662.  
  663. set_pev( id, pev_effects, pev( id, pev_effects ) | EF_NODRAW );
  664. set_pev( id, pev_solid, SOLID_NOT );
  665. entity_set_origin( id, Float:{ 999999.0, 999999.0, 999999.0 } );
  666. dllfunc( DLLFunc_Think, id );
  667. } else {
  668. #endif
  669. new CsTeams:iTeam = cs_get_user_team( id );
  670.  
  671. // An small delay for message
  672. if( get_pcvar_num( g_pLifeSystem ) != 0 && iTeam == CS_TEAM_CT )
  673. set_task( 0.8, "Showlifes", id );
  674.  
  675. strip_user_weapons( id );
  676. give_item( id, "weapon_knife" );
  677.  
  678. set_pdata_int( id, 116, 0 ); // Pickup fix by ConnorMcLeod
  679.  
  680. if( g_bGamerFun && iTeam == CS_TEAM_CT )
  681. give_item( id, "weapon_smokegrenade" );
  682.  
  683. if( get_pcvar_num( g_pGiveUsp ) && iTeam == CS_TEAM_CT && !g_bHauntedHouse )
  684. set_task( 1.0, "GiveUsp", id );
  685.  
  686. #if defined FAKE_PLAYER
  687. }
  688. #endif
  689.  
  690. return HAM_IGNORED;
  691. }
  692.  
  693. public GiveUsp( const id ) {
  694. if( is_user_alive( id ) ) {
  695. give_item( id, "weapon_usp" );
  696. cs_set_user_bpammo( id, CSW_USP, 100 );
  697. }
  698. }
  699.  
  700. public FwdGameDesc( ) {
  701. static const GameName[ ] = "Deathrun v3.0";
  702.  
  703. forward_return( FMV_STRING, GameName );
  704.  
  705. return FMRES_SUPERCEDE;
  706. }
  707.  
  708. public FwdClientKill( const id ) {
  709. if( !g_bEnabled || !is_user_alive(id) )
  710. return FMRES_IGNORED;
  711.  
  712. if( get_pcvar_num( g_pBlockKill ) || cs_get_user_team( id ) == CS_TEAM_T ) {
  713. client_print( id, print_center, "%L", id, "DR_BLOCK_KILL" );
  714. client_print( id, print_console, "%L", id, "DR_BLOCK_KILL" );
  715.  
  716. return FMRES_SUPERCEDE;
  717. }
  718.  
  719. return FMRES_IGNORED;
  720. }
  721.  
  722. public FwdImpulse_201( const id ) {
  723. if( g_bEnabled && get_pcvar_num( g_pBlockSpray ) ) {
  724. if( is_user_alive( id ) )
  725. client_print( id, print_center, "%L", id, "DR_BLOCK_SPRAY" );
  726.  
  727. return PLUGIN_HANDLED_MAIN;
  728. }
  729.  
  730. return PLUGIN_CONTINUE;
  731. }
  732.  
  733. public FwdHamPlayerDamage( id, idInflictor, idAttacker, Float:flDamage, iDamageBits ) {
  734. if( get_pcvar_num( g_pNoFallDmg ) )
  735. if( iDamageBits & DMG_FALL )
  736. if( get_user_team( id ) == 1 )
  737. return HAM_SUPERCEDE;
  738.  
  739. return HAM_IGNORED;
  740. }
  741.  
  742. public MsgStatusIcon( msg_id, msg_dest, id ) {
  743. new szIcon[ 8 ];
  744. get_msg_arg_string( 2, szIcon, 7 );
  745.  
  746. static const BuyZone[ ] = "buyzone";
  747.  
  748. if( equal( szIcon, BuyZone ) ) {
  749. set_pdata_int( id, OFFSET_BZ, get_pdata_int( id, OFFSET_BZ, 5 ) & ~( 1 << 0 ), 5 );
  750.  
  751. return PLUGIN_HANDLED;
  752. }
  753.  
  754. return PLUGIN_CONTINUE;
  755. }
  756.  
  757. public CmdRadio( id ) {
  758. if( get_pcvar_num( g_pBlockRadio ) )
  759. return PLUGIN_HANDLED_MAIN;
  760.  
  761. return PLUGIN_CONTINUE;
  762. }
  763.  
  764. public RestartRound( )
  765. set_pcvar_num( g_pSvRestart, 1 );
  766.  
  767. // COLORCHAT
  768. /////////////////////////////////////////////
  769. ColorChat( id, Color:type, const szMessage[], {Float,Sql,Result,_}:... ) {
  770. if( !get_playersnum( ) ) return;
  771.  
  772. new message[ 256 ];
  773.  
  774. switch( type ) {
  775. case NORMAL: message[0] = 0x01;
  776. case GREEN: message[0] = 0x04;
  777. default: message[0] = 0x03;
  778. }
  779.  
  780. vformat( message[ 1 ], 251, szMessage, 4 );
  781.  
  782. message[ 192 ] = '^0';
  783.  
  784. replace_all( message, 191, "\YEL", "^1" );
  785. replace_all( message, 191, "\GRN", "^4" );
  786. replace_all( message, 191, "\TEM", "^3" );
  787.  
  788. new iTeam, ColorChange, index, MSG_Type;
  789.  
  790. if( id ) {
  791. MSG_Type = MSG_ONE_UNRELIABLE;
  792. index = id;
  793. } else {
  794. index = CC_FindPlayer();
  795. MSG_Type = MSG_BROADCAST;
  796. }
  797.  
  798. iTeam = get_user_team( index );
  799. ColorChange = CC_ColorSelection(index, MSG_Type, type);
  800.  
  801. CC_ShowColorMessage(index, MSG_Type, message);
  802.  
  803. if( ColorChange )
  804. CC_Team_Info(index, MSG_Type, TeamName[iTeam]);
  805. }
  806.  
  807. CC_ShowColorMessage( id, type, message[] ) {
  808. message_begin( type, g_iMsgSayText, _, id );
  809. write_byte( id );
  810. write_string( message );
  811. message_end( );
  812. }
  813.  
  814. CC_Team_Info( id, type, team[] ) {
  815. message_begin( type, g_iMsgTeamInfo, _, id );
  816. write_byte( id );
  817. write_string( team );
  818. message_end( );
  819.  
  820. return 1;
  821. }
  822.  
  823. CC_ColorSelection( index, type, Color:Type ) {
  824. switch( Type ) {
  825. case RED: return CC_Team_Info( index, type, TeamName[ 1 ] );
  826. case BLUE: return CC_Team_Info( index, type, TeamName[ 2 ] );
  827. }
  828.  
  829. return 0;
  830. }
  831.  
  832. CC_FindPlayer( ) {
  833. for( new i = 1; i <= g_iMaxplayers; i++ )
  834. if( g_bConnected[ i ] )
  835. return i;
  836.  
  837. return -1;
  838. }
  839. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  840. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
  841. */
  842.  

_________________
http://www.ebateam.eu/


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Halálfutam ujra éledés
HozzászólásElküldve: 2014.10.29. 12:30 
Offline
Nagyúr

Csatlakozott: 2014.05.10. 16:41
Hozzászólások: 721
Megköszönt másnak: 43 alkalommal
Megköszönték neki: 64 alkalommal
Kösszi!


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