Raised This Month: $ Target: $400
 0% 

Smoke Grenade.


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Mr.Noobie
BANNED
Join Date: Apr 2009
Old 06-03-2009 , 08:33   Smoke Grenade.
Reply With Quote #1

Can anyone provide me smoke nade codes ?
Because my smoke nade look really big smoke.
I want just the normal smoke.

Code:

Code:
/*================================================================================
 
    -----------------------------------
    -*- [ZP] Class : Smoke Screen Zombie -*-
    -----------------------------------
 
    ~~~~~~~~~~~~~~~
    - Description -
    ~~~~~~~~~~~~~~~
 
    Able to use black smoke.
 
================================================================================*/
#include <amxmodx>
#include <zombieplague>
#include <engine>
new g_zclass_sszombie
new smoke_spr
new Float:g_cooldown[33]
new smoke_count[33]
new bool:wait_damage[33]
new cvar_bind
new const zclass_name[] = { "Smoke Screen Zombie" }
new const zclass_info[] = { "Smoke Screen" }
new const zclass_model[] = { "zombie_source3" }
new const zclass_clawmodel[] = { "v_knife_zombie.mdl" }
const zclass_health = 1500
const zclass_speed = 250
const Float:zclass_gravity = 1.0
const Float:zclass_knockback = 1.0
public plugin_init()
{
        register_plugin("[ZP] Class : Smoke Screen Zombie", "1.0", "zombie")
 register_event("ResetHUD","reset_hud","b")
 register_logevent("endround", 2, "0=World triggered", "1=Round_End")
 register_clcmd("+smoke","smoke", ADMIN_USER, "bind ^"key^" ^"+drag^"")
 register_cvar("zp_sszombie_cooldown","30")
 register_cvar("zp_sszombie_ttl","180")
 register_cvar("zp_sszombie_abuse","5")
 cvar_bind = register_cvar("zp_sszombie_bind", "1")       
}
public plugin_precache()
{
 g_zclass_sszombie = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback)
 precache_sound("player/headshot1.wav")
 smoke_spr = precache_model("sprites/smoke.spr")
 precache_sound("sg_explode.wav")
}
public zp_user_infected_post(id, infector)
{
 if (zp_get_user_zombie_class(id) == g_zclass_sszombie)
 {
  wait_damage[id] = true
  new mode = get_pcvar_num(cvar_bind)
 
  if (mode == 1) {
   client_cmd(id, "bind v ^"+smoke^"")
   client_print(id, print_chat, "[ZP] To use Smoke Screen press ^'^'V^'^'")
  }
  if (mode == 0) {
   client_print(id, print_chat, "[ZP] To use Smoke Screen (bind ^'^'key^'^' ^'^'+smoke^'^') hold binded key")
  }
 }
}
public reset_hud(id)
{
 g_cooldown[id] = 0.0
        smoke_count[id] = 0
 wait_damage[id] = false
}
public endround()
{
 set_task(3.0, "kill_smoke", 99999944)
}
public smoke(id) 
{
 if (!is_user_alive(id) || !zp_get_user_zombie(id))
  return PLUGIN_HANDLED
 if (zp_get_user_zombie_class(id) != g_zclass_sszombie)
  return PLUGIN_CONTINUE
 if(get_gametime() < g_cooldown[id])
 {
  new timetowait = floatround(g_cooldown[id]-get_gametime())
  client_print(id, print_chat, "wait for %d second%s before using Smoke Screen again.", timetowait, (timetowait>1)?"S":"")
 }
 else
 {
  emit_sound(id, CHAN_VOICE, "sg_explode.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
  new origin[3]
  get_user_origin(id, origin)
  for (new j = 0; j < 10; j++)
  {
   message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
   write_byte(101)
   write_coord(origin[0])
   write_coord(origin[1])
   write_coord(origin[2] - 26)
   write_coord(random_num(-100,100))
   write_coord(random_num(-100,100))
   write_coord(random_num(20,300))
   write_byte(100)
   write_byte(random_num(100,200))
   message_end()
  }
  create_smoke(id)
  smoke_count[id]++
  if(smoke_count[id] > get_cvar_num("zp_sszombie_abuse"))
  {
   new health = get_user_health(id) - random_num(10,50)
   if(health > 0)
   {
    user_slap(id, health)
    client_print(id, print_chat, "Do not abuse the Smoke Screen or you will have to face the consequences.")
   }
   else
   {
    emit_sound(id, CHAN_VOICE, "sg_explode.wav", 1.0, 0.2, 0, PITCH_NORM)
    message_begin(MSG_ALL, SVC_TEMPENTITY)
    write_byte(10)
    write_coord(origin[0])
    write_coord(origin[1])
    write_coord(origin[2]-26)
    message_end()
    user_kill(id)
    new player_name[32]
    get_user_name(id, player_name, 31)
    client_print(0, print_chat, "%s abuse Smoke Screen and he blew up.", player_name)
   }
  }
  g_cooldown[id] = get_gametime() + get_cvar_float("zp_sszombie_cooldown")
 }
 return PLUGIN_HANDLED
}
public reset_damage(ids[])
{
 wait_damage[ids[0]] = false
}
public create_smoke(id)
{
 new Float:origin[3]
 entity_get_vector(id, EV_VEC_origin, origin)
 new FartEnt
 FartEnt = create_entity("info_target")
 if(FartEnt <= 0)
 {
  return PLUGIN_HANDLED_MAIN
 }
 entity_set_string(FartEnt, EV_SZ_classname, "hazardous fart")
 new Float:MinBox[3]
 new Float:MaxBox[3]
 MinBox[0] = -80.0
 MinBox[1] = -80.0
 MinBox[2] = -80.0
 MaxBox[0] = 80.0
 MaxBox[1] = 80.0
 MaxBox[2] = 80.0
 entity_set_size(FartEnt, MinBox, MaxBox)
 entity_set_int(FartEnt, EV_INT_solid, 1)
 entity_set_edict(FartEnt, EV_ENT_owner, 33+id)
 entity_set_origin(FartEnt, origin)
 new param[1]
 param[0]= FartEnt
 set_task(1.0,"smoke_fume",111111+FartEnt,param,1,"b")
 set_task(get_cvar_float("zp_sszombie_ttl"),"remove_smoke",333333+FartEnt,param,1)
 return PLUGIN_CONTINUE
}
public remove_smoke(param[1])
{
 new FartEnt = param[0]
 if(is_valid_ent(FartEnt)) remove_entity(FartEnt)
 remove_task(111111+FartEnt)
 return PLUGIN_CONTINUE
}
public kill_smoke()
{
 new iEntity = find_ent_by_class(-1, "hazardous fart")
 while(iEntity > 0)
 {
  remove_entity(iEntity)
  remove_task(111111+iEntity)
  remove_task(333333+iEntity)
  iEntity = find_ent_by_class(-1, "hazardous fart")
 }
 return PLUGIN_CONTINUE
}
public smoke_fume(param[1])
{
 new FartEnt = param[0]
 new Float:forigin[3], origin[3]
 entity_get_vector(FartEnt, EV_VEC_origin, forigin)
 FVecIVec(forigin, origin)
 new players[32], inum
 get_players(players,inum)
 for(new i = 0 ;i < inum; ++i)
 {
  message_begin(MSG_ONE,SVC_TEMPENTITY,{0,0,0},players[i])
  write_byte(17)
  write_coord(origin[0])
  write_coord(origin[1])
  write_coord(origin[2]+30)
  write_short(smoke_spr)
  write_byte(180)
  write_byte(100)
  message_end()
 }
 return PLUGIN_CONTINUE
}
If the file you can't understand here the SMA.
Attached Files
File Type: sma Get Plugin or Get Source (zp_zclass_sszombie.sma - 554 views - 5.9 KB)
Mr.Noobie is offline
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 06-03-2009 , 08:44   Re: Smoke Grenade.
Reply With Quote #2

Search write_byte(180) and replace 180 another inferior value.
__________________
Arkshine is offline
Mr.Noobie
BANNED
Join Date: Apr 2009
Old 06-03-2009 , 12:25   Re: Smoke Grenade.
Reply With Quote #3

Quote:
Originally Posted by arkshine View Post
Search write_byte(180) and replace 180 another inferior value.
what does replace 180 another inferior value

replace other digit?
Mr.Noobie is offline
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 06-03-2009 , 12:33   Re: Smoke Grenade.
Reply With Quote #4

Yes, another value but inferior to 180. This param is the scale of the sprite.
__________________
Arkshine is offline
Mr.Noobie
BANNED
Join Date: Apr 2009
Old 06-03-2009 , 13:19   Re: Smoke Grenade.
Reply With Quote #5

I try my best:

[IMG]http://img198.**************/img198/8814/picturej.png[/IMG]

It look differen from the normal smokes. why is the smoke binking ? like flashing.

Codes:

Code:
  message_begin(MSG_ONE,SVC_TEMPENTITY,{0,0,0},players[i])
  write_byte(17)
  write_coord(origin[0])
  write_coord(origin[1])
  write_coord(origin[2]+30)
  write_short(smoke_spr)
  write_byte(75)
  write_byte(180)
  message_end()
I just want it look like the normal Smoke Grenade.
Mr.Noobie is offline
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 06-03-2009 , 13:28   Re: Smoke Grenade.
Reply With Quote #6

Well because it's not the right sprite. Probably black_smoke*.spr.

To generate the same effect there is maybe the use of createsmoke.sc event.
__________________
Arkshine is offline
Mr.Noobie
BANNED
Join Date: Apr 2009
Old 06-03-2009 , 13:33   Re: Smoke Grenade.
Reply With Quote #7

Quote:
Originally Posted by arkshine View Post
Well because it's not the right sprite. Probably black_smoke*.spr.

To generate the same effect there is maybe the use of createsmoke.sc event.

Can you help me with the codes ?
Mr.Noobie 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 13:54.


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