Enviar respuesta 
[ZP] Extra Item: XM1014 con retroceso
Autor Mensaje
TuboRojo :v Sin conexión
Miembro Junior


Mensajes: 25
Registro en: Jan 2020
Reputación: 0
Mensaje: #1
[ZP] Extra Item: XM1014 con retroceso
Alguien seria tan amable de hacerme un extra item de la escopeta xm1014 con knockback/retroceso es decir, cuando le dispare a un zombie este lo empuje un poco (no mucho) o pongan en el code la cvar para configurarle el empuje a mi gusto.

Espero no sea mucha molestia y graciasWhatever.

EDIT; se me olvido decir que tambien se le pueda cambiar el model v_, p_ y w_ y que haga daño x4
(Este mensaje fue modificado por última vez en: 09/02/2020 02:56 PM por TuboRojo :v.)
07/02/2020 04:07 AM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
roccoxx Sin conexión
Miembro Destacado


Plugin developer Trebol purpura 1k
Mensajes: 1,168
Registro en: Oct 2013
Reputación: 18
Mensaje: #2
RE: [ZP] Extra Item: XM1014 con retroceso
y yo quiero una novia Whatever

futuro ingeniero agrónomo.

tutoriales-allied
buscas un zp?

"La imitación es la forma más sincera de admiración con la que puede pagar la mediocridad a la grandeza"

volví a vender plugins, contactame
07/02/2020 01:10 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Skylar Sin conexión
Miembro Héroe


Trebol de oro 1k
Mensajes: 1,830
Registro en: Feb 2015
Reputación: 27
Mensaje: #3
RE: [ZP] Extra Item: XM1014 con retroceso
(07/02/2020 01:10 PM)roccoxx escribió:  y yo quiero una novia Whatever

ImageImage
07/02/2020 01:58 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Hypnotize Ausente
Miembro Sr.


Plugin developer Donador Trebol purpura
Mensajes: 710
Registro en: Dec 2017
Reputación: 14
Mensaje: #4
RE: [ZP] Extra Item: XM1014 con retroceso
(07/02/2020 01:58 PM)Skylar escribió:  
(07/02/2020 01:10 PM)roccoxx escribió:  y yo quiero una novia Whatever

(10/01/2020 11:18 AM)Niper.- escribió:  Trap no son tus putas trap es mi equipo tumbando el foro de amxmodx hey tumbando el foro hey tumbando el foroooo ya saben todos nos llevamos todos los pluginsss..
Mis plugins
[ ZP ] Sistema de Códigos + APP
[ ZP ] Sistema de Códigos SQL
MySQL Admin Vencimiento + APP
Rangos CSGO
Granadas CSGO
Hunger Games
[ SQL ] Crear Tablas
[ ZE ] Ganar Exp en Meta
Tienda por natives
Hats

Image
(05/12/2018 02:58 AM)angel escribió:  Image
(20/05/2019 10:22 PM)Exertency escribió:  
Código PHP:
if(Time <= Time && Time 0

Image

(07/07/2019 01:06 AM)DavidLG escribió:  Los necesito a los dos. Nazi experto en Mapas, y Chema En programacion , con respecto a Scripting.

RoflmaoRoflmao
(24/12/2019 09:32 AM)roccoxx escribió:  
(24/12/2019 04:46 AM)Hypnotize escribió:  tengo que pasar mi navidad solo en dubai :'v
si querés te paso a saludar un rato, pero solo un rato porque me tengo que volver con mis 10 mujeres
07/02/2020 02:20 PM
Visita su sitio web Encuentra todos sus mensajes Cita este mensaje en tu respuesta
TuboRojo :v Sin conexión
Miembro Junior


Mensajes: 25
Registro en: Jan 2020
Reputación: 0
Mensaje: #5
RE: [ZP] Extra Item: XM1014 con retroceso
No comenten si no quieren ps Oh god why.
08/02/2020 01:14 AM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
luxor xD Sin conexión
Miembro


Mensajes: 239
Registro en: Feb 2017
Reputación: 1
Mensaje: #6
RE: [ZP] Extra Item: XM1014 con retroceso
Que versión del zp tienes?
Se me ocurre es dejar unas natives en el código para ver y setear el knockback desde otro plugin...
08/02/2020 03:28 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
TuboRojo :v Sin conexión
Miembro Junior


Mensajes: 25
Registro en: Jan 2020
Reputación: 0
Mensaje: #7
RE: [ZP] Extra Item: XM1014 con retroceso
(08/02/2020 03:28 PM)luxor xD escribió:  Que versión del zp tienes?
Se me ocurre es dejar unas natives en el código para ver y setear el knockback desde otro plugin...

Zombie Plague 4.3 Fix5a
08/02/2020 05:03 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
luxor xD Sin conexión
Miembro


Mensajes: 239
Registro en: Feb 2017
Reputación: 1
Mensaje: #8
RE: [ZP] Extra Item: XM1014 con retroceso
Primero necesitas editar el script del zombie plague.
una vez lo tengas abierto busca la funcion plugin_natives().
y pega estos dos registros.

Código PHP:
register_native("zp_get_user_knockback""native_get_user_knockback"1)
register_native("zp_set_user_knockback""native_set_user_knockback"1

te quedara algo asi.
Código PHP:
public plugin_natives()
{
    
// Custom natives
    
register_native("zp_get_user_knockback""native_get_user_knockback"1)
    
register_native("zp_set_user_knockback""native_set_user_knockback"1)
...} 

y luego al final del script puedes pegar estas funciones.
Código PHP:
// Native: zp_get_user_knockback
public Float:native_get_user_knockback(id)
{
    if (!
is_user_valid(id))
    {
        
log_error(AMX_ERR_NATIVE"[ZP] Invalid Player (%d)"id)
        return -
1.0;
    }
    
    return 
g_zombie_knockback[id];
}

// Native: zp_set_user_knockback
public native_set_user_knockback(idFloat:valor)
{
    if (!
is_user_valid(id))
    {
        
log_error(AMX_ERR_NATIVE"[ZP] Invalid Player (%d)"id)
        return 
false;
    }
    
    
g_zombie_knockback[id] = valor;
    
    return 
true;


y ya puedes compilar el script, ahora te toca abrir el include del zombie plague y pegar estas funciones que son las que necesitas para el extra item.
Código PHP:
native Float:zp_get_user_knockback(id)
native zp_set_user_knockback(idFloat:valor

y ya con eso deberia poder usar tu item con mayor empuje, al igual que puedes agregarle empuje a otros items.

PD: No es la mejor forma para hacerlo pero es un avance espero que te ayude.

extra item xm1014.sma (Descargar compilado / Tamaño: 6.83 KB / Descargas: 2)
08/02/2020 07:57 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
TuboRojo :v Sin conexión
Miembro Junior


Mensajes: 25
Registro en: Jan 2020
Reputación: 0
Mensaje: #9
RE: [ZP] Extra Item: XM1014 con retroceso
(08/02/2020 07:57 PM)luxor xD escribió:  Primero necesitas editar el script del zombie plague.
una vez lo tengas abierto busca la funcion plugin_natives().
y pega estos dos registros.

Código PHP:
register_native("zp_get_user_knockback""native_get_user_knockback"1)
register_native("zp_set_user_knockback""native_set_user_knockback"1

te quedara algo asi.
Código PHP:
public plugin_natives()
{
    
// Custom natives
    
register_native("zp_get_user_knockback""native_get_user_knockback"1)
    
register_native("zp_set_user_knockback""native_set_user_knockback"1)
...} 

y luego al final del script puedes pegar estas funciones.
Código PHP:
// Native: zp_get_user_knockback
public Float:native_get_user_knockback(id)
{
    if (!
is_user_valid(id))
    {
        
log_error(AMX_ERR_NATIVE"[ZP] Invalid Player (%d)"id)
        return -
1.0;
    }
    
    return 
g_zombie_knockback[id];
}

// Native: zp_set_user_knockback
public native_set_user_knockback(idFloat:valor)
{
    if (!
is_user_valid(id))
    {
        
log_error(AMX_ERR_NATIVE"[ZP] Invalid Player (%d)"id)
        return 
false;
    }
    
    
g_zombie_knockback[id] = valor;
    
    return 
true;


y ya puedes compilar el script, ahora te toca abrir el include del zombie plague y pegar estas funciones que son las que necesitas para el extra item.
Código PHP:
native Float:zp_get_user_knockback(id)
native zp_set_user_knockback(idFloat:valor

y ya con eso deberia poder usar tu item con mayor empuje, al igual que puedes agregarle empuje a otros items.

PD: No es la mejor forma para hacerlo pero es un avance espero que te ayude.

Al compilar tu extra item me tira 1 error.
Código:
//// extra item xm1014.sma
// C:\hlserver\cstrike\addons\amxmodx\scripting\extra item xm1014.sma(69) : error 088: number of arguments does not match definition
//
// 1 Error.
// Could not locate output file C:\hlserver\cstrike\addons\amxmodx\scripting\compiled\extra item xm1014.amx (compile failed).
//
// Compilation Time: 0.34 sec
// ----------------------------------------

así fue como lo modifique, no toque nada más que los models del arma.
Código PHP:
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#include <zombieplague>

#define is_valid_player(%1) (1 <= %1 <= 32)
#define ENG_NULLENT        -1
#define EV_INT_WEAPONKEY    EV_INT_impulse
#define ITEM_WEAPONKEY    351


#define    MSG_BROADCAST               0        // Unreliable to all

#define SVC_TEMPENTITY                23


// Var's
new g_itemid
new const g_ItemEnt[] = "weapon_xm1014"
const Wep_ItemS = ((1<<CSW_XM1014))
const 
CSW_ITEM CSW_XM1014

// Item ID
new Float:knockback_Org[32]
new 
bool:g_HasItem[33]
new 
ent[33]
new 
bullets[33]

// Models
new V_MODEL[64] = "models/ze_armas_especiales/v_balrog11.mdl"
new P_MODEL[64] = "models/ze_armas_especiales/p_balrog11.mdl"
new W_MODEL[64] = "models/ze_armas_especiales/w_balrog11.mdl"

/* Pcvars */
new cvar_custommodelcvar_uclip

// Const
const Float:ataque 1.2
const Float:empuje 999.999
// color del glow
const glowR =100
const glowG =255
const glowB =255

public plugin_init()
{
    
    
/* CVARS */
    
cvar_custommodel register_cvar("za_ITEM_custom_model""1")
    
cvar_uclip register_cvar("za_ITEM_unlimited_clip""1")
    
    
register_event("DeathMsg""Death""a")
    
register_event("WeapPickup","checkModel","b","1=19")
    
register_event("CurWeapon","checkWeapon","be","1=1")
    
    
register_forwardFM_CmdStart"fw_CmdStart" )
    
register_forward(FM_SetModel"fw_SetModel")
    
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage")
    
RegisterHam(Ham_TakeDamage"player""fw_TakeDamage_Post"1)
    
    
RegisterHam(Ham_Spawn"player""fwHamPlayerSpawnPost"1)
    
RegisterHam(Ham_Item_AddToPlayerg_ItemEnt"fw_ItemAddToPlayer")

    
g_itemid zp_register_extra_item("arma"00ZP_TEAM_HUMAN)
    
// g_itemid = zp_register_extra_item("arma", 0, ZP_TEAM_HUMAN)
}

public 
client_connect(id)
{
    
g_HasItem[id] = false
    fm_remove_model_ents
(id)
}

public 
client_disconnect(id)
{
    
g_HasItem[id] = false
    fm_remove_model_ents
(id)
}

public 
Death()
{    
    
g_HasItem[read_data(2)] = false
    fm_remove_model_ents
(read_data(2))
}

public 
fwHamPlayerSpawnPost(id)
{
    
g_HasItem[id] = false
    fm_remove_model_ents
(id)
}

public 
plugin_precache()
{
    
precache_model(V_MODEL)
    
precache_model(P_MODEL)
    
precache_model(W_MODEL)
}

public 
zp_user_infected_post(id)
{
    if (
zp_get_user_zombie(id))
    {
        
g_HasItem[id] = false
        fm_remove_model_ents
(id)
    }
}
public 
zp_user_humanized_post(id)
{
    
g_HasItem[id] = false
    fm_remove_model_ents
(id)
}

public 
checkModel(id)
{
    if ( 
zp_get_user_zombie(id) )
        return 
PLUGIN_HANDLED
    
new szWeapID read_data(2)
        
    if ( 
szWeapID == CSW_ITEM && g_HasItem[id] == true && get_pcvar_num(cvar_custommodel))
    {
        
set_pev(idpev_viewmodel2V_MODEL)
        
set_pev(idpev_weaponmodel2P_MODEL)
        
fm_set_weaponmodel_ent(id,glowR,glowG,glowB)
    }

    return 
PLUGIN_HANDLED
}

public 
checkWeapon(id)
{
    new 
plrClipplrAmmoplrWeap[32]
    new 
plrWeapId
    
new clip
    
    plrWeapId 
get_user_weapon(idplrClip plrAmmo)
    
    if (
plrWeapId == CSW_ITEM && g_HasItem[id])
    {
        
checkModel(id)
    }
    else 
    {
        
fm_remove_model_ents(id)
        return 
PLUGIN_CONTINUE
    
}
    
    if (
bullets[id] >= clip  && get_pcvar_num(cvar_uclip))
    {
        
get_weaponname(plrWeapIdplrWeap31)

        
give_item(idplrWeap)
        
engclient_cmd(idplrWeap
        
engclient_cmd(idplrWeap)
        
engclient_cmd(idplrWeap)

    }
    return 
PLUGIN_HANDLED
}


public 
fw_TakeDamage_Post(victimattacker)
{
    if(!
is_valid_playerattacker ))
        return
        
    if(!(
get_user_weapon(attacker) == CSW_ITEM && g_HasItem[attacker]))
        return

    
knockback_Org[victim] = zp_get_user_knockback(victim)
    
    
zp_set_user_knockback(victimempuje )

}

public 
fw_TakeDamage(victiminflictorattackerFloat:damage)
{    


    if(
is_valid_playerattacker ) && get_user_weapon(attacker) == CSW_ITEM && g_HasItem[attacker])
        
SetHamParamFloat(4damage ataque)
        
    
    if(!
is_valid_playervictim) )
        return
        
    
zp_set_user_knockback(victimknockback_Org[victim])
}

                    
// #/////~$L%ux%or xD%_="······ªª¡?//
public zp_extra_item_selected(playeritemid)
{
    if ( 
itemid == g_itemid )
    {
        if ( 
user_has_weapon(playerCSW_ITEM) )
        {
            
drop_item(player)
        }
        
give_item(playerg_ItemEnt)
        
g_HasItem[player] = true;
        
    }
}
stock drop_item(id
{
    new 
weapons[32], num
    get_user_weapons
(idweaponsnum)
    for (new 
0numi++) {
        if (
Wep_ItemS & (1<<weapons[i])) 
        {
            static 
wname[32]
            
get_weaponname(weapons[i], wnamesizeof wname 1)
            
engclient_cmd(id"drop"wname)
        }
    }
}
public 
fw_SetModel(entitymodel[])
{
    if(!
is_valid_ent(entity))
        return 
FMRES_IGNORED;
        
    if(!
equal(model"models/w_xm1014.mdl")) 
        return 
FMRES_IGNORED;
        
    static 
szClassName[33]
    
entity_get_string(entityEV_SZ_classnameszClassNamecharsmax(szClassName))
        
    if(!
equal(szClassName"weaponbox"))
        return 
FMRES_IGNORED
    
    
static iOwneriStoredItemID
    
    iOwner 
entity_get_edict(entityEV_ENT_owner)
    
    
iStoredItemID find_ent_by_owner(ENG_NULLENT"weapon_xm1014"entity)
    
    if(
g_HasItem[iOwner] && is_valid_ent(iStoredItemID))
    {
        
fm_set_rendering(entitykRenderFxGlowShellglowRglowGglowBkRenderNormal16);
        
entity_set_int(iStoredItemIDEV_INT_WEAPONKEYITEM_WEAPONKEY)
        
g_HasItem[iOwner] = false
        fm_remove_model_ents
(iOwner)
        
        
entity_set_model(entityW_MODEL)
        
        return 
FMRES_SUPERCEDE
    
}

    return 
FMRES_IGNORED
}

public 
fw_ItemAddToPlayer(ITEMid)
{
    if( 
is_valid_ent(ITEM) && is_user_connected(id) && entity_get_int(ITEMEV_INT_WEAPONKEY) == ITEM_WEAPONKEY)
    {
        
g_HasItem[id] = true
        entity_set_int
(ITEMEV_INT_WEAPONKEY0)
        return 
HAM_HANDLED
    
}
    return 
HAM_IGNORED
}

stock fm_set_weaponmodel_ent(idred = -1green = -1blue = -1)
{    
    static 
model[128];
    
entity_get_string(idEV_SZ_weaponmodelmodelcharsmax(model));
    
    if(!
pev_valid(ent[id]))
    {
        
ent[id] = engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target"));
        if(!
pev_valid(ent[id])) return;
        
        
entity_set_string(ent[id], EV_SZ_classname"weapon_model");
        
entity_set_int(ent[id], EV_INT_movetypeMOVETYPE_FOLLOW);
        
entity_set_edict(ent[id], EV_ENT_aimentid);
        
entity_set_edict(ent[id], EV_ENT_ownerid);
        
        if(
red != -|| green != -|| blue != -1)
            
fm_set_rendering(ent[id], kRenderFxGlowShellredgreenbluekRenderNormal16);
    }
    
    
engfunc(EngFunc_SetModelent[id], model);

stock fm_remove_model_ents(id)
{    
    if(
pev_valid(ent[id]))
    {
        
remove_entity(ent[id]);
        
ent[id] = 0;
    }

08/02/2020 09:35 PM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
luxor xD Sin conexión
Miembro


Mensajes: 239
Registro en: Feb 2017
Reputación: 1
Mensaje: #10
RE: [ZP] Extra Item: XM1014 con retroceso
Cambia el nombre del sma y compila. A ver... a mi me compiló bien. De todas maneras volveré a probar
Edit: revisa la parte de g_itemid = zp_register_extra_item(...

A ver si concuerda con la tuya ya que hay unos donde le agregan niveles y hay otras donde no
(Este mensaje fue modificado por última vez en: 09/02/2020 12:39 AM por luxor xD.)
09/02/2020 12:34 AM
Encuentra todos sus mensajes Cita este mensaje en tu respuesta
Enviar respuesta 


Salto de foro:


Usuario(s) navegando en este tema: 1 invitado(s)

Contáctanos | Allied Modders en español | Volver arriba | Volver al contenido | Archivo (Modo simple) | Sindicación RSS