AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   I Have Problem in target spectator !! (https://forums.alliedmods.net/showthread.php?t=240833)

MorrocoAmxx 05-22-2014 20:54

I Have Problem in target spectator !!
 
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 :cry: :cry:

xxxperts 05-23-2014 00:27

Re: I Have Problem in target spectator !!
 
Plz bro next search ..

HERE U GO


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

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