|
Senior Member
Join Date: Aug 2009
Location: Russia, Yekaterinburg
|

12-23-2009
, 10:42
Re: Why canīt the players move?
|
#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_energia, cvar_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_BROADCAST, SVC_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_BROADCAST, SVC_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(id, get_pcvar_num(cvar_explorer[0]))
set_user_maxspeed(id, get_pcvar_float(cvar_explorer[1]))
}
case 2: {
g_soldier[id] = true
set_user_health(id, get_pcvar_num(cvar_soldier[0]))
set_user_maxspeed(id, get_pcvar_float(cvar_soldier[1]))
}
case 3: {
g_heavy[id] = true
set_user_health(id, get_pcvar_num(cvar_heavy[0]))
set_user_maxspeed(id, get_pcvar_float(cvar_heavy[1]))
}
case 4: {
g_sniper[id] = true
set_user_health(id, get_pcvar_num(cvar_sniper[0]))
set_user_maxspeed(id, get_pcvar_float(cvar_sniper[1]))
}
case 5: {
g_comandante[id] = true
set_user_health(id, get_pcvar_num(cvar_comandante[0]))
set_user_maxspeed(id, get_pcvar_float(cvar_comandante[1]))
}
}
}
public show_menu_principal(id)
{
static menu, formato[512]
formatex(formato, charsmax(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(menu, MPROP_EXITNAME, "Salir")
menu_display(id, menu, 0)
}
public principal_handler(id, menu, item)
{
new datos[4], nombre[32], access, callback
menu_item_getinfo(menu, item, access, datos, 3, nombre, 31, callback)
new op = str_to_num(datos)
if(op == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}
switch(op)
{
case 1: show_menu_clases(id)
case 2: ExecuteHamB(Ham_CS_RoundRespawn, id)
// case 3: show_menu_admin(id)
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
public show_menu_clases(id)
{
static menu, szitem[900], szposicion[900]
menu = menu_create("\yMenu de Personajes", "clases_handler")
for(new i; i < sizeof CLASSNAMES; i++)
{
num_to_str(i, szposicion, charsmax(szposicion))
format(szitem, charsmax(szitem), "%s :\y %s", CLASSNAMES[i], cDescripcion[i])
menu_additem(menu, szitem, szposicion)
}
menu_display(id, menu, 0)
}
public clases_handler(id, menu, item)
{
if(item == MENU_EXIT)
{
return PLUGIN_HANDLED
}
new data[900], name[32], access, callback
menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(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(id, pev_button) & IN_DUCK && pev(id, pev_button) & IN_JUMP)
{
if(g_flyEnergy[id] > 0)
{
static Float:JetpackData[3]
pev(id,pev_velocity,JetpackData)
new fOrigin[3],Float:Aim[3]
VelocityByAim(id, 10, Aim)
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(id, pev_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(victim, attacker, shouldgib)
{
if(get_pcvar_num(cvar_deathmatch))
{
ExecuteHamB(Ham_CS_RoundRespawn, victim)
}
}
public fw_TakeDamage(victim, inflictor, attacker, Float:damage, damage_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.
|
|