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

Solved Changing W_Model On Behemoth Grenade


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
PowereXe
Member
Join Date: Jan 2017
Location: Turkey, Istanbul
Old 05-26-2017 , 16:08   Changing W_Model On Behemoth Grenade
Reply With Quote #1

How Can Change The W_Model In This SMA? I Haven't Got Enough Code Literature.

PHP Code:
#include <amxmodx>
#include <engine>
#include <cstrike>
#include <fun>
#include <hamsandwich>
#include <fakemeta>
#include <biohazard>
#include <fakemeta_util>

#define MIN -10.0
#define MAX 10.0

#define RADIUS 290.0
#define DAMAGE 2.0
#define V_MODEL "models/v_grenade_firee.mdl"

#define CRAZY_CODE 5646489
const TASK_BURN 1000
new g_frostexp
new g_frost_gibs;
new 
gMsgScreenShake g_iHookedDeathMsggMsgScreenFadegrenadetrail
new g_flameSpr;
new 
yaniyonfuatabi[33] = 0;
new const 
sprite_grenade_fire[] = "sprites/flame.spr"
public plugin_init()
{
    
register_plugin("Behemoth Grenade" "2.0" "maTT_hArdy [T.Knight EDIT]!")
    
register_cvar("behemot""hardy"FCVAR_SERVER|FCVAR_SPONLY)
    
register_forward(FM_SetModel"fw_SetModel")
    
register_event("HLTV""Event_NewRound""a""1=0""2=0")
    
RegisterHam(Ham_Think"grenade""fw_ThinkGrenade")
    
RegisterHam(Ham_Item_Deploy,"weapon_hegrenade""fw_Item_Deploy_Post"1)
    
RegisterHamHam_Killed"player""player_dead" )
    
gMsgScreenShake get_user_msgid("ScreenShake");
    
gMsgScreenFade get_user_msgid("ScreenFade");
}
public 
plugin_precache()
{
    
grenadetrail engfunc(EngFunc_PrecacheModel"sprites/laserbeam.spr")
    
engfunc(EngFunc_PrecacheModelV_MODEL)
    
engfunc(EngFunc_PrecacheSound"zombi_bomb_exp.wav")
    
g_frostexp precache_model("sprites/fire_kurukafa.spr")
    
g_frost_gibs precache_model("sprites/firebomb_oskolok.spr")
    
g_flameSpr engfunc(EngFunc_PrecacheModelsprite_grenade_fire)
}

public 
client_putinserver(id)
{    
    new 
g_Ham_Bot

    
if(!g_Ham_Bot && is_user_bot(id))
    {
        
g_Ham_Bot 1
        set_task
(0.1"Do_RegisterHam_Bot"id)
    }
}

public 
Do_RegisterHam_Bot(id)
{
    
RegisterHamFromEntity(Ham_Killedid"player_dead")
}

public 
fw_Item_Deploy_Post(weapon_ent)
{
    static 
idid fm_cs_get_weapon_ent_owner(weapon_ent)
    if (!
pev_valid(id))
        return
        
    
set_pev(idpev_viewmodel2V_MODEL)
}

public 
fw_ThinkGrenade(entity)
{
    
// Invalid entity
    
if (!pev_valid(entity)) return HAM_IGNORED;
    if(
pev(entitypev_iuser2) != CRAZY_CODE) return HAM_IGNORED;
    
    new 
Float:dmgtime;
    
pev(entity,pev_dmgtime,dmgtime);
    if(
dmgtime get_gametime()) return HAM_IGNORED;
    
    
fire_explode(entity)
    return 
HAM_SUPERCEDE;
}

public 
MsgDeathMsg( ) {
    
set_msg_arg_int3ARG_BYTE);
    
set_msg_arg_string4"grenade" );
    
    return 
PLUGIN_CONTINUE;
}

