hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.30. 21:32



Jelenlévő felhasználók

Jelenleg 292 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 292 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  [ 6 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Új Deathrun mód
HozzászólásElküldve: 2013.11.25. 13:54 
Offline
Fanatikus

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


Nekem ezt a plugint ugy kéne átt irni amikor kiirja Zöldel hogy Nincs egy darab életed sem! ezt kéne nekem ugy hogy Lassan jöjjenek be a betűk egymás után és mindig változtassa a szinet amikor bejön


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Új Deathrun mód
HozzászólásElküldve: 2013.11.25. 19:50 
Offline
Őskövület
Avatar

Csatlakozott: 2011.12.28. 00:35
Hozzászólások: 2736
Megköszönt másnak: 56 alkalommal
Megköszönték neki: 275 alkalommal
Tessék így már betűnként fogja kiírni és mindig más színnel:
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( "radio1", "CmdRadio" );
  141. register_clcmd( "radio2", "CmdRadio" );
  142. register_clcmd( "radio3", "CmdRadio" );
  143.  
  144. // Terrorist Check
  145. g_iThinker= create_entity( "info_target" );
  146.  
  147. if( is_valid_ent( g_iThinker ) ) {
  148. entity_set_string( g_iThinker, EV_SZ_classname, "DeathrunThinker" );
  149. entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 20.0 );
  150.  
  151. g_bRestart = true;
  152.  
  153. // First think will happen in 20.0, Restart will be done there.
  154.  
  155. register_think( "DeathrunThinker", "FwdThinker" );
  156. } else {
  157. set_task( 15.0, "CheckTerrorists", _, _, _, "b" );
  158.  
  159. // Lets make restart after 20 seconds from map start.
  160. set_task( 20.0, "RestartRound" );
  161. }
  162.  
  163. if( get_pcvar_num( g_pRemoveBuyZone ) ) {
  164. register_message( get_user_msgid( "StatusIcon" ), "MsgStatusIcon" ); // BuyZone Icon
  165.  
  166. // Remove buyzone on map
  167. remove_entity_name( "info_map_parameters" );
  168. remove_entity_name( "func_buyzone" );
  169.  
  170. // Create own entity to block buying
  171. new iEntity = create_entity( "info_map_parameters" );
  172.  
  173. DispatchKeyValue( iEntity, "buying", "3" );
  174. DispatchSpawn( iEntity );
  175. }
  176.  
  177. if( get_pcvar_num( g_pSemiclip ) ) {
  178. register_forward( FM_StartFrame, "FwdStartFrame", 0 );
  179. register_forward( FM_AddToFullPack, "FwdFullPack", 1 );
  180. }
  181.  
  182. g_bEnabled = true;
  183.  
  184. #if defined FAKE_PLAYER
  185. new iEntity, iCount;
  186.  
  187. while( ( iEntity = find_ent_by_class( iEntity, "info_player_deathmatch" ) ) > 0 )
  188. if( iCount++ > 1 )
  189. break;
  190.  
  191. if( iCount <= 1 )
  192. g_iFakeplayer = -1;
  193.  
  194. set_task( 5.0, "UpdateBot" );
  195.  
  196. register_message( get_user_msgid( "DeathMsg" ), "MsgDeathMsg" );
  197. #endif
  198. } else
  199. g_bEnabled = false;
  200. }
  201.  
  202. // FAKEPLAYER
  203. ///////////////////////////////////////////
  204. #if defined FAKE_PLAYER
  205. public UpdateBot( ) {
  206. if( g_iFakeplayer == -1 )
  207. return;
  208.  
  209. new id = find_player( "i" );
  210.  
  211. if( !id ) {
  212. id = engfunc( EngFunc_CreateFakeClient, g_szBotName );
  213. if( pev_valid( id ) ) {
  214. engfunc( EngFunc_FreeEntPrivateData, id );
  215. dllfunc( MetaFunc_CallGameEntity, "player", id );
  216. set_user_info( id, "rate", "3500" );
  217. set_user_info( id, "cl_updaterate", "25" );
  218. set_user_info( id, "cl_lw", "1" );
  219. set_user_info( id, "cl_lc", "1" );
  220. set_user_info( id, "cl_dlmax", "128" );
  221. set_user_info( id, "cl_righthand", "1" );
  222. set_user_info( id, "_vgui_menus", "0" );
  223. set_user_info( id, "_ah", "0" );
  224. set_user_info( id, "dm", "0" );
  225. set_user_info( id, "tracker", "0" );
  226. set_user_info( id, "friends", "0" );
  227. set_user_info( id, "*bot", "1" );
  228. set_pev( id, pev_flags, pev( id, pev_flags ) | FL_FAKECLIENT );
  229. set_pev( id, pev_colormap, id );
  230.  
  231. new szMsg[ 128 ];
  232. dllfunc( DLLFunc_ClientConnect, id, g_szBotName, "127.0.0.1", szMsg );
  233. dllfunc( DLLFunc_ClientPutInServer, id );
  234.  
  235. cs_set_user_team( id, CS_TEAM_T );
  236. ExecuteHamB( Ham_CS_RoundRespawn, id );
  237.  
  238. set_pev( id, pev_effects, pev( id, pev_effects ) | EF_NODRAW );
  239. set_pev( id, pev_solid, SOLID_NOT );
  240. dllfunc( DLLFunc_Think, id );
  241.  
  242. g_iFakeplayer = id;
  243. }
  244. }
  245. }
  246.  
  247. public MsgDeathMsg( const iMsgId, const iMsgDest, const id ) {
  248. if( get_msg_arg_int( 2 ) == g_iFakeplayer )
  249. return PLUGIN_HANDLED;
  250.  
  251. return PLUGIN_CONTINUE;
  252. }
  253. #endif
  254.  
  255. // NEW TERRORIST
  256. ///////////////////////////////////////////
  257. public EventRandromize( ) {
  258. if( !g_bEnabled || g_bFirstRound || g_bRandromized )
  259. return PLUGIN_CONTINUE;
  260.  
  261. g_bRandromized = true;
  262.  
  263. new i, iPlayers[ 32 ], iNum, iPlayer;
  264. get_players( iPlayers, iNum, "c" );
  265.  
  266. if( iNum <= 1 )
  267. return PLUGIN_CONTINUE;
  268.  
  269. for( i = 0; i < iNum; i++ ) {
  270. iPlayer = iPlayers[ i ];
  271.  
  272. if( cs_get_user_team( iPlayer ) == CS_TEAM_T )
  273. cs_set_user_team( iPlayer, CS_TEAM_CT );
  274. }
  275.  
  276. new iRandomPlayer, CsTeams:iTeam;
  277.  
  278. while( ( iRandomPlayer = iPlayers[ random_num( 0, iNum - 1 ) ] ) == g_iLastTerr ) { }
  279.  
  280. g_iLastTerr = iRandomPlayer;
  281.  
  282. iTeam = cs_get_user_team( iRandomPlayer );
  283.  
  284. if( iTeam == CS_TEAM_T || iTeam == CS_TEAM_CT ) {
  285. cs_set_user_team(iRandomPlayer, CS_TEAM_T);
  286.  
  287. new szName[ 32 ];
  288. get_user_name( iRandomPlayer, szName, 31 );
  289.  
  290. for( i = 0; i < iNum; i++ )
  291. ColorChat(iPlayers[ i ], RED, "%s^4 %L", g_szPrefix, iPlayers[ i ], "DR_NOW_TERR", szName);
  292.  
  293. if( !g_bRestart && is_valid_ent( g_iThinker ) )
  294. entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 15.0 );
  295. } else {
  296. g_bRandromized = false;
  297. EventRandromize( );
  298. }
  299.  
  300. return PLUGIN_CONTINUE;
  301. }
  302.  
  303. // NEW ROUND
  304. ///////////////////////////////////////////
  305. public EventRoundStart( ) {
  306. if( !g_bEnabled )
  307. return PLUGIN_CONTINUE;
  308.  
  309. g_bRandromized = false;
  310. g_bStarting = false;
  311.  
  312. new i, iPlayers[ 32 ], iNum, iRealPlayers, CsTeams:iTeam;
  313. get_players( iPlayers, iNum, "c" );
  314.  
  315. if( iNum <= 1 )
  316. return PLUGIN_CONTINUE;
  317.  
  318. for( i = 0; i < iNum; i++ ) {
  319. iTeam = cs_get_user_team( iPlayers[ i ] );
  320.  
  321. if( iTeam == CS_TEAM_T || iTeam == CS_TEAM_CT )
  322. iRealPlayers++;
  323. }
  324.  
  325. if( iRealPlayers <= 1 ) {
  326. set_hudmessage( 0, 128, 0, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4 );
  327.  
  328. for( i = 0; i < iNum; i++ )
  329. ShowSyncHudMsg( iPlayers[ i ], g_iHudSync, "%L", iPlayers[ i ], "DR_NOT_ENOUGH" );
  330.  
  331. return PLUGIN_CONTINUE;
  332. }
  333.  
  334. set_pcvar_num( g_pAutoBalance, 0 );
  335. set_pcvar_num( g_pLimitTeams, 0 );
  336.  
  337. if( g_bFirstRound ) {
  338. set_hudmessage( 0, 128, 0, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4 );
  339.  
  340. for( i = 0; i < iNum; i++ ) {
  341. ShowSyncHudMsg( iPlayers[ i ], g_iHudSync, "%L", iPlayers[ i ], "DR_STARTING" );
  342.  
  343. ColorChat( iPlayers[ i ], RED, "%s^1 %L", g_szPrefix, iPlayers[ i ], "DR_STARTING_CC" );
  344. }
  345.  
  346. if( is_valid_ent( g_iThinker ) ) {
  347. g_bRestart = true;
  348.  
  349. entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 9.0 );
  350. } else
  351. set_task( 9.0, "RestartRound" );
  352.  
  353. g_bStarting = true;
  354. g_bFirstRound = false;
  355. }
  356.  
  357. return PLUGIN_CONTINUE;
  358. }
  359.  
  360. // CHECK TERRORIST
  361. ///////////////////////////////////////////
  362. public FwdThinker( iEntity ) {
  363. if( g_bRestart ) {
  364. g_bRestart = false;
  365.  
  366. RestartRound( );
  367. } else
  368. CheckTerrorists( );
  369.  
  370. entity_set_float( iEntity, EV_FL_nextthink, get_gametime( ) + 15.0 );
  371. }
  372.  
  373. public CheckTerrorists( ) {
  374. if( !g_bEnabled || g_bFirstRound || g_bStarting )
  375. return PLUGIN_CONTINUE;
  376.  
  377. new i, iPlayers[ 32 ], iTerrors, iNum, iRealPlayers, CsTeams:iTeam;
  378. get_players( iPlayers, iNum, "c" );
  379.  
  380. if( iNum <= 1 )
  381. return PLUGIN_CONTINUE;
  382.  
  383. for( i = 0; i < iNum; i++ ) {
  384. iTeam = cs_get_user_team( iPlayers[ i ] );
  385.  
  386. if( iTeam == CS_TEAM_T )
  387. iTerrors++;
  388.  
  389. if( iTeam == CS_TEAM_T || iTeam == CS_TEAM_CT )
  390. iRealPlayers++;
  391. }
  392.  
  393. if( iRealPlayers <= 1 ) {
  394. set_hudmessage( 0, 128, 0, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4 );
  395.  
  396. for( i = 0; i < iNum; i++ )
  397. ShowSyncHudMsg( iPlayers[ i ], g_iHudSync, "%L", iPlayers[ i ], "DR_NOT_ENOUGH" );
  398.  
  399. return PLUGIN_CONTINUE;
  400. }
  401.  
  402. if( iTerrors == 0 ) {
  403. for( i = 0; i < iNum; i++ ) {
  404. ColorChat(iPlayers[ i ], RED, "%s^1 %L", g_szPrefix, iPlayers[ i ], "DR_NO_DETECT");
  405.  
  406. if( is_user_alive( iPlayers[ i ] ) && cs_get_user_team( iPlayers[ i ] ) == CS_TEAM_CT )
  407. user_silentkill( iPlayers[ i ] );
  408. }
  409.  
  410. set_task( 0.5, "EventRandromize" );
  411. }
  412.  
  413. return PLUGIN_CONTINUE;
  414. }
  415.  
  416. // LIFE SYSTEM
  417. ///////////////////////////////////////////
  418. public EventTerrsWin( ) {
  419. if( !g_bEnabled || g_bFirstRound )
  420. return PLUGIN_CONTINUE;
  421.  
  422. new iPlayers[ 32 ], iNum, iPlayer;
  423. get_players( iPlayers, iNum, "c" );
  424.  
  425. if( iNum <= 1 )
  426. return PLUGIN_CONTINUE;
  427.  
  428. new iLifeCvar = get_pcvar_num( g_pLifeSystem );
  429.  
  430. for( new i = 0; i < iNum; i++ ) {
  431. iPlayer = iPlayers[ i ];
  432.  
  433. if( cs_get_user_team( iPlayer ) == CS_TEAM_T ) {
  434. set_user_frags( iPlayer, get_user_frags( iPlayer ) + 3 );
  435.  
  436. if( iLifeCvar == 2 )
  437. g_Lifes[ iPlayer ]++;
  438. }
  439. }
  440.  
  441. return PLUGIN_CONTINUE;
  442. }
  443.  
  444. public EventDeath( ) {
  445. if( !g_bEnabled )
  446. return PLUGIN_CONTINUE;
  447.  
  448. #if defined FAKE_PLAYER
  449. new iVictim = read_data( 2 );
  450. new iTeam = get_user_team( iVictim );
  451.  
  452. if( iTeam == 1 && is_user_alive( g_iFakeplayer ) )
  453. fakedamage( g_iFakeplayer, "worldspawn", 100.0, DMG_GENERIC );
  454.  
  455. if( !get_pcvar_num( g_pLifeSystem ) )
  456. return PLUGIN_CONTINUE;
  457. #else
  458. if( !get_pcvar_num( g_pLifeSystem ) )
  459. return PLUGIN_CONTINUE;
  460.  
  461. new iVictim = read_data( 2 );
  462. new iTeam = get_user_team( iVictim );
  463. #endif
  464.  
  465. new iKiller = read_data( 1 );
  466.  
  467. if( iKiller != iVictim && get_user_team(iKiller) != iTeam )
  468. g_Lifes[iKiller]++;
  469.  
  470. if( cs_get_user_team( iVictim ) == CS_TEAM_CT && g_Lifes[ iVictim ] > 0 ) {
  471. new iCTcount;
  472. for( new i = 1; i <= g_iMaxplayers; i++ ) {
  473. if( is_user_alive( i ) && cs_get_user_team( i ) == CS_TEAM_CT )
  474. iCTcount++;
  475. }
  476.  
  477. if( iCTcount > 1 ) {
  478. set_task(3.2, "fnRevivePlayer", iVictim);
  479.  
  480. ColorChat( iVictim, RED, "%s^1 %L", g_szPrefix, iVictim, "DR_LIFE_RESPAWN" );
  481. }
  482. /*else
  483. ColorChat( iVictim, RED, "%s^1 %L", g_szPrefix, iVictim, "DR_LIFE_CANT" );*/
  484. }
  485.  
  486. return PLUGIN_CONTINUE;
  487. }
  488.  
  489. public fnRevivePlayer( id ) {
  490. if( g_bConnected[ id ] ) {
  491. if( cs_get_user_team( id ) == CS_TEAM_CT ) {
  492. new iCTcount;
  493. for( new i = 1; i <= g_iMaxplayers; i++ )
  494. if( is_user_alive( i ) && cs_get_user_team( i ) == CS_TEAM_CT )
  495. iCTcount++;
  496.  
  497. if( iCTcount > 1 ) {
  498. ExecuteHamB( Ham_CS_RoundRespawn, id );
  499.  
  500. g_Lifes[ id ]--;
  501. }
  502. }
  503. }
  504. }
  505.  
  506. public CmdShowlifes( id ) {
  507. if( get_pcvar_num( g_pLifeSystem ) == 0 ) {
  508. ColorChat( id, RED, "%s^1 %L", g_szPrefix, id, "DR_LIFE_DISABLE" );
  509. return PLUGIN_HANDLED;
  510. }
  511.  
  512. if( g_Lifes[ id ] > 0 )
  513. ColorChat( id, RED, "%s^1 %L", g_szPrefix, id, "DR_LIFE_CC_COUNT", g_Lifes[ id ] );
  514. else
  515. ColorChat( id, RED, "%s^1 %L", g_szPrefix, id, "DR_LIFE_CC_NO" );
  516.  
  517. return PLUGIN_HANDLED;
  518. }
  519.  
  520. public Showlifes( id ) {
  521. set_hudmessage(random(255), random(255), random(255), 0.04, 0.71, 2, 2.5, 2.5, 0.5, 0.5, 3 );
  522.  
  523. if( g_Lifes[ id ] > 0 )
  524. ShowSyncHudMsg( id, g_iHudSync2, "%L", id, "DR_LIFE_COUNT", g_Lifes[ id ] );
  525. else
  526. ShowSyncHudMsg( id, g_iHudSync2, "%L", id, "DR_LIFE_NO" );
  527. }
  528.  
  529. // EVENTS
  530. ///////////////////////////////////////////
  531. public EventResetHud( id ) {
  532. if( g_bEnabled && get_pcvar_num( g_pHideHuds ) && !is_user_bot( id ) ) {
  533. message_begin( MSG_ONE_UNRELIABLE, g_iMsgHideWeapon, _, id );
  534. write_byte( ( 1<<4 | 1<<5 ) );
  535. message_end( );
  536.  
  537. message_begin( MSG_ONE_UNRELIABLE, g_iMsgCrosshair, _, id );
  538. write_byte( 0 );
  539. message_end( );
  540. }
  541. }
  542.  
  543. public EventMoney( id ) {
  544. if( g_bEnabled && get_pcvar_num( g_pBlockMoney ) ) {
  545. set_pdata_int( id, 115, 0 );
  546.  
  547. message_begin( MSG_ONE_UNRELIABLE, g_iMsgMoney, _, id );
  548. write_long ( 0 );
  549. write_byte ( 1 );
  550. message_end( );
  551. }
  552. }
  553.  
  554. public client_putinserver( id )
  555. g_bConnected[ id ] = true;
  556.  
  557. public client_disconnect( id ) {
  558. g_bConnected[ id ] = false;
  559. CheckTerrorists( );
  560.  
  561. if( !g_bRestart && is_valid_ent( g_iThinker ) )
  562. entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 15.0 );
  563.  
  564. #if defined FAKE_PLAYER
  565. if( g_iFakeplayer == id ) {
  566. set_task( 1.5, "UpdateBot" );
  567.  
  568. g_iFakeplayer = 0;
  569. }
  570. #endif
  571. }
  572.  
  573. // SEMICLIP
  574. ///////////////////////////////////////////
  575. public FwdFullPack( es, e, ent, host, flags, player, pSet ) {
  576. if( !g_bEnabled )
  577. return FMRES_IGNORED;
  578.  
  579. if( player && g_iSemiClip[ ent ] && g_iSemiClip[ host ] ) {
  580. set_es( es, ES_Solid, SOLID_NOT );
  581. set_es( es, ES_RenderMode, kRenderTransAlpha );
  582. set_es( es, ES_RenderAmt, 85 );
  583. }
  584.  
  585. return FMRES_IGNORED;
  586. }
  587.  
  588. public FwdStartFrame( ) {
  589. if( !g_bEnabled )
  590. return FMRES_IGNORED;
  591.  
  592. static iPlayers[ 32 ], iNum, iPlayer, iPlayer2, i, j;
  593. get_players( iPlayers, iNum, "ache", "CT" );
  594.  
  595. arrayset( g_iSemiClip, 0, 32 );
  596.  
  597. if( iNum <= 1 )
  598. return FMRES_IGNORED;
  599.  
  600. for( i = 0; i < iNum; i++ ) {
  601. iPlayer = iPlayers[ i ];
  602.  
  603. for( j = 0; j < iNum; j++ ) {
  604. iPlayer2 = iPlayers[ j ];
  605.  
  606. if( iPlayer == iPlayer2 )
  607. continue;
  608.  
  609. if( g_iSemiClip[ iPlayer ] && g_iSemiClip[ iPlayer2 ] )
  610. continue;
  611.  
  612. if( entity_range( iPlayer, iPlayer2 ) < 128 ) {
  613. g_iSemiClip[ iPlayer ] = true;
  614. g_iSemiClip[ iPlayer2 ] = true;
  615. }
  616. }
  617. }
  618.  
  619. for( i = 0; i < iNum; i++ ) {
  620. iPlayer = iPlayers[ i ];
  621.  
  622. set_pev( iPlayer, pev_solid, g_iSemiClip[ iPlayer ] ? SOLID_NOT : SOLID_SLIDEBOX );
  623. }
  624.  
  625. return FMRES_IGNORED;
  626. }
  627.  
  628. // FORWARDS
  629. ///////////////////////////////////////////
  630. public FwdHamPlayerSpawn( id ) {
  631. if( !g_bEnabled || !is_user_alive( id ) )
  632. return HAM_IGNORED;
  633.  
  634. 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:) -->
  635. set_pdata_int( id, 192, 0 );
  636.  
  637. #if defined FAKE_PLAYER
  638. if( g_iFakeplayer == id ) {
  639. set_pev( id, pev_frags, -1000.0 );
  640. cs_set_user_deaths( id, -1000 );
  641.  
  642. set_pev( id, pev_effects, pev( id, pev_effects ) | EF_NODRAW );
  643. set_pev( id, pev_solid, SOLID_NOT );
  644. entity_set_origin( id, Float:{ 999999.0, 999999.0, 999999.0 } );
  645. dllfunc( DLLFunc_Think, id );
  646. } else {
  647. #endif
  648. new CsTeams:iTeam = cs_get_user_team( id );
  649.  
  650. // An small delay for message
  651. if( get_pcvar_num( g_pLifeSystem ) != 0 && iTeam == CS_TEAM_CT )
  652. set_task( 0.8, "Showlifes", id );
  653.  
  654. strip_user_weapons( id );
  655. give_item( id, "weapon_knife" );
  656.  
  657. set_pdata_int( id, 116, 0 ); // Pickup fix by ConnorMcLeod
  658.  
  659. if( g_bGamerFun && iTeam == CS_TEAM_CT )
  660. give_item( id, "weapon_smokegrenade" );
  661.  
  662. if( get_pcvar_num( g_pGiveUsp ) && iTeam == CS_TEAM_CT && !g_bHauntedHouse )
  663. set_task( 1.0, "GiveUsp", id );
  664.  
  665. #if defined FAKE_PLAYER
  666. }
  667. #endif
  668.  
  669. return HAM_IGNORED;
  670. }
  671.  
  672. public GiveUsp( const id ) {
  673. if( is_user_alive( id ) ) {
  674. give_item( id, "weapon_usp" );
  675. cs_set_user_bpammo( id, CSW_USP, 100 );
  676. }
  677. }
  678.  
  679. public FwdGameDesc( ) {
  680. static const GameName[ ] = "Deathrun v3.0";
  681.  
  682. forward_return( FMV_STRING, GameName );
  683.  
  684. return FMRES_SUPERCEDE;
  685. }
  686.  
  687. public FwdClientKill( const id ) {
  688. if( !g_bEnabled || !is_user_alive(id) )
  689. return FMRES_IGNORED;
  690.  
  691. if( get_pcvar_num( g_pBlockKill ) || cs_get_user_team( id ) == CS_TEAM_T ) {
  692. client_print( id, print_center, "%L", id, "DR_BLOCK_KILL" );
  693. client_print( id, print_console, "%L", id, "DR_BLOCK_KILL" );
  694.  
  695. return FMRES_SUPERCEDE;
  696. }
  697.  
  698. return FMRES_IGNORED;
  699. }
  700.  
  701. public FwdImpulse_201( const id ) {
  702. if( g_bEnabled && get_pcvar_num( g_pBlockSpray ) ) {
  703. if( is_user_alive( id ) )
  704. client_print( id, print_center, "%L", id, "DR_BLOCK_SPRAY" );
  705.  
  706. return PLUGIN_HANDLED_MAIN;
  707. }
  708.  
  709. return PLUGIN_CONTINUE;
  710. }
  711.  
  712. public FwdHamPlayerDamage( id, idInflictor, idAttacker, Float:flDamage, iDamageBits ) {
  713. if( get_pcvar_num( g_pNoFallDmg ) )
  714. if( iDamageBits & DMG_FALL )
  715. if( get_user_team( id ) == 1 )
  716. return HAM_SUPERCEDE;
  717.  
  718. return HAM_IGNORED;
  719. }
  720.  
  721. public MsgStatusIcon( msg_id, msg_dest, id ) {
  722. new szIcon[ 8 ];
  723. get_msg_arg_string( 2, szIcon, 7 );
  724.  
  725. static const BuyZone[ ] = "buyzone";
  726.  
  727. if( equal( szIcon, BuyZone ) ) {
  728. set_pdata_int( id, OFFSET_BZ, get_pdata_int( id, OFFSET_BZ, 5 ) & ~( 1 << 0 ), 5 );
  729.  
  730. return PLUGIN_HANDLED;
  731. }
  732.  
  733. return PLUGIN_CONTINUE;
  734. }
  735.  
  736. public CmdRadio( id ) {
  737. if( get_pcvar_num( g_pBlockRadio ) )
  738. return PLUGIN_HANDLED_MAIN;
  739.  
  740. return PLUGIN_CONTINUE;
  741. }
  742.  
  743. public RestartRound( )
  744. set_pcvar_num( g_pSvRestart, 1 );
  745.  
  746. // COLORCHAT
  747. /////////////////////////////////////////////
  748. ColorChat( id, Color:type, const szMessage[], {Float,Sql,Result,_}:... ) {
  749. if( !get_playersnum( ) ) return;
  750.  
  751. new message[ 256 ];
  752.  
  753. switch( type ) {
  754. case NORMAL: message[0] = 0x01;
  755. case GREEN: message[0] = 0x04;
  756. default: message[0] = 0x03;
  757. }
  758.  
  759. vformat( message[ 1 ], 251, szMessage, 4 );
  760.  
  761. message[ 192 ] = '^0';
  762.  
  763. replace_all( message, 191, "\YEL", "^1" );
  764. replace_all( message, 191, "\GRN", "^4" );
  765. replace_all( message, 191, "\TEM", "^3" );
  766.  
  767. new iTeam, ColorChange, index, MSG_Type;
  768.  
  769. if( id ) {
  770. MSG_Type = MSG_ONE_UNRELIABLE;
  771. index = id;
  772. } else {
  773. index = CC_FindPlayer();
  774. MSG_Type = MSG_BROADCAST;
  775. }
  776.  
  777. iTeam = get_user_team( index );
  778. ColorChange = CC_ColorSelection(index, MSG_Type, type);
  779.  
  780. CC_ShowColorMessage(index, MSG_Type, message);
  781.  
  782. if( ColorChange )
  783. CC_Team_Info(index, MSG_Type, TeamName[iTeam]);
  784. }
  785.  
  786. CC_ShowColorMessage( id, type, message[] ) {
  787. message_begin( type, g_iMsgSayText, _, id );
  788. write_byte( id );
  789. write_string( message );
  790. message_end( );
  791. }
  792.  
  793. CC_Team_Info( id, type, team[] ) {
  794. message_begin( type, g_iMsgTeamInfo, _, id );
  795. write_byte( id );
  796. write_string( team );
  797. message_end( );
  798.  
  799. return 1;
  800. }
  801.  
  802. CC_ColorSelection( index, type, Color:Type ) {
  803. switch( Type ) {
  804. case RED: return CC_Team_Info( index, type, TeamName[ 1 ] );
  805. case BLUE: return CC_Team_Info( index, type, TeamName[ 2 ] );
  806. }
  807.  
  808. return 0;
  809. }
  810.  
  811. CC_FindPlayer( ) {
  812. for( new i = 1; i <= g_iMaxplayers; i++ )
  813. if( g_bConnected[ i ] )
  814. return i;
  815.  
  816. return -1;
  817. }
  818. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  819. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1038\\ f0\\ fs16 \n\\ par }
  820. */

