AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   Add w Granate Model In Zombie Plague 4.3 (https://forums.alliedmods.net/showthread.php?t=154579)

.Dare Devil. 04-10-2011 13:26

Add w Granate Model In Zombie Plague 4.3
 
Hello.
Need Some Scripting help :)
My script not working :cry:

What i did wrong ?


PHP Code:

 
// Customization vars
new model_fire_nade_w[64], model_frost_nade_w[64], model_flare_nade_w[64], model_infect_nade_w[64


PHP Code:

public plugin_precache()
{
 
 
engfunc(EngFunc_PrecacheModelmodel_fire_nade_w)
 
engfunc(EngFunc_PrecacheModelmodel_frost_nade_w)
 
engfunc(EngFunc_PrecacheModelmodel_flare_nade_w

PHP Code:

 
load_customization_from_files
()
{
 
   case 
SECTION_WEAPON_MODELS:
   {
    else if (
equal(key"FIRE NADE-W"))
     
copy(model_fire_nade_wcharsmax(model_fire_nade_w), value)
    else if (
equal(key"FROST NADE-W"))
     
copy(model_frost_nade_wcharsmax(model_frost_nade_w), value)
    else if (
equal(key"FLARE NADE-W"))
     
copy(model_flare_nade_wcharsmax(model_flare_nade_w), value)
    else if (
equal(key"INFECT NADE-W"))
     
copy(model_infect_nade_wcharsmax(model_infect_nade_w), value



PHP Code:

public fw_SetModel(entity, const model[])
{
 
// We don't care
 
if (strlen(model) < 8)
  return;
 
 
// Remove weapons?
 
if (get_pcvar_float(cvar_removedropped) > 0.0)
 {
  
// Get entity's classname
  
static classname[10]
  
pev(entitypev_classnameclassnamecharsmax(classname))
  
  
// Check if it's a weapon box
  
if (equal(classname"weaponbox"))
  {
   
// They get automatically removed when thinking
   
set_pev(entitypev_nextthinkget_gametime() + get_pcvar_float(cvar_removedropped))
   return;
  }
 }
 
 
// Narrow down our matches a bit
 
if (model[7] != 'w' || model[8] != '_')
  return;
 
 
// Get damage time of grenade
 
static Float:dmgtime
 pev
(entitypev_dmgtimedmgtime)
 
 
// Grenade not yet thrown
 
if (dmgtime == 0.0)
  return;
 
 
// Get whether grenade's owner is a zombie
 
if (g_zombie[pev(entitypev_owner)])
 {
  if (
model[9] == 'h' && model[10] == 'e' && get_pcvar_num(cvar_extrainfbomb)) // Infection Bomb
  
{
   
// Give W Model - By Dare-Devil
   
engfunc(EngFunc_SetModelentitymodel_infect_nade_w)
   
// Give it a glow
   
fm_set_rendering(entitykRenderFxGlowShell02500kRenderNormal16);
   
   
// And a colored trail
   
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
   
write_byte(TE_BEAMFOLLOW// TE id
   
write_short(entity// entity
   
write_short(g_trailSpr// sprite
   
write_byte(10// life
   
write_byte(10// width
   
write_byte(0// r
   
write_byte(250// g
   
write_byte(0// b
   
write_byte(200// brightness
   
message_end()
   
   
// Set grenade type on the thrown grenade entity
   
set_pev(entityPEV_NADE_TYPENADE_TYPE_INFECTION)
  }
 }
 else if (
model[9] == 'h' && model[10] == 'e' && get_pcvar_num(cvar_firegrenades)) // Napalm Grenade
 
{
  
// Give W Model - By Dare-Devil
  
engfunc(EngFunc_SetModelentitymodel_fire_nade_w)
  
// Give it a glow
  
fm_set_rendering(entitykRenderFxGlowShell215376kRenderNormal16);
  
  
// And a colored trail
  
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
  
write_byte(TE_BEAMFOLLOW// TE id
  
write_short(entity// entity
  
write_short(g_trailSpr// sprite
  
write_byte(10// life
  
write_byte(10// width
  
write_byte(215// r
  
write_byte(37// g
  
write_byte(6// b
  
write_byte(200// brightness
  
message_end()
  
  
// Set grenade type on the thrown grenade entity
  
set_pev(entityPEV_NADE_TYPENADE_TYPE_NAPALM)
 }
 else if (
model[9] == 'f' && model[10] == 'l' && get_pcvar_num(cvar_frostgrenades)) // Frost Grenade
 
{
  
// Give W Model - By Dare-Devil
  
engfunc(EngFunc_SetModelentitymodel_frost_nade_w)
  
// Give it a glow
  
fm_set_rendering(entitykRenderFxGlowShell0100200kRenderNormal16);
  
  
// And a colored trail
  
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
  
write_byte(TE_BEAMFOLLOW// TE id
  
write_short(entity// entity
  
write_short(g_trailSpr// sprite
  
write_byte(10// life
  
write_byte(10// width
  
write_byte(0// r
  
write_byte(100// g
  
write_byte(200// b
  
write_byte(200// brightness
  
message_end()
  
  
// Set grenade type on the thrown grenade entity
  
set_pev(entityPEV_NADE_TYPENADE_TYPE_FROST)
 }
 else if (
model[9] == 's' && model[10] == 'm' && get_pcvar_num(cvar_flaregrenades)) // Flare
 
{
  
// Build flare's color
  
static rgb[3]
  switch (
get_pcvar_num(cvar_flarecolor))
  {
   case 
0// white
   
{
    
rgb[0] = 255 // r
    
rgb[1] = 255 // g
    
rgb[2] = 255 // b
   
}
   case 
1// red
   
{
    
rgb[0] = random_num(50,255// r
    
rgb[1] = // g
    
rgb[2] = // b
   
}
   case 
2// green
   
{
    
rgb[0] = // r
    
rgb[1] = random_num(50,255// g
    
rgb[2] = // b
   
}
   case 
3// blue
   
{
    
rgb[0] = // r
    
rgb[1] = // g
    
rgb[2] = random_num(50,255// b
   
}
   case 
4// random (all colors)
   
{
    
rgb[0] = random_num(50,200// r
    
rgb[1] = random_num(50,200// g
    
rgb[2] = random_num(50,200// b
   
}
   case 
5// random (r,g,b)
   
{
    switch (
random_num(16))
    {
     case 
1// red
     
{
      
rgb[0] = 250 // r
      
rgb[1] = // g
      
rgb[2] = // b
     
}
     case 
2// green
     
{
      
rgb[0] = // r
      
rgb[1] = 250 // g
      
rgb[2] = // b
     
}
     case 
3// blue
     
{
      
rgb[0] = // r
      
rgb[1] = // g
      
rgb[2] = 250 // b
     
}
     case 
4// cyan
     
{
      
rgb[0] = // r
      
rgb[1] = 250 // g
      
rgb[2] = 250 // b
     
}
     case 
5// pink
     
{
      
rgb[0] = 250 // r
      
rgb[1] = // g
      
rgb[2] = 250 // b
     
}
     case 
6// yellow
     
{
      
rgb[0] = 250 // r
      
rgb[1] = 250 // g
      
rgb[2] = // b
     
}
    }
   }
  }
  
// Give W Model - By Dare-Devil
  
engfunc(EngFunc_SetModelentitymodel_flare_nade_w)
  
  
// Give it a glow
  
fm_set_rendering(entitykRenderFxGlowShellrgb[0], rgb[1], rgb[2], kRenderNormal16);
  
  
// And a colored trail
  
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
  
write_byte(TE_BEAMFOLLOW// TE id
  
write_short(entity// entity
  
write_short(g_trailSpr// sprite
  
write_byte(10// life
  
write_byte(10// width
  
write_byte(rgb[0]) // r
  
write_byte(rgb[1]) // g
  
write_byte(rgb[2]) // b
  
write_byte(200// brightness
  
message_end()
  
  
// Set grenade type on the thrown grenade entity
  
set_pev(entityPEV_NADE_TYPENADE_TYPE_FLARE)
  
  
// Set flare color on the thrown grenade entity
  
set_pev(entityPEV_FLARE_COLORrgb)
 }


why it does not work?

- No errors on compile
- No errors in game console & Amxmodx Logs.

.Dare Devil. 04-10-2011 14:51

Re: Add w Granate Model In Zombie Plague 4.3
 
New w model script formaat.

PHP Code:

 
// Forward Set Model
public fw_SetModel(entity, const model[])
{
 
// We don't care
 
if (strlen(model) < 8)
  return;
 
 
// Remove weapons?
 
if (get_pcvar_float(cvar_removedropped) > 0.0)
 {
  
// Get entity's classname
  
static classname[10]
  
pev(entitypev_classnameclassnamecharsmax(classname))
  
  
// Check if it's a weapon box
  
if (equal(classname"weaponbox"))
  {
   
// They get automatically removed when thinking
   
set_pev(entitypev_nextthinkget_gametime() + get_pcvar_float(cvar_removedropped))
   return;
  }
 }
 
 
// Narrow down our matches a bit
 
if (model[7] != 'w' || model[8] != '_')
  return;
 
 
// Get damage time of grenade
 
static Float:dmgtime
 pev
(entitypev_dmgtimedmgtime)
 
 
// Grenade not yet thrown
 
if (dmgtime == 0.0)
  return;
 
 
// Get whether grenade's owner is a zombie
 
if (g_zombie[pev(entitypev_owner)])
 {
  if (
model[9] == 'h' && model[10] == 'e' && get_pcvar_num(cvar_extrainfbomb)) // Infection Bomb
  
{
   
// Give it a glow
   
fm_set_rendering(entitykRenderFxGlowShell02500kRenderNormal16);
   
   
// And a colored trail
   
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
   
write_byte(TE_BEAMFOLLOW// TE id
   
write_short(entity// entity
   
write_short(g_trailSpr// sprite
   
write_byte(10// life
   
write_byte(10// width
   
write_byte(0// r
   
write_byte(250// g
   
write_byte(0// b
   
write_byte(200// brightness
   
message_end()
   
   
// Set grenade type on the thrown grenade entity
   
set_pev(entityPEV_NADE_TYPENADE_TYPE_INFECTION)
   if(!
pev_valid(entity))
    return 
FMRES_IGNORED
   
static classname[32]; pev(entitypev_classnameclassname31)
   if(
equal(classname"grenade") && get_pcvar_num(cvar_extrainfbomb))
   {
    
engfunc(EngFunc_SetModelentitymodel_infect_nade_w)
  
    return 
FMRES_SUPERCEDE
   
}
   return 
FMRES_IGNORED
  
}
 }
 else if (
model[9] == 'h' && model[10] == 'e' && get_pcvar_num(cvar_firegrenades)) // Napalm Grenade
 
{

  
// Give it a glow
  
fm_set_rendering(entitykRenderFxGlowShell215376kRenderNormal16);
  
  
// And a colored trail
  
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
  
write_byte(TE_BEAMFOLLOW// TE id
  
write_short(entity// entity
  
write_short(g_trailSpr// sprite
  
write_byte(10// life
  
write_byte(10// width
  
write_byte(215// r
  
write_byte(37// g
  
write_byte(6// b
  
write_byte(200// brightness
  
message_end()
  
  
// Set grenade type on the thrown grenade entity
  
set_pev(entityPEV_NADE_TYPENADE_TYPE_NAPALM)
  if(!
pev_valid(entity))
   return 
FMRES_IGNORED
  
static classname[32]; pev(entitypev_classnameclassname31)
  if(
equal(classname"grenade") && get_pcvar_num(cvar_firegrenades))
  {
   
engfunc(EngFunc_SetModelentitymodel_fire_nade_w)
  
   return 
FMRES_SUPERCEDE
  
}
  return 
FMRES_IGNORED
 
}
 else if (
model[9] == 'f' && model[10] == 'l' && get_pcvar_num(cvar_frostgrenades)) // Frost Grenade
 
{

  
// Give it a glow
  
fm_set_rendering(entitykRenderFxGlowShell0100200kRenderNormal16);
  
  
// And a colored trail
  
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
  
write_byte(TE_BEAMFOLLOW// TE id
  
write_short(entity// entity
  
write_short(g_trailSpr// sprite
  
write_byte(10// life
  
write_byte(10// width
  
write_byte(0// r
  
write_byte(100// g
  
write_byte(200// b
  
write_byte(200// brightness
  
message_end()
  
  
// Set grenade type on the thrown grenade entity
  
set_pev(entityPEV_NADE_TYPENADE_TYPE_FROST)
  if(!
pev_valid(entity))
   return 
FMRES_IGNORED
  
static classname[32]; pev(entitypev_classnameclassname31)
  if(
equal(classname"grenade") && get_pcvar_num(cvar_frostgrenades))
  {
   
engfunc(EngFunc_SetModelentitymodel_frost_nade_w)
  
   return 
FMRES_SUPERCEDE
  
}
  return 
FMRES_IGNORED
 
}
 else if (
model[9] == 's' && model[10] == 'm' && get_pcvar_num(cvar_flaregrenades)) // Flare
 
{
  
// Build flare's color
  
static rgb[3]
  switch (
get_pcvar_num(cvar_flarecolor))
  {
   case 
0// white
   
{
    
rgb[0] = 255 // r
    
rgb[1] = 255 // g
    
rgb[2] = 255 // b
   
}
   case 
1// red
   
{
    
rgb[0] = random_num(50,255// r
    
rgb[1] = // g
    
rgb[2] = // b
   
}
   case 
2// green
   
{
    
rgb[0] = // r
    
rgb[1] = random_num(50,255// g
    
rgb[2] = // b
   
}
   case 
3// blue
   
{
    
rgb[0] = // r
    
rgb[1] = // g
    
rgb[2] = random_num(50,255// b
   
}
   case 
4// random (all colors)
   
{
    
rgb[0] = random_num(50,200// r
    
rgb[1] = random_num(50,200// g
    
rgb[2] = random_num(50,200// b
   
}
   case 
5// random (r,g,b)
   
{
    switch (
random_num(16))
    {
     case 
1// red
     
{
      
rgb[0] = 250 // r
      
rgb[1] = // g
      
rgb[2] = // b
     
}
     case 
2// green
     
{
      
rgb[0] = // r
      
rgb[1] = 250 // g
      
rgb[2] = // b
     
}
     case 
3// blue
     
{
      
rgb[0] = // r
      
rgb[1] = // g
      
rgb[2] = 250 // b
     
}
     case 
4// cyan
     
{
      
rgb[0] = // r
      
rgb[1] = 250 // g
      
rgb[2] = 250 // b
     
}
     case 
5// pink
     
{
      
rgb[0] = 250 // r
      
rgb[1] = // g
      
rgb[2] = 250 // b
     
}
     case 
6// yellow
     
{
      
rgb[0] = 250 // r
      
rgb[1] = 250 // g
      
rgb[2] = // b
     
}
    }
   }
  }
  
  
// Give it a glow
  
fm_set_rendering(entitykRenderFxGlowShellrgb[0], rgb[1], rgb[2], kRenderNormal16);
  
  
// And a colored trail
  
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
  
write_byte(TE_BEAMFOLLOW// TE id
  
write_short(entity// entity
  
write_short(g_trailSpr// sprite
  
write_byte(10// life
  
write_byte(10// width
  
write_byte(rgb[0]) // r
  
write_byte(rgb[1]) // g
  
write_byte(rgb[2]) // b
  
write_byte(200// brightness
  
message_end()
  
  
// Set grenade type on the thrown grenade entity
  
set_pev(entityPEV_NADE_TYPENADE_TYPE_FLARE)
  
  
// Set flare color on the thrown grenade entity
  
set_pev(entityPEV_FLARE_COLORrgb)
  if(!
pev_valid(entity))
   return 
FMRES_IGNORED
  
static classname[32]; pev(entitypev_classnameclassname31)
  if(
equal(classname"grenade") && get_pcvar_num(cvar_flaregrenades))
  {
   
engfunc(EngFunc_SetModelentitymodel_flare_nade_w)
  
   return 
FMRES_SUPERCEDE
  
}
  return 
FMRES_IGNORED
 
}


Get On compile errors :

(3306) : warning 209 : function "fm_SetModel" should roturn a value

Same (3320)
Same (3326)
Same (3335)

(3362) : error 078 : function uses both "return" and "return value"

sad:cry:

.Dare Devil. 04-10-2011 15:18

Re: Add w Granate Model In Zombie Plague 4.3
 
Fixed.
Working now! xD


All times are GMT -4. The time now is 19:48.

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