Raised This Month: $ Target: $400
 0% 

I Have Problem in target spectator !!


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
MorrocoAmxx
Member
Join Date: Apr 2014
Old 05-22-2014 , 20:54   I Have Problem in target spectator !!
Reply With Quote #1

Hi Bro ,I have problem In this plugin !! Not showing the target when i spec players in the server !!

PHP Code:
/*================================================================================

    -------------------------------------------
    -*- [ZP] Server Addon: LevelUp System XP 3.2b || Update-*-
    -------------------------------------------

    ~~~~~~~~~~~~~~~
    - Description -
    ~~~~~~~~~~~~~~~
    Level System

    ~~~~~~~~~~~~~~~
    - Changelog -
    ~~~~~~~~~~~~~~~
    v. 1.0 - Plugin Released. Testing...
    v. 1.1 - Fixed Save Level.
    v. 1.2 - Added New cvars, fixed codes + Added plugin code Player Name
    v. 1.3 - Update version: added new cvars + system bonuses
    v. 1.4 - New modes for nemesis level & survivor level, added cvars
    v. 1.5 - Testing...
    v. 1.6 - Added cvars, Plugin Released.
    v. 1.7 - Added Multilangual, Update plugin
    v. 1.8 - v. 1.9 - Fixed Level Up bugs
    v. 2.0 - Added new cvars + XP Level Extended: Real Level System.
    v. 2.1 - Fixed bugs.
    --
    v. 2.8 - It is globally altered on a new kind of the version of this plugin
    v. 2.9 - Added New cvars. Ful fixed.
    v. 3.0 - XP Mode Updated in EXP to level.
    v. 3.1 - Fixed Bug Shutting Down Server.
    v. 3.2 - Added Give Level & give exp.
    v. 3.2b - Fixed bug bonusme, Run Time Error fixed. Fix bug One level. 
    v. By Driss lkmala Dyali pff 7 chhor dyal lhrfa jit mn lor khawrt toh hh
================================================================================*/

#include <amxmodx>
#include <amxmisc>
#include <nvault>
#include <fun>
#include <cstrike>
#include <fakemeta_util>
#include <hamsandwich>

#define PLUGIN "Server Addon: LevelUp System"
#define VERSION "3.2"
#define AUTHOR "Re.Act!ve"
#define ACCES ADMIN_CVAR
#pragma tabsize 0
new SayText
new g_level[32], g_level_datag_frags_levelg_ScreenFade
new g_level_maxg_level_numg_level_infog_player_nameg_levels[32], g_h_armor
new level_exp[32]
new 
g_level_exp[32], g_exp_datag_Playersg_hud_colornameid[32], h_armor[32]
new 
bool:g_bonus[32], g_trime[32], g_status_sync
new sound_level_up[] = { "misc/level_up.wav"}
const 
PEV_SPEC_TARGET pev_iuser2;
// Zombie Classes MUST be registered on plugin_precache

public plugin_precache()
{
        
precache_soundsound_level_up )
}

public 
plugin_init()
{
    
g_frags_level =         register_cvar("zp_level_frags""10")        // ??????? ????????? ????? ??? ????????? ????. ??????
    
g_level_max  =         register_cvar("zp_level_max""1000")            // ???????????? ?????
    
g_h_armor =         register_cvar("zp_level_h_armor""100")        // ??????????? ? ?????? ??????? ???? ?? ? ? ?????

    
g_hud_color =         register_cvar("zp_level_hud_type""1")        // 1 - ??????, 2 - ???????? ?????? ??????? 3 - 1 ??? ????????
    
g_level_info =         register_cvar("zp_level_info""1")                // ?????????? ???? ? ??????, ????? ?? ??????? ? ??? info <nick>
    
g_player_name =     register_cvar("zp_player_name""1")        // ?????????? ????, ??? ????????? ???????? ?? ???????
    
g_level_num =         register_cvar("zp_level_number""1")    // ?????? ? ?????? ????? ??????????? ?????  ????????? (???? ???? 1)

    
g_level_data nvault_open("Leveling_Save")
    
g_exp_data nvault_open("Exp_Save")
    
register_clcmd("say","say_info");
    
register_clcmd("say_team","say_info");
    
register_clcmd("zp_levelexp","expa_give"ADMIN_CVAR"use to give Exp")
    
register_clcmd("zp_level_is","level_give"ADMIN_CVAR"use to give Level")
    
SayText get_user_msgid("SayText")
    
g_Players get_maxplayers();
    
register_event("HLTV""Round_Start""a""1=0""2=0")
    
register_event("DeathMsg""Frags_Manager""a""1>0")     
    
register_dictionary("zp_level_system_xp.txt")
    
register_event("StatusValue","show_status","be","1=2","2!0")
    
register_event("StatusValue","hide_status","be","1=1","2=0")
    
register_event("StatusValue""showStatus""be""1=2""2!0")
    
register_event("StatusValue""hideStatus""be""1=1""2=0")
    
register_event("StatusValue""Show_info""be""1=1""2=0")

    
g_ScreenFade get_user_msgid"ScreenFade" )
    
