Stock HUD WEAPON REPLACE
#1
Sonrisa 
Bueno, lo hice cuando estaba alpedo Whatever

CABE DESTACAR QUE ESTO LO SAQUE DE ARKSHINE, CLARO QUE LAS ARMAS LES COLOQUE SUS PROPIEDADES ONE POR ONE

Sirve para:
Cita: Remplazar las imagenes que salen en el hud, SPR por decirlo asi.

Modo de uso:
Cita:- Colocar su respectivo weapon_ARMA en sprites/ , después de eso lo ponen en el stock y listo, por ejemplo:
- weapon_gauss <- lo pongo en sprites/ con sus respectivos sprites modificados y lo uso asi:

Código PHP:
set_weapon_hudindexCSW_KNIFE"weapon_gauss" 

BUUUUUUUUUUGS:
Cita:Cuando colocas el hud modificado, no podes cambiar de arma, se puede ver todo pero al arma no la podes seleccionar, podes hacer lo siguiente, dejar el arma sola para un carnage en mi caso, metali si lees esto dame una solución (?)


Gracias a Santjcs & Federicomb por optimizar code.

Código PHP:
enum _:Struc_Weapons
{
    
WeaponID,
    
PrimaryAmmoID,
    
PrimaryAmmoMaxAmount,
    
SlotID,
    
NumberInSlot,
    
Flags
}

new const 
Weapons[ ][ Struc_Weapons ] =
{
    { 
00000},
    { 
CSW_P22895213},
    { 
00000},
    { 
CSW_SCOUT29009},
    { 
CSW_HEGRENADE1213124 },
    { 
CSW_XM1014532012},
    { 
CSW_C41414324 },
    { 
CSW_MAC106100013},
    { 
CSW_AUG490014},
    { 
CSW_SMOKEGRENADE1313324 },
    { 
CSW_ELITE1012015},
    { 
CSW_FIVESEVEN710016},
    { 
CSW_UMP456100015},
    { 
CSW_SG550490016},
    { 
CSW_GALIL490017},
    { 
CSW_FAMAS490018},
    { 
CSW_USP6100114},
    { 
CSW_GLOCK181012012},
    { 
CSW_AWP13002},
    { 
CSW_MP5NAVY1012007},
    { 
CSW_M249320004},
    { 
CSW_M353205},
    { 
CSW_M4A149006},
    { 
CSW_TMP10120011},
    { 
CSW_G3SG129003},
    { 
CSW_FLASHBANG1123224 },
    { 
CSW_DEAGLE83511},
    { 
CSW_SG552490010},
    { 
CSW_AK4729001},
    { 
CSW_KNIFE, -1, -121},
    { 
CSW_P90710008}
};

stock set_weapon_hudindexCSW_weapon, const hud_txt_replace[ ] )
{
    static 
iWeaponList;
    if(
iWeaponList || (iWeaponList get_user_msgid("WeaponList"))) {
        
message_beginMSG_ONEiWeaponList, { 00}, index )
        {
            
write_stringhud_txt_replace );        // WeaponName
            
write_byteWeaponsCSW_weapon ][ PrimaryAmmoID ] );    // PrimaryAmmoID
            
write_byteWeaponsCSW_weapon ][ PrimaryAmmoMaxAmount ] );    // PrimaryAmmoMaxAmount
            
write_byte( -);                // SecondaryAmmoID
            
write_byte( -);                // SecondaryAmmoMaxAmount
            
write_byteWeaponsCSW_weapon ][ SlotID ] );        // SlotID (0...N)
            
write_byteWeaponsCSW_weapon ][ NumberInSlot ] );    // NumberInSlot (1...N)
            
write_byteWeaponsCSW_weapon ][ WeaponID ] );        // WeaponID
            
write_byteWeaponsCSW_weapon ][ Flags ] );        // Flags
        
}
        
message_end();
    }

Responder
#2
Podrías hacer una const con todos los datos y evitar hacer el switch ese enorme. Approved
Believe, be yourself and don't hold on to just one dream ❤

https://github.com/FEDERICOMB96
Responder
#3
(09/04/2016, 09:46 PM)Federicomb escribió: Podrías hacer una const con todos los datos y evitar hacer el switch ese enorme. Approved

Lo hecho hecho esta Oh god why
Responder
#4
(09/04/2016, 09:49 PM)josue9243 escribió:
(09/04/2016, 09:46 PM)Federicomb escribió: Podrías hacer una const con todos los datos y evitar hacer el switch ese enorme. Approved

Lo hecho hecho esta Oh god why

No digas eso, así no vas a progresar. De todas formas puedes hacer como más te guste.

Para mi la idea de la const es ahorrarte tiempo en hacer 'ciertas' cosas y evitar hacer un código taaan largo que a la larga en un tiempo no vas a entender que hiciste. ¿Se entiende lo que dije? Thinking
Believe, be yourself and don't hold on to just one dream ❤

https://github.com/FEDERICOMB96
Responder
#5
(09/04/2016, 09:58 PM)Federicomb escribió:
(09/04/2016, 09:49 PM)josue9243 escribió:
(09/04/2016, 09:46 PM)Federicomb escribió: Podrías hacer una const con todos los datos y evitar hacer el switch ese enorme. Approved

Lo hecho hecho esta Oh god why

No digas eso, así no vas a progresar. De todas formas puedes hacer como más te guste.

Para mi la idea de la const es ahorrarte tiempo en hacer 'ciertas' cosas y evitar hacer un código taaan largo que a la larga en un tiempo no vas a entender que hiciste. ¿Se entiende lo que dije? Thinking

No, pero pude haber ahorrado al menos 100 lineas pero no tenia ni pta gana asi que lo hice asi nomas xD.
Responder
#6
Código PHP:
#include < amxmodx >

enum _:Struc_Weapons
{
    
WeaponID,
    
PrimaryAmmoID,
    
PrimaryAmmoMaxAmount,
    
SlotID,
    
NumberInSlot,
    
Flags
}

new const 
Weapons[ ][ Struc_Weapons ] =
{
    { 
CSW_P22895213},
    { 
CSW_SCOUT29009},
    { 
CSW_HEGRENADE1213124 },
    { 
CSW_XM1014532012},
    { 
CSW_C41414324 },
    { 
CSW_MAC106100013},
    { 
CSW_AUG490014},
    { 
CSW_SMOKEGRENADE1313324 },
    { 
CSW_ELITE1012015},
    { 
CSW_FIVESEVEN710016},
    { 
CSW_UMP456100015},
    { 
CSW_SG550490016},
    { 
CSW_GALIL490017},
    { 
CSW_FAMAS490018},
    { 
CSW_USP6100114},
    { 
CSW_GLOCK181012012},
    { 
CSW_AWP13002},
    { 
CSW_MP5NAVY1012007},
    { 
CSW_M249320004},
    { 
CSW_M353205},
    { 
CSW_M4A149006},
    { 
CSW_TMP10120011},
    { 
CSW_G3SG129003},
    { 
CSW_FLASHBANG1123224 },
    { 
CSW_DEAGLE83511},
    { 
CSW_SG552490010},
    { 
CSW_AK4729001},
    { 
CSW_KNIFE, -1, -121},
    { 
CSW_P90710008}
};

public 
plugin_init( ) { }

stock set_weapon_hudindexCSW_weapon, const hud_txt_replace[ ] )
{
    
message_beginMSG_ONEget_user_msgid"WeaponList" ), { 00}, index )
    {
        for( new 
0sizeof Weapons[ ]; ++ )
        {
            
write_stringhud_txt_replace );        // WeaponName
            
write_byteWeapons][ PrimaryAmmoID ] );    // PrimaryAmmoID
            
write_byteWeapons][ PrimaryAmmoMaxAmount ] );    // PrimaryAmmoMaxAmount
            
write_byte( -);                // SecondaryAmmoID
            
write_byte( -);                // SecondaryAmmoMaxAmount
            
write_byteWeapons][ SlotID ] );        // SlotID (0...N)
            
write_byteWeapons][ NumberInSlot ] );    // NumberInSlot (1...N)
            
write_byteWeapons][ WeaponID ] );        // WeaponID
            
write_byteWeapons][ Flags ] );        // Flags
        
}
    }
    
message_end();

Hide&SeekCrab
Responder
#7
(09/04/2016, 10:50 PM)Santjcs escribió:
Código PHP:
#include < amxmodx >

enum _:Struc_Weapons
{
    
WeaponID,
    
PrimaryAmmoID,
    
PrimaryAmmoMaxAmount,
    
SlotID,
    
NumberInSlot,
    
Flags
}

new const 
Weapons[ ][ Struc_Weapons ] =
{
    { 
CSW_P22895213},
    { 
CSW_SCOUT29009},
    { 
CSW_HEGRENADE1213124 },
    { 
CSW_XM1014532012},
    { 
CSW_C41414324 },
    { 
CSW_MAC106100013},
    { 
CSW_AUG490014},
    { 
CSW_SMOKEGRENADE1313324 },
    { 
CSW_ELITE1012015},
    { 
CSW_FIVESEVEN710016},
    { 
CSW_UMP456100015},
    { 
CSW_SG550490016},
    { 
CSW_GALIL490017},
    { 
CSW_FAMAS490018},
    { 
CSW_USP6100114},
    { 
CSW_GLOCK181012012},
    { 
CSW_AWP13002},
    { 
CSW_MP5NAVY1012007},
    { 
CSW_M249320004},
    { 
CSW_M353205},
    { 
CSW_M4A149006},
    { 
CSW_TMP10120011},
    { 
CSW_G3SG129003},
    { 
CSW_FLASHBANG1123224 },
    { 
CSW_DEAGLE83511},
    { 
CSW_SG552490010},
    { 
CSW_AK4729001},
    { 
CSW_KNIFE, -1, -121},
    { 
CSW_P90710008}
};

