hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2025.06.17. 01:35



Jelenlévő felhasználók

Jelenleg 355 felhasználó van jelen :: 2 regisztrált, 0 rejtett és 353 vendég

A legtöbb felhasználó (2761 fő) 2025.01.09. 20:06-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot], Google [Bot]az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása Hozzászólás a témához  [3 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Deathrun
HozzászólásElküldve:2012.08.05. 02:04 
Offline
Újonc

Csatlakozott:2012.08.05. 01:53
Hozzászólások:5
Sziasztok !

A Deathrun módba, hogy kell bele írni, hogy ezt a chatbe/hudban színesen:

Chat:
FREE VAN ! FREE VAN !

Hud:
Egy Gombot Csak
egyszer használhatsz

RGB kód: 255 204 0

Előre is köszönőm.

Kód:
  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[ ] = "Nikcsi DeathRun BOT";

  17. #endif

  18.  

  19. // Messages prefix

  20. new const g_szPrefix[ ] = "[NIKCSI 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.         set_task(300.0, "hirdetes");

  63.         new const VERSION[ ] = "3.0.3";

  64.        

  65.         register_plugin( "Deathrun Manager", VERSION, "xPaw" );

  66.        

  67.         g_pToggle        = register_cvar( "deathrun_toggle",     "1" );

  68.         g_pBlockSpray    = register_cvar( "deathrun_spray",      "1" );

  69.         g_pBlockRadio    = register_cvar( "deathrun_radio",      "1" );

  70.         g_pBlockKill     = register_cvar( "deathrun_blockkill",  "1" );

  71.         g_pBlockMoney    = register_cvar( "deathrun_blockmoney", "1" );

  72.         g_pSemiclip      = register_cvar( "deathrun_semiclip",   "1" );

  73.         g_pGiveUsp       = register_cvar( "deathrun_giveusp",    "1" );

  74.         g_pHideHuds      = register_cvar( "deathrun_hidehud",    "1" );

  75.         g_pLifeSystem    = register_cvar( "deathrun_lifesystem", "1" );

  76.         g_pGameName      = register_cvar( "deathrun_gamename",   "1" );

  77.         g_pNoFallDmg     = register_cvar( "deathrun_terrnfd",    "1" );

  78.         g_pRemoveBuyZone = register_cvar( "deathrun_removebz",   "1" );

  79.        

  80.         // Lets get map name...

  81.         new szMapName[ 64 ];

  82.         get_mapname( szMapName, 63 );

  83.        

  84.         if( contain( szMapName, "deathrun_" ) != -1 ) {

  85.                 set_pcvar_num( g_pToggle, 1 );

  86.                

  87.                 if( contain( szMapName, "hauntedhouse" ) != -1 )

  88.                         g_bHauntedHouse = true;

  89.                 else {

  90.                         g_bHauntedHouse = false;

  91.                        

  92.                         if( equal( szMapName, "deathrun_gamerfun" ) )

  93.                                 g_bGamerFun = true;

  94.                         else

  95.                                 g_bGamerFun = false;

  96.                 }

  97.         } else

  98.                 set_pcvar_num( g_pToggle, 0 );

  99.        

  100.         g_pSvRestart   = get_cvar_pointer( "sv_restart" );

  101.         g_pAutoBalance = get_cvar_pointer( "mp_autoteambalance" );

  102.         g_pLimitTeams  = get_cvar_pointer( "mp_limitteams" );

  103.        

  104.         register_cvar( "deathrun_version", VERSION, FCVAR_SERVER | FCVAR_SPONLY );

  105.         set_cvar_string( "deathrun_version", VERSION );

  106.        

  107.         // Registering Language file

  108.         register_dictionary( "deathrun.txt" );

  109.        

  110.         // Logging Events

  111.         register_logevent( "EventRoundStart", 2, "1=Round_Start" );

  112.         register_logevent( "EventRandromize", 2, "1=Round_End" );

  113.         register_event( "SendAudio", "EventTerrsWin",   "a", "2&%!MRAD_terwin" );

  114.         register_event( "TextMsg",       "EventRandromize", "a", "2&#Game_w" );

  115.         register_event( "DeathMsg",      "EventDeath",      "a");

  116.         register_event( "Money",         "EventMoney",      "b" );

  117.         register_event( "ResetHUD",      "EventResetHud",   "be" );

  118.        

  119.         g_bFirstRound    = true;

  120.         g_iMaxplayers    = get_maxplayers( );

  121.         g_iMsgHideWeapon = get_user_msgid( "HideWeapon" );

  122.         g_iMsgCrosshair  = get_user_msgid( "Crosshair" );

  123.         g_iMsgMoney      = get_user_msgid( "Money" );

  124.         g_iMsgSayText    = get_user_msgid( "SayText" );

  125.         g_iMsgTeamInfo   = get_user_msgid( "TeamInfo" );

  126.        

  127.         g_iHudSync       = CreateHudSyncObj( );

  128.         g_iHudSync2      = CreateHudSyncObj( );

  129.        

  130.         if( get_pcvar_num( g_pToggle ) ) {

  131.                 RegisterHam( Ham_TakeDamage, "player", "FwdHamPlayerDamage" );

  132.                 RegisterHam( Ham_Spawn,      "player", "FwdHamPlayerSpawn", 1 );

  133.                 register_forward( FM_ClientKill,       "FwdClientKill" );

  134.                 register_impulse( 201, "FwdImpulse_201" );

  135.                

  136.                 if( get_pcvar_num( g_pGameName ) )

  137.                         register_forward( FM_GetGameDescription, "FwdGameDesc" );

  138.                

  139.                 register_clcmd( "say /lifes", "CmdShowlifes" );

  140.                 register_clcmd( "say /lives", "CmdShowlifes" );

  141.                

  142.                 register_clcmd( "radio1", "CmdRadio" );

  143.                 register_clcmd( "radio2", "CmdRadio" );

  144.                 register_clcmd( "radio3", "CmdRadio" );

  145.                

  146.                 // Terrorist Check

  147.                 g_iThinker= create_entity( "info_target" );

  148.                

  149.                 if( is_valid_ent( g_iThinker ) ) {

  150.                         entity_set_string( g_iThinker, EV_SZ_classname, "DeathrunThinker" );

  151.                         entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 20.0 );

  152.                        

  153.                         g_bRestart = true;

  154.                        

  155.                         // First think will happen in 20.0, Restart will be done there.

  156.                        

  157.                         register_think( "DeathrunThinker", "FwdThinker" );

  158.                 } else {

  159.                         set_task( 15.0, "CheckTerrorists", _, _, _, "b" );

  160.                        

  161.                         // Lets make restart after 20 seconds from map start.

  162.                         set_task( 20.0, "RestartRound" );

  163.                 }

  164.                

  165.                 if( get_pcvar_num( g_pRemoveBuyZone ) ) {

  166.                         register_message( get_user_msgid( "StatusIcon" ), "MsgStatusIcon" ); // BuyZone Icon

  167.                        

  168.                         // Remove buyzone on map

  169.                         remove_entity_name( "info_map_parameters" );

  170.                         remove_entity_name( "func_buyzone" );

  171.                        

  172.                         // Create own entity to block buying

  173.                         new iEntity = create_entity( "info_map_parameters" );

  174.                        

  175.                         DispatchKeyValue( iEntity, "buying", "3" );

  176.                         DispatchSpawn( iEntity );

  177.                 }

  178.                

  179.                 if( get_pcvar_num( g_pSemiclip ) ) {

  180.                         register_forward( FM_StartFrame,        "FwdStartFrame", 0 );

  181.                         register_forward( FM_AddToFullPack,     "FwdFullPack",   1 );

  182.                 }

  183.                

  184.                 g_bEnabled = true;

  185.                

  186.         #if defined FAKE_PLAYER

  187.                 new iEntity, iCount;

  188.                

  189.                 while( ( iEntity = find_ent_by_class( iEntity, "info_player_deathmatch" ) ) > 0 )

  190.                         if( iCount++ > 1 )

  191.                                 break;

  192.                

  193.                 if( iCount <= 1 )

  194.                         g_iFakeplayer = -1;

  195.                

  196.                 set_task( 5.0, "UpdateBot" );

  197.                

  198.                 register_message( get_user_msgid( "DeathMsg" ), "MsgDeathMsg" );

  199.         #endif

  200.         } else

  201.                 g_bEnabled = false;

  202. }

  203.  

  204. // FAKEPLAYER

  205. ///////////////////////////////////////////

  206. #if defined FAKE_PLAYER

  207.         public UpdateBot( ) {

  208.                 if( g_iFakeplayer == -1 )

  209.                         return;

  210.                

  211.                 new id = find_player( "i" );

  212.                

  213.                 if( !id ) {

  214.                         id = engfunc( EngFunc_CreateFakeClient, g_szBotName );

  215.                         if( pev_valid( id ) ) {

  216.                                 engfunc( EngFunc_FreeEntPrivateData, id );

  217.                                 dllfunc( MetaFunc_CallGameEntity, "player", id );

  218.                                 set_user_info( id, "rate", "3500" );

  219.                                 set_user_info( id, "cl_updaterate", "25" );

  220.                                 set_user_info( id, "cl_lw", "1" );

  221.                                 set_user_info( id, "cl_lc", "1" );

  222.                                 set_user_info( id, "cl_dlmax", "128" );

  223.                                 set_user_info( id, "cl_righthand", "1" );

  224.                                 set_user_info( id, "_vgui_menus", "0" );

  225.                                 set_user_info( id, "_ah", "0" );

  226.                                 set_user_info( id, "dm", "0" );

  227.                                 set_user_info( id, "tracker", "0" );

  228.                                 set_user_info( id, "friends", "0" );

  229.                                 set_user_info( id, "*bot", "1" );

  230.                                 set_pev( id, pev_flags, pev( id, pev_flags ) | FL_FAKECLIENT );

  231.                                 set_pev( id, pev_colormap, id );

  232.                                

  233.                                 new szMsg[ 128 ];

  234.                                 dllfunc( DLLFunc_ClientConnect, id, g_szBotName, "127.0.0.1", szMsg );

  235.                                 dllfunc( DLLFunc_ClientPutInServer, id );

  236.                                

  237.                                 cs_set_user_team( id, CS_TEAM_T );

  238.                                 ExecuteHamB( Ham_CS_RoundRespawn, id );

  239.                                

  240.                                 set_pev( id, pev_effects, pev( id, pev_effects ) | EF_NODRAW );

  241.                                 set_pev( id, pev_solid, SOLID_NOT );

  242.                                 dllfunc( DLLFunc_Think, id );

  243.                                

  244.                                 g_iFakeplayer = id;

  245.                         }

  246.                 }

  247.         }

  248.        

  249.         public MsgDeathMsg( const iMsgId, const iMsgDest, const id ) {

  250.                 if( get_msg_arg_int( 2 ) == g_iFakeplayer )

  251.                         return PLUGIN_HANDLED;

  252.                

  253.                 return PLUGIN_CONTINUE;

  254.         }

  255. #endif

  256.  

  257. // NEW TERRORIST

  258. ///////////////////////////////////////////

  259. public EventRandromize( ) {

  260.         if( !g_bEnabled || g_bFirstRound || g_bRandromized )

  261.                 return PLUGIN_CONTINUE;

  262.        

  263.         g_bRandromized = true;

  264.        

  265.         new i, iPlayers[ 32 ], iNum, iPlayer;

  266.         get_players( iPlayers, iNum, "c" );

  267.        

  268.         if( iNum <= 1 )

  269.                 return PLUGIN_CONTINUE;

  270.        

  271.         for( i = 0; i < iNum; i++ ) {

  272.                 iPlayer = iPlayers[ i ];

  273.                

  274.                 if( cs_get_user_team( iPlayer ) == CS_TEAM_T )

  275.                         cs_set_user_team( iPlayer, CS_TEAM_CT );

  276.         }

  277.        

  278.         new iRandomPlayer, CsTeams:iTeam;

  279.        

  280.         while( ( iRandomPlayer = iPlayers[ random_num( 0, iNum - 1 ) ] ) == g_iLastTerr ) { }

  281.        

  282.         g_iLastTerr = iRandomPlayer;

  283.        

  284.         iTeam = cs_get_user_team( iRandomPlayer );

  285.        

  286.         if( iTeam == CS_TEAM_T || iTeam == CS_TEAM_CT ) {

  287.                 cs_set_user_team(iRandomPlayer, CS_TEAM_T);

  288.                

  289.                 new szName[ 32 ];

  290.                 get_user_name( iRandomPlayer, szName, 31 );

  291.                

  292.                 for( i = 0; i < iNum; i++ )

  293.                         ColorChat(iPlayers[ i ], RED, "%s^4 %L", g_szPrefix, iPlayers[ i ], "DR_NOW_TERR", szName);

  294.                

  295.                 if( !g_bRestart && is_valid_ent( g_iThinker ) )

  296.                         entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 15.0 );

  297.         } else {

  298.                 g_bRandromized = false;

  299.                 EventRandromize( );

  300.         }

  301.        

  302.         return PLUGIN_CONTINUE;

  303. }

  304.  

  305. // NEW ROUND

  306. ///////////////////////////////////////////

  307. public EventRoundStart( ) {

  308.         if( !g_bEnabled )

  309.                 return PLUGIN_CONTINUE;

  310.        

  311.         g_bRandromized  = false;

  312.         g_bStarting     = false;

  313.        

  314.         new i, iPlayers[ 32 ], iNum, iRealPlayers, CsTeams:iTeam;

  315.         get_players( iPlayers, iNum, "c" );

  316.        

  317.         if( iNum <= 1 )

  318.                 return PLUGIN_CONTINUE;

  319.        

  320.         for( i = 0; i < iNum; i++ ) {

  321.                 iTeam = cs_get_user_team( iPlayers[ i ] );

  322.                

  323.                 if( iTeam == CS_TEAM_T || iTeam == CS_TEAM_CT )

  324.                         iRealPlayers++;

  325.         }

  326.        

  327.         if( iRealPlayers <= 1 ) {

  328.                 set_hudmessage( 0, 255, 255, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4 );

  329.                

  330.                 for( i = 0; i < iNum; i++ )

  331.                         ShowSyncHudMsg( iPlayers[ i ], g_iHudSync, "%L", iPlayers[ i ], "DR_NOT_ENOUGH" );

  332.                

  333.                 return PLUGIN_CONTINUE;

  334.         }

  335.        

  336.         set_pcvar_num( g_pAutoBalance, 0 );

  337.         set_pcvar_num( g_pLimitTeams, 0 );

  338.        

  339.         if( g_bFirstRound ) {

  340.                 set_hudmessage( 0, 255, 255, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4 );

  341.                

  342.                 for( i = 0; i < iNum; i++ ) {

  343.                         ShowSyncHudMsg( iPlayers[ i ], g_iHudSync, "%L", iPlayers[ i ], "DR_STARTING" );

  344.                        

  345.                         ColorChat( iPlayers[ i ], RED, "%s^1 %L", g_szPrefix, iPlayers[ i ], "DR_STARTING_CC" );

  346.                 }

  347.                

  348.                 if( is_valid_ent( g_iThinker ) ) {

  349.                         g_bRestart = true;

  350.                        

  351.                         entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 9.0 );

  352.                 } else

  353.                         set_task( 9.0, "RestartRound" );

  354.                

  355.                 g_bStarting = true;

  356.                 g_bFirstRound = false;

  357.         }

  358.        

  359.         return PLUGIN_CONTINUE;

  360. }

  361.  

  362. // CHECK TERRORIST

  363. ///////////////////////////////////////////

  364. public FwdThinker( iEntity ) {

  365.         if( g_bRestart ) {

  366.                 g_bRestart = false;

  367.                

  368.                 RestartRound( );

  369.         } else

  370.                 CheckTerrorists( );

  371.        

  372.         entity_set_float( iEntity, EV_FL_nextthink, get_gametime( ) + 15.0 );

  373. }

  374.  

  375. public CheckTerrorists( ) {

  376.         if( !g_bEnabled || g_bFirstRound || g_bStarting )

  377.                 return PLUGIN_CONTINUE;

  378.        

  379.         new i, iPlayers[ 32 ], iTerrors, iNum, iRealPlayers, CsTeams:iTeam;

  380.         get_players( iPlayers, iNum, "c" );

  381.        

  382.         if( iNum <= 1 )

  383.                 return PLUGIN_CONTINUE;

  384.        

  385.         for( i = 0; i < iNum; i++ ) {

  386.                 iTeam = cs_get_user_team( iPlayers[ i ] );

  387.                

  388.                 if( iTeam == CS_TEAM_T )

  389.                         iTerrors++;

  390.                

  391.                 if( iTeam == CS_TEAM_T || iTeam == CS_TEAM_CT )

  392.                         iRealPlayers++;

  393.         }

  394.        

  395.         if( iRealPlayers <= 1 ) {

  396.                 set_hudmessage( 0, 255, 255, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4 );

  397.                

  398.                 for( i = 0; i < iNum; i++ )

  399.                         ShowSyncHudMsg( iPlayers[ i ], g_iHudSync, "%L", iPlayers[ i ], "DR_NOT_ENOUGH" );

  400.                

  401.                 return PLUGIN_CONTINUE;

  402.         }

  403.        

  404.         if( iTerrors == 0 ) {

  405.                 for( i = 0; i < iNum; i++ ) {

  406.                         ColorChat(iPlayers[ i ], RED, "%s^1 %L", g_szPrefix, iPlayers[ i ], "DR_NO_DETECT");

  407.                        

  408.                         if( is_user_alive( iPlayers[ i ] ) && cs_get_user_team( iPlayers[ i ] ) == CS_TEAM_CT )

  409.                                 user_silentkill( iPlayers[ i ] );

  410.                 }

  411.                

  412.                 set_task( 0.5, "EventRandromize" );

  413.         }

  414.        

  415.         return PLUGIN_CONTINUE;

  416. }

  417.  

  418. // LIFE SYSTEM

  419. ///////////////////////////////////////////

  420. public EventTerrsWin( ) {

  421.         if( !g_bEnabled || g_bFirstRound )

  422.                 return PLUGIN_CONTINUE;

  423.        

  424.         new iPlayers[ 32 ], iNum, iPlayer;

  425.         get_players( iPlayers, iNum, "c" );

  426.        

  427.         if( iNum <= 1 )

  428.                 return PLUGIN_CONTINUE;

  429.        

  430.         new iLifeCvar = get_pcvar_num( g_pLifeSystem );

  431.        

  432.         for( new i = 0; i < iNum; i++ ) {

  433.                 iPlayer = iPlayers[ i ];

  434.                

  435.                 if( cs_get_user_team( iPlayer ) == CS_TEAM_T ) {

  436.                         set_user_frags( iPlayer, get_user_frags( iPlayer ) + 3 );

  437.                        

  438.                         if( iLifeCvar == 2 )

  439.                                 g_Lifes[ iPlayer ]++;

  440.                 }

  441.         }

  442.        

  443.         return PLUGIN_CONTINUE;

  444. }

  445.  

  446. public EventDeath( ) {

  447.         if( !g_bEnabled )

  448.                 return PLUGIN_CONTINUE;

  449.        

  450. #if defined FAKE_PLAYER

  451.         new iVictim = read_data( 2 );

  452.         new iTeam = get_user_team( iVictim );

  453.        

  454.         if( iTeam == 1 && is_user_alive( g_iFakeplayer ) )

  455.                 fakedamage( g_iFakeplayer, "worldspawn", 100.0, DMG_GENERIC );

  456.        

  457.         if( !get_pcvar_num( g_pLifeSystem ) )

  458.                 return PLUGIN_CONTINUE;

  459. #else

  460.         if( !get_pcvar_num( g_pLifeSystem ) )

  461.                 return PLUGIN_CONTINUE;

  462.        

  463.         new iVictim = read_data( 2 );

  464.         new iTeam = get_user_team( iVictim );

  465. #endif

  466.        

  467.         new iKiller = read_data( 1 );

  468.        

  469.         if( iKiller != iVictim && get_user_team(iKiller) != iTeam )

  470.                 g_Lifes[iKiller]++;

  471.        

  472.         if( cs_get_user_team( iVictim ) == CS_TEAM_CT && g_Lifes[ iVictim ] > 0 ) {

  473.                 new iCTcount;

  474.                 for( new i = 1; i <= g_iMaxplayers; i++ ) {

  475.                         if( is_user_alive( i ) && cs_get_user_team( i ) == CS_TEAM_CT )

  476.                                 iCTcount++;

  477.                 }

  478.                

  479.                 if( iCTcount > 1 ) {

  480.                         set_task(3.2, "fnRevivePlayer", iVictim);

  481.                        

  482.                         ColorChat( iVictim, RED, "%s^1 %L", g_szPrefix, iVictim, "DR_LIFE_RESPAWN" );

  483.                 }

  484.                 /*else

  485.                         ColorChat( iVictim, RED, "%s^1 %L", g_szPrefix, iVictim, "DR_LIFE_CANT" );*/

  486.         }

  487.        

  488.         return PLUGIN_CONTINUE;

  489. }

  490.  

  491. public fnRevivePlayer( id ) {

  492.         if( g_bConnected[ id ] ) {

  493.                 if( cs_get_user_team( id ) == CS_TEAM_CT ) {

  494.                         new iCTcount;

  495.                         for( new i = 1; i <= g_iMaxplayers; i++ )

  496.                                 if( is_user_alive( i ) && cs_get_user_team( i ) == CS_TEAM_CT )

  497.                                         iCTcount++;

  498.                        

  499.                         if( iCTcount > 1 ) {

  500.                                 ExecuteHamB( Ham_CS_RoundRespawn, id );

  501.                                

  502.                                 g_Lifes[ id ]--;

  503.                         }

  504.                 }

  505.         }

  506. }

  507.  

  508. public CmdShowlifes( id ) {

  509.         if( get_pcvar_num( g_pLifeSystem ) == 0 ) {

  510.                 ColorChat( id, RED, "%s^1 %L", g_szPrefix, id, "DR_LIFE_DISABLE" );

  511.                 return PLUGIN_HANDLED;

  512.         }

  513.        

  514.         if( g_Lifes[ id ] > 0 )

  515.                 ColorChat( id, RED, "%s^1 %L", g_szPrefix, id, "DR_LIFE_CC_COUNT", g_Lifes[ id ] );

  516.         else

  517.                 ColorChat( id, RED, "%s^1 %L", g_szPrefix, id, "DR_LIFE_CC_NO" );

  518.        

  519.         return PLUGIN_HANDLED;

  520. }

  521.  

  522. public Showlifes( id ) {

  523.         set_hudmessage( 0, 255, 255, 0.04, 0.71, 0, 2.5, 2.5, 0.5, 0.5, 3 );

  524.        

  525.         if( g_Lifes[ id ] > 0 )

  526.                 ShowSyncHudMsg( id, g_iHudSync2, "%L", id, "DR_LIFE_COUNT", g_Lifes[ id ] );

  527.         else

  528.                 ShowSyncHudMsg( id, g_iHudSync2, "%L", id, "DR_LIFE_NO" );

  529. }

  530.  

  531. // EVENTS

  532. ///////////////////////////////////////////

  533. public EventResetHud( id ) {

  534.         if( g_bEnabled && get_pcvar_num( g_pHideHuds ) && !is_user_bot( id ) ) {

  535.                 message_begin( MSG_ONE_UNRELIABLE, g_iMsgHideWeapon, _, id );

  536.                 write_byte( ( 1<<4 | 1<<5 ) );

  537.                 message_end( );

  538.                

  539.                 message_begin( MSG_ONE_UNRELIABLE, g_iMsgCrosshair, _, id );

  540.                 write_byte( 0 );

  541.                 message_end( );

  542.         }

  543. }

  544.  

  545. public EventMoney( id ) {

  546.         if( g_bEnabled && get_pcvar_num( g_pBlockMoney ) ) {

  547.                 set_pdata_int( id, 115, 0 );

  548.                

  549.                 message_begin( MSG_ONE_UNRELIABLE, g_iMsgMoney, _, id );

  550.                 write_long ( 0 );

  551.                 write_byte ( 1 );

  552.                 message_end( );

  553.         }

  554. }

  555.  

  556. public client_putinserver( id )

  557.         g_bConnected[ id ] = true;

  558.  

  559. public client_disconnect( id ) {

  560.         g_bConnected[ id ] = false;

  561.         CheckTerrorists( );

  562.        

  563.         if( !g_bRestart && is_valid_ent( g_iThinker ) )

  564.                 entity_set_float( g_iThinker, EV_FL_nextthink, get_gametime( ) + 15.0 );

  565.        

  566. #if defined FAKE_PLAYER

  567.         if( g_iFakeplayer == id ) {

  568.                 set_task( 1.5, "UpdateBot" );

  569.                

  570.                 g_iFakeplayer = 0;

  571.         }

  572. #endif

  573. }

  574.  

  575. // SEMICLIP

  576. ///////////////////////////////////////////

  577. public FwdFullPack( es, e, ent, host, flags, player, pSet ) {

  578.         if( !g_bEnabled )

  579.                 return FMRES_IGNORED;

  580.        

  581.         if( player && g_iSemiClip[ ent ] && g_iSemiClip[ host ] ) {

  582.                 set_es( es, ES_Solid, SOLID_NOT );

  583.                 set_es( es, ES_RenderMode, kRenderTransAlpha );

  584.                 set_es( es, ES_RenderAmt, 85 );

  585.         }

  586.        

  587.         return FMRES_IGNORED;

  588. }

  589.  

  590. public FwdStartFrame( ) {

  591.         if( !g_bEnabled )

  592.                 return FMRES_IGNORED;

  593.        

  594.         static iPlayers[ 32 ], iNum, iPlayer, iPlayer2, i, j;

  595.         get_players( iPlayers, iNum, "ache", "CT" );

  596.        

  597.         arrayset( g_iSemiClip, 0, 32 );

  598.        

  599.         if( iNum <= 1 )

  600.                 return FMRES_IGNORED;

  601.        

  602.         for( i = 0; i < iNum; i++ ) {

  603.                 iPlayer = iPlayers[ i ];

  604.                

  605.                 for( j = 0; j < iNum; j++ ) {

  606.                         iPlayer2 = iPlayers[ j ];

  607.                        

  608.                         if( iPlayer == iPlayer2 )

  609.                                 continue;

  610.                        

  611.                         if( g_iSemiClip[ iPlayer ] && g_iSemiClip[ iPlayer2 ] )

  612.                                 continue;

  613.                        

  614.                         if( entity_range( iPlayer, iPlayer2 ) < 128 ) {

  615.                                 g_iSemiClip[ iPlayer ]  = true;

  616.                                 g_iSemiClip[ iPlayer2 ] = true;

  617.                         }

  618.                 }

  619.         }

  620.        

  621.         for( i = 0; i < iNum; i++ ) {

  622.                 iPlayer = iPlayers[ i ];

  623.                

  624.                 set_pev( iPlayer, pev_solid, g_iSemiClip[ iPlayer ] ? SOLID_NOT : SOLID_SLIDEBOX );

  625.         }

  626.        

  627.         return FMRES_IGNORED;

  628. }

  629.  

  630. // FORWARDS

  631. ///////////////////////////////////////////

  632. public FwdHamPlayerSpawn( id ) {

  633.         if( !g_bEnabled || !is_user_alive( id ) )

  634.                 return HAM_IGNORED;

  635.        

  636.         if( get_pcvar_num( g_pBlockRadio ) ) // thanks to ConnorMcLeod for this good way :)

  637.                 set_pdata_int( id, 192, 0 );

  638.        

  639. #if defined FAKE_PLAYER

  640.         if( g_iFakeplayer == id ) {

  641.                 set_pev( id, pev_frags, -1000.0 );

  642.                 cs_set_user_deaths( id, -1000 );

  643.                

  644.                 set_pev( id, pev_effects, pev( id, pev_effects ) | EF_NODRAW );

  645.                 set_pev( id, pev_solid, SOLID_NOT );

  646.                 entity_set_origin( id, Float:{ 999999.0, 999999.0, 999999.0 } );

  647.                 dllfunc( DLLFunc_Think, id );

  648.         } else {

  649. #endif

  650.                 new CsTeams:iTeam = cs_get_user_team( id );

  651.                

  652.                 // An small delay for message

  653.                 if( get_pcvar_num( g_pLifeSystem ) != 0 && iTeam == CS_TEAM_CT )

  654.                         set_task( 0.8, "Showlifes", id );

  655.                

  656.                 strip_user_weapons( id );

  657.                 give_item( id, "weapon_knife" );

  658.                

  659.                 set_pdata_int( id, 116, 0 ); // Pickup fix by ConnorMcLeod

  660.                

  661.                 if( g_bGamerFun && iTeam == CS_TEAM_CT )

  662.                         give_item( id, "weapon_smokegrenade" );

  663.                

  664.                 if( get_pcvar_num( g_pGiveUsp ) && iTeam == CS_TEAM_CT && !g_bHauntedHouse )

  665.                         set_task( 1.0, "GiveUsp", id );

  666.  

  667. #if defined FAKE_PLAYER

  668.         }

  669. #endif

  670.        

  671.         return HAM_IGNORED;

  672. }

  673.  

  674. public GiveUsp( const id ) {

  675.         if( is_user_alive( id ) ) {

  676.                 give_item( id, "weapon_usp" );

  677.                 cs_set_user_bpammo( id, CSW_USP, 100 );

  678.         }

  679. }

  680.  

  681. public FwdGameDesc( ) {

  682.         static const GameName[ ] = "Nikcsi DeathRun";

  683.        

  684.         forward_return( FMV_STRING, GameName );

  685.        

  686.         return FMRES_SUPERCEDE;

  687. }

  688.  

  689. public FwdClientKill( const id ) {

  690.         if( !g_bEnabled || !is_user_alive(id) )

  691.                 return FMRES_IGNORED;

  692.        

  693.         if( get_pcvar_num( g_pBlockKill ) || cs_get_user_team( id ) == CS_TEAM_T ) {

  694.                 client_print( id, print_center, "%L", id, "DR_BLOCK_KILL" );

  695.                 client_print( id, print_console, "%L", id, "DR_BLOCK_KILL" );

  696.                

  697.                 return FMRES_SUPERCEDE;

  698.         }

  699.        

  700.         return FMRES_IGNORED;

  701. }

  702.  

  703. public FwdImpulse_201( const id ) {

  704.         if( g_bEnabled && get_pcvar_num( g_pBlockSpray ) ) {

  705.                 if( is_user_alive( id ) )

  706.                         client_print( id, print_center, "%L", id, "DR_BLOCK_SPRAY" );

  707.                

  708.                 return PLUGIN_HANDLED_MAIN;

  709.         }

  710.        

  711.         return PLUGIN_CONTINUE;

  712. }

  713.  

  714. public FwdHamPlayerDamage( id, idInflictor, idAttacker, Float:flDamage, iDamageBits ) {

  715.         if( get_pcvar_num( g_pNoFallDmg ) )

  716.                 if( iDamageBits & DMG_FALL )

  717.                         if( get_user_team( id ) == 1 )

  718.                                 return HAM_SUPERCEDE;

  719.        

  720.         return HAM_IGNORED;

  721. }

  722.  

  723. public MsgStatusIcon( msg_id, msg_dest, id ) {

  724.         new szIcon[ 8 ];

  725.         get_msg_arg_string( 2, szIcon, 7 );

  726.        

  727.         static const BuyZone[ ] = "buyzone";

  728.        

  729.         if( equal( szIcon, BuyZone ) ) {

  730.                 set_pdata_int( id, OFFSET_BZ, get_pdata_int( id, OFFSET_BZ, 5 ) & ~( 1 << 0 ), 5 );

  731.                

  732.                 return PLUGIN_HANDLED;

  733.         }

  734.        

  735.         return PLUGIN_CONTINUE;

  736. }

  737.  

  738. public CmdRadio( id ) {

  739.         if( get_pcvar_num( g_pBlockRadio ) )

  740.                 return PLUGIN_HANDLED_MAIN;

  741.        

  742.         return PLUGIN_CONTINUE;

  743. }

  744.  

  745. public RestartRound( )

  746.         set_pcvar_num( g_pSvRestart, 1 );

  747.  

  748. // COLORCHAT

  749. /////////////////////////////////////////////

  750. ColorChat( id, Color:type, const szMessage[], {Float,Sql,Result,_}:... ) {

  751.         if( !get_playersnum( ) ) return;

  752.        

  753.         new message[ 256 ];

  754.        

  755.         switch( type ) {

  756.                 case NORMAL: message[0] = 0x01;

  757.                 case GREEN: message[0] = 0x04;

  758.                 default: message[0] = 0x03;

  759.         }

  760.        

  761.         vformat( message[ 1 ], 251, szMessage, 4 );

  762.        

  763.         message[ 192 ] = '^0';

  764.        

  765.         replace_all( message, 191, "YEL", "^1" );

  766.         replace_all( message, 191, "GRN", "^4" );

  767.         replace_all( message, 191, "TEM", "^3" );

  768.        

  769.         new iTeam, ColorChange, index, MSG_Type;

  770.        

  771.         if( id ) {

  772.                 MSG_Type = MSG_ONE_UNRELIABLE;

  773.                 index = id;

  774.         } else {

  775.                 index = CC_FindPlayer();

  776.                 MSG_Type = MSG_BROADCAST;

  777.         }

  778.        

  779.         iTeam = get_user_team( index );

  780.         ColorChange = CC_ColorSelection(index, MSG_Type, type);

  781.  

  782.         CC_ShowColorMessage(index, MSG_Type, message);

  783.        

  784.         if( ColorChange )

  785.                 CC_Team_Info(index, MSG_Type, TeamName[iTeam]);

  786. }

  787.  

  788. CC_ShowColorMessage( id, type, message[] ) {

  789.         message_begin( type, g_iMsgSayText, _, id );

  790.         write_byte( id );      

  791.         write_string( message );

  792.         message_end( );

  793. }

  794.  

  795. CC_Team_Info( id, type, team[] ) {

  796.         message_begin( type, g_iMsgTeamInfo, _, id );

  797.         write_byte( id );

  798.         write_string( team );

  799.         message_end( );

  800.        

  801.         return 1;

  802. }

  803.  

  804. CC_ColorSelection( index, type, Color:Type ) {

  805.         switch( Type ) {

  806.                 case RED: return CC_Team_Info( index, type, TeamName[ 1 ] );

  807.                 case BLUE: return CC_Team_Info( index, type, TeamName[ 2 ] );

  808.         }

  809.        

  810.         return 0;

  811. }

  812. //Hirdetés

  813. public hirdetes()

  814. {

  815.         ColorChat(0, GREEN, "[NIKCSI DR] ^03A Nikcsi DR MOD szerveren 1.2.2 fut. keszitette: ^01Nikcsi");

  816. }

  817. CC_FindPlayer( ) {

  818.         for( new i = 1; i <= g_iMaxplayers; i++ )

  819.                 if( g_bConnected[ i ] )

  820.                         return i;

  821.        

  822.         return -1;

  823. }

  824.        

_________________
Kedvenc DeathRun szerverem:
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Deathrun
HozzászólásElküldve:2012.08.05. 11:46 
Offline
Tiszteletbeli
Avatar

Csatlakozott:2011.09.18. 13:01
Hozzászólások:4274
Megköszönt másnak: 55 alkalommal
Megköszönték neki: 515 alkalommal
Nem forditva kene ?

Hud
Free

Chat.

1 gombot csak egyszer

Es meg tovabb:D
Csakmert tobbi szerveren igy lattam.Nemvagyok nagy dr-es:D

_________________
Idk. Csak ugy funbooo.
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Deathrun
HozzászólásElküldve:2012.08.05. 12:07 
Offline
Újonc

Csatlakozott:2012.08.05. 01:53
Hozzászólások:5
Nem. nekem így kéne de én nem tudom megcsinálni :(

_________________
Kedvenc DeathRun szerverem:
Kép


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