fire_explode(ent)
{
    
// Get origin
    
static Float:originF[3], Owner
    pev
(entpev_originoriginF)
    
Owner pev(entpev_owner)
    
// Make the explosion
    
yeni_balast_ates(originF)
    
    
// Fire nade explode sound
    
emit_sound(entCHAN_WEAPON"zombi_bomb_exp.wav"1.0ATTN_NORM0PITCH_NORM)
    
    static 
Float:PlayerOrigin[3]
    static 
Float:distance
    
for(new 0get_maxplayers(); i++)
    {
        if(!
is_user_alive(i))
            continue
        if(!
is_user_connected(Owner))
            continue
        if(
cs_get_user_team(i) == cs_get_user_team(Owner))
            continue
        
//if(!get_cvar_num("mp_friendlyfire") && cs_get_user_team(i) == cs_get_user_team(Owner) && i != Owner)
            //continue
        
pev(ipev_originPlayerOrigin)
        
distance get_distance_f(originFPlayerOrigin)
        if(
distance RADIUS)
            continue
                
        new 
Float:pengurang distance RADIUS
        
new Float:pengurang2 1.0 pengurang
        
new Float:flDamage 100.0 pengurang2
        
new Float:flDamage_final flDamage + (flDamage DAMAGE)
        
        
yaniyonfuatabi[i] = 1
        set_task
(0.2"yak"i)
        if (
task_exists(i+56213)) remove_task(i+56213)
        
set_task(10.0"RemoveGlowShell"i+56213)
        
//playerlight(i)
        
crazy2(i)
        
set_task(0.5,"crazy",i+231687,"",0,"a",20)
        
        
g_iHookedDeathMsg register_messageget_user_msgid("DeathMsg"), "MsgDeathMsg" );
        
        
ExecuteHamBHam_TakeDamageientOwnerflDamage_finalDMG_GENERIC );
        
        if( 
g_iHookedDeathMsg )
        {
            
unregister_messageget_user_msgid("DeathMsg"), g_iHookedDeathMsg );
            
            
g_iHookedDeathMsg 0;
        }
    }
    
    
// Get rid of the grenade
    
set_pev(entpev_iuser20)
    
engfunc(EngFunc_RemoveEntityent)
}
public 
yak(kisi)
{
    if (!
is_user_zombie(kisi)) return;
    
    if (
yaniyonfuatabi[kisi] == 1){
        
        
//CSmiLeFaCe
        
static Float:originF[3]
        
pev(kisipev_originoriginF)
        
        
engfunc(EngFunc_MessageBeginMSG_PVSSVC_TEMPENTITYoriginF0)
        
write_byte(TE_SPRITE)
        
engfunc(EngFunc_WriteCoordoriginF[0]+random_float(-5.05.0)) // x
        
engfunc(EngFunc_WriteCoordoriginF[1]+random_float(-5.05.0)) // y
        
engfunc(EngFunc_WriteCoordoriginF[2]+random_float(-10.010.0)) // z
        
write_short(g_flameSpr
        
write_byte(random_num(510))
        
write_byte(200
        
message_end()
        
set_task(0.2"yak"kisi)
    }
    
}
public 
fw_SetModel(entity, const model[])
{
//CSmiLeFaCe
    // We don't care
    
if (strlen(model) < 8)
        return;
    
    if (
model[9] == 'h' && model[10] == 'e' && model[11] == 'g' && model[12] == 'r')
    {
        
// Give it a glow
        
fm_set_rendering(entitykRenderFxGlowShell244251105kRenderNormal16);
        
        
set_pev(entitypev_iuser2CRAZY_CODE)
        
        
// And a colored trail
        
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
write_byte(TE_BEAMFOLLOW// TE id
        
write_short(entity// entity
        
write_short(grenadetrail// sprite
        
write_byte(10// life
        
write_byte(10// width
        
write_byte(244// r
        
write_byte(251// g
        
write_byte(105// b
        
write_byte(200// brightness
        
message_end()
    }
}

public 
crazy(taskid)
{
    new 
id taskid 231687
    
    
new Float:fVec[3];
    
fVec[0] = random_float(MIN MAX);
    
fVec[1] = random_float(MIN MAX);
    
fVec[2] = random_float(MIN MAX);
    
entity_set_vector(id EV_VEC_punchangle fVec);
    
message_begin(MSG_ONE gMsgScreenShake , {0,0,0} ,id)
    
write_short1<<14 );
    
write_short1<<14 );
    
write_short1<<14 );
    
message_end();

    
message_begin(MSG_ONE_UNRELIABLE gMsgScreenFade , {0,0,0} , id);
    
write_short1<<10 );
    
write_short1<<10 );
    
write_short1<<12 );
    
write_byterandom_num(0,255) );
    
write_byterandom_num(0,255) );
    
write_byterandom_num(0,255) );
    
write_byte95 );
    
message_end();
}

public 
crazy2(id)
{
    new 
Float:fVec[3];
    
fVec[0] = random_float(MIN MAX);
    
fVec[1] = random_float(MIN MAX);
    
fVec[2] = random_float(MIN MAX);
    
entity_set_vector(id EV_VEC_punchangle fVec);
    
message_begin(MSG_ONE gMsgScreenShake , {0,0,0} ,id)
    
write_short1<<14 );
    
write_short1<<14 );
    