_________________
****

Ők köszönték meg pixxa112 nek ezt a hozzászólást: Telapo11 (2013.11.25. 20:08)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Új Deathrun mód
HozzászólásElküldve: 2013.11.26. 15:04 
Offline
Fanatikus

Csatlakozott: 2013.11.19. 12:11
Hozzászólások: 192
Megköszönt másnak: 20 alkalommal
Megköszönték neki: 5 alkalommal
Nekem még az kéne hogy a Deathrun.txt be lehessen Ékezeteket irni


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Új Deathrun mód
HozzászólásElküldve: 2013.11.26. 15:14 
Offline
Őskövület
Avatar

Csatlakozott: 2011.12.28. 00:35
Hozzászólások: 2736
Megköszönt másnak: 56 alkalommal
Megköszönték neki: 275 alkalommal
Telapo11 írta:
Nekem még az kéne hogy a Deathrun.txt be lehessen Ékezeteket irni


Csatold a .txt fájl és megcsinálom :D

_________________
****


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Új Deathrun mód
HozzászólásElküldve: 2013.11.26. 17:33 
Offline
Fanatikus

Csatlakozott: 2013.11.19. 12:11
Hozzászólások: 192
Megköszönt másnak: 20 alkalommal
Megköszönték neki: 5 alkalommal
Tessék

