13/07/2016, 07:11 PM
hola , estaba creando un xp mod, y pues al momento de agregar el hud tira los siguientes errores:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2013 ITB CompuPhase, AMX Mod X Team
Warning: Loose indentation on line 34
Warning: Loose indentation on line 37
Warning: Loose indentation on line 41
Error: Undefined symbol "Niveles" on line 50
Error: Undefined symbol "xNombre" on line 55
Warning: Expression has no effect on line 55
Error: Expected token: ";", but found "]" on line 55
Error: Invalid expression, assumed zero on line 55
Error: Too many error messages on one line on line 55
Compilation aborted.
5 Errors.
Could not locate output file C:\Users\Usuario\Desktop\Juegos\Counter strike\Counter-Strike 1.6\cstrike\addons\amxmodx\plugins\xpmod.amx (compile failed).
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2013 ITB CompuPhase, AMX Mod X Team
Warning: Loose indentation on line 34
Warning: Loose indentation on line 37
Warning: Loose indentation on line 41
Error: Undefined symbol "Niveles" on line 50
Error: Undefined symbol "xNombre" on line 55
Warning: Expression has no effect on line 55
Error: Expected token: ";", but found "]" on line 55
Error: Invalid expression, assumed zero on line 55
Error: Too many error messages on one line on line 55
Compilation aborted.
5 Errors.
Could not locate output file C:\Users\Usuario\Desktop\Juegos\Counter strike\Counter-Strike 1.6\cstrike\addons\amxmodx\plugins\xpmod.amx (compile failed).
Código PHP:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#include <adv_vault>
#define PLUGIN "XpMod"
#define VERSION "1.0"
#define AUTHOR "Since"
#define NivelesMaximos 820
new pniveles[33], pexperiencia[33], pracha[33], pexperienciaau[33], g_puntos[33];
new nombre[32][32],g_VerHud;
enum{
CAMPO_LEVEL=0,
CAMPO_XP,
MAX_FIELDS
}
new g_campos[MAX_FIELDS]
new g_vault
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event( "DeathMsg", "EventDeathMsg", "a" )
register_event("CurWeapon","ev_CurWeapon", "be", "1=1")
RegisterHam(Ham_TakeDamage, "player", "fwHamTakeDamage")
RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1)
register_concmd("dar_nivel", "darnivel", ADMIN_RCON, "[Nombre] [Cantidad]")
g_vault = adv_vault_open("SurfMOD", true)
g_VerHud = CreateHudSyncObj()
g_campos[CAMPO_LEVEL] = adv_vault_register_field(g_vault, "level")
g_campos[CAMPO_XP] = adv_vault_register_field(g_vault, "xp")
adv_vault_init(g_vault)
}
public hud(taskid)
{
new id = taskid - 123;
new nuevonivel
nuevonivel = Niveles[pniveles[ id ]]-pexperiencia[ id ]
if(is_user_alive(id))
{
set_hudmessage(0, 255, 0, 0.02, 0.1, 0, 0.0, 3.0, 0.0, 0.0, 1);
ShowSyncHudMsg(id, g_VerHud,"[Eagle]----Datos----^n[Nombre: %s]-[%s]^n[Vida:%d]-[Chaleco: %d]-[Puntos: %d]^n[Nivel:%d/820]-[Experiencia:%d/%d]", xNombre[id], get_user_health(id), get_user_armor(id),g_puntos[id],
pniveles[id], pexperiencia[id], nuevonivel)
return PLUGIN_CONTINUE;
}
if(!is_user_alive(id))
{
new espect = pev(id, pev_iuser2);
if(!espect)
return PLUGIN_CONTINUE;
new nuevonivel
nuevonivel = Niveles[pniveles[ espect]]-pexperiencia[espect ]
new vida_espect = get_user_health(espect)
new armor_espect = get_user_armor(espect)
set_hudmessage(0, 255, 0, 0.02, 0.1, 0, 0.0, 3.0, 0.0, 0.0, 1);
ShowSyncHudMsg(id, g_VerHud,"[Eagle]----Datos----^n[Nombre: %s]-[%s]^n[Vida:%d]-[Chaleco: %d]-[Puntos: %d]^n[Nivel:%d/820]-[Experiencia:%d/%d]", xNombre[espect], vida_espect, armor_espect,g_puntos[espect],
pniveles[espect], pexperiencia[espect], nuevonivel)
}
return PLUGIN_CONTINUE;
}
public plugin_precache(){
precache_model("models/Eagle/v_ak4740.mdl") //level 40
precache_model("models/Eagle/v_ak47340.mdl") //level 340
precache_model("models/Eagle/v_awp100.mdl") //level 100
precache_model("models/Eagle/v_awp380.mdl") //level 380
precache_model("models/Eagle/v_awp700.mdl") //level 700
precache_model("models/Eagle/v_deagle20.mdl") //level 20
precache_model("models/Eagle/v_deagle250.mdl") //level 250
precache_model("models/Eagle/v_deagle600.mdl") //level 600
precache_model("models/Eagle/v_g3sg1130.mdl") //level 130
precache_model("models/Eagle/v_g3sg1500.mdl") //level 500
precache_model("models/Eagle/v_glock1810.mdl") //level 10
precache_model("models/Eagle/v_granada15lvl.mdl") //level 15
precache_model("models/Eagle/v_hegrenade280.mdl") //level 280
precache_model("models/Eagle/v_granada810lvl.mdl") //level 810
precache_model("models/Eagle/v_knife5.mdl") //level 5
precache_model("models/Eagle/v_knife200.mdl") //level 200
precache_model("models/Eagle/v_knife300.mdl") //level 300
precache_model("models/Eagle/v_knife670.mdl") //level 670
precache_model("models/Eagle/v_m4a140lvl.mdl") //level 40
precache_model("models/Eagle/v_m4a1340.mdl") //level 340
precache_model("models/Eagle/v_m370lvl.mdl") //level 70
precache_model("models/Eagle/v_m3280.mdl") //level 280
precache_model("models/Eagle/v_m3450.mdl") //level 450
precache_model("models/Eagle/v_m3560.mdl") //level 560
precache_model("models/Eagle/v_m3810.mdl") //level 810
precache_model("models/Eagle/v_sg550520.mdl") //level 520
precache_model("models/Eagle/v_uspnivel10.mdl") //level 10
precache_model("models/Eagle/v_xm101450.mdl") //level 50
precache_model("models/Eagle/v_xm1014430.mdl") //level 430
}
public ev_CurWeapon(id)
{
if(!is_user_connected(id) || !is_user_alive(id))
{
return PLUGIN_HANDLED;
}
new Weapon_Id = read_data(2)
if(Weapon_Id == CSW_AK47 && pniveles[id] >= 40)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_ak4740.mdl")
}
if(Weapon_Id == CSW_AK47 && pniveles[id] >= 340)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_ak47340.mdl")
}
if(Weapon_Id == CSW_AWP && pniveles[id] >= 100)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_awp100.mdl")
}
if(Weapon_Id == CSW_AWP && pniveles[id] >= 380)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_awp380.mdl")
}
if(Weapon_Id == CSW_AWP && pniveles[id] >= 700)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_awp700.mdl")
}
if(Weapon_Id == CSW_DEAGLE && pniveles[id] >= 20)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_deagle20.mdl")
}
if(Weapon_Id == CSW_DEAGLE && pniveles[id] >= 250)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_deagle250.mdl")
}
if(Weapon_Id == CSW_DEAGLE && pniveles[id] >= 600)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_deagle600.mdl")
}
if(Weapon_Id == CSW_G3SG1 && pniveles[id] >= 130)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_g3sg1130.mdl")
}
if(Weapon_Id == CSW_G3SG1 && pniveles[id] >= 500)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_g3sg1500.mdl")
}
if(Weapon_Id == CSW_GLOCK18 && pniveles[id] >= 10)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_glock1810.mdl")
}
if(Weapon_Id == CSW_HEGRENADE && pniveles[id] >= 15)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_granada15lvl.mdl")
}
if(Weapon_Id == CSW_HEGRENADE && pniveles[id] >= 280)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_hegrenade280.mdl")
}
if(Weapon_Id == CSW_HEGRENADE && pniveles[id] >= 810)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_granada810lvl.mdl")
}
if(Weapon_Id == CSW_KNIFE && pniveles[id] >= 5)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_knife5.mdl")
}
if(Weapon_Id == CSW_KNIFE && pniveles[id] >= 200)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_knife200.mdl")
}
if(Weapon_Id == CSW_KNIFE && pniveles[id] >= 300)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_knife300.mdl")
}
if(Weapon_Id == CSW_KNIFE && pniveles[id] >= 670)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_knife670.mdl")
}
if(Weapon_Id == CSW_M4A1 && pniveles[id] >= 340)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_m4a140lvl.mdl")
}
if(Weapon_Id == CSW_M4A1 && pniveles[id] >= 40)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_m4a1340.mdl")
}
if(Weapon_Id == CSW_M3 && pniveles[id] >= 70)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_m370lvl.mdl")
}
if(Weapon_Id == CSW_M3 && pniveles[id] >= 280)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_m3280.mdl")
}
if(Weapon_Id == CSW_M3 && pniveles[id] >= 450)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_m3450.mdl")
}
if(Weapon_Id == CSW_M3 && pniveles[id] >= 560)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_m3560.mdl")
}
if(Weapon_Id == CSW_M3 && pniveles[id] >= 810)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_m3810.mdl")
}
if(Weapon_Id == CSW_SG550 && pniveles[id] >= 520)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_sg550520.mdl")
}
if(Weapon_Id == CSW_USP && pniveles[id] >= 10)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_uspnivel10.mdl")
}
if(Weapon_Id == CSW_XM1014 && pniveles[id] >= 50)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_xm101450.mdl")
}
if(Weapon_Id == CSW_XM1014 && pniveles[id] >= 430)
{
set_pev(id, pev_viewmodel2, "models/Eagle/v_xm1014430.mdl")
}
return PLUGIN_CONTINUE;
}
public fwHamTakeDamage(victim, inflictor, attacker, Float:damage, damagebits)
{
if(!is_user_connected(attacker))
return HAM_IGNORED
new weapon = get_user_weapon(attacker)
if(weapon == CSW_AK47 && pniveles[ attacker ] >= 40)
{
SetHamParamFloat(4, damage * 1.2)
return HAM_HANDLED
}
if(weapon == CSW_AK47 && pniveles[ attacker ] >= 340)
{
SetHamParamFloat(4, damage * 1.4)
return HAM_HANDLED
}
if(weapon == CSW_AWP && pniveles[ attacker ] >= 100)
{
SetHamParamFloat(4, damage * 1.5)
return HAM_HANDLED
}
if(weapon == CSW_AWP && pniveles[ attacker ] >= 380)
{
SetHamParamFloat(4, damage * 1.5)
return HAM_HANDLED
}
if(weapon == CSW_AWP && pniveles[ attacker ] >= 700)
{
SetHamParamFloat(4, damage * 1.5)
return HAM_HANDLED
}
if(weapon == CSW_DEAGLE && pniveles[ attacker ] >= 20)
{
SetHamParamFloat(4, damage * 1.5)
return HAM_HANDLED
}
if(weapon == CSW_DEAGLE && pniveles[ attacker ] >= 250)
{
SetHamParamFloat(4, damage * 1.5)
return HAM_HANDLED
}
if(weapon == CSW_DEAGLE && pniveles[ attacker ] >= 600)
{
SetHamParamFloat(4, damage * 1.5)
return HAM_HANDLED
}
if(weapon == CSW_G3SG1 && pniveles[ attacker ] >= 130)
{
SetHamParamFloat(4, damage * 2.0)
return HAM_HANDLED
}
if(weapon == CSW_G3SG1 && pniveles[ attacker ] >= 500)
{
SetHamParamFloat(4, damage * 2.0)
return HAM_HANDLED
}
if(weapon == CSW_GLOCK18 && pniveles[ attacker ] >= 10)
{
SetHamParamFloat(4, damage * 1.8)
return HAM_HANDLED
}
if(weapon == CSW_HEGRENADE && pniveles[ attacker ] >= 15)
{
SetHamParamFloat(4, damage * 0.5)
return HAM_HANDLED
}
if(weapon == CSW_HEGRENADE && pniveles[ attacker ] >= 280)
{
SetHamParamFloat(4, damage * 0.5)
return HAM_HANDLED
}
if(weapon == CSW_HEGRENADE && pniveles[ attacker ] >= 810)
{
SetHamParamFloat(4, damage * 0.5)
return HAM_HANDLED
}
if(weapon == CSW_KNIFE && pniveles[ attacker ] >= 5)
{
SetHamParamFloat(4, damage * 1.2)
return HAM_HANDLED
}
if(weapon == CSW_KNIFE && pniveles[ attacker ] >= 200)
{
SetHamParamFloat(4, damage * 1.2)
return HAM_HANDLED
}
if(weapon == CSW_KNIFE && pniveles[ attacker ] >= 300)
{
SetHamParamFloat(4, damage * 1.2)
return HAM_HANDLED
}
if(weapon == CSW_KNIFE && pniveles[ attacker ] >= 670)
{
SetHamParamFloat(4, damage * 1.2)
return HAM_HANDLED
}
if(weapon == CSW_M4A1 && pniveles[ attacker ] >= 40)
{
SetHamParamFloat(4, damage * 1.5)
return HAM_HANDLED
}
if(weapon == CSW_M4A1 && pniveles[ attacker ] >= 340)
{
SetHamParamFloat(4, damage * 1.5)
return HAM_HANDLED
}
if(weapon == CSW_M3 && pniveles[ attacker ] >= 70)
{
SetHamParamFloat(4, damage * 1.8)
return HAM_HANDLED
}
if(weapon == CSW_M3 && pniveles[ attacker ] >= 280)
{
SetHamParamFloat(4, damage * 1.8)
return HAM_HANDLED
}
if(weapon == CSW_M3 && pniveles[ attacker ] >= 450)
{
SetHamParamFloat(4, damage * 1.8)
return HAM_HANDLED
}
if(weapon == CSW_M3 && pniveles[ attacker ] >= 560)
{
SetHamParamFloat(4, damage * 1.8)
return HAM_HANDLED
}
if(weapon == CSW_M3 && pniveles[ attacker ] >= 810)
{
SetHamParamFloat(4, damage * 1.8)
return HAM_HANDLED
}
if(weapon == CSW_SG550 && pniveles[ attacker ] >= 520)
{
SetHamParamFloat(4, damage * 2.8)
return HAM_HANDLED
}
if(weapon == CSW_USP && pniveles[ attacker ] >= 10)
{
SetHamParamFloat(4, damage * 1.8)
return HAM_HANDLED
}
if(weapon == CSW_XM1014 && pniveles[ attacker ] >= 50)
{
SetHamParamFloat(4, damage * 1.5)
return HAM_HANDLED
}
if(weapon == CSW_XM1014 && pniveles[ attacker ] >= 430)
{
SetHamParamFloat(4, damage * 1.5)
return HAM_HANDLED
}
return HAM_IGNORED
}
new const Niveles[NivelesMaximos] =
{
50,
100,
150,
200,
250,
300,
...
}
public EventDeathMsg()
{
new killer = read_data(1)
new victim = read_data(2)
new headshot = read_data(3)
new xp, hs, puntos
if(pniveles[killer] > pniveles[victim]) xp = 6
if(pniveles[killer] < pniveles[victim]) xp = 5
if(pniveles[killer] == pniveles[victim]) xp = 7
if(g_puntos[killer] > g_puntos[victim]) xp = 15
if(g_puntos[killer] < g_puntos[victim]) xp = 17
if(g_puntos[killer] == g_puntos[victim]) xp = 18
if(victim == killer) return PLUGIN_CONTINUE;
if(headshot)
{
xp = xp + 15
hs = 1
puntos = puntos + 15
}
experienciaganada(killer, xp, hs, puntos)
chequearnivel(killer)
return PLUGIN_CONTINUE;
}
public chequearnivel( id )
{
if(pniveles[id] < NivelesMaximos)
{
while(pexperiencia[ id ] >= Niveles[pniveles[ id ]])
{
pniveles[ id ]++
ChatColor(id,"!g[Eagle] !yAhora eres nivel !g%d!", pniveles[ id ])
}
}
}
public experienciaganada ( id, xp, hs,puntos){
new nuevonivel,puntosganados
nuevonivel = Niveles[pniveles[id]] - pexperiencia[id]
pexperiencia[ id ] = pexperiencia[ id ] + xp
pexperienciaau[ id ] = xp
puntosganados = puntos
if(hs)
{
ChatColor(id,"!g[Eagle] !yHeadshot!, has ganado !g%d puntos !yy !g%dxp!!!!,!y nuevo nivel despues de:!g%dxp",puntosganados,pexperienciaau[id], nuevonivel)
}
else
{
ChatColor(id,"!g[Eagle] !y has ganado !g%dpuntos !yy !g%dxp!!!,!ynuevo nivel despues de:!g%dxp",puntosganados,pexperienciaau[id], nuevonivel)
}
}
stock ChatColor(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4") // Green Color
replace_all(msg, 190, "!y", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
replace_all(msg, 190, "!team2", "^0") // Team2 Color
if (id) players[0] = id; else get_players(players, count, "ch")
{
for (new i = 0; i < count; i++)
{
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
public fw_PlayerSpawn_Post(id)
{
if (!is_user_alive(id) || !get_user_team(id))
return;
}
guardar_datos(id){
static name[33]
get_user_name(id, name, charsmax(name))
adv_vault_set_start(g_vault)
adv_vault_set_field(g_vault, g_campos[CAMPO_LEVEL], pniveles[id])
adv_vault_set_field(g_vault, g_campos[CAMPO_XP], pexperiencia[id])
adv_vault_set_end(g_vault, 0, name)
adv_vault_set_end(g_vault, 0, nombre[id])
}
cargar_datos(id){
new name[32]
get_user_name(id,name,charsmax(name))
if(!adv_vault_get_prepare(g_vault, _, name))
{
client_print(id,print_chat,"No hay datos los cuales cargar")
pexperiencia[id] = 0
pniveles[id] = 0
pracha[id] = 0
return
}
pniveles[id] = adv_vault_get_field(g_vault, g_campos[CAMPO_LEVEL])
pexperiencia[id] = adv_vault_get_field(g_vault, g_campos[CAMPO_XP])
}
public client_putinserver(id){
set_task(2.0,"hud",id+123,_,_,"b")
get_user_name(id, xNombre[id], charsmax(xNombre))
}
public client_connect(id){
cargar_datos(id)
}
public client_disconnect(id){
guardar_datos(id)
remove_task(id+123)
}
public darnivel(id, level, cid)
{
if (!cmd_access(id, level, cid, 2))
return PLUGIN_HANDLED;
static arg[32], arg2[99], player, asd
read_argv(1, arg, sizeof arg - 1)
read_argv(2, arg2, sizeof arg2 - 1)
player = cmd_target(id, arg, CMDTARGET_ALLOW_SELF)
if (!player) return PLUGIN_HANDLED;
asd = (str_to_num(arg2))
pniveles[player] = asd
pexperiencia[player] = Niveles[pniveles[player]]
chequearnivel(player)
return PLUGIN_HANDLED;
}
public cmd_puntos ( id, level, cid )
{
if ( !cmd_access(id, level, cid, 3 ) )
return PLUGIN_HANDLED;
new arg[ 33 ], arg2[ 10 ]
read_argv( 1, arg, charsmax( arg ) )
read_argv( 2, arg2, charsmax( arg2 ) )
new Player = cmd_target( id, arg, CMDTARGET_ONLY_ALIVE )
if ( !Player )
{
client_print( id, print_console, "Jugador invalido!" )
return PLUGIN_HANDLED;
}
g_puntos[ Player ] = str_to_num( arg2 )
return PLUGIN_HANDLED;
}
"en la vida no triunfa el mas capaz, tampoco el mas rápido, en la vida triunfa solo aquel, que cree poder hacerlo"