write_short1<<14 );
    
message_end();

    
message_begin(MSG_ONE_UNRELIABLE gMsgScreenFade , {0,0,0} , id);
    
write_short1<<10 );
    
write_short1<<10 );
    
write_short1<<12 );
    
write_byterandom_num(0,255) );
    
write_byterandom_num(0,255) );
    
write_byterandom_num(0,255) );
    
write_byte95 );
    
message_end();
}

public 
Event_NewRound()
{
    for(new 
0get_maxplayers(); i++)
    {
        if(
task_exists(i+56213))
        {
            
remove_task(i+56213)
            
set_normal(i)
        }
        if(
task_exists(i+231687)) remove_task(i+231687)
        
    }
}

public 
player_dead(id)
{
    if(
task_exists(id+56213))
    {
        
remove_task(id+56213)
        
set_normal(id)
    }
    if(
task_exists(id+231687)) remove_task(id+231687)
}

public 
RemoveGlowShell(taskid)
{
    
    new 
id taskid 56213
    set_normal
(id)
    
    if(
task_exists(taskid)) remove_task(taskid)
    
}

stock set_normal(entity)
{
    
yaniyonfuatabi[entity] = 0;
}
yeni_balast_ates(const Float:originF[3]){
    
message_begin (MSG_BROADCAST,SVC_TEMPENTITY)
    
write_byte(TE_SPRITE)
    
engfunc(EngFunc_WriteCoordoriginF[0]+random_float(-5.05.0))
    
engfunc(EngFunc_WriteCoordoriginF[1]+random_float(-5.05.0))
    
engfunc(EngFunc_WriteCoordoriginF[2]+50.0)
    
write_short(g_frostexp)
    
write_byte(13//Büyüklük
    
write_byte(150//Saydamlık
    
message_end()
    
    
message_begin (MSG_BROADCAST,SVC_TEMPENTITY)
    
write_byteTE_SPRITETRAIL )
    
engfunc(EngFunc_WriteCoordoriginF]) // başlangıç
    
engfunc(EngFunc_WriteCoordoriginF])
    
engfunc(EngFunc_WriteCoordoriginF] + 200.0)
    
engfunc(EngFunc_WriteCoordoriginF]) // hızı
    
engfunc(EngFunc_WriteCoordoriginF])
    
engfunc(EngFunc_WriteCoordoriginF] + 30.0)
    
write_short(g_frost_gibs// sprite dosyası
    
write_byte(60// kaç adet dağılacağı
    
write_byte(random_num(27,30))
    
write_byte(2
    
write_byte(50)
    
write_byte(10)
    
message_end() 
    
    
}


stock fm_cs_get_weapon_ent_owner(ent)
{
    if (
pev_valid(ent) != 2)
        return -
1
    
    
return get_pdata_cbase(ent414)


Last edited by PowereXe; 05-27-2017 at 06:38. Reason: Problem Solved
PowereXe is offline
Ayman Khaled
Senior Member
Join Date: Mar 2017
Location: Palestine
Old 05-26-2017 , 16:09   Re: Changing W_Model On Behemoth Grenade
Reply With Quote #2

lol ? https://forums.alliedmods.net/showthread.php?t=297873
__________________
Ayman Khaled is offline
PowereXe
Member
Join Date: Jan 2017
Location: Turkey, Istanbul
Old 05-26-2017 , 16:32   Re: Changing W_Model On Behemoth Grenade
Reply With Quote #3

Quote:
Originally Posted by Ayman Khaled View Post
It's For Frost Grenade. I Didn't Want To Mix Them.
PowereXe is offline
PartialCloning
Senior Member
Join Date: Dec 2015
Old 05-26-2017 , 20:57   Re: Changing W_Model On Behemoth Grenade
Reply With Quote #4

After Line 15 add: #define W_MODEL "models/w_hegrenade.mdl"
After Line 41 add: engfunc(EngFunc_PrecacheModel, W_MODEL )
After Line 201 add: engfunc(EngFunc_SetModel, entity, W_MODEL);

Change Line 30: register_forward(FM_SetModel, "fw_SetModel", 1)
PartialCloning is offline
PowereXe
Member
Join Date: Jan 2017
Location: Turkey, Istanbul
Old 05-27-2017 , 06:38   Re: Changing W_Model On Behemoth Grenade
Reply With Quote #5

Worked Fine! Very Very Thanks For Helping
PowereXe 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:48.


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