Mensajes: 336
Temas: 26
Registro en: Sep 2016
Reputación:
5
27/11/2018, 11:54 AM
(Última modificación: 27/11/2018, 12:03 PM por GoldenCosta. Edited 2 times in total.)
hola buenas tardes....
tengo un problema con los clip que estoy cambiando a un menu de armas modificado....
Código PHP: enum _:DATOS { PNAME[32], PITEMS[32], PMODEL[32], PLEVEL[32], PRESET[32], Float:PDAMAGE[32], PMR[32], PCSW[32], PCLIPS[32], PAMMO[32] }
Código PHP: new Armass[MAX_SECUNDARIAS][DATOS] = { {"Glock 18C", "weapon_glock18", "models/v_glock18.mdl", 0, 0, 1.0, 0, CSW_GLOCK18, 20 , 90}, {"USP .45", "weapon_usp", "models/v_usp.mdl", 10, 0, 1.0, 0, CSW_USP, 20, 90}, {"P228 Compact", "weapon_p228", "models/v_p228.mdl", 30, 0, 1.0, 0, CSW_P228, 20, 90}, {"FiveseveN", "weapon_fiveseven", "models/v_fiveseven.mdl", 60, 0, 1.0, 0, CSW_FIVESEVEN, 20, 90}, {"Dual Elite", "weapon_elite", "models/v_elite.mdl", 80, 0, 1.0, 0, CSW_ELITE, 20, 90} }
en el codigo donde pongo los clip en 20 me salen las armas asi.... pero cuando quiero modificar una cambiandole el clip no me lo permite dejando a todas las armas con 12 balas, osea no toma por separado los clips...
lo probe y testie creando nuevas variables y anda perfecto pero me gustaria que ande desde "Armass[id][PCLIPS]"
Código PHP: public fw_AttachToPlayerDEAGLE(ent, id) { cs_set_weapon_ammo(ent, Armass[id][PCLIPS]) cs_set_user_bpammo(id, Armass[id][PCSW], Armass[id][PAMMO]) }
alguna idea asi pruebo.. saludos
Mensajes: 7,178
Temas: 93
Registro en: Aug 2014
Reputación:
63
27/11/2018, 12:06 PM
(Última modificación: 27/11/2018, 12:08 PM por Hinami. Edited 2 times in total.)
No te entendí
pero esto
Código PHP: cs_set_weapon_ammo(ent, Armass[id][PCLIPS]) cs_set_user_bpammo(id, Armass[id][PCSW], Armass[id][PAMMO])
sin saber todo to code, CREO que esta mal
en tu menu debes cachear el arma que elegiste en una variable
ej;
variable[ id ] = item;
y luego debe quedarte así
Código PHP: cs_set_weapon_ammo(ent, Armass[variable[ id ]][PCLIPS]) cs_set_user_bpammo(id, Armass[variable[ id ]][PCSW], Armass[id][PAMMO])
pd;
https://forums.alliedmods.net/showthread.php?t=103939
Mensajes: 336
Temas: 26
Registro en: Sep 2016
Reputación:
5
27/11/2018, 12:12 PM
(Última modificación: 27/11/2018, 12:16 PM por GoldenCosta. Edited 1 time in total.)
(27/11/2018, 12:06 PM)Hypnotize escribió: No te entendí
pero esto
Código PHP: cs_set_weapon_ammo(ent, Armass[id][PCLIPS]) cs_set_user_bpammo(id, Armass[id][PCSW], Armass[id][PAMMO])
sin saber todo to code, CREO que esta mal
en tu menu debes cachear el arma que elegiste en una variable
ej;
variable[ id ] = item;
y luego debe quedarte así
Código PHP: cs_set_weapon_ammo(ent, Armass[variable[ id ]][PCLIPS]) cs_set_user_bpammo(id, Armass[variable[ id ]][PCSW], Armass[id][PAMMO])
asi dices que lo haga... de esa manera si funciona...
Código PHP: new armita[33] = 12 // balitas
cs_set_weapon_ammo(ent, armita[id])
cs_set_user_bpammo(id, Armass[variable[ id ]][PCSW], Armass[id][PAMMO])
Armass[variable[ id ]][PCLIPS] = ser refiere que estoy seleccionando el del enum DATOS la variable PCLIPS del new Armass[MAX_SECUNDARIAS]
lo cual cuando la modifico no me entrega las balas que quiero poner
Mensajes: 546
Temas: 65
Registro en: Jan 2017
Reputación:
4
lo registraste solo con el weapon_deagle o para todas las armas?
Mensajes: 336
Temas: 26
Registro en: Sep 2016
Reputación:
5
27/11/2018, 12:23 PM
(Última modificación: 27/11/2018, 12:23 PM por GoldenCosta. Edited 1 time in total.)
(27/11/2018, 12:19 PM)warrior escribió: lo registraste solo con el weapon_deagle o para todas las armas?
si... todas las armas por separadas registradas
Código PHP: RegisterHam(Ham_Item_AttachToPlayer, "weapon_deagle", "fw_AttachToPlayerDEAGLE") RegisterHam(Ham_Item_PostFrame, "weapon_deagle","fw_PostFrameDEAGLE")
Mensajes: 546
Temas: 65
Registro en: Jan 2017
Reputación:
4
Código PHP: const SECONDARY_WEAPONS_BIT_SUM = (1<<CSW_P228)|(1<<CSW_ELITE)|(1<<CSW_FIVESEVEN)|(1<<CSW_USP)|(1<<CSW_GLOCK18)|(1<<CSW_DEAGLE)
Código PHP: new weapon_name[24] for (new i = 1; i <= 30; i++) { if ((SECONDARY_WEAPONS_BIT_SUM & 1 << i) && get_weaponname(i, weapon_name, 23)) { RegisterHam(Ham_Item_AttachToPlayer, weapon_name, "fw_AttachToPlayer") RegisterHam(Ham_Item_PostFrame, weapon_name, "fw_PostFrame") } }
Código PHP: public fw_AttachToPlayer(ent, id){ if(g_isalive[id]){ cs_set_weapon_ammo(ent, menu_death_2[g_arma_secundaria[id]][item_balas_2]) cs_set_user_bpammo(id, menu_death_2[g_arma_secundaria[id]][item_id_2], menu_death_2[g_arma_secundaria[id]][item_balas_2]) } }
public fw_PostFrame(ent) { static id ; id = pev(ent, pev_owner) if(menu_death_2[g_arma_secundaria[id]][item_balas_2] == -1) return if(g_isalive[id]){ static iMaxClip , iBpAmmo , iClip , fInReload, Float:flNextAttack ; iMaxClip = menu_death_2[g_arma_secundaria[id]][item_balas_2] iBpAmmo = cs_get_user_bpammo(id, menu_death_2[g_arma_secundaria[id]][item_id_2]) fInReload = get_pdata_int(ent, 54, 4) flNextAttack = get_pdata_float(id, 83, 5) iClip = cs_get_weapon_ammo(ent) if( fInReload && flNextAttack <= 0.0 ) { new j = min(iMaxClip - iClip, iBpAmmo) cs_set_weapon_ammo(ent, iClip + j) cs_set_user_bpammo(id, menu_death_2[g_arma_secundaria[id]][item_id_2], iBpAmmo - j) set_pdata_int(ent, 54, 0, 4) fInReload = 0 }
static iButton ; iButton = pev(id, pev_button) if( iButton & IN_RELOAD && !fInReload ) { if( iClip >= iMaxClip ) { set_pev(id, pev_button, iButton & ~IN_RELOAD) SendWeaponAnim(id, 0) } } } }
fn_set_animation(id, animation) { entity_set_int(id, EV_INT_weaponanim, animation) message_begin(MSG_ONE, SVC_WEAPONANIM, _, id) write_byte(animation) write_byte(entity_get_int(id, EV_INT_body)) message_end() }
Tratá de adapartarlo...
Mensajes: 336
Temas: 26
Registro en: Sep 2016
Reputación:
5
dale gracias.... cualquier cosa consulto...
Mensajes: 3,238
Temas: 47
Registro en: Feb 2015
Reputación:
34
27/11/2018, 02:44 PM
(Última modificación: 27/11/2018, 02:44 PM por Skylar. Edited 1 time in total.)
(27/11/2018, 12:12 PM)GoldenCosta escribió: (27/11/2018, 12:06 PM)Hypnotize escribió: No te entendí
pero esto
Código PHP: cs_set_weapon_ammo(ent, Armass[id][PCLIPS]) cs_set_user_bpammo(id, Armass[id][PCSW], Armass[id][PAMMO])
sin saber todo to code, CREO que esta mal
en tu menu debes cachear el arma que elegiste en una variable
ej;
variable[ id ] = item;
y luego debe quedarte así
Código PHP: cs_set_weapon_ammo(ent, Armass[variable[ id ]][PCLIPS]) cs_set_user_bpammo(id, Armass[variable[ id ]][PCSW], Armass[id][PAMMO])
asi dices que lo haga... de esa manera si funciona...
Código PHP: new armita[33] = 12 // balitas
cs_set_weapon_ammo(ent, armita[id])
cs_set_user_bpammo(id, Armass[variable[ id ]][PCSW], Armass[id][PAMMO])
Armass[variable[ id ]][PCLIPS] = ser refiere que estoy seleccionando el del enum DATOS la variable PCLIPS del new Armass[MAX_SECUNDARIAS]
lo cual cuando la modifico no me entrega las balas que quiero poner
Está mal, no es "new armita[33] = 12", debes poner:
Código PHP: new arma[33] // funcion donde das el arma arma[id] = item // luego cs_set_user_bpammo(id, Armass[arma[id]][PCSW], Armass[arma[id]][PAMMO])
Debes almacenar el item elegido en la variable
Mensajes: 15
Temas: 0
Registro en: Jun 2018
Reputación:
0
Ademas que los niveles y reset de cada arma arma no son strings, son numeros enteros, lo mismo para las balas del clip como del cargador y el daño un float, dudo que eso te compile sin tirarte ningún error.
Mensajes: 336
Temas: 26
Registro en: Sep 2016
Reputación:
5
(27/11/2018, 08:31 PM)HyperstacK escribió: Ademas que los niveles y reset de cada arma arma no son strings, son numeros enteros, lo mismo para las balas del clip como del cargador y el daño un float, dudo que eso te compile sin tirarte ningún error.
Armass[id][PCLIPS] lo estoy llamando como numero entero a la funcion.... no como un float y si compila solo que no lo estoy haciendo la manera adecuada, es por eso mismo se mezclan todas las demas opciones o solo toma uno de clips al ser tantos en un string, lo que si es mas problabe como dijo skylar tengo que almacenar el item elegido en una sola variable, ya teniendo eso cambiaria
Mensajes: 15
Temas: 0
Registro en: Jun 2018
Reputación:
0
28/11/2018, 01:33 PM
(Última modificación: 28/11/2018, 01:34 PM por HyperstacK. Edited 1 time in total.)
Entonces tu enumerador debería ser asi ya que el weapon ent es un string, lo mismo con el nombre, y el model del arma.
Código PHP: enum _:DATOS { PNAME[32][64], PITEMS[32][64], PMODEL[32][64], PLEVEL[32], PRESET[32], Float:PDAMAGE[32], PMR[32], PCSW[32], PCLIPS[32], PAMMO[32] }
Mensajes: 6,664
Temas: 81
Registro en: Jan 2014
Reputación:
68
(28/11/2018, 01:33 PM)HyperstacK escribió: Entonces tu enumerador debería ser asi ya que el weapon ent es un string, lo mismo con el nombre, y el model del arma.
Código PHP: enum _:DATOS { PNAME[32][64], PITEMS[32][64], PMODEL[32][64], PLEVEL[32], PRESET[32], Float:PDAMAGE[32], PMR[32], PCSW[32], PCLIPS[32], PAMMO[32] }
No.
Como dijo hypno, debes guardar el id del item que elegiste en una variable para usarlo.
Código PHP: new g_iSecondary[33]
// En el handler del menu g_iSecondary[index] = item;
// Usando la constante: Armas[ g_iSecondary[index] ][ PNAME ];
// Si lo usas asi: Armas[ id ] [ PNAME ] //El valor siempre sera lo que vale tu id de usuario (si testeas solo sera 1)
► NO DOY AYUDA VIA MENSAJE PRIVADO ◄
* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Mensajes: 15
Temas: 0
Registro en: Jun 2018
Reputación:
0
(28/11/2018, 02:26 PM)kikizon2 escribió: (28/11/2018, 01:33 PM)HyperstacK escribió: Entonces tu enumerador debería ser asi ya que el weapon ent es un string, lo mismo con el nombre, y el model del arma.
Código PHP: enum _:DATOS { PNAME[32][64], PITEMS[32][64], PMODEL[32][64], PLEVEL[32], PRESET[32], Float:PDAMAGE[32], PMR[32], PCSW[32], PCLIPS[32], PAMMO[32] }
No.
Como dijo hypno, debes guardar el id del item que elegiste en una variable para usarlo.
Código PHP: new g_iSecondary[33]
// En el handler del menu g_iSecondary[index] = item;
// Usando la constante: Armas[ g_iSecondary[index] ][ PNAME ];
// Si lo usas asi: Armas[ id ] [ PNAME ] //El valor siempre sera lo que vale tu id de usuario (si testeas solo sera 1)
Tiene mal armada la enumeración ni el nivel, reset, damage, csw, clip, ammo son strings, por eso le estoy diciendo que tiene mal armada la enumeración. Yo le di la enumeración acorde a como el lo estaba haciendo que está mal hecho.
Mensajes: 6,664
Temas: 81
Registro en: Jan 2014
Reputación:
68
(28/11/2018, 02:58 PM)HyperstacK escribió: (28/11/2018, 02:26 PM)kikizon2 escribió: (28/11/2018, 01:33 PM)HyperstacK escribió: Entonces tu enumerador debería ser asi ya que el weapon ent es un string, lo mismo con el nombre, y el model del arma.
Código PHP: enum _:DATOS { PNAME[32][64], PITEMS[32][64], PMODEL[32][64], PLEVEL[32], PRESET[32], Float:PDAMAGE[32], PMR[32], PCSW[32], PCLIPS[32], PAMMO[32] }
No.
Como dijo hypno, debes guardar el id del item que elegiste en una variable para usarlo.
Código PHP: new g_iSecondary[33]
// En el handler del menu g_iSecondary[index] = item;
// Usando la constante: Armas[ g_iSecondary[index] ][ PNAME ];
// Si lo usas asi: Armas[ id ] [ PNAME ] //El valor siempre sera lo que vale tu id de usuario (si testeas solo sera 1)
Tiene mal armada la enumeración ni el nivel, reset, damage, csw, clip, ammo son strings, por eso le estoy diciendo que tiene mal armada la enumeración. Yo le di la enumeración acorde a como el lo estaba haciendo que está mal hecho.
Lo tiene mal armado, si, pero la respuesta no es lo que tu dices, seria asi:
Código PHP: enum _:DATOS { PNAME[64], PITEMS[64], PMODEL[64], PLEVEL, PRESET, Float:PDAMAGE, PMR, PCSW, PCLIPS, PAMMO }
► NO DOY AYUDA VIA MENSAJE PRIVADO ◄
* Si requieres algún servicio de pago puedes contactarme vía MP o en mi facebook
Mensajes: 4,247
Temas: 94
Registro en: Mar 2014
Reputación:
58
28/11/2018, 03:32 PM
(Última modificación: 28/11/2018, 03:32 PM por totopizza. Edited 1 time in total.)
Código PHP: enum _:DATOS { PNAME[32], PITEMS[32], PMODEL[32], PLEVEL, PRESET, Float:PDAMAGE, PMR, PCSW, PCLIPS, PAMMO }
https://amxmodx-es.com/Thread-TUT-Armas-por-niveles
EDIT: Me ganó kiki du yu lo me xd
Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando. (08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck
Mis aportes
PLUGINSMAPAS
Menú LANG
[SF] Sistema de Frags
Say System (Admin Prefix)
Mensajes: 336
Temas: 26
Registro en: Sep 2016
Reputación:
5
28/11/2018, 07:38 PM
(Última modificación: 29/11/2018, 05:52 PM por GoldenCosta. Edited 3 times in total.)
edit: tema cerrado.... gracias por la ayuda pude solucionar lo de las balas infinitar....
cambie el evento
RegisterHam(Ham_Item_PostFrame, "weapon_glock18","fw_PostFrameGLOCK18")
por
RegisterHam(Ham_Weapon_Reload, "weapon_glock18", "fw_PostFrameGLOCK18", 1)
error mio por no fijarme los eventos
|