Raised This Month: $ Target: $400
 0% 

Why canīt the players move?


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
worldspawn
Senior Member
Join Date: Aug 2009
Location: Russia, Yekaterinburg
Old 12-23-2009 , 10:42   Re: Why canīt the players move?
Reply With Quote #9

i fixed some typos, removed unusable code, didnt add anything

PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <fakemeta_util>
#include <fun>
#include <hamsandwich>

//const
const m_pPlayer             =    41
const m_flNextPrimaryAttack     =    46
const m_flNextSecondaryAttack     =    47
const m_flTimeWeaponIdle     =     48
const m_iClip             =     51

new g_flyEnergy[33]
new 
laserbeam


new key[33]
new 
g_firstround[33]
new 
g_points[33]
new 
g_level[33]
new 
g_explorer[33]
new 
g_soldier[33]
new 
g_heavy[33]
new 
g_sniper[33]
new 
g_comandante[33]

new 
CLASSNAMES [][] = { "Explorer""Soldier""Heavy""Sniper""Comandante" }
new 
cDescripcion [][] = 
{
    
"El mas Rapido, pero con menos vida"
    
"Equilibrado en velocidad, resistencia, y punteria",
    
"El mas Resistente, con armas mas poderosas, pero mas lento",
    
"Poca vida, con armas de gran potencia y precicion",
    
"Poca punteria, pero con una bazooka de gran poder y radio de dano"
}


// CVARS
new cvar_dmgcaida/* cvar_implosion, cvar_glow, cvar_light,*/ cvar_deathmatch,/* cvar_balas,*/
cvar_explorer[4], cvar_soldier[4], cvar_heavy[4], cvar_sniper[4], cvar_comandante[4] ,
cvar_energiacvar_fs

public plugin_precache()
{
    
laserbeam precache_model("sprites/laserbeam.spr")
}

public 
plugin_init() 
{
    
register_plugin("Adr""0.1""lllllllllllll bar code")
    
    
cvar_dmgcaida register_cvar("adr_falldamage""0")
    
//cvar_implosion = register_cvar("adr_particulas", "1")
    
cvar_deathmatch register_cvar("adr_deathmatch""1")
    
//cvar_glow = register_cvar("adr_glow", "1")
    //cvar_light = register_cvar("adr_light", "0")
    //cvar_balas = register_cvar("adr_balas_ilimitadas", "0")
    
cvar_energia register_cvar("ard_energia""200")
    
cvar_fs register_cvar("ard_forward_speed""300.0")
    
    
cvar_explorer[0] = register_cvar("adr_explorer_hp""55")
    
cvar_explorer[1] = register_cvar("adr_explorer_sp""280.0")
    
cvar_explorer[2] = register_cvar("adr_explorer_vl""32")
    
cvar_explorer[3] = register_cvar("adr_explorer_ac""120.0")
    
    
cvar_soldier[0] = register_cvar("adr_soldier_hp""100")
    
cvar_soldier[1] = register_cvar("adr_soldier_sp""240.0")
    
cvar_soldier[2] = register_cvar("adr_soldier_vl""30")
    
cvar_soldier[3] = register_cvar("adr_soldier_ac""100.0")
    
    
cvar_heavy[0] = register_cvar("adr_heavy_hp""205")
    
cvar_heavy[1] = register_cvar("adr_heavy_sp""230.0")
    
cvar_heavy[2] = register_cvar("adr_heavy_vl""25")
    
cvar_heavy[3] = register_cvar("adr_heavy_ac""70.0")
    
    
cvar_sniper[0] = register_cvar("adr_sniper_hp""55")
    
cvar_sniper[1] = register_cvar("adr_sniper_sp""280.0")
    
cvar_sniper[2] = register_cvar("adr_sniper_vl""40")
    
cvar_sniper[3] = register_cvar("adr_sniper_ac""60.0")
    
    
cvar_comandante[0] = register_cvar("adr_comandante_hp""85")
    
cvar_comandante[1] = register_cvar("adr_comandante_sp""220.0")
    
cvar_comandante[2] = register_cvar("adr_comandante_vl""20")
    
cvar_comandante[3] = register_cvar("adr_comandante_ac""80.0")
    
    
RegisterHam(Ham_Spawn"player""fw_Spawn")
    
RegisterHam(Ham_Killed"player""fw_PlayerKilled")
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage")
    
    
register_forward(FM_CmdStart"cmdfly")
    
    
register_clcmd("+menu""show_menu_principal")
}
public 
client_authorized(id)
{
    
g_firstround[id] = true
    g_flyEnergy
[id] = get_pcvar_num(cvar_energia)    
}