Kód:
[hu]
DR_NOW_TERR = %s\YEL most a Terrorista! Jo Jatekot Kivan az I*Cor3 Team!
DR_STARTING = 10 masodperc mulva kezdes
DR_NO_DETECT = Nincs terrorista, ujrainditas kovetkezik
DR_NOT_ENOUGH = Nincs elegendő jatekos a kezdeshez
DR_STARTING_CC = Kezdes\GRN 10\YEL masodperc mulva

DR_LIFE_CC_COUNT = Van meg\TEM %i\YEL eleted
DR_LIFE_CC_NO = Nincs egy darab eleted sem erj a celba gyilkolj hogy legyen!
DR_LIFE_COUNT = Van meg %i eleted
DR_LIFE_NO = Nincs egy darab eleted sem erj a celba gyilkolj hogy legyen!
DR_LIFE_DISABLE = Deathrun mod ki van kapcsolva
DR_LIFE_RESPAWN = Ujra fogsz eledni\TEM 3\YEL masodperc mulva!
DR_LIFE_CANT = Lenne meg egy eleted de sajnos mar az osszes CT halott!

DR_BLOCK_SPRAY = Ezzel ne is probalkozz!!
DR_BLOCK_KILL = Nem tudod megolni magad!

[en]
DR_NOW_TERR = %s\YEL is now the terrorist.
DR_STARTING = Starting in 10 seconds.
DR_NO_DETECT = No terrorist detected, restarting now.
DR_NOT_ENOUGH = Not enough players to start Deathrun!
DR_STARTING_CC = Starting in\GRN 10\YEL seconds.

