Raised This Month: $51 Target: $400
 12% 

Flag & price change


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Stefanos
Senior Member
Join Date: May 2020
Old 08-05-2020 , 10:53   Flag & price change
Reply With Quote #1

plugin: https://pastebin.com/u6hd1iXk
this cmd "tornado" to cost 6500$ and only for admin_level_h
Stefanos is offline
MagNNusS
Member
Join Date: May 2018
Location: World of Bushi
Old 08-05-2020 , 13:29   Re: Flag & price change
Reply With Quote #2

PHP Code:
if(~get_user_flags(id) & ADMIN_LEVEL_H)
{
    
// no permission
}

new 
money cs_get_user_money(id) - 6500
if(money 0)
{
    
// no money

__________________
Just an impractical signature
nothing to see here.
MagNNusS is offline
Stefanos
Senior Member
Join Date: May 2020
Old 08-05-2020 , 14:09   Re: Flag & price change
Reply With Quote #3

CSO_Ethereal.sma(761) : error 010: invalid function or declaration
CSO_Ethereal.sma(764) : error 054: unmatched closing brace
CSO_Ethereal.sma(767) : error 010: invalid function or declaration
CSO_Ethereal.sma(770) : error 054: unmatched closing brace
CSO_Ethereal.sma(767) : warning 203: symbol is never used: "money"
Stefanos is offline
Supremache
Veteran Member
Join Date: Sep 2019
Location: Egypt
Old 08-05-2020 , 14:21   Re: Flag & price change
Reply With Quote #4

Quote:
Originally Posted by Stefanos View Post
plugin: https://pastebin.com/u6hd1iXk
this cmd "tornado" to cost 6500$ and only for admin_level_h
Check lines #102 , #103

PHP Code:
#include <amxmodx>
#include <cstrike>
#include <fakemeta_util>
#include <hamsandwich>
 
new const PREFIX[] = { "!g[Tornado]!n" };

#define PLUGIN "Tornado"
#define VERSION "1.0"
#define AUTHOR "GenDa"
 
#define CustomItem(%0) (pev(%0, pev_impulse) == WEAPON_KEY)
 
 
#define m_rgpPlayerItems_CWeaponBox 34
 
 
#define m_pPlayer 41
#define m_pNext 42
#define m_iId 43
 
 
#define m_flNextPrimaryAttack 46
#define m_flNextSecondaryAttack 47
#define m_flTimeWeaponIdle 48
#define m_iPrimaryAmmoType 49
#define m_iClip 51
#define m_fInReload 54
#define m_iWeaponState 74
#define m_flNextReload 75
 
 
#define m_flNextAttack 83
 
 
#define m_rpgPlayerItems 367
#define m_pActiveItem 373
#define m_rgAmmo 376
#define m_szAnimExtention 492
 
#define ANIM_IDLE 2
#define ANIM_ATTACK 5
#define ANIM_ATTACK_END 11
#define ANIM_ATTACK_EMPTY 8
#define ANIM_RELOAD 14
#define ANIM_DRAW 19
 
#define ANIM_IDLE_TIME 6.04
#define ANIM_RELOAD_TIME 3.54
#define ANIM_DRAW_TIME 1.37
 
#define WEAPON_KEY 40
#define WEAPON_TORN "weapon_aug"
#define WEAPON_NEW "weapon_tornado"
#define WEAPON_LASER "sprites/tornado-laser.spr"
 
#define WEAPON_ITEM_NAME "Tornado"
#define WEAPON_ITEM_COST 0
 
#define WEAPON_MODEL_V "models/v_tornado.mdl"
#define WEAPON_MODEL_P "models/p_tornado.mdl"
#define WEAPON_MODEL_W "models/w_tornado.mdl"
#define WEAPON_SOUND_S "weapons/tornado-3.wav"
#define WEAPON_SOUND_E "weapons/tornado-shoot_end.wav"
#define WEAPON_BODY 0
 
#define WEAPON_CLIP 70
#define WEAPON_AMMO 210
#define WEAPON_RATE 0.09
#define WEAPON_RECOIL 0.3
#define WEAPON_DAMAGE 1.1
 
new g_AllocString_Vg_AllocString_Pg_AllocString_E
new HamHook:g_fw_TraceAttack[4]
new 
g_iMsgID_Weaponlist
new iSpriteIndexTrail
new g_TornadoCost

public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR);
    