public 
fw_Spawn(id)
{
    if(
g_firstround[id])
    {
        
show_menu_clases(id)
    }
    else {
        
show_menu_principal(id)
        
crear_trail(id)
        
setear_caracteristicas(id)
    }
    
g_flyEnergy[id] = get_pcvar_num(cvar_energia)
}
public 
crear_trail(id)
{
    if(!
is_user_alive(id))
        return
        
    if(
get_user_team(id) == 3)
        return
        
    if(
get_user_team(id) == 1)
    {
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_BEAMFOLLOW)// write_byte(TE_BEAMFOLLOW)
        
write_short(id)// write_short(entity:attachment to follow)
        
write_short(laserbeam)// write_short(sprite index)
        
write_byte(10)// write_byte(life in 0.1's) 
        
write_byte(5)// write_byte(line width in 0.1's) 
        
write_byte(200)// write_byte(red)
        
write_byte(0)// write_byte(green)
        
write_byte(0)// write_byte(blue)
        
write_byte(192)// write_byte(brightness)
        
message_end()
    }
    else if(
get_user_team(id) == 1)
    {
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_BEAMFOLLOW)
        
write_short(id)
        
write_short(laserbeam)
        
write_byte(10)
        
write_byte(5)
        
write_byte(0)
        
write_byte(0)
        
write_byte(200)
        
write_byte(192)
        
message_end()
    }
}
public 
setear_caracteristicas(id)
{
    switch(
key[id])
    {
        case 
1: {
            
g_explorer[id] = true
            
            set_user_health
(idget_pcvar_num(cvar_explorer[0]))
            
set_user_maxspeed(idget_pcvar_float(cvar_explorer[1]))
        }
        case 
2: {
            
g_soldier[id] = true
            
            set_user_health
(idget_pcvar_num(cvar_soldier[0]))
            
set_user_maxspeed(idget_pcvar_float(cvar_soldier[1]))
        }
        case 
3: {
            
g_heavy[id] = true
            
            set_user_health
(idget_pcvar_num(cvar_heavy[0]))
            
set_user_maxspeed(idget_pcvar_float(cvar_heavy[1]))
        }
        case 
4: {
            
g_sniper[id] = true
            
            set_user_health
(idget_pcvar_num(cvar_sniper[0]))
            
set_user_maxspeed(idget_pcvar_float(cvar_sniper[1]))
        }
        case 
5: {
            
g_comandante[id] = true
            
            set_user_health
(idget_pcvar_num(cvar_comandante[0]))
            
set_user_maxspeed(idget_pcvar_float(cvar_comandante[1]))
        }
    }
}
public 
show_menu_principal(id)
{
    static 
menuformato[512]
    
    
formatex(formatocharsmax(formato), "\yMenu Principal - \rExp: \y%d - \rNivel \y%d"g_points[id], g_level[id])
    
menu menu_create(formato"principal_handler")
    
    
menu_additem(menu"Elegir Personaje""1"0)
    
    
menu_additem(menu"Destrabar""2"0)
    
//menu_additem(menu, "Menu de Admin", "3", 0)
    
menu_setprop(menuMPROP_EXITNAME"Salir")
    
    
menu_display(idmenu0)
}
public 
principal_handler(idmenuitem)
{
    new 
datos[4], nombre[32], accesscallback
    
    menu_item_getinfo
(menuitemaccessdatos3nombre31callback)
    
    new 
op str_to_num(datos)
    
    if(
op == MENU_EXIT)
    {
        
menu_destroy(menu)
        return 
PLUGIN_HANDLED
    
}
    
    switch(
op)
    {
        case 
1show_menu_clases(id)
        case 
2ExecuteHamB(Ham_CS_RoundRespawnid)
    
//    case 3: show_menu_admin(id)
    
}
    
    
menu_destroy(menu)
    return 
PLUGIN_HANDLED
}
    
