hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2025.11.03. 18:37



Jelenlévő felhasználók

Jelenleg 268 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 267 vendég

A legtöbb felhasználó (2883 fő) 2025.07.30. 16:00-kor tartózkodott itt.

Regisztrált felhasználók: Bing [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  [39309 hozzászólás ]  OldalElőző16666676686696703931Következő
Szerző Üzenet
 Hozzászólás témája: Re: Írj! - Offtopik
HozzászólásElküldve:2012.07.01. 19:24 
Offline
Őstag

Csatlakozott:2011.11.05. 10:03
Hozzászólások:1098
Megköszönt másnak: 1 alkalommal
Megköszönték neki: 4 alkalommal
kiki írta:
csak én nem találom benne az updatebot függvényt xD?

az miatt fagyna? mert eddig nemfagyott(igaz nem is voltunk 23an 32 slotos szerón)

_________________
OFF


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Írj! - Offtopik
HozzászólásElküldve:2012.07.01. 19:28 
Offline
Developer
Avatar

Csatlakozott:2011.06.01. 21:11
Hozzászólások:7966
Megköszönt másnak: 295 alkalommal
Megköszönték neki: 537 alkalommal
nemtom én nem is találom a függvényt, így meg sztem fordítani se lehet!

_________________
http://www.easyrankup.eu


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Írj! - Offtopik
HozzászólásElküldve:2012.07.01. 19:29 
Offline
Őskövület
Avatar

Csatlakozott:2012.02.07. 23:34
Hozzászólások:2192
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 55 alkalommal
Kód:
  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. new const g_szBotName[ ] = "BOT";

  15.  

  16. // Messages prefix

  17. new const g_szPrefix[ ] = "[Neo DeathRun]";

  18.  

  19. // Global Variables

  20. new bool:g_bHauntedHouse, bool:g_bGamerFun, bool:g_bRandromized, bool:g_bStarting, bool:g_bFirstRound;

  21. new bool:g_bEnabled, bool:g_bRestart, bool:g_bConnected[ 33 ];

  22.  

  23. new g_pRemoveBuyZone, g_pHideHuds, g_pBlockMoney, g_pLifeSystem, g_pSvRestart, g_pAutoBalance, g_pLimitTeams;

  24. new g_pNoFallDmg, g_pGameName, g_pToggle, g_pBlockSpray, g_pBlockRadio, g_pSemiclip, g_pGiveUsp, g_pBlockKill;

  25.  

  26. new g_iMsgHideWeapon, g_iMsgCrosshair, g_iMsgMoney, g_iMsgTeamInfo, g_iMsgSayText;

  27. new g_iMaxplayers, g_iHudSync, g_iHudSync2, g_iLastTerr, g_iThinker;

  28. new g_iSemiClip[ 33 ], g_Lifes[ 33 ];

  29.  

  30. #if defined FAKE_PLAYER

  31.         new g_iFakeplayer;

  32. #endif

  33.  

  34. // Macros

  35. #if cellbits == 32

  36.         #define OFFSET_BZ 235

  37. #else

  38.         #define OFFSET_BZ 268

  39. #endif

  40.  

  41. // Colorchat

  42. enum Color {

  43.         NORMAL = 1,

  44.         GREEN,

  45.         RED,

  46.         BLUE

  47. };

  48.  

  49. new TeamName[ ][ ] = {

  50.         "",

  51.         "TERRORIST",

  52.         "CT",

  53.         "SPECTATOR"

  54. };

  55.  

  56. // =======================================================================================

  57.  

  58. public plugin_init( ) {

  59.         register_plugin( "Deathrun Manager", "3.0", "ASD" );

  60.        

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

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

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

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

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

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

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

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

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

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

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

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

  73.        

  74.         // Lets get map name...

  75.         new szMapName[ 64 ];

  76.         get_mapname( szMapName, 63 );

  77.        

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

  79.                 set_pcvar_num( g_pToggle, 1 );

  80.                

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

  82.                         g_bHauntedHouse = true;

  83.                 else {

  84.                         g_bHauntedHouse = false;

  85.                        

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

  87.                                 g_bGamerFun = true;

  88.                         else

  89.                                 g_bGamerFun = false;

  90.                 }

  91.         } else

  92.                 set_pcvar_num( g_pToggle, 0 );

  93.        

  94.         g_pSvRestart   = get_cvar_pointer( "sv_restart" );

  95.         g_pAutoBalance = get_cvar_pointer( "mp_autoteambalance" );

  96.         g_pLimitTeams  = get_cvar_pointer( "mp_limitteams" );

  97.        

  98.         register_cvar( "deathrun_version", "3.0", FCVAR_SERVER | FCVAR_SPONLY );

  99.         set_cvar_string( "deathrun_version", "3.0" );

  100.        

  101.         // Registering Language file

  102.         register_dictionary( "deathrun.txt" );

  103.        

  104.         // Logging Events

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

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

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

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

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

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

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

  112.        

  113.         g_bFirstRound    = true;

  114.         g_iMaxplayers    = get_maxplayers( );

  115.         g_iMsgHideWeapon = get_user_msgid( "HideWeapon" );

  116.         g_iMsgCrosshair  = get_user_msgid( "Crosshair" );

  117.         g_iMsgMoney      = get_user_msgid( "Money" );

  118.         g_iMsgSayText    = get_user_msgid( "SayText" );

  119.         g_iMsgTeamInfo   = get_user_msgid( "TeamInfo" );

  120.        

  121.         g_iHudSync       = CreateHudSyncObj( );

  122.         g_iHudSync2      = CreateHudSyncObj( );

  123.        

  124.         if( get_pcvar_num( g_pToggle ) ) {

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

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

  127.                 register_forward( FM_ClientKill,       "FwdClientKill" );

  128.                 register_impulse( 201, "FwdImpulse_201" );

  129.                

  130.                 if( get_pcvar_num( g_pGameName ) )

  131.                         register_forward( FM_GetGameDescription, "FwdGameDesc" );

  132.                

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

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

  135.                

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

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

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

  139.                

  140.                 // Terrorist Check

  141.                 g_iThinker= create_entity( "info_target" );

  142.                

  143.                 if( is_valid_ent( g_iThinker ) ) {

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

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

  146.                        

  147.                         g_bRestart = true;

  148.                        

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

  150.                        

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

  152.                 } else {

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

  154.                        

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

  156.                         set_task( 20.0, "RestartRound" );

  157.                 }

  158.                

  159.                 if( get_pcvar_num( g_pRemoveBuyZone ) ) {

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

  161.                        

  162.                         // Remove buyzone on map

  163.                         remove_entity_name( "info_map_parameters" );

  164.                         remove_entity_name( "func_buyzone" );

  165.                        

  166.                         // Create own entity to block buying

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

  168.                        

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

  170.                         DispatchSpawn( iEntity );

  171.                 }

  172.                

  173.                 if( get_pcvar_num( g_pSemiclip ) ) {

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

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

  176.                 }

  177.                

  178.                 g_bEnabled = true;

  179.                

  180.         #if defined FAKE_PLAYER

  181.                 new iEntity, iCount;

  182.                

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

  184.                         if( iCount++ > 1 )

  185.                                 break;

  186.                

  187.                 if( iCount <= 1 )

  188.                         g_iFakeplayer = -1;

  189.                

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

  191.         #endif

  192.         } else

  193.                 g_bEnabled = false;

  194. }

  195.  

  196. // NEW TERRORIST

  197. ///////////////////////////////////////////

  198. public EventRandromize( ) {

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

  200.                 return PLUGIN_CONTINUE;

  201.        

  202.         g_bRandromized = true;

  203.        

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

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

  206.        

  207.         if( iNum <= 1 )

  208.                 return PLUGIN_CONTINUE;

  209.        

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

  211.                 iPlayer = iPlayers[ i ];

  212.                

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

  214.                         cs_set_user_team( iPlayer, CS_TEAM_CT );

  215.         }

  216.        

  217.         new iRandomPlayer, CsTeams:iTeam;

  218.        

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

  220.        

  221.         g_iLastTerr = iRandomPlayer;

  222.        

  223.         iTeam = cs_get_user_team( iRandomPlayer );

  224.        

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

  226.                 cs_set_user_team(iRandomPlayer, CS_TEAM_T);

  227.                

  228.                 new szName[ 32 ];

  229.                 get_user_name( iRandomPlayer, szName, 31 );

  230.                

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

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

  233.                

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

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

  236.         } else {

  237.                 g_bRandromized = false;

  238.                 EventRandromize( );

  239.         }

  240.        

  241.         return PLUGIN_CONTINUE;

  242. }

  243.  

  244. // NEW ROUND

  245. ///////////////////////////////////////////

  246. public EventRoundStart( ) {

  247.         if( !g_bEnabled )

  248.                 return PLUGIN_CONTINUE;

  249.        

  250.         g_bRandromized  = false;

  251.         g_bStarting     = false;

  252.        

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

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

  255.        

  256.         if( iNum <= 1 )

  257.                 return PLUGIN_CONTINUE;

  258.        

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

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

  261.                

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

  263.                         iRealPlayers++;

  264.         }

  265.        

  266.         if( iRealPlayers <= 1 ) {

  267.                 set_hudmessage( 0, 128, 0, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4 );

  268.                

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

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

  271.                

  272.                 return PLUGIN_CONTINUE;

  273.         }

  274.        

  275.         set_pcvar_num( g_pAutoBalance, 0 );

  276.         set_pcvar_num( g_pLimitTeams, 0 );

  277.        

  278.         if( g_bFirstRound ) {

  279.                 set_hudmessage( 0, 128, 0, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4 );

  280.                

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

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

  283.                        

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

  285.                 }

  286.                

  287.                 if( is_valid_ent( g_iThinker ) ) {

  288.                         g_bRestart = true;

  289.                        

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

  291.                 } else

  292.                         set_task( 9.0, "RestartRound" );

  293.                

  294.                 g_bStarting = true;

  295.                 g_bFirstRound = false;

  296.         }

  297.        

  298.         return PLUGIN_CONTINUE;

  299. }

  300.  

  301. // CHECK TERRORIST

  302. ///////////////////////////////////////////

  303. public FwdThinker( iEntity ) {

  304.         if( g_bRestart ) {

  305.                 g_bRestart = false;

  306.                

  307.                 RestartRound( );

  308.         } else

  309.                 CheckTerrorists( );

  310.        

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

  312. }

  313.  

  314. public CheckTerrorists( ) {

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

  316.                 return PLUGIN_CONTINUE;

  317.        

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

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

  320.        

  321.         if( iNum <= 1 )

  322.                 return PLUGIN_CONTINUE;

  323.        

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

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

  326.                

  327.                 if( iTeam == CS_TEAM_T )

  328.                         iTerrors++;

  329.                

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

  331.                         iRealPlayers++;

  332.         }

  333.        

  334.         if( iRealPlayers <= 1 ) {

  335.                 set_hudmessage( 0, 128, 0, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4 );

  336.                

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

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

  339.                

  340.                 return PLUGIN_CONTINUE;

  341.         }

  342.        

  343.         if( iTerrors == 0 ) {

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

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

  346.                        

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

  348.                                 user_silentkill( iPlayers[ i ] );

  349.                 }

  350.                

  351.                 set_task( 0.5, "EventRandromize" );

  352.         }

  353.        

  354.         return PLUGIN_CONTINUE;

  355. }

  356.  

  357. // LIFE SYSTEM

  358. ///////////////////////////////////////////

  359. public EventTerrsWin( ) {

  360.         if( !g_bEnabled || g_bFirstRound )

  361.                 return PLUGIN_CONTINUE;

  362.        

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

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

  365.        

  366.         if( iNum <= 1 )

  367.                 return PLUGIN_CONTINUE;

  368.        

  369.         new iLifeCvar = get_pcvar_num( g_pLifeSystem );

  370.        

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

  372.                 iPlayer = iPlayers[ i ];

  373.                

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

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

  376.                        

  377.                         if( iLifeCvar == 2 )

  378.                                 g_Lifes[ iPlayer ]++;

  379.                 }

  380.         }

  381.        

  382.         return PLUGIN_CONTINUE;

  383. }

  384.  

  385. public EventDeath( ) {

  386.         if( !g_bEnabled || get_pcvar_num( g_pLifeSystem ) == 0 )

  387.                 return PLUGIN_CONTINUE;

  388.        

  389.         new iKiller = read_data( 1 );

  390.         new iVictim = read_data( 2 );

  391.         new iTeam = get_user_team( iVictim );

  392.        

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

  394.                 g_Lifes[iKiller]++;

  395.        

  396. #if defined FAKE_PLAYER

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

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

  399. #endif

  400.        

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

  402.                 new iCTcount;

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

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

  405.                                 iCTcount++;

  406.                 }

  407.                

  408.                 if( iCTcount > 1 ) {

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

  410.                        

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

  412.                 }

  413.                 /*else

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

  415.         }

  416.        

  417.         return PLUGIN_CONTINUE;

  418. }

  419.  

  420. public fnRevivePlayer( id ) {

  421.         if( g_bConnected[ id ] ) {

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

  423.                         new iCTcount;

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

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

  426.                                         iCTcount++;

  427.                        

  428.                         if( iCTcount > 1 ) {

  429.                                 ExecuteHamB( Ham_CS_RoundRespawn, id );

  430.                                

  431.                                 g_Lifes[ id ]--;

  432.                         }

  433.                 }

  434.         }

  435. }

  436.  

  437. public CmdShowlifes( id ) {

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

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

  440.                 return PLUGIN_HANDLED;

  441.         }

  442.        

  443.         if( g_Lifes[ id ] > 0 )

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

  445.         else

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

  447.        

  448.         return PLUGIN_HANDLED;

  449. }

  450.  

  451. public Showlifes( id ) {

  452.         set_hudmessage( 0, 128, 0, 0.04, 0.71, 0, 2.5, 2.5, 0.5, 0.5, 3 );

  453.        

  454.         if( g_Lifes[ id ] > 0 )

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

  456.         else

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

  458. }

  459.  

  460. // EVENTS

  461. ///////////////////////////////////////////

  462. public EventResetHud( id ) {

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

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

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

  466.                 message_end( );

  467.                

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

  469.                 write_byte( 0 );

  470.                 message_end( );

  471.         }

  472. }

  473.  

  474. public EventMoney( id ) {

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

  476.                 set_pdata_int( id, 115, 0 );

  477.                

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

  479.                 write_long ( 0 );

  480.                 write_byte ( 1 );

  481.                 message_end( );

  482.         }

  483. }

  484.  

  485. public client_putinserver( id )

  486.         g_bConnected[ id ] = true;

  487.  

  488. public client_disconnect( id ) {

  489.         g_bConnected[ id ] = false;

  490.         CheckTerrorists( );

  491.        

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

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

  494.        

  495. #if defined FAKE_PLAYER

  496.         if( g_iFakeplayer == id ) {

  497.                 set_task( 1.5, "UpdateBot" );

  498.                

  499.                 g_iFakeplayer = 0;

  500.         }

  501. #endif

  502. }

  503.  

  504. // SEMICLIP

  505. ///////////////////////////////////////////

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

  507.         if( !g_bEnabled )

  508.                 return FMRES_IGNORED;

  509.        

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

  511.                 set_es( es, ES_Solid, SOLID_NOT );

  512.                 set_es( es, ES_RenderMode, kRenderTransAlpha );

  513.                 set_es( es, ES_RenderAmt, 85 );

  514.         }

  515.        

  516.         return FMRES_IGNORED;

  517. }

  518.  

  519. public FwdStartFrame( ) {

  520.         if( !g_bEnabled )

  521.                 return FMRES_IGNORED;

  522.        

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

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

  525.        

  526.         arrayset( g_iSemiClip, 0, 32 );

  527.        

  528.         if( iNum <= 1 )

  529.                 return FMRES_IGNORED;

  530.        

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

  532.                 iPlayer = iPlayers[ i ];

  533.                

  534.         //      if( g_iSemiClip[ iPlayer ] )

  535.         //              continue;

  536.                

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

  538.                         iPlayer2 = iPlayers[ j ];

  539.                        

  540.                         if( iPlayer == iPlayer2 )

  541.                                 continue;

  542.                        

  543.                 //      if( g_iSemiClip[ iPlayer2 ] )

  544.                 //              continue;

  545.                        

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

  547.                                 g_iSemiClip[ iPlayer ]  = true;

  548.                                 g_iSemiClip[ iPlayer2 ] = true;

  549.                         }

  550.                 }

  551.         }

  552.        

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

  554.                 iPlayer = iPlayers[ i ];

  555.                

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

  557.         }

  558.        

  559.         return FMRES_IGNORED;

  560. }

  561.  

  562. // FORWARDS

  563. ///////////////////////////////////////////

  564. public FwdHamPlayerSpawn( id ) {

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

  566.                 return HAM_IGNORED;

  567.        

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

  569.                 set_pdata_int( id, 192, 0 );

  570.        

  571. #if defined FAKE_PLAYER

  572.         if( g_iFakeplayer == id ) {

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

  574.                 cs_set_user_deaths( id, -1000 );

  575.                

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

  577.                 set_pev( id, pev_solid, SOLID_NOT );

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

  579.                 dllfunc( DLLFunc_Think, id );

  580.         } else {

  581. #endif

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

  583.                

  584.                 // An small delay for message

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

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

  587.                

  588.                 strip_user_weapons( id );

  589.                 give_item( id, "weapon_knife" );

  590.                

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

  592.                

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

  594.                         give_item( id, "weapon_smokegrenade" );

  595.                

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

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

  598.  

  599. #if defined FAKE_PLAYER

  600.         }

  601. #endif

  602.        

  603.         return HAM_IGNORED;

  604. }

  605.  

  606. public GiveUsp( id ) {

  607.         if( is_user_alive( id ) ) {

  608.                 give_item( id, "weapon_usp" );

  609.                 cs_set_user_bpammo( id, CSW_USP, 100 );

  610.         }

  611. }

  612.  

  613. public FwdGameDesc( ) {

  614.         static const GameName[ ] = "[Halalfutam 3.0]";

  615.        

  616.         forward_return( FMV_STRING, GameName );

  617.        

  618.         return FMRES_SUPERCEDE;

  619. }

  620.  

  621. public FwdClientKill( id ) {

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

  623.                 return FMRES_IGNORED;

  624.        

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

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

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

  628.                

  629.                 return FMRES_SUPERCEDE;

  630.         }

  631.        

  632.         return FMRES_IGNORED;

  633. }

  634.  

  635. public FwdImpulse_201( id, uc_handle, seed ) { 

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

  637.                 if( is_user_alive( id ) ) {

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

  639.                        

  640.                         return PLUGIN_HANDLED_MAIN;

  641.                 }

  642.         }

  643.        

  644.         return PLUGIN_CONTINUE;

  645. }

  646.  

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

  648.         if( get_pcvar_num( g_pNoFallDmg ) )

  649.                 if( iDamageBits & DMG_FALL )

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

  651.                                 return HAM_SUPERCEDE;

  652.        

  653.         return HAM_IGNORED;

  654. }

  655.  

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

  657.         new szIcon[ 8 ];

  658.         get_msg_arg_string( 2, szIcon, 7 );

  659.        

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

  661.        

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

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

  664.                

  665.                 return PLUGIN_HANDLED;

  666.         }

  667.        

  668.         return PLUGIN_CONTINUE;

  669. }

  670.  

  671. public CmdRadio( id ) {

  672.         if( get_pcvar_num( g_pBlockRadio ) )

  673.                 return PLUGIN_HANDLED_MAIN;

  674.        

  675.         return PLUGIN_CONTINUE;

  676. }

  677.  

  678. public RestartRound( )

  679.         set_pcvar_num( g_pSvRestart, 1 );

  680.  

  681. // COLORCHAT

  682. /////////////////////////////////////////////

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

  684.         if( !get_playersnum( ) ) return;

  685.        

  686.         new message[ 256 ];

  687.        

  688.         switch( type ) {

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

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

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

  692.         }

  693.        

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

  695.        

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

  697.        

  698.         replace_all( message, 191, "!y", "^1" );

  699.         replace_all( message, 191, "!g", "^4" );

  700.         replace_all( message, 191, "!t", "^3" );

  701.        

  702.         new iTeam, ColorChange, index, MSG_Type;

  703.        

  704.         if( id ) {

  705.                 MSG_Type = MSG_ONE_UNRELIABLE;

  706.                 index = id;

  707.         } else {

  708.                 index = CC_FindPlayer();

  709.                 MSG_Type = MSG_BROADCAST;

  710.         }

  711.        

  712.         iTeam = get_user_team( index );

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

  714.  

  715.         CC_ShowColorMessage(index, MSG_Type, message);

  716.        

  717.         if( ColorChange )

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

  719. }

  720.  

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

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

  723.         write_byte( id );      

  724.         write_string( message );

  725.         message_end( );

  726. }

  727.  

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

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

  730.         write_byte( id );

  731.         write_string( team );

  732.         message_end( );

  733.        

  734.         return 1;

  735. }

  736.  

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

  738.         switch( Type ) {

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

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

  741.         }

  742.        

  743.         return 0;

  744. }

  745.  

  746. CC_FindPlayer( ) {

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

  748.                 if( g_bConnected[ i ] )

  749.                         return i;

  750.        

  751.         return -1;

  752. }

Próbáld így. ( Bár sztem igy se megy xddd )

_________________
[sma]CMD:fear(playerid, params[]){ new str[5]; if(!sscanf(params, "s[5]", str)){ if(egyezik(str, "find")) Msg(playerid, "A-a!");}  return 1;}[/sma]


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Írj! - Offtopik
HozzászólásElküldve:2012.07.01. 19:30 
Offline
Őstag

Csatlakozott:2011.11.05. 10:03
Hozzászólások:1098
Megköszönt másnak: 1 alkalommal
Megköszönték neki: 4 alkalommal
kiki írta:
nemtom én nem is találom a függvényt, így meg sztem fordítani se lehet!

Kivettem azt az egész set_task-ot.. most elmék visszajövök azt majd meglátom h jó-e :D

_________________
OFF


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Írj! - Offtopik
HozzászólásElküldve:2012.07.01. 19:31 
Offline
Őstag

Csatlakozott:2011.11.05. 10:03
Hozzászólások:1098
Megköszönt másnak: 1 alkalommal
Megköszönték neki: 4 alkalommal
fear_ezmegmi írta:
Kód:
  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. new const g_szBotName[ ] = "BOT";

  15.  

  16. // Messages prefix

  17. new const g_szPrefix[ ] = "[Neo DeathRun]";

  18.  

  19. // Global Variables

  20. new bool:g_bHauntedHouse, bool:g_bGamerFun, bool:g_bRandromized, bool:g_bStarting, bool:g_bFirstRound;

  21. new bool:g_bEnabled, bool:g_bRestart, bool:g_bConnected[ 33 ];

  22.  

  23. new g_pRemoveBuyZone, g_pHideHuds, g_pBlockMoney, g_pLifeSystem, g_pSvRestart, g_pAutoBalance, g_pLimitTeams;

  24. new g_pNoFallDmg, g_pGameName, g_pToggle, g_pBlockSpray, g_pBlockRadio, g_pSemiclip, g_pGiveUsp, g_pBlockKill;

  25.  

  26. new g_iMsgHideWeapon, g_iMsgCrosshair, g_iMsgMoney, g_iMsgTeamInfo, g_iMsgSayText;

  27. new g_iMaxplayers, g_iHudSync, g_iHudSync2, g_iLastTerr, g_iThinker;

  28. new g_iSemiClip[ 33 ], g_Lifes[ 33 ];

  29.  

  30. #if defined FAKE_PLAYER

  31.         new g_iFakeplayer;

  32. #endif

  33.  

  34. // Macros

  35. #if cellbits == 32

  36.         #define OFFSET_BZ 235

  37. #else

  38.         #define OFFSET_BZ 268

  39. #endif

  40.  

  41. // Colorchat

  42. enum Color {

  43.         NORMAL = 1,

  44.         GREEN,

  45.         RED,

  46.         BLUE

  47. };

  48.  

  49. new TeamName[ ][ ] = {

  50.         "",

  51.         "TERRORIST",

  52.         "CT",

  53.         "SPECTATOR"

  54. };

  55.  

  56. // =======================================================================================

  57.  

  58. public plugin_init( ) {

  59.         register_plugin( "Deathrun Manager", "3.0", "ASD" );

  60.        

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

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

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

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

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

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

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

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

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

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

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

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

  73.        

  74.         // Lets get map name...

  75.         new szMapName[ 64 ];

  76.         get_mapname( szMapName, 63 );

  77.        

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

  79.                 set_pcvar_num( g_pToggle, 1 );

  80.                

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

  82.                         g_bHauntedHouse = true;

  83.                 else {

  84.                         g_bHauntedHouse = false;

  85.                        

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

  87.                                 g_bGamerFun = true;

  88.                         else

  89.                                 g_bGamerFun = false;

  90.                 }

  91.         } else

  92.                 set_pcvar_num( g_pToggle, 0 );

  93.        

  94.         g_pSvRestart   = get_cvar_pointer( "sv_restart" );

  95.         g_pAutoBalance = get_cvar_pointer( "mp_autoteambalance" );

  96.         g_pLimitTeams  = get_cvar_pointer( "mp_limitteams" );

  97.        

  98.         register_cvar( "deathrun_version", "3.0", FCVAR_SERVER | FCVAR_SPONLY );

  99.         set_cvar_string( "deathrun_version", "3.0" );

  100.        

  101.         // Registering Language file

  102.         register_dictionary( "deathrun.txt" );

  103.        

  104.         // Logging Events

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

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

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

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

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

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

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

  112.        

  113.         g_bFirstRound    = true;

  114.         g_iMaxplayers    = get_maxplayers( );

  115.         g_iMsgHideWeapon = get_user_msgid( "HideWeapon" );

  116.         g_iMsgCrosshair  = get_user_msgid( "Crosshair" );

  117.         g_iMsgMoney      = get_user_msgid( "Money" );

  118.         g_iMsgSayText    = get_user_msgid( "SayText" );

  119.         g_iMsgTeamInfo   = get_user_msgid( "TeamInfo" );

  120.        

  121.         g_iHudSync       = CreateHudSyncObj( );

  122.         g_iHudSync2      = CreateHudSyncObj( );

  123.        

  124.         if( get_pcvar_num( g_pToggle ) ) {

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

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

  127.                 register_forward( FM_ClientKill,       "FwdClientKill" );

  128.                 register_impulse( 201, "FwdImpulse_201" );

  129.                

  130.                 if( get_pcvar_num( g_pGameName ) )

  131.                         register_forward( FM_GetGameDescription, "FwdGameDesc" );

  132.                

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

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

  135.                

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

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

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

  139.                

  140.                 // Terrorist Check

  141.                 g_iThinker= create_entity( "info_target" );

  142.                

  143.                 if( is_valid_ent( g_iThinker ) ) {

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

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

  146.                        

  147.                         g_bRestart = true;

  148.                        

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

  150.                        

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

  152.                 } else {

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

  154.                        

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

  156.                         set_task( 20.0, "RestartRound" );

  157.                 }

  158.                

  159.                 if( get_pcvar_num( g_pRemoveBuyZone ) ) {

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

  161.                        

  162.                         // Remove buyzone on map

  163.                         remove_entity_name( "info_map_parameters" );

  164.                         remove_entity_name( "func_buyzone" );

  165.                        

  166.                         // Create own entity to block buying

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

  168.                        

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

  170.                         DispatchSpawn( iEntity );

  171.                 }

  172.                

  173.                 if( get_pcvar_num( g_pSemiclip ) ) {

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

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

  176.                 }

  177.                

  178.                 g_bEnabled = true;

  179.                

  180.         #if defined FAKE_PLAYER

  181.                 new iEntity, iCount;

  182.                

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

  184.                         if( iCount++ > 1 )

  185.                                 break;

  186.                

  187.                 if( iCount <= 1 )

  188.                         g_iFakeplayer = -1;

  189.                

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

  191.         #endif

  192.         } else

  193.                 g_bEnabled = false;

  194. }

  195.  

  196. // NEW TERRORIST

  197. ///////////////////////////////////////////

  198. public EventRandromize( ) {

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

  200.                 return PLUGIN_CONTINUE;

  201.        

  202.         g_bRandromized = true;

  203.        

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

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

  206.        

  207.         if( iNum <= 1 )

  208.                 return PLUGIN_CONTINUE;

  209.        

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

  211.                 iPlayer = iPlayers[ i ];

  212.                

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

  214.                         cs_set_user_team( iPlayer, CS_TEAM_CT );

  215.         }

  216.        

  217.         new iRandomPlayer, CsTeams:iTeam;

  218.        

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

  220.        

  221.         g_iLastTerr = iRandomPlayer;

  222.        

  223.         iTeam = cs_get_user_team( iRandomPlayer );

  224.        

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

  226.                 cs_set_user_team(iRandomPlayer, CS_TEAM_T);

  227.                

  228.                 new szName[ 32 ];

  229.                 get_user_name( iRandomPlayer, szName, 31 );

  230.                

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

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

  233.                

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

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

  236.         } else {

  237.                 g_bRandromized = false;

  238.                 EventRandromize( );

  239.         }

  240.        

  241.         return PLUGIN_CONTINUE;

  242. }

  243.  

  244. // NEW ROUND

  245. ///////////////////////////////////////////

  246. public EventRoundStart( ) {

  247.         if( !g_bEnabled )

  248.                 return PLUGIN_CONTINUE;

  249.        

  250.         g_bRandromized  = false;

  251.         g_bStarting     = false;

  252.        

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

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

  255.        

  256.         if( iNum <= 1 )

  257.                 return PLUGIN_CONTINUE;

  258.        

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

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

  261.                

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

  263.                         iRealPlayers++;

  264.         }

  265.        

  266.         if( iRealPlayers <= 1 ) {

  267.                 set_hudmessage( 0, 128, 0, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4 );

  268.                

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

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

  271.                

  272.                 return PLUGIN_CONTINUE;

  273.         }

  274.        

  275.         set_pcvar_num( g_pAutoBalance, 0 );

  276.         set_pcvar_num( g_pLimitTeams, 0 );

  277.        

  278.         if( g_bFirstRound ) {

  279.                 set_hudmessage( 0, 128, 0, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4 );

  280.                

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

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

  283.                        

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

  285.                 }

  286.                

  287.                 if( is_valid_ent( g_iThinker ) ) {

  288.                         g_bRestart = true;

  289.                        

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

  291.                 } else

  292.                         set_task( 9.0, "RestartRound" );

  293.                

  294.                 g_bStarting = true;

  295.                 g_bFirstRound = false;

  296.         }

  297.        

  298.         return PLUGIN_CONTINUE;

  299. }

  300.  

  301. // CHECK TERRORIST

  302. ///////////////////////////////////////////

  303. public FwdThinker( iEntity ) {

  304.         if( g_bRestart ) {

  305.                 g_bRestart = false;

  306.                

  307.                 RestartRound( );

  308.         } else

  309.                 CheckTerrorists( );

  310.        

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

  312. }

  313.  

  314. public CheckTerrorists( ) {

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

  316.                 return PLUGIN_CONTINUE;

  317.        

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

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

  320.        

  321.         if( iNum <= 1 )

  322.                 return PLUGIN_CONTINUE;

  323.        

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

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

  326.                

  327.                 if( iTeam == CS_TEAM_T )

  328.                         iTerrors++;

  329.                

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

  331.                         iRealPlayers++;

  332.         }

  333.        

  334.         if( iRealPlayers <= 1 ) {

  335.                 set_hudmessage( 0, 128, 0, -1.0, 0.1, 0, 4.0, 4.0, 0.5, 0.5, 4 );

  336.                

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

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

  339.                

  340.                 return PLUGIN_CONTINUE;

  341.         }

  342.        

  343.         if( iTerrors == 0 ) {

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

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

  346.                        

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

  348.                                 user_silentkill( iPlayers[ i ] );

  349.                 }

  350.                

  351.                 set_task( 0.5, "EventRandromize" );

  352.         }

  353.        

  354.         return PLUGIN_CONTINUE;

  355. }

  356.  

  357. // LIFE SYSTEM

  358. ///////////////////////////////////////////

  359. public EventTerrsWin( ) {

  360.         if( !g_bEnabled || g_bFirstRound )

  361.                 return PLUGIN_CONTINUE;

  362.        

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

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

  365.        

  366.         if( iNum <= 1 )

  367.                 return PLUGIN_CONTINUE;

  368.        

  369.         new iLifeCvar = get_pcvar_num( g_pLifeSystem );

  370.        

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

  372.                 iPlayer = iPlayers[ i ];

  373.                

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

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

  376.                        

  377.                         if( iLifeCvar == 2 )

  378.                                 g_Lifes[ iPlayer ]++;

  379.                 }

  380.         }

  381.        

  382.         return PLUGIN_CONTINUE;

  383. }

  384.  

  385. public EventDeath( ) {

  386.         if( !g_bEnabled || get_pcvar_num( g_pLifeSystem ) == 0 )

  387.                 return PLUGIN_CONTINUE;

  388.        

  389.         new iKiller = read_data( 1 );

  390.         new iVictim = read_data( 2 );

  391.         new iTeam = get_user_team( iVictim );

  392.        

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

  394.                 g_Lifes[iKiller]++;

  395.        

  396. #if defined FAKE_PLAYER

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

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

  399. #endif

  400.        

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

  402.                 new iCTcount;

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

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

  405.                                 iCTcount++;

  406.                 }

  407.                

  408.                 if( iCTcount > 1 ) {

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

  410.                        

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

  412.                 }

  413.                 /*else

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

  415.         }

  416.        

  417.         return PLUGIN_CONTINUE;

  418. }

  419.  

  420. public fnRevivePlayer( id ) {

  421.         if( g_bConnected[ id ] ) {

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

  423.                         new iCTcount;

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

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

  426.                                         iCTcount++;

  427.                        

  428.                         if( iCTcount > 1 ) {

  429.                                 ExecuteHamB( Ham_CS_RoundRespawn, id );

  430.                                

  431.                                 g_Lifes[ id ]--;

  432.                         }

  433.                 }

  434.         }

  435. }

  436.  

  437. public CmdShowlifes( id ) {

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

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

  440.                 return PLUGIN_HANDLED;

  441.         }

  442.        

  443.         if( g_Lifes[ id ] > 0 )

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

  445.         else

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

  447.        

  448.         return PLUGIN_HANDLED;

  449. }

  450.  

  451. public Showlifes( id ) {

  452.         set_hudmessage( 0, 128, 0, 0.04, 0.71, 0, 2.5, 2.5, 0.5, 0.5, 3 );

  453.        

  454.         if( g_Lifes[ id ] > 0 )

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

  456.         else

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

  458. }

  459.  

  460. // EVENTS

  461. ///////////////////////////////////////////

  462. public EventResetHud( id ) {

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

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

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

  466.                 message_end( );

  467.                

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

  469.                 write_byte( 0 );

  470.                 message_end( );

  471.         }

  472. }

  473.  

  474. public EventMoney( id ) {

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

  476.                 set_pdata_int( id, 115, 0 );

  477.                

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

  479.                 write_long ( 0 );

  480.                 write_byte ( 1 );

  481.                 message_end( );

  482.         }

  483. }

  484.  

  485. public client_putinserver( id )

  486.         g_bConnected[ id ] = true;

  487.  

  488. public client_disconnect( id ) {

  489.         g_bConnected[ id ] = false;

  490.         CheckTerrorists( );

  491.        

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

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

  494.        

  495. #if defined FAKE_PLAYER

  496.         if( g_iFakeplayer == id ) {

  497.                 set_task( 1.5, "UpdateBot" );

  498.                

  499.                 g_iFakeplayer = 0;

  500.         }

  501. #endif

  502. }

  503.  

  504. // SEMICLIP

  505. ///////////////////////////////////////////

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

  507.         if( !g_bEnabled )

  508.                 return FMRES_IGNORED;

  509.        

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

  511.                 set_es( es, ES_Solid, SOLID_NOT );

  512.                 set_es( es, ES_RenderMode, kRenderTransAlpha );

  513.                 set_es( es, ES_RenderAmt, 85 );

  514.         }

  515.        

  516.         return FMRES_IGNORED;

  517. }

  518.  

  519. public FwdStartFrame( ) {

  520.         if( !g_bEnabled )

  521.                 return FMRES_IGNORED;

  522.        

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

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

  525.        

  526.         arrayset( g_iSemiClip, 0, 32 );

  527.        

  528.         if( iNum <= 1 )

  529.                 return FMRES_IGNORED;

  530.        

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

  532.                 iPlayer = iPlayers[ i ];

  533.                

  534.         //      if( g_iSemiClip[ iPlayer ] )

  535.         //              continue;

  536.                

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

  538.                         iPlayer2 = iPlayers[ j ];

  539.                        

  540.                         if( iPlayer == iPlayer2 )

  541.                                 continue;

  542.                        

  543.                 //      if( g_iSemiClip[ iPlayer2 ] )

  544.                 //              continue;

  545.                        

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

  547.                                 g_iSemiClip[ iPlayer ]  = true;

  548.                                 g_iSemiClip[ iPlayer2 ] = true;

  549.                         }

  550.                 }

  551.         }

  552.        

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

  554.                 iPlayer = iPlayers[ i ];

  555.                

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

  557.         }

  558.        

  559.         return FMRES_IGNORED;

  560. }

  561.  

  562. // FORWARDS

  563. ///////////////////////////////////////////

  564. public FwdHamPlayerSpawn( id ) {

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

  566.                 return HAM_IGNORED;

  567.        

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

  569.                 set_pdata_int( id, 192, 0 );

  570.        

  571. #if defined FAKE_PLAYER

  572.         if( g_iFakeplayer == id ) {

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

  574.                 cs_set_user_deaths( id, -1000 );

  575.                

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

  577.                 set_pev( id, pev_solid, SOLID_NOT );

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

  579.                 dllfunc( DLLFunc_Think, id );

  580.         } else {

  581. #endif

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

  583.                

  584.                 // An small delay for message

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

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

  587.                

  588.                 strip_user_weapons( id );

  589.                 give_item( id, "weapon_knife" );

  590.                

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

  592.                

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

  594.                         give_item( id, "weapon_smokegrenade" );

  595.                

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

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

  598.  

  599. #if defined FAKE_PLAYER

  600.         }

  601. #endif

  602.        

  603.         return HAM_IGNORED;

  604. }

  605.  

  606. public GiveUsp( id ) {

  607.         if( is_user_alive( id ) ) {

  608.                 give_item( id, "weapon_usp" );

  609.                 cs_set_user_bpammo( id, CSW_USP, 100 );

  610.         }

  611. }

  612.  

  613. public FwdGameDesc( ) {

  614.         static const GameName[ ] = "[Halalfutam 3.0]";

  615.        

  616.         forward_return( FMV_STRING, GameName );

  617.        

  618.         return FMRES_SUPERCEDE;

  619. }

  620.  

  621. public FwdClientKill( id ) {

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

  623.                 return FMRES_IGNORED;

  624.        

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

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

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

  628.                

  629.                 return FMRES_SUPERCEDE;

  630.         }

  631.        

  632.         return FMRES_IGNORED;

  633. }

  634.  

  635. public FwdImpulse_201( id, uc_handle, seed ) { 

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

  637.                 if( is_user_alive( id ) ) {

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

  639.                        

  640.                         return PLUGIN_HANDLED_MAIN;

  641.                 }

  642.         }

  643.        

  644.         return PLUGIN_CONTINUE;

  645. }

  646.  

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

  648.         if( get_pcvar_num( g_pNoFallDmg ) )

  649.                 if( iDamageBits & DMG_FALL )

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

  651.                                 return HAM_SUPERCEDE;

  652.        

  653.         return HAM_IGNORED;

  654. }

  655.  

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

  657.         new szIcon[ 8 ];

  658.         get_msg_arg_string( 2, szIcon, 7 );

  659.        

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

  661.        

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

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

  664.                

  665.                 return PLUGIN_HANDLED;

  666.         }

  667.        

  668.         return PLUGIN_CONTINUE;

  669. }

  670.  

  671. public CmdRadio( id ) {

  672.         if( get_pcvar_num( g_pBlockRadio ) )

  673.                 return PLUGIN_HANDLED_MAIN;

  674.        

  675.         return PLUGIN_CONTINUE;

  676. }

  677.  

  678. public RestartRound( )

  679.         set_pcvar_num( g_pSvRestart, 1 );

  680.  

  681. // COLORCHAT

  682. /////////////////////////////////////////////

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

  684.         if( !get_playersnum( ) ) return;

  685.        

  686.         new message[ 256 ];

  687.        

  688.         switch( type ) {

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

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

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

  692.         }

  693.        

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

  695.        

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

  697.        

  698.         replace_all( message, 191, "!y", "^1" );

  699.         replace_all( message, 191, "!g", "^4" );

  700.         replace_all( message, 191, "!t", "^3" );

  701.        

  702.         new iTeam, ColorChange, index, MSG_Type;

  703.        

  704.         if( id ) {

  705.                 MSG_Type = MSG_ONE_UNRELIABLE;

  706.                 index = id;

  707.         } else {

  708.                 index = CC_FindPlayer();

  709.                 MSG_Type = MSG_BROADCAST;

  710.         }

  711.        

  712.         iTeam = get_user_team( index );

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

  714.  

  715.         CC_ShowColorMessage(index, MSG_Type, message);

  716.        

  717.         if( ColorChange )

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

  719. }

  720.  

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

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

  723.         write_byte( id );      

  724.         write_string( message );

  725.         message_end( );

  726. }

  727.  

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

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

  730.         write_byte( id );

  731.         write_string( team );

  732.         message_end( );

  733.        

  734.         return 1;

  735. }

  736.  

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

  738.         switch( Type ) {

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

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

  741.         }

  742.        

  743.         return 0;

  744. }

  745.  

  746. CC_FindPlayer( ) {

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

  748.                 if( g_bConnected[ i ] )

  749.                         return i;

  750.        

  751.         return -1;

  752. }

Próbáld így. ( Bár sztem igy se megy xddd )

mostmár m1 azé köszi:D

_________________
OFF


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Írj! - Offtopik
HozzászólásElküldve:2012.07.01. 19:43 
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
1001 :roll:

_________________
Idk. Csak ugy funbooo.
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Írj! - Offtopik
HozzászólásElküldve:2012.07.01. 19:46 
Offline
Minden6ó
Avatar

Csatlakozott:2011.01.19. 12:14
Hozzászólások:4294
Megköszönt másnak: 219 alkalommal
Megköszönték neki: 289 alkalommal
ezek a pluginok mire valok? valaki írja már le nekem :)
Kód:
  1.  

  2. badclients.amxx

  3. m_tfix.amxx

  4. autobuyfix.amxx

  5. anti_fullupdate_spam.amxx

  6.  

_________________
<<eb@>>Team Website - Közösség
17Buddies - Általam készített pályák.
GameBanana - Általam készített pályák/vágott hangok.

Kép
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Írj! - Offtopik
HozzászólásElküldve:2012.07.01. 19:48 
Offline
Developer
Avatar

Csatlakozott:2011.06.01. 21:11
Hozzászólások:7966
Megköszönt másnak: 295 alkalommal
Megköszönték neki: 537 alkalommal
Védelem a detector fajták ellen xD

_________________
http://www.easyrankup.eu


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Írj! - Offtopik
HozzászólásElküldve:2012.07.01. 19:49 
Offline
Őskövület
Avatar

Csatlakozott:2012.02.07. 23:34
Hozzászólások:2192
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 55 alkalommal
sajnos kiki ellen nincs védelem :D

_________________
[sma]CMD:fear(playerid, params[]){ new str[5]; if(!sscanf(params, "s[5]", str)){ if(egyezik(str, "find")) Msg(playerid, "A-a!");}  return 1;}[/sma]


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Írj! - Offtopik
HozzászólásElküldve:2012.07.01. 20:06 
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
kiki írta:
Védelem a detector fajták ellen xD

Attol meg letudom loni xD

_________________
Idk. Csak ugy funbooo.
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  [39309 hozzászólás ]  OldalElőző16666676686696703931Következő


Ki van itt

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