DR_LIFE_CC_COUNT = You have\TEM %i\YEL lifes.
DR_LIFE_CC_NO = You dont have lifes, kill enemy to get one!
DR_LIFE_COUNT = You have %i lifes.
DR_LIFE_NO = You dont have lifes^nKill enemy to get one!
DR_LIFE_DISABLE = Life system is disabled.
DR_LIFE_RESPAWN = You will be respawned in\TEM 3\YEL seconds!
DR_LIFE_CANT = You could be respawned but all CT's are dead now!

DR_BLOCK_SPRAY = Spray's not allowed on this server!
DR_BLOCK_KILL = You can't kill yourself!

[ru]
DR_NOW_TERR = %s\YEL teper' terrorist!
DR_STARTING = Nachinaem cherez 10 sekund.
DR_NO_DETECT = Terrorist nenajden, restart.
DR_NOT_ENOUGH = Nedostatochno igrokov chtoby nachat' igru!
DR_STARTING_CC = Nachinaem cherez\GRN 10\YEL sekund.

DR_LIFE_CC_COUNT = U tebja\TEM %i\YEL dopolnitel'nyh zhiznej.
DR_LIFE_CC_NO = U tebja net dopolnitel'nyh zhiznej, ubej vraga chtoby poluchit' odnu!
DR_LIFE_COUNT = U tebja %i dopolnitel'nyh zhiznej.
DR_LIFE_NO = U tebja net dopolnitel'nyh zhiznej^nUbej vraga chtoby poluchit' odnu!
DR_LIFE_DISABLE = Sistema dopolnitel'nyh zhiznej vykljuchena.
DR_LIFE_RESPAWN = Ty budesh respavnut cherez\TEM 3\YEL sekundy!
DR_LIFE_CANT = Ty mogby respavnutsja no ne ostalos' drugih zhivih CT!