register_plugin(PLUGINVERSIONAUTHOR)
    
g_status_sync CreateHudSyncObj()
}
public 
Round_Start()
{
    for(new 
id=1;id<=g_Players;id++)
    
set_task(3.0"Level"id)
}

public 
Level(id)
{
    if(
is_user_alive(id) )
    {
        
g_trime[id] = false;
        new 
1;
        while( 
g_level[id] )
        {
            
h_armor[id] = get_pcvar_num(g_h_armor);
            
1
        
}
        
fm_set_user_armoridget_user_armor(id) + h_armor[id])
    }
}

public 
showStatus(id)
{
    if(!
is_user_bot(id) && is_user_connected(id)) 
    {
        new 
name[32], pid read_data(2)
    
        
get_user_name(pidname31)
        new 
color1 0color2 0
    
        
new team1 get_user_team(id), team2 get_user_team(pid)
    
        if (
team2 == 1)
            
color1 255
        
else
            
color2 0
                
                            
if (team1 != team2 && cs_get_user_team(id) == CS_TEAM_T)  // !friend and user is T  
        
{
            
set_hudmessage(color1150color2, -1.00.6010.013.00.010.01, -1)
            
ShowSyncHudMsg(idg_status_sync"%s^n[ Level : %d | Exp : %d/%d ]"nameg_level[pid], level_exp[pid], g_level_exp[pid])
        }
    }
}

public 
hideStatus(id)
{
    
ClearSyncHud(idg_status_sync)
}

