AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Zombie Plague Mod (https://forums.alliedmods.net/forumdisplay.php?f=126)
-   -   Help / Support How add custom weapon in buy menu/human class? (https://forums.alliedmods.net/showthread.php?t=321674)

Casperski 02-23-2020 03:37

How add custom weapon in buy menu/human class?
 
Idk how search it so I'm come here. I want add some addon weapon for human classes
PHP Code:

/*================================================================================
Human Test
================================================================================*/

#include <amxmodx>
#include <fakemeta>
#include <zombieplague>
#include <zombiexp>

// Human Attributes
new const hclass_name[] = { "Supreme Gravity" // name
new const hclass_info[] = { "AK-47 and low gravity" // description
new const hclass_model[] = { "" // model
new const hclass_weapons[] = { WEAPON_AK47WEAPON_GLOCK18 // weapons
const hclass_health 100 // health
const hclass_speed 240 // speed
const Float:hclass_gravity 0.7 // gravity
const hclass_level // level required to use

// Class IDs
new g_hclassid

// Zombie Classes MUST be registered on plugin_precache
public plugin_precache()
{
    new 
registerText[32]
    
formatexregisterTextsizeof registerText 1"[ZPXP] %s human"hclass_name)
    
    
register_plugin(registerText"1.0""Example")
    
    
// Register the new class and store ID for reference
    
g_hclassid zpxp_register_human_class(hclass_namehclass_infohclass_modelhclass_weaponshclass_healthhclass_speedhclass_gravityhclass_level)
    
    if(
g_hclassid == -1)
    {
        
server_print("[ZPXP] You have not properly setup your Zombie XP Mod.");
    }
}

// User Infected forward
public zp_user_infected_post(idinfector)
{
    
// Check if the infected player is using our custom zombie class
    
if (zp_get_user_human_class(id) != g_hclassid) return;
    
    
// Undo any settings we have saved here
    
}

public 
zp_user_humanized_post(id)
{
    
// Check if the infected player is using our custom zombie class
    
if (zp_get_user_human_class(id) != g_hclassid) return;

    
// User turned human
    
if (zp_get_user_survivor(id) == 1)
    {
        
// He's survivor, remove any changes made in the plugin
        
zp_user_infected_post(id00)
    } else {
        
zp_round_started_human(id)
    }
}

//This is a forward from zpxp, as opposed to ZPs round_start (which is when infection begins) this is the true beginning of the round
public zp_round_started_human(id)
{
    if (
zp_get_user_human_class(id) != g_hclassid) return;
    
    
// Set our human's powers!
        


To be more precise here
PHP Code:

new const hclass_weapons[] = { WEAPON_AK47WEAPON_GLOCK18 // weapons 

I want add for example AK-47 Paladin to this hclass
PHP Code:

#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <fakemeta_util>
#include <fun>
#include <hamsandwich>
#include <xs>
#include <cstrike>
#include <zombieplague>

#define PLUGIN "[ZP] Extra: AK-47 Paladin"
#define VERSION "Beta 1.0"
#define AUTHOR "Dev!l"

#define V_MODEL "models/cso/v_buffak.mdl"
#define P_MODEL "models/cso/p_buffak.mdl"
#define W_MODEL "models/cso/w_buffak.mdl"
#define S_MODEL "sprites/cso/ef_buffak_hit.spr"

#define CSW_BUFFAK CSW_AK47
#define weapon_buffak "weapon_ak47"
#define OLD_W_MODEL "models/w_ak47.mdl"
#define WEAPON_EVENT "events/ak47.sc"
#define ENG_NULLENT        -1
#define EV_INT_WEAPONKEY    EV_INT_impulse
#define WEAPONKEY 35145632

#define WEAP_LINUX_XTRA_OFF            4
#define m_flTimeWeaponIdle            48
#define m_iClip                    51
#define m_flNextAttack                83
#define m_fInReload                54
#define PLAYER_LINUX_XTRA_OFF            5

#define FIRERATE 1.5
#define DAMAGE 130
#define DAMAGE2 10
#define AMMO 50
#define BPAMMO 240
#define RELOAD_TIME 2.0
#define RECOIL 0.01
#define RADIUS 50
#define BUFFAK_SPEED 2500.0

new const WeaponSounds[5][] = 
{
    
"weapons/cso/ak47buff-1.wav",
    
"weapons/cso/ak47buff-2.wav",
    
"weapons/cso/ak47buff_draw.wav",
    
"weapons/cso/ak47buff_idle.wav",
    
"weapons/cso/ak47buff_reload.wav"
}

new const 
WeaponResources[3][] =
{
    
"sprites/weapon_buffak.txt",
    
"sprites/cso/640hud7.spr",
    
"sprites/cso/640hud132.spr"
}

#define AKBALL_CLASSNAME "buffakball"

new const MuzzleFlash[] = "sprites/cso/muzzleflash41.spr"
new const Buffak_hit_spr[] = "sprites/cso/ef_buffak_hit.spr"

enum
{
    
IDLE 0,
    
RELOAD,
    
DRAW,
    
SHOOT1,
    
SHOOT2,
    
SHOOT3
}

enum
{
    
MODE_A 1,
    
MODE_B
}

new 
g_buffak
new g_had_ak47paladin[33], g_WeaponMode[33]
new 
g_old_weapon[33], g_ak47paladin_eventg_smokepuff_idg_MuzzleFlash_SprId
new g_clip_ammo[33], gmsgWeaponListg_ak47paladin_TmpClip[33], g_exp_sprid
new Float:cl_pushangle[33][3], g_reload[33]

const 
PRIMARY_WEAPONS_BIT_SUM 
(
1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)|(1<<CSW_AWP)|(1<<
CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)

public 
plugin_init() 
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_think(AKBALL_CLASSNAME"fw_Think")
    
register_touch(AKBALL_CLASSNAME"*""fw_Touch")
    
    
register_event("CurWeapon""Event_CurWeapon""be""1=1")
    
register_message(get_user_msgid("DeathMsg"), "message_DeathMsg")
    
    
register_forward(FM_UpdateClientData"fw_UpdateClientData_Post"1)    
    
register_forward(FM_PlaybackEvent"fw_PlaybackEvent")    
    
register_forward(FM_SetModel"fw_SetModel")
    
register_forward(FM_CmdStart"fw_CmdStart")
    
    
RegisterHam(Ham_TraceAttack"worldspawn""fw_TraceAttack")
    
RegisterHam(Ham_TraceAttack"player""fw_TraceAttack")
    
RegisterHam(Ham_TraceAttack"player""fw_TraceAttack")
    
RegisterHam(Ham_Weapon_PrimaryAttackweapon_buffak"fw_PrimaryAttack")
    
RegisterHam(Ham_Weapon_PrimaryAttackweapon_buffak"fw_PrimaryAttack_Post"1)
    
RegisterHam(Ham_Weapon_Reloadweapon_buffak"fw_Weapon_Reload")
    
RegisterHam(Ham_Weapon_Reloadweapon_buffak"fw_Weapon_Reload_Post"1)
    
RegisterHam(Ham_Item_PostFrameweapon_buffak"fw_Weapon_ItemPostFrame")
    
RegisterHam(Ham_Weapon_WeaponIdleweapon_buffak"fw_Weapon_Idleanim"1)
    
RegisterHam(Ham_Item_AddToPlayerweapon_buffak"fw_Item_AddToPlayer_Post"1)
    
    
g_buffak zp_register_extra_item("AK-47 (Paladin)"30ZP_TEAM_HUMAN)
    
    
gmsgWeaponList get_user_msgid("WeaponList")
    
register_clcmd("weapon_buffak""hook_weapon")


So I'm change
PHP Code:

#include <amxmodx>
#include <fakemeta>
#include <zombieplague>
#include <zombiexp>

#define CSW_BUFFAK CSW_AK47
#define weapon_buffak "weapon_ak47"

// Human Attributes
new const hclass_name[] = { "Supreme Gravity" // name
new const hclass_info[] = { "AK-47 and low gravity" // description
new const hclass_model[] = { "" // model
new const hclass_weapons[] = { weapon_buffakWEAPON_GLOCK18 // weapons 

and it compilied but hclass have no any weapon.
PLS teach me how to change common weapon on any addon weapon :cry:


All times are GMT -4. The time now is 06:03.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.