DR_BLOCK_SPRAY = Pol'zovatsja sprejem na jetom servere nel'zja!
DR_BLOCK_KILL = Ty nemozhesh ubit' sebja!

[de]
DR_NOW_TERR = %s\YEL ist jetzt der Terrorist.
DR_STARTING = Start in 10 Sekunden.
DR_NO_DETECT = Kein Terrorist gefunden, neustart beginnt.
DR_NOT_ENOUGH = Nicht genuegend Spieler vorhanden um Deathrun zu Starten
DR_STARTING_CC = Start in\GRN 10\YEL Sekunden.

DR_LIFE_CC_COUNT = Sie haben\TEM %i\YEL Leben.
DR_LIFE_CC_NO = Sie haben kein Leben, toete einen Feind um eines zu bekommen!
DR_LIFE_COUNT = Sie haben %i Leben.
DR_LIFE_NO = Sie haben kein Leben^ntoete einen Feind um eines zu bekommen!
DR_LIFE_DISABLE = Life system ist deaktiviert.
DR_LIFE_RESPAWN = Sie werden in \TEM 3\YEL Sekunden wiederbelebt!
DR_LIFE_CANT = Sie koennen nicht wiederbelebt werden da alle CTs tot sind!

DR_BLOCK_SPRAY = Auf diesem Server ist Sprayen verboten!
DR_BLOCK_KILL = Sie koennen sich nicht selbst toeten!

