theHidden Mod
Original post:
http://forums.alliedmods.net/showthread.php?t=122306
I need help with this plugin, i dont know, why this plugin dont read de Languaje (theHidden.txt).
If someone could see it, and fix it?. Why isnt reading the .txt file?
Spoiler
PHP Code:
/*
*
* AMX Mod X script
* theHidden - mod by Filip Lachacz (kaver.dot[attera]gmail.com ; www.kaver.dl.pl)
*
*/
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>
#include <fakemeta>
#include <engine>
#include <hamsandwich>
#define VERSION "1.01"
#define KeysCharacterSelection (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<6)|(1<<7)|(1<<8)|(1<<9) // Keys: 1234567890
#define KeysClassSelection (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<4)|(1<<5)|(1<<8)|(1<<9) // Keys: 1234569
new Models [][] = { "terror" , "leet" , "arctic" , "guerilla" , "urban" , "gsg9" , "sas" , "gign" }
new HiddenID = 0
new PlayersClass [ 32 ]
new PlayersModel [ 32 ]
new PlayersMsgShown [ 32 ]
new LightLevel = 109
new LightMode = 1
new CurClasses [ 6 ]
new MaxClasses [ 6 ]
new FwdKeyValue
new Ent
new hpTaskTicks
new hpTaskMessage [ 256 ]
new hidden_description
new hidden_speed
new hidden_health
new hidden_health_recover
new hidden_gravity
new hidden_class_a1
new hidden_class_a2
new hidden_class_a3
new hidden_class_s1
new hidden_class_s2
new hidden_class_s3
public hpTask ()
{
if( is_user_alive ( HiddenID ) && is_user_connected ( HiddenID ) && CsTeams : cs_get_user_team ( HiddenID ) == CS_TEAM_T )
{
if( hpTaskTicks > 0 )
{
hpTaskTicks --
client_print ( HiddenID , print_center , hpTaskMessage )
}
else client_print ( HiddenID , print_center , "%d HP" , get_user_health ( HiddenID ))
}
}
public countCurClasses ()
{
new players [ 32 ], count
get_players ( players , count )
CurClasses [ 0 ] = 0
CurClasses [ 1 ] = 0
CurClasses [ 2 ] = 0
CurClasses [ 3 ] = 0
CurClasses [ 4 ] = 0
CurClasses [ 5 ] = 0
new i
for( i = 0 ; i < count - 1 ; i ++)
{
CurClasses [ PlayersClass [ i ]]++
}
}
public countMaxClasses ()
{
new players [ 32 ], count
get_players ( players , count )
MaxClasses [ 0 ] = floatround ( count * get_pcvar_float ( hidden_class_a1 ), floatround_ceil )
MaxClasses [ 1 ] = floatround ( count * get_pcvar_float ( hidden_class_a2 ), floatround_ceil )
MaxClasses [ 2 ] = floatround ( count * get_pcvar_float ( hidden_class_a3 ), floatround_ceil )
MaxClasses [ 3 ] = floatround ( count * get_pcvar_float ( hidden_class_s1 ), floatround_ceil )
MaxClasses [ 4 ] = floatround ( count * get_pcvar_float ( hidden_class_s2 ), floatround_ceil )
MaxClasses [ 5 ] = floatround ( count * get_pcvar_float ( hidden_class_s3 ), floatround_ceil )
}
public pfn_keyvalue ( entid )
{
new class[ 24 ], temp1 [ 2 ], temp2 [ 2 ]
copy_keyvalue (class, 23 , temp1 , 1 , temp2 , 1 )
if ( equal (class, "info_map_parameters" )) {
if( Ent )
{
remove_entity ( Ent )
Ent = 0
}
DispatchKeyValue ( entid , "buying" , "3" )
}
}
public Forward_KeyValue (const EntIndex , const KvdHandle )
{
if( pev_valid ( EntIndex ))
{
new szClassName [ 32 ]
get_kvd ( KvdHandle , KV_ClassName , szClassName , charsmax ( szClassName ))
if( equal ( szClassName , "armoury_entity" ))
{
engfunc ( EngFunc_RemoveEntity , EntIndex )
return FMRES_SUPERCEDE
}
}
return FMRES_IGNORED
}
public plugin_precache ()
{
FwdKeyValue = register_forward ( FM_KeyValue , "Forward_KeyValue" )
Ent = create_entity ( "info_map_parameters" )
DispatchKeyValue ( Ent , "buying" , "3" )
DispatchKeyValue ( Ent , "bombradius" , "500" )
DispatchSpawn ( Ent )
}
public plugin_init ()
{
register_plugin ( "theHidden" , VERSION , "Filip Lachacz" )
register_menucmd ( register_menuid ( "ClassSelection" ), KeysClassSelection , "PressedClassSelection" )
register_menucmd ( register_menuid ( "CharacterSelection" ), KeysCharacterSelection , "PressedCharacterSelection" )
register_clcmd ( "chooseteam" , "chooseteam" )
register_event ( "Damage" , "event_damage" , "b" )
register_event ( "ResetHUD" , "event_spawn" , "be" )
register_event ( "CurWeapon" , "event_cur_weapon" , "be" , "1=1" )
register_logevent ( "round_end" , 2 , "1=Round_End" )
RegisterHam ( Ham_Touch , "weaponbox" , "fw_TouchWeapon" )
RegisterHam ( Ham_Touch , "armoury_entity" , "fw_TouchWeapon" )
RegisterHam ( Ham_Touch , "weapon_shield" , "fw_TouchWeapon" )
register_clcmd ( "hidden_info" , "show_info" )
hidden_description = register_cvar ( "hidden_description" , "1" )
hidden_speed = register_cvar ( "hidden_speed" , "900.0" )
hidden_health = register_cvar ( "hidden_health" , "600" )
hidden_health_recover = register_cvar ( "hidden_health_recover" , "10" )
hidden_gravity = register_cvar ( "hidden_gravity" , "0.75" )
hidden_class_a1 = register_cvar ( "hidden_class_a1" , "0.2125" )
hidden_class_a2 = register_cvar ( "hidden_class_a2" , "0.1875" )
hidden_class_a3 = register_cvar ( "hidden_class_a3" , "0.1875" )
hidden_class_s1 = register_cvar ( "hidden_class_s1" , "0.12" )
hidden_class_s2 = register_cvar ( "hidden_class_s2" , "0.2125" )
hidden_class_s3 = register_cvar ( "hidden_class_s3" , "0.07" )
unregister_forward ( FM_KeyValue , FwdKeyValue )
register_forward ( FM_GetGameDescription , "gameDescription" );
register_dictionary ( "theHidden.txt" )
for(new i = 0 ; i < 32 ; i ++)
{
PlayersClass [ i ] = random_num ( 0 , 5 )
PlayersModel [ i ] = random_num ( 0 , 7 )
PlayersMsgShown [ i ] = 0
}
set_task ( 10.0 , "lightTask" , 0 , "" , 0 , "b" )
set_task ( 0.1 , "hpTask" , 0 , "" , 0 , "b" )
}
public fw_TouchWeapon ( weapon , id )
{
if (! is_user_connected ( id ))
return HAM_IGNORED
if( HiddenID == id )
return HAM_SUPERCEDE
return HAM_IGNORED
}
public gameDescription ()
{
if( get_pcvar_num ( hidden_description )!= 0 )
{
forward_return ( FMV_STRING , "theHidden" )
return FMRES_SUPERCEDE
}
return FMRES_IGNORED
}
public event_damage ( id )
{
new VictimID = id
new DamageTook = read_data ( 2 )
new DamageType = read_data ( 3 )
new WeaponID , AttackerID
AttackerID = get_user_attacker ( VictimID , WeaponID )
new Health = get_user_health ( AttackerID )
if( AttackerID == HiddenID && VictimID != HiddenID && DamageTook > 0 && WeaponID == CSW_KNIFE )
{
new players [ 32 ], count
get_players ( players , count )
set_user_health ( HiddenID , Health + DamageTook + get_pcvar_num ( hidden_health_recover )* count )
new VictimName [ 32 ]
get_user_name ( VictimID , VictimName , 31 )
hpTaskTicks = 15
format ( hpTaskMessage , 256 , "%L" , HiddenID , "MSG_TOOK_DAMAGE" , DamageTook , VictimName , DamageTook + 10 * count )
}
}
public lightTask ( id )
{
if( LightMode == 0 ) LightLevel ++; else LightLevel --
if( LightLevel >= 109 ) LightMode = 1
if( LightLevel <= 97 ) LightMode = 0
new temp [ 2 ]
temp [ 0 ]= LightLevel
temp [ 1 ]= 0
set_lights ( temp )
}
public send_message ( text [ 256 ])
{
message_begin ( MSG_ALL , get_user_msgid ( "SayText" ), { 0 , 0 , 0 }, 0 )
write_byte ( 1 )
write_string ( text )
message_end ()
}
public client_connect ( id )
{
PlayersMsgShown [ id - 1 ] = 1
}
public client_impulse ( id , impulse )
{
if( impulse == 100 && CsTeams : get_user_team ( id ) == CS_TEAM_T ) return PLUGIN_HANDLED_MAIN
return PLUGIN_CONTINUE
}
public event_spawn ( id )
{
if( HiddenID == id ) hpTaskTicks = 0
set_task ( 0.1 , "player_spawn" , id )
countMaxClasses ()
}
public round_start ( id )
{
set_task ( 0.1 , "newround" , id )
}
public event_cur_weapon ( id )
{
if( id == HiddenID ) set_user_maxspeed ( HiddenID , get_pcvar_float ( hidden_speed ))
}
public show_info ( id )
{
client_print ( id , print_console , "theHidden 1.01 by Kaver" )
return PLUGIN_HANDLED
}
public chooseteam ( id )
{
ShowClassSelection ( id )
return PLUGIN_HANDLED
}
public player_spawn ( id )
{
if( PlayersMsgShown [ id - 1 ]== 1 )
{
ShowCharacterSelection ( id )
PlayersMsgShown [ id - 1 ] = 0
}
if( id == HiddenID ) cs_set_user_team ( id , CS_TEAM_T ); else cs_set_user_team ( id , CS_TEAM_CT )
set_user_godmode ( id , 0 )
strip_user_weapons ( id )
switch( cs_get_user_team ( id ))
{
case CS_TEAM_CT :
{
cs_set_user_model ( id , Models [ PlayersModel [ id - 1 ]])
cs_set_user_nvg ( id , 0 )
set_user_hitzones ( 0 , id , 255 )
set_user_maxspeed ( id , - 1.0 )
set_user_gravity ( id , 1.0 )
give_item ( id , "weapon_knife" )
switch( PlayersClass [ id - 1 ])
{
case 0 :
{
give_item ( id , "weapon_deagle" )
give_item ( id , "ammo_50ae" )
give_item ( id , "ammo_50ae" )
give_item ( id , "weapon_m3" )
give_item ( id , "ammo_buckshot" )
give_item ( id , "ammo_buckshot" )
give_item ( id , "ammo_buckshot" )
give_item ( id , "ammo_buckshot" )
}
case 1 :
{
give_item ( id , "weapon_p228" )
give_item ( id , "ammo_357sig" )
give_item ( id , "ammo_357sig" )
give_item ( id , "weapon_m4a1" )
give_item ( id , "ammo_556nato" )
}
case 2 :
{
give_item ( id , "weapon_fiveseven" )
give_item ( id , "ammo_57mm" )
give_item ( id , "weapon_ak47" )
give_item ( id , "ammo_762nato" )
}
case 3 :
{
give_item ( id , "weapon_smokegrenade" )
give_item ( id , "weapon_fiveseven" )
give_item ( id , "ammo_57mm" )
give_item ( id , "weapon_xm1014" )
give_item ( id , "ammo_buckshot" )
give_item ( id , "ammo_buckshot" )
give_item ( id , "ammo_buckshot" )
give_item ( id , "ammo_buckshot" )
}
case 4 :
{
give_item ( id , "weapon_smokegrenade" )
give_item ( id , "weapon_p228" )
give_item ( id , "ammo_357sig" )
give_item ( id , "ammo_357sig" )
give_item ( id , "weapon_p90" )
give_item ( id , "ammo_57mm" )
}
case 5 :
{
give_item ( id , "weapon_smokegrenade" )
give_item ( id , "weapon_fiveseven" )
give_item ( id , "ammo_57mm" )
give_item ( id , "weapon_m249" )
give_item ( id , "ammo_556natobox" )
give_item ( id , "ammo_556natobox" )
}
}
set_user_rendering ( id , kRenderFxNone , 0 , 0 , 0 , kRenderTransAlpha , 255 )
}
case CS_TEAM_T :
{
cs_set_user_model ( id , "vip" )
set_user_rendering ( id , kRenderFxNone , 0 , 0 , 0 , kRenderTransAlpha , 25 )
cs_set_user_nvg ( id , 1 )
give_item ( id , "weapon_hegrenade" )
give_item ( id , "weapon_flashbang" )
give_item ( id , "weapon_knife" )
set_user_maxspeed ( id , get_pcvar_float ( hidden_speed ))
set_user_gravity ( id , get_pcvar_float ( hidden_gravity ))
set_user_hitzones ( 0 , id , 253 )
new players [ 32 ], count
get_players ( players , count )
set_user_health ( id , get_pcvar_num ( hidden_health )+ 25 * count )
hpTaskTicks = 30
format ( hpTaskMessage , 256 , "%L " , id , "MSG_HIDDEN_YOU" )
}
}
}
public round_end ( id )
{
HiddenID ++
new players [ 32 ], count
get_players ( players , count )
//client_print(0, print_chat, "[theHidden] DEBUG: HiddenID=%d; count=%d;", HiddenID, count)
if( HiddenID > count )
{
cs_set_user_team ( HiddenID - 1 , CS_TEAM_CT )
HiddenID = 1
cs_set_user_team ( HiddenID , CS_TEAM_T )
} else if( HiddenID > 0 ) {
cs_set_user_team ( HiddenID - 1 , CS_TEAM_CT )
cs_set_user_team ( HiddenID , CS_TEAM_T )
}
new i
for ( i = 0 ; i < count ; i ++)
set_user_godmode ( players [ i ], 1 )
new name [ 32 ]
get_user_info ( HiddenID , "name" , name , 31 )
client_print ( 0 , print_chat , "[theHidden] %L " , LANG_PLAYER , "MSG_HIDDEN_NEW" , name )
hpTaskTicks = 15
format ( hpTaskMessage , 256 , "%L" , HiddenID , "MSG_HIDDEN_YOU_RESPAWN" )
}
public ShowCharacterSelection ( id )
{
new character [ 32 ]
if( PlayersModel [ id - 1 ]== 0 ) format ( character , 32 , "PHOENIX CONNEX" )
if( PlayersModel [ id - 1 ]== 1 ) format ( character , 32 , "ELITE CREW" )
if( PlayersModel [ id - 1 ]== 2 ) format ( character , 32 , "ARCTIC AVENGERS" )
if( PlayersModel [ id - 1 ]== 3 ) format ( character , 32 , "GUERILLA WARFARE" )
if( PlayersModel [ id - 1 ]== 4 ) format ( character , 32 , "SEAL TEAM 6" )
if( PlayersModel [ id - 1 ]== 5 ) format ( character , 32 , "GSG-9" )
if( PlayersModel [ id - 1 ]== 6 ) format ( character , 32 , "SAS" )
if( PlayersModel [ id - 1 ]== 7 ) format ( character , 32 , "GIGN" )
new temp [ 512 ]
format ( temp , 512 , "\y%L: \w%s^n^n" , id , "MSG_MENU_CHAR_CURRENT" , character )
format ( temp , 512 , "%s\y%L:^n\w[1] PHOENIX CONNEX^n[2] ELITE CREW^n[3] ARCTIC AVENGERS^n[4] GUERILLA WARFARE^n[5] SEAL TEAM 6^n[6] GSG-9^n[7] SAS^n[8] GIGN^n\y[9] %L^n[0] %L^n" , temp , id , "MSG_MENU_CHAR" , id , "MSG_MENU_CHAR_RANDOM" , id , "MSG_MENU_CLASS_SELECTION" )
show_menu ( id , KeysCharacterSelection , temp , - 1 , "CharacterSelection" ) // Display menu
}
public PressedCharacterSelection ( id , key )
{
if( key == 8 ) PlayersModel [ id - 1 ] = random_num ( 0 , 7 ); else
if( key < 8 ) PlayersModel [ id - 1 ] = key
ShowClassSelection ( id )
}
public ShowClassSelection ( id )
{
countCurClasses ()
countMaxClasses ()
new tempA1 [ 4 ]
format ( tempA1 , 3 , "%d/%d" , CurClasses [ 0 ], MaxClasses [ 0 ])
new tempA2 [ 4 ]
format ( tempA2 , 3 , "%d/%d" , CurClasses [ 1 ], MaxClasses [ 1 ])
new tempA3 [ 4 ]
format ( tempA3 , 3 , "%d/%d" , CurClasses [ 2 ], MaxClasses [ 2 ])
new tempS1 [ 4 ]
format ( tempS1 , 3 , "%d/%d" , CurClasses [ 3 ], MaxClasses [ 3 ])
new tempS2 [ 4 ]
format ( tempS2 , 3 , "%d/%d" , CurClasses [ 4 ], MaxClasses [ 4 ])
new tempS3 [ 4 ]
format ( tempS3 , 3 , "%d/%d" , CurClasses [ 5 ], MaxClasses [ 5 ])
new class[ 16 ]
if( PlayersClass [ id - 1 ]== 0 ) format (class, 16 , "ASSAULT A1" )
if( PlayersClass [ id - 1 ]== 1 ) format (class, 16 , "ASSAULT A2" )
if( PlayersClass [ id - 1 ]== 2 ) format (class, 16 , "ASSAULT A3" )
if( PlayersClass [ id - 1 ]== 3 ) format (class, 16 , "SUPPORT S1" )
if( PlayersClass [ id - 1 ]== 4 ) format (class, 16 , "SUPPORT S2" )
if( PlayersClass [ id - 1 ]== 5 ) format (class, 16 , "SUPPORT S3" )
new temp [ 512 ]
format ( temp , 512 , "\y%L: \w%s^n^n\y%L:^n" , id , "MSG_MENU_CLASS_CURRENT" , class, id , "MSG_MENU_CLASS" )
format ( temp , 512 , "%s\w[1] \rAssault A1\w {%s} M3, Night Hawk^n[2] \rAssault A2\w {%s} M4A1, P228^n[3] \rAssault A3\w {%s} AK47, Five-Seven^n^n[4] \rSupport S1\w {%s} XM1014, Five-Seven, smoke granade^n[5] \rSupport S2\w {%s} P90, P228, smoke granade^n[6] \rSupport S3\w {%s} M249 Para, Five-Seven, smoke granade^n^n" , temp , tempA1 , tempA2 , tempA3 , tempS1 , tempS2 , tempS3 )
format ( temp , 512 , "%s\y[9] %L^n[0] %L^n" , temp , id , "MSG_MENU_CHAR_SELECTION" , id , "MSG_MENU_CLOSE" )
show_menu ( id , KeysClassSelection , temp , - 1 , "ClassSelection" )
}
public PressedClassSelection ( id , key )
{
if( key == 8 ) ShowCharacterSelection ( id ); else
if( key == PlayersClass [ id - 1 ])
{
ShowClassSelection ( id )
client_print ( id , print_chat , "[theHidden] %L" , id , "MSG_CLASS_ALREADY" )
} else if( key < 6 )
{
if( CurClasses [ key ] < MaxClasses [ key ])
{
PlayersClass [ id - 1 ] = key
new class[ 16 ]
if( PlayersClass [ id - 1 ]== 0 ) format (class, 16 , "ASSAULT A1" )
if( PlayersClass [ id - 1 ]== 1 ) format (class, 16 , "ASSAULT A2" )
if( PlayersClass [ id - 1 ]== 2 ) format (class, 16 , "ASSAULT A3" )
if( PlayersClass [ id - 1 ]== 3 ) format (class, 16 , "SUPPORT S1" )
if( PlayersClass [ id - 1 ]== 4 ) format (class, 16 , "SUPPORT S2" )
if( PlayersClass [ id - 1 ]== 5 ) format (class, 16 , "SUPPORT S3" )
new name [ 32 ]
get_user_info ( id , "name" , name , 31 )
client_print ( 0 , print_chat , "[theHidden] %L" , LANG_PLAYER , "MSG_CLASS_CHANGE" , name , class)
}
else
{
ShowClassSelection ( id )
client_print ( id , print_chat , "[theHidden] %L" , id , "MSG_CLASS_DISALLOWED" )
}
}
}
Sorry for my bad english. :crab: