25/09/2018, 10:38 PM
Buenas, Estoy armando un plugins xD pero me tira unos logs en ciertas lineas.
las lineas donde tira logs es esta
y esta
Otra cosa, cuando entro aparece el hud pero al momento de unirme a un equipo deja de salir el hud
Ahora me fije, y algunos logs aparecen en otras lineas pero wue
L 09/25/2018 - 21:36:56: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20180925.log")
L 09/25/2018 - 21:36:56: Function "CmdMenuPrincipal" was not found
L 09/25/2018 - 21:36:56: [AMXX] Displaying debug trace (plugin "Sistema_niveles.amxx")
L 09/25/2018 - 21:36:56: [AMXX] Run time error 19: function not found
L 09/25/2018 - 21:36:56: [AMXX] [0] Sistema_niveles.sma::plugin_init (line 65)
L 09/25/2018 - 21:37:06: ERROR Invalid VaultIndex: 0
L 09/25/2018 - 21:37:06: [AMXX] Displaying debug trace (plugin "Sistema_niveles.amxx")
L 09/25/2018 - 21:37:06: [AMXX] Run time error 10: native error (native "adv_vault_set_start")
L 09/25/2018 - 21:37:06: [AMXX] [0] Sistema_niveles.sma::Guardar (line 205)
L 09/25/2018 - 21:37:06: [AMXX] [1] Sistema_niveles.sma::client_disconnect (line 114)
Código PHP:
/*Librerias*/
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <adv_vault>
#include <hamsandwich>
//#include <csx>
/*Macro de niveles */
#define levelup(%1) (%1 * %1 +10)
/* Registro de plugin*/
new const szInfoPlugin[][] = {
{"Sistema de niveles"},
{"1.0"},
{"Kyabe"}
}
/*Enumeradores*/
enum {
EXP,
LEVEL,
RANGO,
CAMPOS_DATA
}
enum RANGOS_DATA {
NOMBRE[64],
LEVEL_RANGO
}
/*Variables*/
new iExp[33];
new iLevel[33];
new iPlayerTag[33];
new iAdminTag[33];
new iRango[33];
/*Variables globales*/
new Vault;
new iMaxPlayers;
new cvar_maxlevel, cvar_expkill, cvar_expC4, cvar_dropadmin
/*Constantes*/
new TASK_MAINHUD = 3646
new HUD_CHANNEL = 1
new Float:HUD_STATS_X = 0.01
new Float:HUD_STATS_Y = 0.22
new iData[CAMPOS_DATA]
new const iRangos_Data[][RANGOS_DATA] = {
{"Sin rango", 1},
{"Cadete", 10},
{"Distinguido", 18},
{"Soldado", 24},
{"Soldado razo", 30},
{"Sargento", 35},
{"Teniente", 48},
{"Coronel", 60},
{"Mayor", 75},
{"Almirante", 90}
}
/*Plugin INIT*/
public plugin_init() {
register_plugin(szInfoPlugin[0], szInfoPlugin[1], szInfoPlugin[2])
register_clcmd("say", "HookSay")
register_clcmd("say_team", "BlockSay_Team")
register_clcmd("nightvision", "CmdMenuPrincipal")
register_concmd("amx_niveles", "CmdDarNiveles", ADMIN_RCON, "<Target><Niveles>")
cvar_maxlevel = register_cvar("amx_maxlevel", "100")
cvar_expkill = register_cvar("amx_expkill", "50")
cvar_expC4 = register_cvar("amx_expC4", "75")
cvar_dropadmin = register_cvar("amx_dropadmin", "2") //esta cvar
RegisterHam(Ham_Killed, "player", "fw_PlayerKilled", true)
register_logevent("Round_End", 2, "1=Round_End")
Vault = adv_vault_is_open("Datos_PJ")
iData[EXP] = adv_vault_register_field(Vault, "EXP")
iData[LEVEL] = adv_vault_register_field(Vault, "LEVEL")
iData[RANGO] = adv_vault_register_field(Vault, "RANGOS")
adv_vault_init(Vault)
iMaxPlayers = get_maxplayers()
}
/*EVENTOS*/
public client_putinserver(iIndex)
{
get_user_name(iIndex, iPlayerTag[iIndex], charsmax(iPlayerTag))
iExp[iIndex] = 0
iLevel[iIndex] = 1
iRango[iIndex] = 0
if(get_user_flags(iIndex) & ADMIN_RCON)
formatex(iAdminTag[iIndex], charsmax(iAdminTag), "STAFF")
else if(get_user_flags(iIndex) & ADMIN_IMMUNITY)
formatex(iAdminTag[iIndex], charsmax(iAdminTag), "ENCARGADO")
else if(get_user_flags(iIndex) & ADMIN_LEVEL_A)
formatex(iAdminTag[iIndex], charsmax(iAdminTag), "ADMIN")
else if(get_user_flags(iIndex) & ADMIN_LEVEL_B)
formatex(iAdminTag[iIndex], charsmax(iAdminTag), "VIP")
else
formatex(iAdminTag[iIndex], charsmax(iAdminTag), "USER")
set_task(1.0, "HUD", iIndex+TASK_MAINHUD)
//Cargar(iIndex)
}
public client_disconnect(iIndex)
{
Guardar(iIndex)
remove_task(iIndex+TASK_MAINHUD)
}
public fw_PlayerKilled(victim, attacker, shouldgib)
{
if(victim == attacker || !is_user_alive(attacker))
return;
CheckLevel(attacker, (get_pcvar_num(cvar_expkill)))
}
public Round_End()
{
for(new id = 1; id <= iMaxPlayers; id++)
{
if(!is_user_connected(id))
continue;
ChatColor(id, "^4[PRE] ^1Datos guardados")
Guardar(id)
}
}
/*public bomb_explode(planter, defuser)
{
ChatColor(planter, "^4[PRE] ^1Ganas ^4%d ^1por que exploto el C4", (get_pcvar_num(cvar_expC4)))
CheckLevel(planter, (get_pcvar_num(cvar_expC4)))
}
public bomb_defused(defuser)
{
ChatColor(defuser, "^4[PRE] ^1Ganas ^%d ^1Por desactivar el C4", (get_pcvar_num(cvar_expC4)))
CheckLevel(defuser, (get_pcvar_num(cvar_expC4)))
}*/
public CheckLevel(iIndex, iData)
{
new Level = false
iExp[iIndex] = (is_user_admin(iIndex))? (iData * (get_pcvar_num(cvar_dropadmin))) : iData
iExp[iIndex] = clamp(iExp[iIndex], 0, levelup((get_pcvar_num(cvar_maxlevel))))
if(iExp[iIndex] >= levelup(iLevel[iIndex]))
{
iLevel[iIndex]++
Level = true
}
if(Level)
{
ChatColor(iIndex, "^4[PRE] ^1haz ascendido a nivel %i", iLevel[iIndex])
}
CheckRango(iIndex)
}
public CheckRango(iIndex)
{
new Aumento = false
while(iLevel[iIndex] >= iRangos_Data[iRango[iIndex]][LEVEL_RANGO])
{
Aumento = true
iRango[iIndex]++
}
if(Aumento)
{
ChatColor(0, "^4[PRE] ^1El usuario ^3%s ^1ha sido ascendido a ^4%s", iPlayerTag[iIndex], iRangos_Data[iRango[iIndex]][NOMBRE])
Aumento = false
}
}
public HUD(iIndex)
{
iIndex -= TASK_MAINHUD
set_hudmessage(255, 0, 0, HUD_STATS_X, HUD_STATS_Y, 0, 0.0, 1.0, 0.0, 0.0, HUD_CHANNEL)
ShowSyncHudMsg(iIndex, CreateHudSyncObj(), "Nombre:%s^nNivel:%d (%d/%d)^nRango:%s^nEstatus:%s", iPlayerTag[iIndex], iLevel[iIndex], iExp[iIndex], levelup(iLevel[iIndex]), iRangos_Data[iRango[iIndex]][NOMBRE], iAdminTag[iIndex])
}
/*HOOK SAY*/
public HookSay(iIndex)
{
static szSay[192], szNombre[32];
read_args(szSay, charsmax(szSay))
remove_quotes(szSay)
replace_all(szSay, charsmax(szSay), "%", "")
get_user_name(iIndex, szNombre, 32)
formatex(szSay, charsmax(szSay), "%s ^3[^4%s^3] %s:%s%s", (is_user_alive(iIndex))? "" : "*MUERTO", iRangos_Data[iRango[iIndex]][NOMBRE], szNombre, (is_user_admin(iIndex))? "^4" : "", szSay)
ChatColor(0, szSay)
}
public BlockSay_Team(iIndex)
{
ChatColor(iIndex, "^4[PRE] ^1El chat de equipo esta desactivado")
return;
}
/*ADV_VAULT*/
public Guardar(iIndex)
{
adv_vault_set_start(Vault)
adv_vault_set_field(Vault, iData[EXP], iExp[iIndex], charsmax(iExp))
adv_vault_set_field(Vault, iData[LEVEL], iLevel[iIndex], charsmax(iLevel))
adv_vault_set_field(Vault, iData[RANGO], iRango[iIndex], charsmax(iRango))
adv_vault_set_end(Vault, 0, iPlayerTag[iIndex])
}
public Cargar(iIndex)
{
//if(!adv_vault_get_prepare(Vault, _, iPlayerTag[iIndex]))
//return;
iExp[iIndex] = adv_vault_get_field(Vault, iData[EXP])
iLevel[iIndex] = adv_vault_get_field(Vault, iData[LEVEL])
iRango[iIndex] = adv_vault_get_field(Vault, iData[RANGO])
}
/*FUNCIONES EXTRAS*/
public CmdDarNiveles(iIndex)
{
new iData[32], gLevel[3], iTarget, iAdminName[32];
read_argv(1, iData, charsmax(iData))
read_argv(2, gLevel, charsmax(gLevel))
get_user_name(iIndex, iAdminName, 32)
iTarget = cmd_target(iIndex, iData, 0)
if(iTarget)
return;
iLevel[iIndex] += str_to_num(gLevel)
ChatColor(iIndex, "^4[PRE] ^1Le haz dado ^4%i ^1Niveles a ^3%s", str_to_num(gLevel), iTarget)
ChatColor(0, "^4[PRE] ^1El admin ^3%s ^1Ha dado ^4%i ^1Niveles a %s", iAdminName, gLevel, iTarget)
ChatColor(iTarget, "^4[PRE] ^1El admin ^4%s ^1Te ha dado ^4%i ^1Niveles", iAdminName, gLevel)
}
stock ChatColor(const index, const input[], any:...)
{
new count = 1, players[32], len
static msg[192]
len = formatex(msg,charsmax( msg ), "");
vformat(msg[len], charsmax(msg), input, 3)
msg[191] = '^0';
replace_all(msg, 190, "!g", "^4") // Color Verde
replace_all(msg, 190, "!y", "^1") // Color Normal
replace_all(msg, 190, "!t", "^3") // Color de Equipo
if (index) players[0] = index; 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();
}
}
}
}
las lineas donde tira logs es esta
Código PHP:
if(!adv_vault_get_prepare(Vault, _, iPlayerTag[iIndex]))
return;
y esta
Código PHP:
Cargar(iIndex)
Otra cosa, cuando entro aparece el hud pero al momento de unirme a un equipo deja de salir el hud
Código PHP:
public HUD(iIndex)
{
iIndex -= TASK_MAINHUD
set_hudmessage(255, 0, 0, HUD_STATS_X, HUD_STATS_Y, 0, 0.0, 1.0, 0.0, 0.0, HUD_CHANNEL)
ShowSyncHudMsg(iIndex, CreateHudSyncObj(), "Nombre:%s^nNivel:%d (%d/%d)^nRango:%s^nEstatus:%s", iPlayerTag[iIndex], iLevel[iIndex], iExp[iIndex], levelup(iLevel[iIndex]), iRangos_Data[iRango[iIndex]][NOMBRE], iAdminTag[iIndex])
}
Ahora me fije, y algunos logs aparecen en otras lineas pero wue
L 09/25/2018 - 21:36:56: Info (map "de_dust2") (file "addons/amxmodx/logs/error_20180925.log")
L 09/25/2018 - 21:36:56: Function "CmdMenuPrincipal" was not found
L 09/25/2018 - 21:36:56: [AMXX] Displaying debug trace (plugin "Sistema_niveles.amxx")
L 09/25/2018 - 21:36:56: [AMXX] Run time error 19: function not found
L 09/25/2018 - 21:36:56: [AMXX] [0] Sistema_niveles.sma::plugin_init (line 65)
L 09/25/2018 - 21:37:06: ERROR Invalid VaultIndex: 0
L 09/25/2018 - 21:37:06: [AMXX] Displaying debug trace (plugin "Sistema_niveles.amxx")
L 09/25/2018 - 21:37:06: [AMXX] Run time error 10: native error (native "adv_vault_set_start")
L 09/25/2018 - 21:37:06: [AMXX] [0] Sistema_niveles.sma::Guardar (line 205)
L 09/25/2018 - 21:37:06: [AMXX] [1] Sistema_niveles.sma::client_disconnect (line 114)
Si no te gusta algo, cámbialo. Si no lo puedes cambiar, cambia la forma en que piensas sobre ello <3