[es]
DR_NOW_TERR = %s\YEL es ahora el terrorista.
DR_STARTING = Empezando en 10 segundos.
DR_NO_DETECT = No se ha detectado al terrorista, reiniciando.
DR_NOT_ENOUGH = No hay suficientes jugadores para empezar Deathrun!
DR_STARTING_CC = Empezando en\GRN 10\YEL segundos.

DR_LIFE_CC_COUNT = Tu tienes\TEM %i\YEL vidas.
DR_LIFE_CC_NO = No tienes vidas, mata a los enemigos para conseguirlas!
DR_LIFE_COUNT = Tu tienes %i vidas.
DR_LIFE_NO = Tu no tienes vidas^nMata a los enemigos para conseguirlas!
DR_LIFE_DISABLE = Sistema de vidas desactivado.
DR_LIFE_RESPAWN = Tu seras revivido en\TEM 3\YEL segundos!
DR_LIFE_CANT = Tu deberias ser revivido ahora, pero todos los CTs estan muertos!

DR_BLOCK_SPRAY = Los spray's no estan permitidos en este servidor!
DR_BLOCK_KILL = No puedes suicidarte!

[ro]
DR_NOW_TERR = %s\YEL este acum terorist.
DR_STARTING = Incepem in 10 secunde.
DR_NO_DETECT = Nu exista niciun terorist, se da restart.
DR_NOT_ENOUGH = Nu sunt destui jucatori pentru a incepe Deathrun!
DR_STARTING_CC = Incepem in\GRN 10\YEL secunde.

DR_LIFE_CC_COUNT = Ai\TEM %i\YEL vieti.
DR_LIFE_CC_NO = Nu ai nicio viata, ucide un inamic pentru a castiga una!
DR_LIFE_COUNT = Ai %i vieti.
DR_LIFE_NO = Nu ai vieti^nUcide un inamic pentru a castiga una!
DR_LIFE_DISABLE = Sistemul de vieti este oprit.
DR_LIFE_RESPAWN = Vei reinvia in\TEM 3\YEL secunde!
DR_LIFE_CANT = Puteai sa fi reinviat dar, toti CT sunt morti!

DR_BLOCK_SPRAY = Sunt interzise tatuajele pe acest server!
DR_BLOCK_KILL = Nu te poti sinucide!

[sv]
DR_NOW_TERR = %s\YEL 'a'r nu terroristen.
DR_STARTING = B'o'rjar om 10 sekunder.
DR_NO_DETECT = Ingen terrorist hittad, startar om nu.
DR_NOT_ENOUGH = Inte tillr'a'ckligt med spelare f'o'r att starta Deathrun.
DR_STARTING_CC = B'o'rjar om\GRN 10\YEL sekunder.

DR_LIFE_CC_COUNT = Du har\TEM %i\YEL liv.
DR_LIFE_CC_NO = Du har inga liv, d'o'da en fiende f'o'r att fa ett.
DR_LIFE_COUNT = Du har %i liv.
DR_LIFE_NO = Du har inga liv^nD'o'da en fiende f'o'r att fa ett!
DR_LIFE_DISABLE = Liv funktionen 'a'r av.
DR_LIFE_RESPAWN = Du kommer att bli aterupplivad om\TEM 3\YEL sekunder!
DR_LIFE_CANT = Du kunde bli aterupplivad men alla CT's 'a'r d'o'da.

DR_BLOCK_SPRAY = Sprej 'a'r inte tillaten pa den h'a'r servern.
DR_BLOCK_KILL = Du kan inte d'o'da dig sj'a'lv.

[bp]
DR_NOW_TERR = %s\YEL e agora o terrorista.
DR_STARTING = A comecar em 10 segundos.
DR_NO_DETECT = Nenhum terrorista detectado, a reiniciar.
DR_NOT_ENOUGH = Nao ha jogadores suficientes para comecar a Deathrun!
DR_STARTING_CC = A comecar em\GRN 10\YEL segundos.

DR_LIFE_CC_COUNT = Tens\TEM %i\YEL vidas.
DR_LIFE_CC_NO = Nao tens vidas, mata os teus inimigos para as obteres!
DR_LIFE_COUNT = Tens %i vidas.
DR_LIFE_NO = Nao tens vidas^mata os teus inimigos para as obteres!
DR_LIFE_DISABLE = O sistema de vidas esta desactivado.
DR_LIFE_RESPAWN = Vais renascer em \TEM 3\YEL segundos!
DR_LIFE_CANT = Tu poderias renascer mas, todos os CT's estao mortos!

DR_BLOCK_SPRAY = Nao sao permitidos sprays neste servidor!
DR_BLOCK_KILL = Nao te podes matar!

[nl]
DR_NOW_TERR = %s\YEL is nu een terrorist.
DR_STARTING = Het spel zal starten in 10 seconden.
DR_NO_DETECT = Geen terroristen gedetecteerd, spel herstart nu.
DR_NOT_ENOUGH = Niet genoeg spelers om DeathRun te spelen!
DR_STARTING_CC = Het spel start in\GRN 10\YEL seconden.

DR_LIFE_CC_COUNT = Je hebt\TEM %i\YEL levens.
DR_LIFE_CC_NO = Je hebt geen levens, vermoord tegenstanders om er te krijgen!
DR_LIFE_COUNT = Jij hebt %i levens.
DR_LIFE_NO = Je hebt geen levens^nVermoord spelers om er te krijgen!
DR_LIFE_DISABLE = Levens systeem is uitgeschakeld.
DR_LIFE_RESPAWN = Je zal terug tot leven komen in\TEM 3\YEL seconden!
DR_LIFE_CANT = Je zou jezelf kunnen tot leven wekken maar alle CTs zijn dood!

DR_BLOCK_SPRAY = Sprays zijn niet toegestaan in deze server!
DR_BLOCK_KILL = Je kan jezelf niet vermoorden!

[pl]
DR_NOW_TERR = %s\YEL zostal terrorysta.
DR_STARTING = Zaczynamy zabawe za 10 sekund.
DR_NO_DETECT = Brakuje terrorysty, wymagany restart.
DR_NOT_ENOUGH = Zbyt malo graczy! Zapros kolegow ;-)
DR_STARTING_CC = Zaczynamy zabawe za\GRN 10\YEL sekund.

DR_LIFE_CC_COUNT = You have\TEM %i\YEL lifes.
DR_LIFE_CC_NO = Nie posiadasz juz dodatkowych zyc, zabij kogos !
DR_LIFE_COUNT = Posiadasz %i zyc.
DR_LIFE_NO = Nie masz dodatkowych zyc^nZabij kogos aby je zyskac !
DR_LIFE_DISABLE = System zyc jest wylaczony.
DR_LIFE_RESPAWN = Odrodzisz sie w ciagu \TEM 3\YEL sekund!
DR_LIFE_CANT = Moglbys zostac odrodzony lecz wszyscy CT sa juz niezywi!

DR_BLOCK_SPRAY = Malowanie logajest wylaczone.
DR_BLOCK_KILL = Nie mozesz popelnic samobojstwa!

[lt]
DR_NOW_TERR = %s\YEL dabar teroristas.
DR_STARTING = Pradzia po 10 sekundziu.
DR_NO_DETECT = Nerastas teroristas, raundas restartuojamas.
DR_NOT_ENOUGH = Nepakanka zaideju, kad pradeti DeathRun!
DR_STARTING_CC = Pradzia po\GRN 10\YEL sekundziu.

DR_LIFE_CC_COUNT = Jus turite\TEM %i\YEL gyvybes.
DR_LIFE_CC_NO = Jus neturite gyvybiu, nusaukite priesa, kad gautumet viena!
DR_LIFE_COUNT = Jus turite %i gyvybe.
DR_LIFE_NO = Jus neturite gyvybiu^nNusaukite priesininka, kad gautumet viena!
DR_LIFE_DISABLE = Gyvybiu sistema isjungta..
DR_LIFE_RESPAWN = Jus prisikelsite po\TEM 3\YEL sekundziu!
DR_LIFE_CANT = Jus galite prisikelti, bet visi CT yra negyvi!

DR_BLOCK_SPRAY = Spray logo neleistini siame serveryje!
DR_BLOCK_KILL = Jus negalite uzmusti saves!

[sk]
DR_NOW_TERR = %s\YEL je teraz Terorista.
DR_STARTING = Zaciname o 10 sekund.
DR_NO_DETECT = Nenaslo ziadneho teroristu, restartujem hru.
DR_NOT_ENOUGH = Nedostatocny pocet pre zacatie Deathrun modu!
DR_STARTING_CC = Zaciname o\GRN 10\YEL sekund.

DR_LIFE_CC_COUNT = Tvoje zivoty: \TEM %i\YEL
DR_LIFE_CC_NO = Nemas zivoty. Zabi nepriatela pre ziskanie jedneho.
DR_LIFE_COUNT = Tvoje zivoty: %i.
DR_LIFE_NO = Nemas zivoty^n!
Zabi nepriatela pre ziskanie jedneho.
DR_LIFE_DISABLE = Ziskavanie zivotov vypnute.
DR_LIFE_RESPAWN = Budes respavnovany o\TEM 3\YEL sekund!
DR_LIFE_CANT = Mozes byt respavnuty, ale vsetci CT su teraz mrtvi!

DR_BLOCK_SPRAY = Na tomto servery nie su povolene spray loga!
DR_BLOCK_KILL = Nemozes zabit sam seba!

[sr]
DR_NOW_TERR = %s\YEL je sada Terrorist.
DR_STARTING = Igra pocinje za 10 sekundi.
DR_NO_DETECT = Nema terorista, RESTART.
DR_NOT_ENOUGH = Nema dovoljno igraca za DeathRun.
DR_STARTING_CC = Startuje se za\GRN 10\YEL Sekundi !

DR_LIFE_CC_COUNT = Ti imas\TEM %i\YEL zivota..
DR_LIFE_CC_NO = Ti nemas zivota, ubi nekoga da uzmes jedan!
DR_LIFE_COUNT = Ti imas %i zivota.
DR_LIFE_NO = Ti nemas zivota^ potrebno ti je da ubijes nekoga da bi uzeo zivot.
DR_LIFE_DISABLE = Life sistem je iskljucen.
DR_LIFE_RESPAWN = Ti ces se oziveti za\TEM 3\YEL sekunde!
DR_LIFE_CANT = Mogao bi da se ozivis, ali CT team je mrtav.

DR_BLOCK_SPRAY = Sprej/Potpis nije dozvoljen na ovom serveru.
DR_BLOCK_KILL = Ti se ne mozes ubiti!

[bg]
DR_NOW_TERR = %s\YEL sega e terorista.
DR_STARTING = Igrata zapochva sled 10 sekundi.
DR_NO_DETECT = Nqma terorist, restartirane na igrata.
DR_NOT_ENOUGH = Nqma dostatachno igrachi, za da zapochne DeathRun!
DR_STARTING_CC = Igrata zapochva sled\GRN 10\YEL sekundi.
 
DR_LIFE_CC_COUNT = Imash\TEM %i\YEL jivota.
DR_LIFE_CC_NO = Nqmash jivoti, ubii vrag, za da poluchish edin!
DR_LIFE_COUNT = Imash %i jivota.
DR_LIFE_NO = Nqmash jivoti.^nUbii vrag, za da poluchish edin!
DR_LIFE_DISABLE = Sistemata s jivoti e izkliuchena.
DR_LIFE_RESPAWN = Shte badesh sajiven sled\TEM 3\YEL sekundi!
DR_LIFE_CANT = Mojesh da badesh sujiven, no vsichki teroristi sa martvi!
 
DR_BLOCK_SPRAY = Spreq ne e pozvolen v servera!
DR_BLOCK_KILL = Ne mojesh da se samoubiesh!

[fr]
DR_NOW_TERR = %s\YEL est transfere en terroriste.
DR_STARTING = Depart dans 10 secondes.
DR_NO_DETECT = Pas de terroriste detecte! Restart immediat.
DR_NOT_ENOUGH = Pas de joueur pour demmarrer la deathrun!
DR_STARTING_CC = Depart dans\GRN 10\YEL secondes.

DR_LIFE_CC_COUNT = Tu as\TEM %i\YEL vies.
DR_LIFE_CC_NO = Tu n'as pas de vie, Tue un ennemie pour en avoir une!
DR_LIFE_COUNT = Tu as %i vies.
DR_LIFE_NO = Tu n'as pas de vie,^nTue un ennemie pour en avoir une!
DR_LIFE_DISABLE = Le systeme de vie est actif.
DR_LIFE_RESPAWN = Tu ressucite dans\TEM 3\YEL secondes!
DR_LIFE_CANT = Tu ne peux revivre maintenant car tout les CT's sont morts!

DR_BLOCK_SPRAY = Les Tags sont interdits sur ce serveur!
DR_BLOCK_KILL = Tu ne peux pas te suicider!