public 
plugin_init( ) { }

stock set_weapon_hudindexCSW_weapon, const hud_txt_replace[ ] )
{
    
message_beginMSG_ONEget_user_msgid"WeaponList" ), { 00}, index )
    {
        for( new 
0sizeof Weapons[ ]; ++ )
        {
            
write_stringhud_txt_replace );        // WeaponName
            
write_byteWeapons][ PrimaryAmmoID ] );    // PrimaryAmmoID
            
write_byteWeapons][ PrimaryAmmoMaxAmount ] );    // PrimaryAmmoMaxAmount
            
write_byte( -);                // SecondaryAmmoID
            
write_byte( -);                // SecondaryAmmoMaxAmount
            
write_byteWeapons][ SlotID ] );        // SlotID (0...N)
            
write_byteWeapons][ NumberInSlot ] );    // NumberInSlot (1...N)
            
write_byteWeapons][ WeaponID ] );        // WeaponID
            
write_byteWeapons][ Flags ] );        // Flags
        
}
    }
    
message_end();


Lo unico que haces es setear todos los hud a su normalidad, eso ni funciona.
Responder
#8
Esta era la idea:

Código PHP:
stock set_weapon_hudindexCSW_weapon, const hud_txt_replace[ ] )
{
    static 
iWeaponList;
    if(
iWeaponList || (iWeaponList get_user_msgid("WeaponList"))) {
        
message_beginMSG_ONEiWeaponList, { 00}, index )
        {
            
write_stringhud_txt_replace );        // WeaponName
            
write_byteWeaponsCSW_weapon ][ PrimaryAmmoID ] );    // PrimaryAmmoID
            
write_byteWeaponsCSW_weapon ][ PrimaryAmmoMaxAmount ] );    // PrimaryAmmoMaxAmount
            
write_byte( -);                // SecondaryAmmoID
            
write_byte( -);                // SecondaryAmmoMaxAmount
            
write_byteWeaponsCSW_weapon ][ SlotID ] );        // SlotID (0...N)
            
write_byteWeaponsCSW_weapon ][ NumberInSlot ] );    // NumberInSlot (1...N)
            
write_byteWeaponsCSW_weapon ][ WeaponID ] );        // WeaponID
            
write_byteWeaponsCSW_weapon ][ Flags ] );        // Flags
        
}
        
message_end();
    }


Y para no hacer una llamada al módulo cada vez que se usa el stock para obtener el "msgid" lo hardcodeo. Whatever

PD: Cada item de la const tiene que responder a cada arma (CSW_).
Believe, be yourself and don't hold on to just one dream ❤

https://github.com/FEDERICOMB96
Responder
#9
Lo que hizo federico iba yo a decir xD pero como no estaba en la pc no lo comenté...

PD: Buen aporte, me servirá mucho! Proud
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

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

PLUGINS
MAPAS
Menú LANG [SF] Sistema de Frags
Say System (Admin Prefix)
Responder
#10
Solo a 1 persona en este mundo se le ocurre hacer un switch con cerca de 27 cases haciendo exactamente lo mismo con distintos valores... y no se le ocurre usar arrays. No se si reportar esto o irme de aqui, no se para que me preguntas cosas si ni bola le das. -1
Responder
#11
Buen aporte :V me vale verga pero buen aporte Proud quien sabe y luego necesite usarlo
* Ing. Informático * Mapper * Venezolano
Responder
#12
(10/04/2016, 06:01 AM)meTaLiCroSS escribió: Solo a 1 persona en este mundo se le ocurre hacer un switch con cerca de 27 cases haciendo exactamente lo mismo con distintos valores... y no se le ocurre usar arrays. No se si reportar esto o irme de aqui, no se para que me preguntas cosas si ni bola le das. -1

Me parecio mas sencillo hacerlo a mi manera, hago algo mal bueno por lo menos aporto cosas que por ahi ni se conocen.

Y si se me ocurre hacer 27 switchs es mi problema, soy especial (?)
Responder
#13
Una imagen para ver el resultado por favor ?
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)