01/07/2019, 02:34 PM
Hola, tengo el siguiente problema..
Logs:
Codigo:
Logs:
Cita:L 07/01/2019 - 14:38:44: [AMXX] Displaying debug trace (plugin "mejora_armas.amxx", version "1.0")
L 07/01/2019 - 14:38:44: [AMXX] Run time error 11: divide
L 07/01/2019 - 14:38:44: [AMXX] [0] mejora_armas.sma::mostar_menu_principal (line 165)
L 07/01/2019 - 14:38:44: [AMXX] [1] mejora_armas.sma::clcmd__ChangeTeam (line 139)
Codigo:
Código PHP:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <safemenu>
#define PLUGIN "Mejorame :D"
#define VERSION "1.0"
#define AUTHOR "Sambuseti"
#define porcentaje(%1,%2,%3) (%1 * %3) / %2 // Porcentaje de cuanto tiene
enum
{
FM_CS_TEAM_UNASSIGNED = 0,
FM_CS_TEAM_T,
FM_CS_TEAM_CT,
FM_CS_TEAM_SPECTATOR
};
enum
{
_TMP = 0,
_MAC10,
_MP5NAVY,
_GALIL,
_SG552,
TOTAL_ITENMENU
};
new const menu_Armas[][] =
{
// ---Armas Primarias--
"Taktische Maschinenpistole",
"M-10",
"Maschinepistole 5",
"IWI Galil ACE",
"Sturmgewehr 90"
};
new const Info_Submenu[][] =
{
// ---Armas Primarias--
"\wPistola ametralladora, fabricada en\y Austria.",
"\wPistola ametralladora compacta, fabricada en\y Estado Unidos.",
"\wSubfusil, fabricada en\y Estados Unidos.",
"\wFusil de asalto, fabricada en\y Israel.",
"\wFusil de asalto, fabricada en\y Suiza"
};
enum _:APDATOS
{
ANAME[33],
AITEMS[32],
AMODEL[100],
APMODEL[32],
MENU,
MUERTES,
Float:ADAMAGE
};
new const g_primary_items[14][APDATOS] =
{
// NAME ID VMODEL PMODEL Menu Muertes Daño
{"Taktische Maschinenpistole", "weapon_tmp", "default", "default", _TMP, 0, 1.0},
{"Taktische Maschinenpistole (II)", "weapon_tmp", "default", "default", _TMP, 1, 2.0},
{"Taktische Maschinenpistole (III)", "weapon_tmp", "default", "default", _TMP, 2, 3.0},
{"Taktische Maschinenpistole (IV)", "weapon_tmp", "default", "default", _TMP, 3, 4.0},
{"Taktische Maschinenpistole (VI)", "weapon_tmp", "default", "default", _TMP, 4, 5.0},
{"Taktische Maschinenpistole (VII)", "weapon_tmp", "default", "default", _TMP, 10, 12.0},
{"M-10", "weapon_mac10", "default", "default", _MAC10, 0, 1.0},
{"M-10 (II)", "weapon_mac10", "default", "default", _MAC10, 2, 2.0},
{"Maschinepistole 5", "weapon_mp5navy", "default", "default", _MP5NAVY, 0, 1.0},
{"Maschinepistole 5 (II)", "weapon_mp5navy", "default", "default", _MP5NAVY, 2, 2.0},
{"IWI Galil ACE", "weapon_galil", "default", "default", _GALIL, 0, 1.0},
{"IWI Galil ACE (II)", "weapon_galil", "default", "default", _GALIL, 2, 5.0},
{"Sturmgewehr 90", "weapon_sg552", "default", "default", _SG552, 0, 1.0},
{"Sturmgewehr 90 (II)", "weapon_sg552", "default", "default", _SG552, 2, 56.0}
};
new g_menuitem[ 33 ], g_armas[ 33 ][ sizeof g_primary_items ], g_armaselec[ 33 ][ TOTAL_ITENMENU ];
// contemos juntos
new finis_weapon_tipe[33][ TOTAL_ITENMENU ], g_total_weapon_tipe[33][ TOTAL_ITENMENU ], num_defaul_weapon[33][ TOTAL_ITENMENU ]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("chooseteam", "clcmd__ChangeTeam");
register_clcmd("jointeam", "clcmd__ChangeTeam");
}
public client_putinserver(id)
{
for(new i = 0; i < sizeof(g_primary_items); ++i)
{
g_armas[id][i] = 0;
for(new j = 0; j < TOTAL_ITENMENU; j++)
{
if(g_primary_items[i][MENU] == j)
{
g_total_weapon_tipe[id][j]++
finis_weapon_tipe[id][j] = i
if(equal(g_primary_items[i][AMODEL], "default"))
g_armaselec[id][j] = i;
}
if(equal(g_primary_items[i][AMODEL], "default"))
num_defaul_weapon[id][j] = i
}
}
g_armaselec[id][_TMP] = 7;
g_armaselec[id][_MP5NAVY] = g_armaselec[id][_MP5NAVY]+5;
}
public clcmd__ChangeTeam(const id)
{
if(!is_user_connected(id))
{
return PLUGIN_HANDLED;
}
new iTeam;
iTeam = fm_cs_get_user_team(id);
if(iTeam == FM_CS_TEAM_SPECTATOR || iTeam == FM_CS_TEAM_UNASSIGNED)
{
return PLUGIN_CONTINUE;
}
mostar_menu_principal( id );
return PLUGIN_HANDLED;
}
// Game Menu
public mostar_menu_principal( id )
{
if(!is_user_connected(id))
{
return;
}
new i
new menuid, text[ 100 ], num[ sizeof menu_Armas ];
menuid = menu_create("\r[Armamento]\yMejora de Armas^n^n\yEliminar enemigos^ncon el arma que deseas mejorar^n", "menu_principal");
for(i = 0; i < TOTAL_ITENMENU; i++)
{
num_to_str(i, num, charsmax(num));
if(g_total_weapon_tipe[id][i] == 0)
{
client_print(id, print_chat, "Se Contaron %d armas en el menu de %s, por lo tanto no aparece", g_total_weapon_tipe[id][i], menu_Armas[i]);
continue;
}
formatex(text, charsmax(text), "%s \y| \wMejorado:\r %i%\y%", menu_Armas[i], porcentaje((g_armaselec[id][i]-num_defaul_weapon[id][i]), (finis_weapon_tipe[id][i]-num_defaul_weapon[id][i]), g_total_weapon_tipe[id][i]));
menu_additem(menuid,text, num);
client_print(id, print_chat, "Se Contaron %d armas en el menu de %s", g_total_weapon_tipe[id][i], menu_Armas[i]);
}
menu_setprop(menuid, MPROP_EXITNAME, "Volver");
if(pev_valid(id) == 2)
{
set_pdata_int(id, 205, 0, 5);
}
ShowLocalMenu(id, menuid);
}
public menu_principal(id, menuid, item)
{
if(!is_user_connected(id))
{
DestroyLocalMenu(id, menuid);
return PLUGIN_HANDLED;
}
if(item == MENU_EXIT)
{
DestroyLocalMenu(id, menuid);
return PLUGIN_HANDLED;
}
new buffer[4], dummy
menu_item_getinfo(menuid, item, dummy, buffer, charsmax(buffer), _, _, dummy)
if (str_to_num(buffer) == 6) return PLUGIN_HANDLED;
g_menuitem[ id ] = str_to_num(buffer)
DestroyLocalMenu(id, menuid);
show_menu_armas( id )
return PLUGIN_HANDLED;
}
public show_menu_armas( id )
{
if(!is_user_connected(id))
{
return;
}
new menuid, text[ 200 ];
for (new i = 0; i < sizeof g_primary_items; i++)
{
if(g_primary_items[i][MENU] == g_menuitem[ id ])
{
if(g_armaselec[id][g_menuitem[ id ]] == i)
{
formatex(text, charsmax(text), "\r[ZP:SOLDIER]\yMejorar \d%s^n^nProxima mejora: \w%s^n\yMuertes necesarias: \w%d", menu_Armas[g_menuitem[ id ]], g_primary_items[g_armaselec[id][g_menuitem[ id ]]+1][ANAME], g_primary_items[g_armaselec[id][g_menuitem[ id ]]+1][MUERTES])
menuid = menu_create(text, "menu_armas");
formatex(text, charsmax(text), "Mejora Actual: %s", g_primary_items[g_armaselec[id][g_menuitem[ id ]]][ANAME])
menu_additem(menuid, text, "1");
}
}
}
formatex(text, charsmax(text), "^n%s", Info_Submenu[g_menuitem[ id ]])
Acentos(text, charsmax(text))
menu_addtext(menuid, text, 1);
menu_setprop( menuid, MPROP_EXITNAME , "Volver");
if(pev_valid(id) == 2)
{
set_pdata_int(id, 205, 0, 5);
}
ShowLocalMenu(id, menuid);
}
public menu_armas(id, menuid, item)
{
if(!is_user_connected(id))
{
DestroyLocalMenu(id, menuid);
return PLUGIN_HANDLED;
}
if(item == MENU_EXIT)
{
DestroyLocalMenu(id, menuid);
mostar_menu_principal( id )
return PLUGIN_HANDLED;
}
new buffer[4], dummy
menu_item_getinfo(menuid, item, dummy, buffer, charsmax(buffer), _, _, dummy)
DestroyLocalMenu(id, menuid);
return PLUGIN_HANDLED;
}
stock fm_cs_get_user_team(id)
{
if (pev_valid(id) != 2)
{
return FM_CS_TEAM_UNASSIGNED;
}
return get_pdata_int(id, 114, 5);
}
stock Acentos(szText[]= "", len = 0)
{
replace_all(szText, len, "á", "á")
replace_all(szText, len, "Á", "Ã")
replace_all(szText, len, "é", "é")
replace_all(szText, len, "É", "É")
replace_all(szText, len, "í", "Ã*")
replace_all(szText, len, "Í", "Ã")
replace_all(szText, len, "ó", "ó")
replace_all(szText, len, "Ó", "Ó")
replace_all(szText, len, "ú", "ú")
replace_all(szText, len, "Ú", "Ú")
replace_all(szText, len, "ñ", "ñ")
replace_all(szText, len, "Ñ", "Ñ")
static szReturn[1024];
formatex(szReturn, charsmax(szReturn), szText);
return szReturn;
}