[cz]
DR_NOW_TERR = %s\YEL je nyni terrorista.
DR_STARTING = Zacina se za 10 sekund.
DR_NO_DETECT = Zadny terrorista nebyl nalezen, nyni probehne restart.
DR_NOT_ENOUGH = Neni dostatecne hracu pro start Deathrun-u!
DR_STARTING_CC = Zacina se za\GRN 10\YEL sekund.

DR_LIFE_CC_COUNT = Mas\TEM %i\YEL zivotu.
DR_LIFE_CC_NO = Nemas zadne zivoty, zabij nepritele pro ziskani jednoho!
DR_LIFE_COUNT = Mas %i zivotu.
DR_LIFE_NO = Nemas zadne zivoty^nzabij nepritele pro ziskani jednoho!
DR_LIFE_DISABLE = System s zivoty je vypnuty.
DR_LIFE_RESPAWN = Budes respawnuty za\TEM 3\YEL sekund!
DR_LIFE_CANT = Mohl by si byt respawnuty, ale vischni CT jsou ted mrtvy!

DR_BLOCK_SPRAY = Spreje nejsou povoleny na tomto serveru!
DR_BLOCK_KILL = Nemuzes se sam zabit!

[tr]
DR_NOW_TERR = %s\YEL simdi terrorist.
DR_STARTING = 10 saniye icinde baslayacak.
DR_NO_DETECT = Terrorist bulunamad, restart atiliyor.
DR_NOT_ENOUGH = Deathrun'un baslamasi icin yeterli oyuncu yok!
DR_STARTING_CC = \GRN 10\YEL saniye icinde baslayacak.

DR_LIFE_CC_COUNT = \TEM %i\YEL yeniden dogma hakkina sahipsin.
DR_LIFE_CC_NO = Yeniden dogma hakkin yok,bir tane kazanmak icin dusman oldur!
DR_LIFE_COUNT = %i yeniden dogma hakkina sahipsin.
DR_LIFE_NO = Yeniden dogma hakkin yok^nBir tane kazanmak icin dusman oldur!
DR_LIFE_DISABLE = Yeniden dogma sistemi kapali.
DR_LIFE_RESPAWN = \TEM 3\YEL saniye icinde yeniden dogacaksin!
DR_LIFE_CANT = Butun CT'ler olu oldugu icin yeniden dogma hakkini kullanamiyorsun!

DR_BLOCK_SPRAY = Bu serverda sprey kullanimi kapatilmis!
DR_BLOCK_KILL = Kendinizi olduremezsiniz!

[lv]
DR_NOW_TERR = %s\YEL tagad ir terorists.
DR_STARTING = Starts 10 sekundees.
DR_NO_DETECT = Nav teroristu, buus restarts.
DR_NOT_ENOUGH = Nav pietiekami speeletaaju lai saaktu DeathRun!
DR_STARTING_CC = Starts\GRN 10\YEL sekundees.

DR_LIFE_CC_COUNT = Tev ir\TEM %i\YEL dziiviibas.
DR_LIFE_CC_NO = Tev nav dziiviibu, nogalini kaadu!
DR_LIFE_COUNT = Tev ir %i dziiviibas.
DR_LIFE_NO = Tev nav dziiviibu^nNogalini pretiniueku lai sanemtu kaadu!
DR_LIFE_DISABLE = Dziivibu sisteema ir atsleegta.
DR_LIFE_RESPAWN = Tu atdziivosies\TEM 3\YEL sekundees!
DR_LIFE_CANT = Tu vareetu atdziivoties, bet visi CT ir mirusi!

DR_BLOCK_SPRAY = Smidizinaatajs nav atlauts saja serverii!
DR_BLOCK_KILL = Tu nevari sevi nogalinaat!

[et]
DR_NOW_TERR = %s\YEL on jargmine terrorist!
DR_STARTING = Deathrun algab 10 sekundi jooksul.
DR_NO_DETECT = Terroristi pole leitud, toimub restart.
DR_NOT_ENOUGH = Pole piisavalt mangijaid, et alustada Deathrunni.
DR_STARTING_CC = Deathrun algab\GRN 10\YEL jooksul.

DR_LIFE_CC_COUNT = Sul on\TEM %i\YEL elu.
DR_LIFE_CC_NO = Sul ei ole elusi, tapa vaenlasi, et saada neid!
DR_LIFE_COUNT = Sul on %i elu.
DR_LIFE_NO = Sul ei ole elusi^nTapa vaenlasi, et saada neid!
DR_LIFE_DISABLE = Elu susteem keelatud.
DR_LIFE_RESPAWN = Sa taassunnid\TEM 3\YEL sekundi jooksul!
DR_LIFE_CANT = Sa oleksid taassundinud aga kqik CT-d on surnud!

DR_BLOCK_SPRAY = Spray on keelatud!
DR_BLOCK_KILL = Sa ei saa iseennast tappa!


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Új Deathrun mód
HozzászólásElküldve: 2013.11.27. 23:45 
Offline
Őskövület
Avatar

Csatlakozott: 2011.12.28. 00:35
Hozzászólások: 2736
Megköszönt másnak: 56 alkalommal
Megköszönték neki: 275 alkalommal
Tessék:
SMA Forráskód: [ Mindet kijelol ]
  1. DR_NOW_TERR = %s\YEL most a Terrorista! Jó Játékot Kiván az I*Cor3 Team!
  2. DR_STARTING = 10 másodperc múlva kezdés
  3. DR_NO_DETECT = Nincs terrorista, újraindítás következik
  4. DR_NOT_ENOUGH = Nincs elegendő játékos a kezdéshez
  5. DR_STARTING_CC = Kezdés\GRN 10\YEL másodperc múlva
  6.  
  7. DR_LIFE_CC_COUNT = Van még\TEM %i\YEL életed
  8. DR_LIFE_CC_NO = Nincs egy darab életed sem érj a célba gyilkolj hogy legyen!
  9. DR_LIFE_COUNT = Van még %i életed
  10. DR_LIFE_NO = Nincs egy darab életed sem érj a célba gyilkolj hogy legyen!
  11. DR_LIFE_DISABLE = Deathrun mod ki van kapcsolva
  12. DR_LIFE_RESPAWN = Újra fogsz éledni\TEM 3\YEL másodperc múlva!
  13. DR_LIFE_CANT = Lenne még egy életed de sajnos már az összes CT halott!
  14.  
  15. DR_BLOCK_SPRAY = Ezzel ne is próbálkozz!!
  16. DR_BLOCK_KILL = Nem tudod meg ölni magad!


Én így csináltam a régi deathrun szeromon, és tökéletesen működött!

_________________
****

Ők köszönték meg pixxa112 nek ezt a hozzászólást (összesen 2): Telapo11 (2013.11.28. 16:45) • Beckx (2014.10.13. 21:34)
  Népszerűség: 4.55%


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