public 
show_menu_clases(id)
{
    static 
menuszitem[900], szposicion[900]
    
menu menu_create("\yMenu de Personajes""clases_handler")
    
    for(new 
isizeof CLASSNAMESi++)
    {
        
num_to_str(iszposicioncharsmax(szposicion))
        
format(szitemcharsmax(szitem), "%s :\y %s"CLASSNAMES[i], cDescripcion[i])
        
menu_additem(menuszitemszposicion)
    }
    
    
menu_display(idmenu0)
}
public 
clases_handler(idmenuitem)
{
    if(
item == MENU_EXIT)
    {
        return 
PLUGIN_HANDLED
    
}
    
    new 
data[900], name[32], accesscallback
    
    menu_item_getinfo
(menuitemaccessdatacharsmax(data), namecharsmax(name), callback)
    
    
key[id] = str_to_num(data)
    
    if(
g_firstround[id])
    {
        
setear_caracteristicas(id)
        
g_firstround[id] = false
    
}
    
menu_destroy(menu)
    return 
PLUGIN_HANDLED
    
}
/*public show_menu_admin(id, level, cid)
{
    if (!cmd_access(id, level, cid, 2))
    {
        client_print(id, print_chat, "No tenes permiso de ver este menu")
        return PLUGIN_HANDLED
    }
    
    new menu = menu_create("Menu de Admin", "admin_handler")
    
    menu_additem(menu, "Revivir a todos", "1", 0)
    menu_additem(menu, "Slapear a todos", "2", 0)
    menu_additem(menu, "Matar a todos", "3", 0)
    menu_setprop(menu, MENU_EXIT, "Salir")
    
    menu_display(id, menu, 0)
    
    return PLUGIN_HANDLED
}
public admin_handler(id, menu, item)
{
    if(item == MENU_EXIT)
    {
        return PLUGIN_HANDLED
    }
    new datos[900], name[32], access, callback
    
    menu_item_getinfo(menu, item, access, datos, charsmax(datos), name, charsmax(name), callback)
    
    new a = str_to_num(datos)
    
    for( new i; i <= 32; i++)
    {
        if(a == 1)
        {    
            if(!is_user_alive(i) && get_user_team(i) != 3)
            {
                spawn(i)
                dllfunc(DLLFunc_Spawn, i)
            }
        }
        else if(a == 2)
        {
            if(is_user_alive(i) && get_user_team(i) !=3)
            {
                user_slap(i, 0)
            }
        }
        else
        {
            if(is_user_alive(i) && get_user_team(i) !=3)
            {
                user_silentkill(i)
            }
        }
    }
    return PLUGIN_HANDLED
}*/
public cmdfly(id)
{
    if(
pev(idpev_button) & IN_DUCK && pev(idpev_button) & IN_JUMP)
    {
        if(
g_flyEnergy[id] > 0)
        {
            static 
Float:JetpackData[3]
            
pev(id,pev_velocity,JetpackData)
                    
            new 
fOrigin[3],Float:Aim[3]
            
VelocityByAim(id10Aim)
            
            
get_user_origin(id,fOrigin)
            
fOrigin[0] -= floatround(Aim[0])
            
fOrigin[1] -= floatround(Aim[1])
            
fOrigin[2] -= floatround(Aim[2])
        
        
            if((
pev(id,pev_button)&IN_FORWARD) && !(pev(idpev_flags) & FL_ONGROUND))
            {
                
                static 
Float:Speed
                Speed
=floatsqroot(JetpackData[0]*JetpackData[0]+JetpackData[1]*JetpackData[1])
                
                if(
Speed!=0.0)
                {
                    
set_pev(id,pev_gaitsequence,0)
                    
set_pev(id,pev_sequence,111)
                }
                
                if(
Speed<get_pcvar_float(cvar_fs))
                {
                    if(
key[id] == 1)
                    {
                        
Speed+=get_pcvar_float(cvar_explorer[3])
                    }
                    else if(
key[id] == 2)
                    {
                        
Speed+=get_pcvar_float(cvar_soldier[3])
                    }
                    else if(
key[id] == 3)
                    {
                        
Speed+=get_pcvar_float(cvar_heavy[3])
                    }
                    else if(
key[id] == 4)
                    {
                         
Speed+=get_pcvar_float(cvar_sniper[3])
                    }
                    else if(
key[id] == 5)
                    {
                        
Speed+=get_pcvar_float(cvar_comandante[3])
                    }
                }
                
                static 
Float:JetpackData2[3]
                
pev(id,pev_angles,JetpackData2)
                
JetpackData2[2]=0.0//Remove the Z value/
                
                
angle_vector(JetpackData2,ANGLEVECTOR_FORWARD,JetpackData2)
                
JetpackData2[0]*=Speed
                JetpackData2
[1]*=Speed
                
                JetpackData
[0]=JetpackData2[0]
                
JetpackData[1]=JetpackData2[1]
            
                
set_pev(id,pev_velocity,JetpackData)
            }    
        }
    }
}
public 
fw_PlayerKilled(victimattackershouldgib)
{
    if(
get_pcvar_num(cvar_deathmatch))
    {
        
ExecuteHamB(Ham_CS_RoundRespawnvictim)
    }
}
public 
fw_TakeDamage(victiminflictorattackerFloat:damagedamage_type)
{
    if(!
is_user_connected(victim))
        return 
HAM_IGNORED
        
    
if(get_pcvar_num(cvar_dmgcaida) && damage_type DMG_FALL)
        return 
HAM_IGNORED
        
    g_points
[attacker]++
    
    while(
g_points[attacker] > 4)
    {
        
g_level[attacker]++
        
g_points[attacker] = 0
    
}
        
    return 
HAM_SUPERCEDE;

u may move now, but i don't know what plugin does, so i only know that trail works good
the main mistake is performing something on user(client_cmd right here) when he connects to server(client_putinserver, client_connected, client_authorized)
u won't be able to play if u do this
Quote:
Another Thing: When i uncomment these parts
now it compiles well

Last edited by worldspawn; 12-23-2009 at 11:29.
worldspawn is offline
Send a message via ICQ to worldspawn Send a message via Skype™ to worldspawn
 



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 04:13.


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