RegisterHam(Ham_Item_DeployWEAPON_TORN"fw_Item_Deploy_Post"1);
    
RegisterHam(Ham_Item_HolsterWEAPON_TORN"fw_Item_Holster_Post"1);
    
RegisterHam(Ham_Item_PostFrameWEAPON_TORN"fw_Item_PostFrame");
    
RegisterHam(Ham_Item_AddToPlayerWEAPON_TORN"fw_Item_AddToPlayer_Post"1);
 
    
RegisterHam(Ham_Weapon_ReloadWEAPON_TORN"fw_Weapon_Reload");
    
RegisterHam(Ham_Weapon_WeaponIdleWEAPON_TORN"fw_Weapon_WeaponIdle");
    
RegisterHam(Ham_Weapon_PrimaryAttackWEAPON_TORN"fw_Weapon_PrimaryAttack");
 
    
g_fw_TraceAttack[0] = RegisterHam(Ham_TraceAttack"func_breakable""fw_TraceAttack");
    
g_fw_TraceAttack[1] = RegisterHam(Ham_TraceAttack"info_target",    "fw_TraceAttack");
    
g_fw_TraceAttack[2] = RegisterHam(Ham_TraceAttack"player",         "fw_TraceAttack");
    
g_fw_TraceAttack[3] = RegisterHam(Ham_TraceAttack"hostage_entity""fw_TraceAttack");
    
fm_ham_hook(false);
    
register_forward(FM_UpdateClientData"fw_UpdateClientData_Post"1);
    
register_forward(FM_PlaybackEvent"fw_PlaybackEvent");
    
register_forward(FM_SetModel"fw_SetModel");
    
g_iMsgID_Weaponlist get_user_msgid("WeaponList");
    
register_clcmd(WEAPON_NEW"HookSelect");
    
    
// Weapon Cost
    
g_TornadoCost register_cvar("tornado_cost""14000")
    
register_clcmd("tornado""CmdBuyTornado")
}
public 
plugin_precache() {
    
g_AllocString_V engfunc(EngFunc_AllocStringWEAPON_MODEL_V);
    
g_AllocString_P engfunc(EngFunc_AllocStringWEAPON_MODEL_P);
    
g_AllocString_E engfunc(EngFunc_AllocStringWEAPON_TORN);
    
iSpriteIndexTrail engfunc(EngFunc_PrecacheModelWEAPON_LASER);
    
engfunc(EngFunc_PrecacheModelWEAPON_MODEL_V);
    
engfunc(EngFunc_PrecacheModelWEAPON_MODEL_P);
    
engfunc(EngFunc_PrecacheModelWEAPON_MODEL_W);
 
    new const 
WPN_SOUND[][] = {
        
"weapons/tornado_clipin.wav",
        
"weapons/tornado_clipout.wav",
        
"weapons/tornado_draw.wav"
    
}
    for(new 
0sizeof WPN_SOUND;i++) engfunc(EngFunc_PrecacheSoundWPN_SOUND[i]);
    
engfunc(EngFunc_PrecacheSoundWEAPON_SOUND_S);
    
engfunc(EngFunc_PrecacheSoundWEAPON_SOUND_E);
    
precache_generic("sprites/weapon_tornado.txt")
    
precache_generic("sprites/640hud149.spr")
    
precache_generic("sprites/640hud17.spr")
    
}

