06/06/2019, 01:29 PM
dejo el code de lo q hice, si me pueden ayudar a encontrar errorres... no me muestra las armas secundarias, lo puse por lvl al menu por ahora hasta terminarlo...
dejo una imagen
saludos
Código PHP:
// Extra Armas vars
new g_extrarma_s_name[MAX_EXTRARMAS_ITEMS][32] // caption
new g_extrarma_s_level[MAX_EXTRARMAS_ITEMS] // cost
new g_extrarma_s_i // loaded e
// Primary and Secondary Weapon Names
enum _:APDATOS
{
ANAME[32],
AITEMS[32],
AMODEL[32],
APMODEL[32],
ALEVEL,
ARESET,
ARESETMASTER,
Float:ADAMAGE
}
// ARMAS SECUNDARIAS
new const g_secondary_items[6][APDATOS] =
{
{"Glock 18C", "weapon_glock18", "default", "default", 0, 0, 0, 1.0},
{"USP .45 ACP Tactical","weapon_usp", "default", "default", 25, 0, 0, 1.10},
{"P228 Silver", "weapon_p228", "default", "default", 50, 0, 0, 1.23},
{"Five Seven", "weapon_fiveseven", "default", "default", 75, 0, 0, 1.35},
{"Dual Elite Berettas", "weapon_elite", "default", "default", 100, 0, 0, 1.50},
{"Desert Eagle .50 AE", "weapon_deagle", "default", "default", 125, 0, 0, 1.85}
}
Código PHP:
register_native("zp_register_arma_s", "native_register_arma_s", 1)
for (new i = 0; i < 18; i++)
native_register_arma_s2(g_secondary_items[i][ANAME], g_secondary_items[i][ALEVEL])
Código PHP:
// Buy Menu 2
show_menu_buy2(id)
{
static menu[999], len, weap
len = 0
// Title
len += formatex(menu[len], sizeof menu - 1 - len, "\y%Armas Secundarias^n", id)
// 1-6. Weapon List
for (weap = 0; weap < sizeof g_extrarma_s_i; weap++)
{
if(g_level[id] >= g_extrarma_s_level[weap])
{
len += formatex(menu[len], sizeof menu - 1 - len, "^n\r%d.\w %s", weap+1, g_extrarma_s_name[weap])
}
else
{
len += formatex(menu[len], sizeof menu - 1 - len, "^n\r%d.\d %s | \yLevel\r[\d%d\d]^n", weap+1, g_extrarma_s_name[weap], g_extrarma_s_level[weap])
}
}
// 0. Exit
len += formatex(menu[len], sizeof menu - 1 - len, "^n^n\r0.\w Salir", id)
show_menu(id, KEYSMENU, menu, -1, "Buy Menu 2")
}
// Buy Menu 2
public menu_buy2(id, key)
{
// Zombies or survivors get no guns
if (g_zombie[id] || g_survivor[id] || g_nemesis[id] || g_wesker[id] || g_protector[id] ||
g_civil[id] || g_l4d[id] || g_assassin[id] || g_depredador[id] || g_alien[id] || g_sniper[id] || !is_user_alive(id))
return PLUGIN_HANDLED;
// Special keys / weapon list exceeded
if (key >= sizeof g_secondary_items)
{
// Reshow menu unless user exited
if (key != MENU_KEY_EXIT)
show_menu_buy2(id)
return PLUGIN_HANDLED;
}
// Store selected weapon
WPN_AUTO_SEC = key
if(g_level[id] >= g_extrarma_s_level[WPN_SELECTION])
{
drop_weapons(id, 2)
buy_sec_weapon(id, WPN_AUTO_SEC)
}
else
show_menu_buy2(id)
return PLUGIN_HANDLED;
}
// Buy Primary Weapon
buy_sec_weapon(id, selection)
{
switch (selection)
{
case 0..5:
{
// Give the new weapon
fm_give_item(id, g_secondary_items[selection][AITEMS])
ExecuteHamB(Ham_GiveAmmo, id, MAXBPAMMO[get_weaponid(g_secondary_items[selection][AITEMS])], AMMOTYPE[get_weaponid(g_secondary_items[selection][AITEMS])], MAXBPAMMO[get_weaponid(g_secondary_items[selection][AITEMS])])
}
default: // Custom additions
{
ExecuteForward(g_fwExtraRmaSelected2, g_fwDummyResult, id, selection);
}
}
// Weapons bought
g_canbuy[id] = false
if(WPN_AUTO_ON == 0)
show_menu_buy3(id);
}
Código PHP:
public native_register_arma_s(const name[], level)
{
// Reached extra items limit
if (g_extrarma_s_i >= sizeof g_extrarma_s_name)
return -1;
// Strings passed byref
param_convert(1)
// Add the item
copy(g_extrarma_s_name[g_extrarma_s_i], sizeof g_extrarma_s_name[] - 1, name)
g_extrarma_s_level[g_extrarma_s_i] = level
// Increase registered items counter
g_extrarma_s_i++
// Return id under which we registered the item
return g_extrarma_s_i-1;
}
// Function: zp_register_extra_arma (to be used within this plugin only)
native_register_arma_s2(const name[], level)
{
// Reached extra items limit
if (g_extrarma_s_i >= sizeof g_extrarma_s_name)
return;
// Add the item
copy(g_extrarma_s_name[g_extrarma_s_i], sizeof g_extrarma_s_name[] - 1, name)
g_extrarma_s_level[g_extrarma_s_i] = level
// Increase registered items counter
g_extrarma_s_i++
}
dejo una imagen
saludos