public 
expa_give(idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
    {                
        
console_print(id"hhhh")
        return 
PLUGIN_HANDLED
    
}
    new 
target[32]
    new 
count[32]    
    
    
read_argv(1,target,31)
    
read_argv(2,count,31)
    new 
target_idname[32], nameid[32]
    
target_id find_player("bl"target)
    
get_user_name(target_idnamesizeof name 1
    
get_user_name(idnameidsizeof nameid 1)
    if(!
target_id
    {
        
console_print(id"Can't find that player")
        return 
PLUGIN_HANDLED
    
}
    if(
read_argc() != 3)
    return 
PLUGIN_HANDLED    

    
if(str_to_num(count) < (g_level_exp[target_id] - level_exp[target_id]) )
    {
        if(
str_to_num(count) == 0)
        
console_print(id"Exp Player %s in %i / %i"namelevel_exp[target_id], g_level_exp[target_id])
        else
        {
            
console_print(id"Player %s gives for %i exp, Her Maximum %i"namestr_to_num(count), g_level_exp[target_id])
            
level_exp[target_id] = level_exp[target_id] + str_to_num(count);
        }
        
    }
    else
    {
        
console_print(id"Maximum Exp in player %i"g_level_exp[target_id])
    }
    return 
PLUGIN_HANDLED
}

public 
level_give(idlevelcid)
{
    if (!
cmd_access(idlevelcid2))
    {                
        
console_print(id"? ??? ??? ??????? ? ???????")
        return 
PLUGIN_HANDLED
    
}
    new 
target[32]
    new 
count[32]    
    
    
read_argv(1,target,31)
    
read_argv(2,count,31)
    new 
target_idname[32], level_id
    level_id 
str_to_num(count);
    
target_id find_player("bl"target)
    
get_user_name(target_idnamesizeof name 1
    if(!
target_id
    {
        
console_print(id"Can't find that player")
        return 
PLUGIN_HANDLED
    
}
    if(
read_argc() != 3)
    return 
PLUGIN_HANDLED    

    
if( ((g_level[target_id] + level_id) <=get_pcvar_num(g_level_max)) && (level_id != 0) && ((g_level[target_id] + level_id) > ) )
    {
        if(
level_id 0)
        {
            
g_level[target_id] = g_level[target_id] + level_id;
            
level_exp[target_id] = 0;
            
message_begin(MSG_ONE_UNRELIABLEg_ScreenFade_target_id)
                   
write_short(1<<12// duration
                
write_short(1// hold time
            
write_short(0x0000// fade type
            
write_byte(1// red
            
write_byte(200// green
            
write_byte(0// blue
            
write_byte(205// alpha
            
message_end()
            
emit_sound(target_idCHAN_STREAMsound_level_up1.0ATTN_NORM0PITCH_HIGH )
        }
        else
        {
            
g_level[target_id] = g_level[target_id] + level_id;
            
level_exp[target_id] = 0;
            
message_begin(MSG_ONE_UNRELIABLEg_ScreenFade_target_id)
                   
write_short(1<<12// duration
                
write_short(1// hold time
            
write_short(0x0000// fade type
            
write_byte(200// red
            
write_byte(40// green
            
write_byte(0// blue
            
write_byte(205// alpha
            
message_end()
        }
            
console_print(id"Player %s gives add %i level"namelevel_id)
    }
    else
        
console_print(id"Operation Invalid")
    return 
PLUGIN_HANDLED
}

public 
client_putinserver(id)
{
    
Level_Load(id)
    new 
name[32]
    
g_trime[id] = false;
    
g_bonus[id] = true;
    
nameid[id] = get_user_name(idnamesizeof name 1)
    if(
is_user_alive(id))
    {
        
g_trime[id] = false;
        new 
1;
        while( 
!= g_level[id] )
        {
            
h_armor[id] = set_user_armor(id,get_pcvar_num(g_h_armor))
            
1;
        }
        
fm_set_user_armoridget_user_armor(id) + h_armor[id] )
    }
    if( 
g_level[id] == 0g_level[id] = 1;
    if( 
level_exp[id] == g_level[id] ) level_exp[id] = 0;
    if(
g_level[id] < get_pcvar_num(g_level_num))
    
g_levels[id] = get_pcvar_num(g_level_num);
    else
    {
        if(
g_level[id] != g_levels[id])
        {
            new 
1;
            while( 
g_level[id] > ( get_pcvar_num(g_level_num)) )
            {
                
1;
                
g_levels[id] = get_pcvar_num(g_level_num);
            }
        }
    }
    new 
1;
    while( 
g_level[id] != )
    {
    
1;
    
g_level_exp[id] = get_pcvar_num(g_frags_level);
    }
}

public 
client_disconnect(id)
{
    new 
name[32], player_nick[32]
    
player_nick[id] = get_user_name(idnamesizeof name 1)
    if(
player_nick[id] == nameid[id])
    
Level_Save(id)
    
    
g_trime[id] = false;
}

public 
hide_status(id)
{
        
set_hudmessage(0,0,0,0.0,0.0,00.00.010.00.04)
        
show_hudmessage(id,"")
}

public 
show_status(id)
{
        new 
name[32],pid read_data(2)
        
get_user_name(pid,name,31)
       if (!(
get_pcvar_num(g_player_name) == 1) )
    {
               
set_hudmessage(02550, -1.00.900.01.12.01.0, -1)
               
show_hudmessage(id,"[ Level : %i | Exp : %i ]",g_level[id] ,level_exp[id])
    }
}

public 
Show_info(id)
{
    if(!
is_user_alive(id))
    {
        new 
idSpec;
        new 
iPlayerName[32];
        
idSpec pev(idPEV_SPEC_TARGET);
        
get_user_name(idSpeciPlayerName31);
        
set_hudmessage(255100255, -1.00.8400.01.12.01.0, -1)
                            
show_hudmessageid,"Spectating: %s^n[ Level : %d | Exp : %d/%d ]",iPlayerNameg_level[idSpec], level_exp[idSpec], g_level_exp[idSpec])
    }
}

public 
say_info(id)
{
    new 
text[70], arg1[32], target[32], count[32]
    
read_args(textsizeof(text)-1);
    
remove_quotes(text);
    
arg1[0] = '^0';
    
target[0] = '^0';
    
count[0] = '^0';
    
parse(textarg1sizeof(arg1)-1targetsizeof(target)-1countsizeof(count)-1);
    if ( 
equali(arg1"info"4) )
    {
        
info_player(idtarget);
    }
    if ( 
equali(arg1"levelexp"7) && (get_pcvar_num(g_level_info) == 1))
    {
        
expa_player(id);
    }
    return 
PLUGIN_CONTINUE;
}

public 
zp_extra_item_selected(iditemid)
{
    
Level_Save(id)
}

public 
zp_user_infected_pre(idinfector)
{
    if( 
is_user_alive(infector) && (level_exp[infector] < (g_level_exp[infector] - 1)))
    {
        
level_exp[infector] = level_exp[infector] + 1;
        
Level_Save(infector);
    }
}

public 
info_player(idtarget[])
{
    new 
target_2;
    
target_2 find_player("bl"target)
    static 
name[32], nameid[32];
    
get_user_name(target_2namesizeof name 1)
    
get_user_name(idnameidsizeof nameid 1)
    if(!
target_2)
    {
        
ChatColor(id"%L"LANG_PLAYER"LEVEL_INFO_NONAME")
        return 
PLUGIN_HANDLED
    
}

    if(
is_user_alive(id))
    {
        if(
id != target_2)
        {
            
//ChatColor(id, "%L", LANG_PLAYER, "LEVEL_INFOZM", name, g_level[target_2])
            //ChatColor(target_2, "%L ", LANG_PLAYER, "LEVEL_INFO_YOU", nameid)
        
}
        else
        {
            
//ChatColor(id, "%L", LANG_PLAYER, "LEVEL_INFOME_ZM")
        
}
    }
    else
    {
        if(
id != target_2)
        {
            
//ChatColor(id, "%L", LANG_PLAYER, "LEVEL_INFO", name, g_level[target_2], h_armor[target_2])
            //ChatColor(target_2, "%L ", LANG_PLAYER, "LEVEL_INFO_YOU", nameid)
        
}
        else
        {
            
//ChatColor(id, "%L", LANG_PLAYER, "LEVEL_INFOME", h_armor[target_2])
        
}
    }
    return 
PLUGIN_HANDLED
}

public 
expa_player(id)
{
    
ChatColor(id"%L"LANG_PLAYER"LEVEL_EXP"level_exp[id], g_level_exp[id])
    return 
PLUGIN_HANDLED
}

public 
level_status(id)
{
    if( 
is_user_alive(id))
    {
        switch( 
get_pcvar_num(g_hud_color) ) 
            { 
                    case 
1
                    { 
            
set_hudmessage(02550, -1.00.906.01.10.00.0, -1)
            
show_hudmessage(id,"[ Level : %d | Exp : %d/%d ]",g_level[id], level_exp[id], g_level_exp[id])
                    } 
                    case 
2
            {
            
set_hudmessage(02550, -1.00.906.01.10.00.0, -1)
            
show_hudmessage(id,"[ Level : %d | Exp : %d/%d ]",g_level[id], level_exp[id], g_level_exp[id])
            }
                    case 
3
            {
            
set_hudmessage(02550, -1.00.906.01.10.00.0, -1)
            
show_hudmessage(id,"[ Level : %d | Exp : %d/%d ]",g_level[id], level_exp[id], g_level_exp[id])
            }
        }
    }


public 
Level_Save(id)
{
    new 
key[64], data[256], data_exp[256], key_exp[64]
    new 
name[33];
    
get_user_name(id,name,32)

    
format(key63"%s-/"name)
    
format(data255"%i#"g_level[id])

    
format(key_exp63"%s-/"name)
    
format(data_exp255"%i#"level_exp[id])

    
nvault_set(g_level_datakeydata)
    
nvault_set(g_exp_datakey_expdata_exp)
    return 
PLUGIN_CONTINUE;
}

public 
Level_Load(id)
{
    new 
key[64], data[256], data_exp[256], key_exp[64]
    new 
name[33];
    
get_user_name(id,name,32)

    
format(key63"%s-/"name)
    
format(data255"%i#"g_level[id])

    
format(key_exp63"%s-/"name)
    
format(data_exp255"%i#"level_exp[id])

    
nvault_get(g_level_datakeydata255)
    
nvault_get(g_exp_datakey_expdata_exp255)
    
replace_all(data255"#"" ")
    
replace_all(data_exp255"#"" ")

    new 
givelevel[32], give_exp[32]
    
parse(datagivelevel31)
    
parse(data_expgive_exp31)
    
g_level[id] = str_to_num(givelevel)
    
level_exp[id] = str_to_num(give_exp)

    
set_task(1.0"level_status"id__"b")
    return 
PLUGIN_CONTINUE;
}

public 
Frags_Manager()
{
    new 
aname[32], attackerattacker read_data(1)
    new 
y1;
    
get_user_name(attackeranamesizeof aname 1)
    if( ( 
level_exp[attacker] >= (g_level_exp[attacker] - 1) ) && (g_level[attacker] <= get_pcvar_num(g_level_max)) && is_user_alive(attacker) )
    {
        
g_bonus[attacker] = true;
        
g_level[attacker] = g_level[attacker] + 1;
        
level_exp[attacker] = 0;
        while( 
g_level[attacker] != )
        {
            
1;
            
g_level_exp[attacker] = get_pcvar_num(g_frags_level);
        }
        
message_begin(MSG_ONE_UNRELIABLEg_ScreenFade_attacker)
          
write_short(1<<12// duration
          
write_short(1// hold time
        
write_short(0x0000// fade type
        
write_byte(1// red
        
write_byte(200// green
        
write_byte(0// blue
        
write_byte(205// alpha
        
message_end()
        
emit_sound(attackerCHAN_STREAMsound_level_up1.0ATTN_NORM0PITCH_HIGH )
        
set_hudmessage(020000.650.500.03.02.01.0, -1)
        
show_hudmessage(0"%L"LANG_PLAYER"LEVEL_UP"anameg_level[attacker])
        
Level_Save(attacker);
    }
    else
    {

        if(
g_level[attacker] == get_pcvar_num(g_level_max))
        
ChatColor(attacker"%L"LANG_PLAYER"LEVEL_MAX"g_level[attacker] )
        
level_exp[attacker] = level_exp[attacker] + 1;
        
Level_Save(attacker);
    }
}

public 
zp_round_ended(winteam)
{
    for(new 
id=1;id<=g_Players;id++)
    
g_trime[id] = true;
}

stock ChatColor(const id, const input[], any:...)
{
    new 
count 1players[32]
    static 
msg[191]
    
vformat(msg190input3)

    
replace_all(msg190"!g""^4"// Green Color
    
replace_all(msg190"!y""^1"// Default Color
    
replace_all(msg190"!t""^3"// Team Color
    
replace_all(msg190"!t2""^0"// Team2 Color

    
if (idplayers[0] = id; else get_players(playerscount"ch")
    {
        for (new 
0counti++)
        {
            if (
is_user_connected(players[i]))
            {
                
message_begin(MSG_ONE_UNRELIABLESayText_players[i])
                
write_byte(players[i]);
                
write_string(msg);
                
message_end();
            }
        }
    }

Please help me brothers
MorrocoAmxx is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 09:40.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode