hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.05.25. 08:40



Jelenlévő felhasználók

Jelenleg 183 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 183 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: deathrun
HozzászólásElküldve: 2013.05.09. 15:59 
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
Hali.

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


Hiba:
SMA Forráskód: [ Mindet kijelol ]
  1. 518babd0ee2e0.sma(45) : warning 201: redefinition of constant/macro (symbol "Color")
  2. 518babd0ee2e0.sma(52) : error 021: symbol already defined: "TeamName"
  3. 518babd0ee2e0.sma(749) : error 021: symbol already defined: "ColorChat"

_________________
****


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: deathrun
HozzászólásElküldve: 2013.05.09. 16:08 
Offline
Signore Senior
Avatar

Csatlakozott: 2011.09.09. 17:39
Hozzászólások: 4020
Megköszönt másnak: 12 alkalommal
Megköszönték neki: 139 alkalommal
#include <colorchat>-t vedd ki az elejéből.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: deathrun
HozzászólásElküldve: 2013.05.09. 17:26 
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
Silent írta:
#include <colorchat>-t vedd ki az elejéből.


Köszi.

_________________
****


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