public 
CmdBuyTornado(id)
{
    if(
get_user_flags(id) & ADMIN_LEVEL_H)
    {
        if (!
is_user_alive(id))
        {
            
ChatColor(id"%s You must be alive to buy this Item!"PREFIX);
            return 
PLUGIN_HANDLED
        
}
        
        new 
money cs_get_user_money(id)
        
        if (
money >= get_pcvar_num(g_TornadoCost))
        {
            
cs_set_user_money(idmoney get_pcvar_num(g_TornadoCost))
            
give_weapon(id)
            
ChatColor(id"%s You have bought !gtornado!n"PREFIX);
        }
        else
        {
            
ChatColor(id"%s You dont have enough money to buy this item!"PREFIX);
        }
        return 
PLUGIN_HANDLED;
    }
    else
    {
        
ChatColor(id"%s You dont have access to buy this weapon."PREFIX);
    }
    
    return 
PLUGIN_HANDLED;
}

public 
plugin_natives() {
    
register_native("tornado""give_weapon"1);
}
public 
HookSelect(iPlayer) {
    
engclient_cmd(iPlayerWEAPON_TORN);
    return 
PLUGIN_HANDLED;
}
public 
give_weapon(iPlayer) {
    static 
iEntiEnt engfunc(EngFunc_CreateNamedEntityg_AllocString_E);
    if(
iEnt <= 0) return 0;
    
set_pev(iEntpev_spawnflagsSF_NORESPAWN);
    
set_pev(iEntpev_impulseWEAPON_KEY);
    
ExecuteHam(Ham_SpawniEnt);
    
UTIL_DropWeapon(iPlayer1);
    if(!
ExecuteHamB(Ham_AddPlayerItemiPlayeriEnt)) {
        
engfunc(EngFunc_RemoveEntityiEnt);
        return 
0;
    }
    
ExecuteHamB(Ham_Item_AttachToPlayeriEntiPlayer);
    
set_pdata_int(iEntm_iClipWEAPON_CLIP4);
    new 
iAmmoType m_rgAmmo +get_pdata_int(iEntm_iPrimaryAmmoType4);
    if(
get_pdata_int(iPlayerm_rgAmmo5) < WEAPON_AMMO)
    
set_pdata_int(iPlayeriAmmoTypeWEAPON_AMMO5);
    
emit_sound(iPlayerCHAN_ITEM"items/gunpickup2.wav"VOL_NORMATTN_NORM0PITCH_NORM);
    return 
1;
}
public 
fw_Item_Deploy_Post(iItem) {
    if(!
CustomItem(iItem)) return;
    static 
iPlayeriPlayer get_pdata_cbase(iItemm_pPlayer4);
    
set_pev_string(iPlayerpev_viewmodel2g_AllocString_V);
    
set_pev_string(iPlayerpev_weaponmodel2g_AllocString_P);
    
set_pdata_string(iPlayerm_szAnimExtention 4"m249", -120);
    
UTIL_SendWeaponAnim(iPlayerANIM_DRAW);
    
set_pdata_float(iPlayerm_flNextAttackANIM_DRAW_TIME5);
    
set_pdata_float(iItemm_flTimeWeaponIdleANIM_DRAW_TIME4);
    
set_pdata_float(iItemm_flNextReload0.04);
    
set_pdata_int(iItemm_iWeaponState04);
}
public 
fw_Item_Holster_Post(iItem) {
    if(!
CustomItem(iItem)) return HAM_IGNORED;
    new 
iPlayeriPlayer get_pdata_cbase(iItemm_pPlayer4);
    
emit_sound(iPlayerCHAN_WEAPON"common/null.wav"1.0ATTN_NORM0PITCH_NORM);
    return 
HAM_IGNORED;
}
public 
fw_Item_PostFrame(iItem) {
    if(!
CustomItem(iItem)) return HAM_IGNORED;
    static 
iPlayeriPlayer get_pdata_cbase(iItemm_pPlayer4);
    if(
get_pdata_int(iItemm_fInReload4) == 1) {
        static 
iClipiClip get_pdata_int(iItemm_iClip4);
        static 
iAmmoTypeiAmmoType m_rgAmmo get_pdata_int(iItemm_iPrimaryAmmoType4);
        static 
iAmmoiAmmo get_pdata_int(iPlayeriAmmoType5);
        static 
jmin(WEAPON_CLIP iClipiAmmo);
        
set_pdata_int(iItemm_iClipiClip+j4);
        
set_pdata_int(iPlayeriAmmoTypeiAmmo-j5);
        
set_pdata_int(iItemm_fInReload04);
    }
    if(!(
pev(iPlayerpev_oldbuttons) & IN_ATTACK)) {
        if(
get_pdata_int(iItemm_iWeaponState4) == 1) {
            
set_pdata_int(iItemm_iWeaponState04);
            
emit_sound(iPlayerCHAN_WEAPONWEAPON_SOUND_EVOL_NORMATTN_NORM0PITCH_NORM);
            
UTIL_SendWeaponAnim(iPlayerANIM_ATTACK_END);
            
set_pdata_float(iItemm_flTimeWeaponIdle0.74);
            
set_pdata_float(iItemm_flNextReload0.04);
            
set_pdata_float(iPlayerm_flNextAttack0.75);
        }
    }
    return 
HAM_IGNORED;
}
public 
fw_Item_AddToPlayer_Post(iItemiPlayer) {
    switch(
pev(iItempev_impulse)) {
        case 
WEAPON_KEYs_weaponlist(iPlayertrue);
        case 
0s_weaponlist(iPlayerfalse);
    }
}
public 
fw_Weapon_Reload(iItem) {
    if(!
CustomItem(iItem)) return HAM_IGNORED;
    static 
iClipiClip get_pdata_int(iItemm_iClip4);
    if(
iClip >= WEAPON_CLIP) return HAM_SUPERCEDE;
    static 
iPlayeriPlayer get_pdata_cbase(iItemm_pPlayer4);
    static 
iAmmoTypeiAmmoType m_rgAmmo get_pdata_int(iItemm_iPrimaryAmmoType4);
    if(
get_pdata_int(iPlayeriAmmoType5) <= 0) return HAM_SUPERCEDE
 
    set_pdata_int
(iItemm_iClip04);
    
ExecuteHam(Ham_Weapon_ReloadiItem);
    
set_pdata_int(iItemm_iClipiClip4);
    
set_pdata_float(iItemm_flNextPrimaryAttackANIM_RELOAD_TIME4);
    
set_pdata_float(iItemm_flNextSecondaryAttackANIM_RELOAD_TIME4);
    
set_pdata_float(iItemm_flTimeWeaponIdleANIM_RELOAD_TIME4);
    
set_pdata_float(iPlayerm_flNextAttackANIM_RELOAD_TIME5);
 
    
UTIL_SendWeaponAnim(iPlayerANIM_RELOAD);
    return 
HAM_SUPERCEDE;
}
public 
fw_Weapon_WeaponIdle(iItem) {
    if(!
CustomItem(iItem) || get_pdata_float(iItemm_flTimeWeaponIdle4) > 0.0) return HAM_IGNORED;
    
UTIL_SendWeaponAnim(get_pdata_cbase(iItemm_pPlayer4), ANIM_IDLE);
    
set_pdata_float(iItemm_flTimeWeaponIdleANIM_IDLE_TIME4);
    return 
HAM_SUPERCEDE;
}
public 
fw_Weapon_PrimaryAttack(iItem) {
    if(!
CustomItem(iItem)) return HAM_IGNORED;
    static 
iPlayeriPlayer get_pdata_cbase(iItemm_pPlayer4);
    if(
get_pdata_int(iItemm_iClip4) == 0) {
        
ExecuteHam(Ham_Weapon_PlayEmptySoundiItem);
        
set_pdata_float(iItemm_flNextPrimaryAttack0.24);
        if(
pev(iPlayerpev_weaponanim) != ANIM_ATTACK_EMPTY) {
            
UTIL_SendWeaponAnim(iPlayerANIM_ATTACK_EMPTY);
        }
        return 
HAM_SUPERCEDE;
    }
    static 
fw_TraceLinefw_TraceLine register_forward(FM_TraceLine"fw_TraceLine_Post"1);
    
fm_ham_hook(true);
    
state FireBulletsEnabled;
    
ExecuteHam(Ham_Weapon_PrimaryAttackiItem);
    
state FireBulletsDisabled;
    
unregister_forward(FM_TraceLinefw_TraceLine1);
    
fm_ham_hook(false);
    static 
Float:vecPunchangle[3];
    static 
Float:vecOrigin[3]; fm_get_aim_origin(iPlayervecOrigin);
 
    
pev(iPlayerpev_punchanglevecPunchangle);
    
vecPunchangle[0] *= WEAPON_RECOIL;
    
vecPunchangle[1] *= WEAPON_RECOIL;
    
vecPunchangle[2] *= WEAPON_RECOIL;
    
set_pev(iPlayerpev_punchanglevecPunchangle);
    if(
get_pdata_float(iItemm_flNextReload4) <= get_gametime()) {
        
emit_sound(iPlayerCHAN_WEAPONWEAPON_SOUND_SVOL_NORMATTN_NORM0PITCH_NORM);
        
set_pdata_float(iItemm_flNextReloadget_gametime() + 10.04);
    }
    if(
pev(iPlayerpev_weaponanim) != ANIM_ATTACK) {
        
UTIL_SendWeaponAnim(iPlayerANIM_ATTACK);
    }
 
    
message_begin(MSG_BROADCASTSVC_TEMPENTITY);
    
write_byte(TE_BEAMENTPOINT);
    
write_short(iPlayer 0x1000);
    
engfunc(EngFunc_WriteCoordvecOrigin[0]);
    
engfunc(EngFunc_WriteCoordvecOrigin[1]);
    
engfunc(EngFunc_WriteCoordvecOrigin[2]);
    
write_short(iSpriteIndexTrail);
    
write_byte(0); // framestart
    
write_byte(1); // framerate
    
write_byte(2); // life
    
write_byte(10); // width
    
write_byte(3); // noise
    
write_byte(0); // red
    
write_byte(128); // green
    
write_byte(255); // blue
    
write_byte(200); // brightness
    
write_byte(10); // speed
    
message_end();
 
    
set_pdata_int(iItemm_iWeaponState14);
    
set_pdata_float(iItemm_flNextPrimaryAttackWEAPON_RATE4);
    
set_pdata_float(iItemm_flTimeWeaponIdle0.54);
 
    return 
HAM_SUPERCEDE;
}
public 
fw_PlaybackEvent() <FireBulletsEnabled> { return FMRES_SUPERCEDE; }
public 
fw_PlaybackEvent() <FireBulletsDisabled> { return FMRES_IGNORED; }
public 
fw_PlaybackEvent() <> { return FMRES_IGNORED; }
public 
fw_TraceAttack(iVictimiAttackerFloat:flDamage) {
    if(!
is_user_connected(iAttacker)) return;
    static 
iItemiItem get_pdata_cbase(iAttackerm_pActiveItem5);
    if(
iItem <= || !CustomItem(iItem)) return;
        
SetHamParamFloat(3flDamage WEAPON_DAMAGE);
}
public 
fw_UpdateClientData_Post(iPlayerSendWeaponsCD_Handle) {
    if(
get_cd(CD_HandleCD_DeadFlag) != DEAD_NO) return;
    static 
iItemiItem get_pdata_cbase(iPlayerm_pActiveItem5);
    if(
iItem <= || !CustomItem(iItem)) return;
    
set_cd(CD_HandleCD_flNextAttack999999.0);
}
public 
fw_SetModel(iEnt) {
    static 
iszClassname[32], iItem
    
pev(iEntpev_classnameszClassname31);
    if(!
equal(szClassname"weaponbox")) return FMRES_IGNORED;
    for(
06i++) {
        
iItem get_pdata_cbase(iEntm_rgpPlayerItems_CWeaponBox i4);
        if(
iItem && CustomItem(iItem)) {
            
engfunc(EngFunc_SetModeliEntWEAPON_MODEL_W);
            
set_pev(iEntpev_bodyWEAPON_BODY);
            return 
FMRES_SUPERCEDE;
        }
    }
    return 
FMRES_IGNORED;
}
public 
fw_TraceLine_Post(const Float:flOrigin1[3], const Float:flOrigin2[3], iFragiIgnoretr) {
    if(
iFrag IGNORE_MONSTERS) return FMRES_IGNORED;
    static 
pHitpHit get_tr2(trTR_pHit);
    if(
pHit 0) {
        if(
pev(pHitpev_solid) != SOLID_BSP) return FMRES_IGNORED;
    }
    return 
FMRES_IGNORED;
}
public 
fm_ham_hook(bool:on) {
    if(
on) {
        
EnableHamForward(g_fw_TraceAttack[0]);
        
EnableHamForward(g_fw_TraceAttack[1]);
        
EnableHamForward(g_fw_TraceAttack[2]);
        
EnableHamForward(g_fw_TraceAttack[3]);
    }
    else {
        
DisableHamForward(g_fw_TraceAttack[0]);
        
DisableHamForward(g_fw_TraceAttack[1]);
        
DisableHamForward(g_fw_TraceAttack[2]);
        
DisableHamForward(g_fw_TraceAttack[3]);
    }
}
stock UTIL_SendWeaponAnim(iPlayeriSequence) {
    
set_pev(iPlayerpev_weaponanimiSequence);
    
message_begin(MSG_ONE_UNRELIABLESVC_WEAPONANIM_iPlayer);
    
write_byte(iSequence);
    
write_byte(0);
    
message_end();
}
stock UTIL_DropWeapon(iPlayeriSlot) {
    static 
iEntityiNextszWeaponName[32]; 
    
iEntity get_pdata_cbase(iPlayerm_rpgPlayerItems iSlot5);
    if(
iEntity 0) {       
                do{
                        
iNext get_pdata_cbase(iEntitym_pNext4)
                        if(
get_weaponname(get_pdata_int(iEntitym_iId4), szWeaponName31)) {  
                                
engclient_cmd(iPlayer"drop"szWeaponName);
            }
                } while(( 
iEntity iNext) > 0);
    }
}
//  4,  90, -1, -1, 0, 14,8,  0, // weapon_aug
stock s_weaponlist(iPlayerbool:on) {
    
message_begin(MSG_ONEg_iMsgID_Weaponlist_iPlayer);
    
write_string(on WEAPON_NEW WEAPON_TORN);
    
write_byte(4);
    
write_byte(on WEAPON_AMMO 90);
    
write_byte(-1);
    
write_byte(-1);
    
write_byte(0);
    
write_byte(14);
    
write_byte(8);
    
write_byte(0);
    
message_end();
}

stock ChatColor(const id, const input[], any:...)
{
    new 
count 1players[32]
    static 
msg[191]
    
vformat(msgsizeof(msg) - 1input3)
    
    
replace_all(msg190"!n""^x01")
    
replace_all(msg190"!g""^x04")
    
replace_all(msg190"!t""^x03")
    
    if(
idplayers[0] = id; else get_players(playerscount"ch")
    for(new 
0counti++)
    {
        if(
is_user_connected(players[i]))
        {
            
message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i])
            
write_byte(players[i])
            
write_string(msg)
            
message_end()
        }
    }

Supremache is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


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


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