VIP plugino modifikacija
Posted: 2014 Mar 27 00:02
Sveiki, noriu padaryti VIP galimybe nusipirkti didesne zala ir susiduriu su problema. Sugebu padaryti, jog jeigu esi VIP gauni didesne zala, taciau nemoku padaryti, jog dviguba zala gauni tik pasirinkes is VIP menu. Stai mano kodas, su kuriuo nesusitvarkau:
Ir stai visas kodas:
Is anksto dekoju uz pagalba ;)
Code: Select all
public Player_TakeDamage(id, victim, inflictor, atker, Float:dmg){ if ( is_user_vip( atker ) ) { if ( g_data[ id ][ MENU_ITEM_5_A ] ) { if (!atker || atker == victim || !is_user_connected(atker)) return HAM_IGNORED; SetHamParamFloat(4, dmg * 2.0); return HAM_HANDLED; } } return HAM_IGNORED;}
Code: Select all
/* +==================================================+|| V.I.P||| Main:| ÆÆÆÆÆ| Press "M" to show main menu.| Vietos rezervacija serveryje.| VIP chat (@ text).| Tasku lenteleje prie nick VIP.| Rodo specialia zinute jungiantis.| Duoda +10 gyvybiu uz nuzudyma.| Duoda +20 gyvybiu uz nuzudyma i galva.| Rodo padaryta zala.||| Pasirinkite:| ÆÆÆÆÆÆÆÆÆÆÆÆ| 1. Vip galios| 2. Keisti komanda| 3. Sentry meniu (sentry_menu)|| 0. Iseiti||| Vip meniu:| ÆÆÆÆÆÆÆÆÆÆ| 1. Tylus zingsniai| 2. Permatomumas| 3. Nematomumas (5 sek)| 4. Nepa˛eid˛iamumas (5 sek)| 5. Ma˛esne gravitacija| 6. Greitesni ˛ingsniai| 7. Papildomi ?uoliai (3x)| 8. Isjungti visas funkcijas|| 0. Iseiti||| Pasirinkite komanda:| ÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆÆ| 1. Teroristai| 2. Policininkai| 3. Stebetojai|| 0. Iseiti||| http://www.agames.lt| +==================================================+*/ #include < amxmodx >#include < cstrike >#include < fakemeta >#include < fun >#include < hamsandwich > #pragma semicolon 1 #define PLUGIN_NAME "VIP"#define PLUGIN_VERSION "0.1"#define PLUGIN_AUTHOR "www.fear.lt" #define PLUGIN_PREFIX "[VIP]" #define VIP_ACCESS ADMIN_LEVEL_H#define is_user_vip(%1) ( get_user_flags( %1 ) & VIP_ACCESS ) #define get_user_money(%1) cs_get_user_money( %1 )#define set_user_money(%1,%2) cs_set_user_money( %1, %2 ) #define MENU_ITEM_1_M 0#define MENU_ITEM_1_A 1#define MENU_ITEM_2_M 2#define MENU_ITEM_2_A 3#define MENU_ITEM_3_M 4#define MENU_ITEM_3_A 5#define MENU_ITEM_4_M 6#define MENU_ITEM_4_A 7#define MENU_ITEM_5_M 8#define MENU_ITEM_5_A 9#define MENU_ITEM_LAST 10 new g_cmd_chooseteam[ ][ ] = { "chooseteam", "jointeam" }; new g_mainmenu_items[ ][ ] = { "NULL", "VIP galimybes", "Keisti komanda" };new g_vipmenu_items[ ][ ] = { "NULL", "Tylesni zingsniai", "Mazesne gravitacija", "Greitesni zingsniai", "Papildomi suoliai (3x)", "Didesne zala", "Isjungti visas funkcijas" };new g_teammenu_items[ ][ ] = { "NULL", "Terrorists", "Counter-Terrorists", "Spectators" }; new g_MainMenu[ ] = "Pasirinkite:";new g_MainMenuID = -1;new g_MainMenuCallback = -1; new g_VipMenu[ ] = "Vip meniu:";new g_VipMenuID = -1;new g_VipMenuCallback = -1; new g_TeamMenu[ ] = "Pasirinkite komanda:";new g_TeamMenuID = -1;new g_TeamMenuCallback = -1; new bool:b_freezetime = true; new g_data[ 33 ][ MENU_ITEM_LAST ];new g_event_weapon[ 33 ]; new bool:b_first_connection[ 33 ];new bool:b_jump[ 33 ];new g_jump_num[ 33 ]; new g_HudSyncObj;new g_maxplayers;new g_msgid_SayText;new g_msgid_ScoreAttrib;new g_iMaxPlayers; public plugin_init( ){ register_plugin( PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR ); register_event( "HLTV", "event_NewRound", "a", "1=0", "2=0" ); register_logevent( "logevent_Round_Start", 2, "1=Round_Start" ); RegisterHam( Ham_Spawn, "player", "ham_Spawn", 1 ); register_event( "CurWeapon", "event_CurWeapon", "be", "1=1" ); register_event( "Damage", "event_Damage", "b", "2>0", "3=0", "4!0" ); register_event( "DeathMsg", "event_DeathMsg", "a" ); register_forward( FM_PlayerPreThink, "fw_PlayerPreThink" ); register_forward( FM_PlayerPostThink, "fw_PlayerPostThink" ); RegisterHam(Ham_TakeDamage, "player", "Player_TakeDamage"); g_iMaxPlayers = get_maxplayers(); new i; for ( i = 0; i < sizeof( g_cmd_chooseteam ); i++ ) { register_clcmd( g_cmd_chooseteam[ i ], "cmd_chooseteam", -1, "" ); } g_HudSyncObj = CreateHudSyncObj( ); g_maxplayers = get_maxplayers( ); g_msgid_SayText = get_user_msgid( "SayText" ); g_msgid_ScoreAttrib = get_user_msgid( "ScoreAttrib" );} public plugin_cfg( ){ menu_init( );} public menu_init( ){ new i, temp[ 16 ]; g_MainMenuID = menu_create( g_MainMenu, "mainmenu_handler" ); g_MainMenuCallback = menu_makecallback( "mainmenu_callback" ); for ( i = 1; i < sizeof( g_mainmenu_items ); i++ ) { num_to_str( i, temp, charsmax( temp ) ); menu_additem( g_MainMenuID, g_mainmenu_items[ i ], temp, 0, g_MainMenuCallback ); } menu_setprop( g_MainMenuID, MPROP_EXIT, MEXIT_ALL ); menu_setprop( g_MainMenuID, MPROP_EXITNAME, "Iseiti" ); g_VipMenuID = menu_create( g_VipMenu, "vipmenu_handler" ); g_VipMenuCallback = menu_makecallback( "vipmenu_callback" ); for ( i = 1; i < sizeof( g_vipmenu_items ); i++ ) { num_to_str( i, temp, charsmax( temp ) ); menu_additem( g_VipMenuID, g_vipmenu_items[ i ], temp, 0, g_VipMenuCallback ); } menu_setprop( g_VipMenuID, MPROP_EXIT, MEXIT_ALL ); menu_setprop( g_VipMenuID, MPROP_EXITNAME, "Iseiti" ); g_TeamMenuID = menu_create( g_TeamMenu, "teammenu_handler" ); g_TeamMenuCallback = menu_makecallback( "teammenu_callback" ); for ( i = 1; i < sizeof( g_teammenu_items ); i++ ) { num_to_str( i, temp, charsmax( temp ) ); menu_additem( g_TeamMenuID, g_teammenu_items[ i ], temp, 0, g_TeamMenuCallback ); } menu_setprop( g_TeamMenuID, MPROP_EXIT, MEXIT_ALL ); menu_setprop( g_TeamMenuID, MPROP_EXITNAME, "Iseiti" );} public client_disconnect( id ){ g_data[ id ][ MENU_ITEM_1_M ] = 0; g_data[ id ][ MENU_ITEM_1_A ] = 0; g_data[ id ][ MENU_ITEM_2_M ] = 0; g_data[ id ][ MENU_ITEM_2_A ] = 0; g_data[ id ][ MENU_ITEM_3_M ] = 0; g_data[ id ][ MENU_ITEM_3_A ] = 0; g_data[ id ][ MENU_ITEM_4_M ] = 0; g_data[ id ][ MENU_ITEM_4_A ] = 0; g_data[ id ][ MENU_ITEM_5_M ] = 0; g_data[ id ][ MENU_ITEM_5_A ] = 0; b_first_connection[ id ] = false; b_jump[ id ] = false; g_jump_num[ id ] = 0;} public client_connect( id ){ g_data[ id ][ MENU_ITEM_1_M ] = 0; g_data[ id ][ MENU_ITEM_1_A ] = 0; g_data[ id ][ MENU_ITEM_2_M ] = 0; g_data[ id ][ MENU_ITEM_2_A ] = 0; g_data[ id ][ MENU_ITEM_3_M ] = 0; g_data[ id ][ MENU_ITEM_3_A ] = 0; g_data[ id ][ MENU_ITEM_4_M ] = 0; g_data[ id ][ MENU_ITEM_4_A ] = 0; g_data[ id ][ MENU_ITEM_5_M ] = 0; g_data[ id ][ MENU_ITEM_5_A ] = 0; b_first_connection[ id ] = false; b_jump[ id ] = false; g_jump_num[ id ] = 0;} public client_putinserver( id ){ set_task( 35.0, "task_advertisement", id ); if ( is_user_vip( id ) ) { new vip_name[ 32 ]; get_user_name( id, vip_name, charsmax( vip_name ) ); echo_colored( 0, "!g%s !t%s !yprisijunge, jis VIP!", PLUGIN_PREFIX, vip_name ); }} public task_advertisement( id ){ echo_colored( id, "!g%s !ypaslaugos /vip", PLUGIN_PREFIX ); } public event_NewRound( ){ b_freezetime = true;} public logevent_Round_Start( ){ b_freezetime = false; new i; for ( i = 1; i <= g_maxplayers; i++ ) { if ( is_user_connected( i ) ) { if ( is_user_vip( i ) && g_data[ i ][ MENU_ITEM_3_M ] && g_data[ i ][ MENU_ITEM_3_A ] ) { set_pev( i, pev_maxspeed, float( 320 ) ); } } }} public ham_Spawn( id ){ if ( !is_user_connected( id ) ) return HAM_IGNORED; if ( g_data[ id ][ MENU_ITEM_1_A ] ) { set_user_footsteps( id, 0 ); } else if ( g_data[ id ][ MENU_ITEM_2_A ] ) { set_pev( id, pev_gravity, float( 800 ) / float( get_cvar_num( "sv_gravity" ) ) ); } else if ( g_data[ id ][ MENU_ITEM_3_A ] ) { if ( !b_freezetime ) { set_pev( id, pev_maxspeed, float( 250 ) ); } } g_data[ id ][ MENU_ITEM_1_A ] = 0; g_data[ id ][ MENU_ITEM_2_A ] = 0; g_data[ id ][ MENU_ITEM_3_A ] = 0; g_data[ id ][ MENU_ITEM_4_A ] = 0; g_data[ id ][ MENU_ITEM_5_A ] = 0; if ( is_user_vip( id ) ) { if ( g_data[ id ][ MENU_ITEM_1_M ] ) { g_data[ id ][ MENU_ITEM_1_A ] = 1; set_task( 0.1, "task_vipmenu_item_1", id ); } else if ( g_data[ id ][ MENU_ITEM_2_M ] ) { g_data[ id ][ MENU_ITEM_2_A ] = 1; set_task( 0.1, "task_vipmenu_item_2", id ); } else if ( g_data[ id ][ MENU_ITEM_3_M ] ) { g_data[ id ][ MENU_ITEM_3_A ] = 1; set_task( 0.1, "task_vipmenu_item_3", id ); } else if ( g_data[ id ][ MENU_ITEM_4_M ] ) { g_data[ id ][ MENU_ITEM_4_A ] = 1; set_task( 0.1, "task_vipmenu_item_4", id ); } else if ( g_data[ id ][ MENU_ITEM_5_M ] ) { g_data[ id ][ MENU_ITEM_5_A ] = 1; set_task( 0.1, "task_vipmenu_item_5", id ); } message_begin( MSG_ONE, g_msgid_ScoreAttrib, { 0,0,0 }, id ); write_byte( id ); write_byte( 4 ); message_end( ); } return HAM_IGNORED;} public event_CurWeapon( id ){ if ( is_user_vip( id ) ) { if ( g_data[ id ][ MENU_ITEM_3_A ] ) { if ( !b_freezetime ) { new weapon; weapon = read_data( 2 ); if ( weapon != g_event_weapon[ id ] ) { set_pev( id, pev_maxspeed, float( 320 ) ); } } } }} public event_Damage( id ){ new attacker, damage; attacker = get_user_attacker( id ); damage = read_data( 2 ); if ( is_user_connected( attacker ) ) { if ( is_user_vip( attacker ) ) { new red, green, blue; red = 0; green = random_num( 20, 100 ); blue = random_num( 100, 255 ); set_hudmessage( red, green, blue, -1.0, 0.55, 0, 0.0, 3.0, 0.0, 0.0, -1 ); ShowSyncHudMsg( attacker, g_HudSyncObj, "%d", damage ); } }} public event_DeathMsg( ){ new killer, victim, headshot; killer = read_data( 1 ); victim = read_data( 2 ); headshot = read_data( 3 ); if ( killer && ( killer != victim ) ) { if ( is_user_vip( killer ) ) { new user_health, user_money, bonus_health, bonus_money; user_health = get_user_health( killer ); user_money = get_user_money( killer ); bonus_health = ( headshot == 1 ) ? 20 : 10; bonus_money = ( headshot == 1 ) ? 100 : 50; set_user_health( killer, user_health + bonus_health ); set_user_money( killer, user_money + bonus_money ); } }} public Player_TakeDamage(victim, inflictor, atker, Float:dmg){ if ( is_user_vip( atker ) ) { if ( g_data[ id ][ MENU_ITEM_5_A ] ) { if (!atker || atker == victim || !is_user_connected(atker)) return HAM_IGNORED; SetHamParamFloat(4, dmg * 2.0); return HAM_HANDLED; } } return HAM_IGNORED;} public fw_PlayerPreThink( id ){ if ( !is_user_alive( id ) ) return FMRES_IGNORED; if ( is_user_vip( id ) ) { if ( g_data[ id ][ MENU_ITEM_4_A ] ) { new button = pev( id, pev_button ); new oldbuttons = pev( id, pev_oldbuttons ); new flags = pev( id, pev_flags ); if ( ( button & IN_JUMP ) && !( flags & FL_ONGROUND ) && !( oldbuttons & IN_JUMP ) ) { if ( g_jump_num[id] < 2 ) { b_jump[ id ] = true; g_jump_num[ id ]++; } } if ( ( button & IN_JUMP ) && ( flags & FL_ONGROUND ) ) { g_jump_num[ id ] = 0; } } } return FMRES_IGNORED;} public fw_PlayerPostThink( id ){ if ( !is_user_alive( id ) ) return FMRES_IGNORED; if ( is_user_vip( id ) ) { if ( g_data[ id ][ MENU_ITEM_4_A ] ) { if ( b_jump[ id ] ) { new Float:velocity[ 3 ]; pev( id, pev_velocity, velocity ); velocity[ 2 ] = random_float( 265.0, 285.0 ); set_pev( id, pev_velocity, velocity ); b_jump[ id ] = false; } } } return FMRES_IGNORED;} public cmd_chooseteam( id ){ if ( !b_first_connection[ id ] ) { b_first_connection[ id ] = true; return PLUGIN_CONTINUE; } if ( !is_user_vip( id ) ) { new szMenuName[ 256 ], pos = 0; pos += format( szMenuName[ pos ], charsmax( szMenuName ) - pos, g_mainmenu_items[ 1 ] ); pos += format( szMenuName[ pos ], charsmax( szMenuName ) - pos, " r(yNEED VIPr)" ); menu_item_setname( g_MainMenuID, 0, szMenuName ); } else { menu_item_setname( g_MainMenuID, 0, g_mainmenu_items[ 1 ] ); } menu_display( id, g_MainMenuID, 0 ); return ( is_user_connected( id ) && ( ( get_user_team( id ) == 1 ) || ( get_user_team( id ) == 2 ) ) ) ? PLUGIN_HANDLED : PLUGIN_CONTINUE;} public mainmenu_handler( id, menu, item ){ if ( item == MENU_EXIT ) return PLUGIN_HANDLED; new access, info[ 8 ], callback, key; menu_item_getinfo( menu, item, access, info, charsmax( info ), _, _, callback ); key = str_to_num( info ); switch ( key ) { case 1: { menu_display( id, g_VipMenuID, 0 ); } case 2: { menu_display( id, g_TeamMenuID, 0 ); } } return PLUGIN_HANDLED;} public mainmenu_callback( id, menu, item ){ if ( item == MENU_EXIT ) return PLUGIN_HANDLED; new access, info[ 8 ], callback, key; menu_item_getinfo( menu, item, access, info, charsmax( info ), _, _, callback ); key = str_to_num( info ); switch ( key ) { case 1: { if ( !is_user_vip( id ) ) { return ITEM_DISABLED; } } } return ITEM_ENABLED;} public vipmenu_handler( id, menu, item ){ if ( item == MENU_EXIT ) return PLUGIN_HANDLED; new access, info[ 8 ], callback, key; menu_item_getinfo( menu, item, access, info, charsmax( info ), _, _, callback ); key = str_to_num( info ); switch ( key ) { case 1: { g_data[ id ][ MENU_ITEM_1_M ] = 1; g_data[ id ][ MENU_ITEM_2_M ] = 0; g_data[ id ][ MENU_ITEM_3_M ] = 0; g_data[ id ][ MENU_ITEM_4_M ] = 0; g_data[ id ][ MENU_ITEM_5_M ] = 0; echo_colored( id, "!g%s !yTylus zingsniai bus aktyvuoti kita rounda.", PLUGIN_PREFIX ); } case 2: { g_data[ id ][ MENU_ITEM_1_M ] = 0; g_data[ id ][ MENU_ITEM_2_M ] = 1; g_data[ id ][ MENU_ITEM_3_M ] = 0; g_data[ id ][ MENU_ITEM_4_M ] = 0; g_data[ id ][ MENU_ITEM_5_M ] = 0; echo_colored( id, "!g%s !yMazesne gravitacija bus aktyvuota kita rounda.", PLUGIN_PREFIX ); } case 3: { g_data[ id ][ MENU_ITEM_1_M ] = 0; g_data[ id ][ MENU_ITEM_2_M ] = 0; g_data[ id ][ MENU_ITEM_3_M ] = 1; g_data[ id ][ MENU_ITEM_4_M ] = 0; g_data[ id ][ MENU_ITEM_5_M ] = 0; echo_colored( id, "!g%s !yGreitesni zingsniai bus aktyvuoti kita rounda.", PLUGIN_PREFIX ); } case 4: { g_data[ id ][ MENU_ITEM_1_M ] = 0; g_data[ id ][ MENU_ITEM_2_M ] = 0; g_data[ id ][ MENU_ITEM_3_M ] = 0; g_data[ id ][ MENU_ITEM_4_M ] = 1; g_data[ id ][ MENU_ITEM_5_M ] = 0; echo_colored( id, "!g%s !y3x papildomi suoliai bus aktyvuoti kita rounda.", PLUGIN_PREFIX ); } case 5: { g_data[ id ][ MENU_ITEM_1_M ] = 0; g_data[ id ][ MENU_ITEM_2_M ] = 0; g_data[ id ][ MENU_ITEM_3_M ] = 0; g_data[ id ][ MENU_ITEM_4_M ] = 0; g_data[ id ][ MENU_ITEM_5_M ] = 1; echo_colored( id, "!g%s !yDidesne zala bus aktyvuota kita rounda.", PLUGIN_PREFIX ); } case 6: { g_data[ id ][ MENU_ITEM_1_M ] = 0; g_data[ id ][ MENU_ITEM_2_M ] = 0; g_data[ id ][ MENU_ITEM_3_M ] = 0; g_data[ id ][ MENU_ITEM_4_M ] = 0; g_data[ id ][ MENU_ITEM_5_M ] = 0; echo_colored( id, "!g%s !yTu isjungei visas funkcijas.", PLUGIN_PREFIX ); } } return PLUGIN_HANDLED;} public vipmenu_callback( id, menu, item ){ if ( item == MENU_EXIT ) return PLUGIN_HANDLED; new access, info[ 8 ], callback, key; menu_item_getinfo( menu, item, access, info, charsmax( info ), _, _, callback ); key = str_to_num( info ); switch ( key ) { case 1: { if ( g_data[ id ][ MENU_ITEM_1_M ] ) { return ITEM_DISABLED; } } case 2: { if ( g_data[ id ][ MENU_ITEM_2_M ] ) { return ITEM_DISABLED; } } case 3: { if ( g_data[ id ][ MENU_ITEM_3_M ] ) { return ITEM_DISABLED; } } case 4: { if ( g_data[ id ][ MENU_ITEM_4_M ] ) { return ITEM_DISABLED; } } case 5: { if ( g_data[ id ][ MENU_ITEM_5_M ] ) { return ITEM_DISABLED; } } } return ITEM_ENABLED;} public teammenu_handler( id, menu, item ){ if ( item == MENU_EXIT ) return PLUGIN_HANDLED; new access, info[ 8 ], callback, key; menu_item_getinfo( menu, item, access, info, charsmax( info ), _, _, callback ); key = str_to_num( info ); switch ( key ) { case 1: { if ( is_user_alive( id ) ) user_kill( id ); cs_set_user_team( id, CS_TEAM_T ); echo_colored( id, "!g%s !yBuvote perkeltas i Terrorists komanda.", PLUGIN_PREFIX ); } case 2: { if ( is_user_alive( id ) ) user_kill( id ); cs_set_user_team( id, CS_TEAM_CT ); echo_colored( id, "!g%s !yBuvote perkeltas i Counter-Terrorists komanda.", PLUGIN_PREFIX ); } case 3: { if ( is_user_alive( id ) ) user_kill( id ); cs_set_user_team( id, CS_TEAM_SPECTATOR ); echo_colored( id, "!g%s !yBuvote perkeltas i stebetoju komanda.", PLUGIN_PREFIX ); } } return PLUGIN_HANDLED;} public teammenu_callback( id, menu, item ){ if ( item == MENU_EXIT ) return PLUGIN_HANDLED; new access, info[ 8 ], callback, key; menu_item_getinfo( menu, item, access, info, charsmax( info ), _, _, callback ); key = str_to_num( info ); switch ( key ) { case 1: { new CsTeams:user_team; user_team = cs_get_user_team( id ); if ( user_team == CS_TEAM_T ) { return ITEM_DISABLED; } } case 2: { new CsTeams:user_team; user_team = cs_get_user_team( id ); if ( user_team == CS_TEAM_CT ) { return ITEM_DISABLED; } } case 3: { new CsTeams:user_team; user_team = cs_get_user_team( id ); if ( user_team == CS_TEAM_SPECTATOR ) { return ITEM_DISABLED; } } } return ITEM_ENABLED;} public task_vipmenu_item_1( id ){ if ( is_user_vip( id ) && g_data[ id ][ MENU_ITEM_1_M ] && g_data[ id ][ MENU_ITEM_1_A ] ) { set_user_footsteps( id, 1 ); echo_colored( id, "!g%s !yNuo siol tavo zingsniai tylus.", PLUGIN_PREFIX ); }} public task_vipmenu_item_2( id ){ if ( is_user_vip( id ) && g_data[ id ][ MENU_ITEM_2_M ] && g_data[ id ][ MENU_ITEM_2_A ] ) { set_pev( id, pev_gravity, float( 400 ) / float( get_cvar_num( "sv_gravity" ) ) ); echo_colored( id, "!g%s !yGavai mazesne gravitacija.", PLUGIN_PREFIX ); }} public task_vipmenu_item_3( id ){ if ( is_user_vip( id ) && g_data[ id ][ MENU_ITEM_3_M ] && g_data[ id ][ MENU_ITEM_3_A ] ) { if ( !b_freezetime ) { set_pev( id, pev_maxspeed, float( 320 ) ); } echo_colored( id, "!g%s !yTavo zingsniai dabar yra greitesni.", PLUGIN_PREFIX ); }} public task_vipmenu_item_4( id ){ if ( is_user_vip( id ) && g_data[ id ][ MENU_ITEM_4_M ] && g_data[ id ][ MENU_ITEM_4_A ] ) { echo_colored( id, "!g%s !yDabar i ora galesi pasokti x3 kartus.", PLUGIN_PREFIX ); }} public task_vipmenu_item_5( id ){ if ( is_user_vip( id ) && g_data[ id ][ MENU_ITEM_5_M ] && g_data[ id ][ MENU_ITEM_5_A ] ) { echo_colored( id, "!g%s !yDabar tavo zala 20 procentu didesne.", PLUGIN_PREFIX ); }} public task_set_visibility( id ){ if ( id >= 1120 ) id -= 1120; if ( !is_user_connected( id ) ) return PLUGIN_CONTINUE; set_pev( id, pev_renderfx, kRenderFxNone ); set_pev( id, pev_rendercolor, { 0.0, 0.0, 0.0 } ); set_pev( id, pev_rendermode, kRenderNormal ); set_pev( id, pev_renderamt, 0.0 ); echo_colored( id, "!g%s !yTu vel jau matomas.", PLUGIN_PREFIX ); return PLUGIN_CONTINUE;} public task_set_undamage( id ){ if ( id >= 1152 ) id -= 1152; if ( !is_user_connected( id ) ) return PLUGIN_CONTINUE; set_pev( id, pev_takedamage, 1.0 ); echo_colored( id, "!g%s !yTu vel jau pazeidziamas.", PLUGIN_PREFIX ); return PLUGIN_CONTINUE;} stock echo_colored( id, const string[ ], any:... ){ new szmessage[ 192 ], echo_colored_count; vformat( szmessage, charsmax( szmessage ), string, 3 ); replace_all( szmessage, charsmax( szmessage ), "!y", "^x01" ); replace_all( szmessage, charsmax( szmessage ), "!t", "^x03" ); replace_all( szmessage, charsmax( szmessage ), "!g", "^x04" ); echo_colored_count = 1; message_begin( id ? MSG_ONE : MSG_BROADCAST, g_msgid_SayText, { 0,0,0 }, id ); write_byte( id ? id : echo_colored_count ); write_string( szmessage ); message_end( );}