Raised This Month: $ Target: $400
 0% 

Realism for Paintball Gun & Mod


Post New Thread Reply   
 
Thread Tools Display Modes
Pr0SylerZZ
Member
Join Date: Feb 2011
Old 03-20-2011 , 03:58   Re: Realism for Paintball Gun & Mod
Reply With Quote #471

i got this
( 2 Load fails: Module/Library "cstrike" required for plugin. Check modules.ini.
( 29) Load fails: Invalid Plugin (plugin "paintballmod.amxx")
31 plugins, 29 running so wtf all in modules.ini is enabled and there is
Fakemeta
CStrike
Fun
Pr0SylerZZ is offline
TheMark147
Junior Member
Join Date: Jan 2011
Old 03-20-2011 , 04:46   Re: Realism for Paintball Gun & Mod
Reply With Quote #472

I already works all. But as disable buy classic weapons?
THX

Last edited by TheMark147; 03-20-2011 at 05:06.
TheMark147 is offline
Old 03-23-2011, 03:25
Loniu
This message has been deleted by Loniu.
Pr0SylerZZ
Member
Join Date: Feb 2011
Old 03-25-2011 , 14:47   Re: Realism for Paintball Gun & Mod
Reply With Quote #473

yea i did that still same
Pr0SylerZZ is offline
Old 03-28-2011, 04:23
Loniu
This message has been deleted by Loniu.
Boylive
Junior Member
Join Date: Jul 2010
Location: Thailand
Old 04-18-2011 , 21:19   Re: Realism for Paintball Gun & Mod
Reply With Quote #474

Hello everyone
i need really from plugin paintballgun.sma
i want change weapon without from pbgun such
MP5NAVY to

MP5 Silent

or other weapons

(i like properties block sound weapon fire from original sound weapon fire.)
how to write new code ?
i don't know how to write code.
(i mean change from effect paintball to effect normal weapon in time shoot)

Best Regards,

Last edited by Boylive; 04-21-2011 at 10:11.
Boylive is offline
Send a message via MSN to Boylive Send a message via Skype™ to Boylive
Old 04-20-2011, 07:47
Loniu
This message has been deleted by Loniu.
Boylive
Junior Member
Join Date: Jul 2010
Location: Thailand
Old 04-21-2011 , 09:10   Re: Realism for Paintball Gun & Mod
Reply With Quote #475

what FFA ??
i have old version paintball v1.1

PHP Code:
#include <amxmodx>
#include <fakemeta>
#include <cstrike>
#define PLUGIN "Paintball Gun"
#define VERSION "1.1"
#define AUTHOR "WhooKid"
new Float:lastshot[33],g_ballsnum,Score;
new 
onoff,color,shots,veloc,speed,blife,sound;
public 
plugin_init()
{
 
register_plugin(PLUGIN,VERSION,AUTHOR);
 
register_cvar("paintballgun",VERSION,FCVAR_SERVER|FCVAR_UNLOGGED);
 
server_print("*** %s v%s by %s Enabled ***",PLUGIN,VERSION,AUTHOR);
 
register_event("CurWeapon""ev_curweapon""be");
 
register_forward(FM_UpdateClientData,"fw_updateclientdata",1)
 
register_logevent("new_round",2,"0=World triggered","1=Round_Start");
 
register_clcmd("say /ent","ent_info",ADMIN_SLAY);
 
onoff register_cvar("amx_pbgun","1");
 
color register_cvar("pbgun_color","1");
 
shots register_cvar("pbgun_shots","220");
 
veloc register_cvar("pbgun_velocity","2000");
 
speed register_cvar("pbgun_speed","0.08");
 
blife register_cvar("pbgun_life","10");
 
sound register_cvar("pbgun_sound","1");
 
Score get_user_msgid("ScoreInfo");
}
public 
plugin_precache()
{
 
precache_sound("misc/pb1.wav");
 
precache_sound("misc/pb2.wav");
 
precache_sound("misc/pb3.wav");
 
precache_sound("misc/pb4.wav");
 
precache_sound("misc/pbg.wav");
 
precache_model("models/shell.mdl");
 
precache_model("sprites/bhit.spr");
 
precache_model("sprites/richo1.spr");
 
precache_model("models/p_pbgun.mdl");
 
precache_model("models/v_pbgun.mdl");
}
public 
ent_info(id)
 
client_print(id,print_chat,"[AMXX] [Ent Info (Current/Max)] Paintballs: (%d/%d)   Entities: (%d/%d)",g_ballsnum,get_pcvar_num(shots),engfunc(EngFunc_NumberOfEntities),global_get(glb_maxEntities));
public 
ev_curweapon(id)
{
 static 
model[30];
 
pev(id,pev_viewmodel2,model,29);
 if (
get_pcvar_num(onoff) && equali(model,"models/v_mp5.mdl"))
 {
  
set_pev(id,pev_viewmodel2,"models/v_pbgun.mdl");
  
set_pev(id,pev_weaponmodel2,"models/p_pbgun.mdl");
 }
}
public 
fw_updateclientdata(id,sw,cd_handle)
{
 if (
get_pcvar_num(onoff) && user_has_pbgun(id))
 {
  
set_cd(cd_handle,CD_flNextAttack,get_gametime()+0.001);
  return 
FMRES_HANDLED;
 }
 return 
FMRES_IGNORED;
}
public 
client_PreThink(id)
{
 if (
get_pcvar_num(onoff) && user_has_pbgun(id))
 {
  new 
buttons pev(id,pev_button);
  if (
buttons IN_ATTACK)
  {
   new 
ammo,null get_user_weapon(id,ammo,null);
   if (
ammo)
   {
    
set_pev(id,pev_button,buttons & ~IN_ATTACK);
    new 
Float:gametime get_gametime();
    if (
gametime-lastshot[id]>get_pcvar_float(speed))
    {
     if (
fire_paint(id))
     {
      
lastshot[id] = gametime;
      
set_user_clip(id,ammo-1);
      
set_pev(id,pev_punchangle,Float:{-0.50.00.0});
      
message_begin(MSG_ONE,SVC_WEAPONANIM,_,id);
      
write_byte(3);
      
write_byte(0);
      
message_end();
      if (
get_pcvar_num(sound))
       
emit_sound(id,CHAN_AUTO,"misc/pbg.wav",1.0,ATTN_NORM,0,PITCH_NORM);
     }
    }
   }
  }
 }
 return 
PLUGIN_CONTINUE;
}
public 
fire_paint(id)
{
 new 
ent;
 if (
g_ballsnum get_pcvar_num(shots))
  
ent engfunc(EngFunc_CreateNamedEntityengfunc(EngFunc_AllocString"info_target"));
 else
  if (
engfunc(EngFunc_RemoveEntity,engfunc(EngFunc_FindEntityByString,ent,"classname","pbPaint")))
   
g_ballsnum--;
 if (
pev_valid(ent))
 {
  static 
Float:vangles[3],Float:nvelocity[3],Float:voriginf[3],vorigin[3];
  
set_pev(ent,pev_classname,"pbBullet");
  
set_pev(ent,pev_owner,id);
  
set_pev(ent,pev_euser1,id);
  
engfunc(EngFunc_SetModel,ent,"models/shell.mdl");
  
engfunc(EngFunc_SetSize,ent,Float:{-1.0,-1.0,-1.0},Float:{1.0,1.0,1.0});
  
get_user_origin(id,vorigin,1);
  
IVecFVec(vorigin,voriginf);
  
set_pev(ent,pev_origin,voriginf);
  
pev(id,pev_v_angle,vangles);
  
set_pev(ent,pev_angles,vangles);
  
set_pev(ent,pev_v_angle,vangles);
  
set_pev(ent,pev_solid,2);
  
set_pev(ent,pev_movetype,5);
  
velocity_by_aim(id,get_pcvar_num(veloc),nvelocity);
  
set_pev(ent,pev_velocity,nvelocity);
  
set_pev(ent,pev_nextthink,get_gametime()+(get_pcvar_num(blife)*1.6));
  
set_task(0.1,"bullet_glow",ent);
  
g_ballsnum++;
  return 
ent;
 }
 return 
0;
}
public 
pfn_touch(bullet,ent)
{
 new class[
30];
 
pev(bullet,pev_classname,class,29);
 if (!
equali(class,"pbBullet"))
  return;
 new 
Float:origin[3],class2[30],owner pev(bullet,pev_euser1);
 
pev(ent,pev_classname,class2,29);
 
pev(bullet,pev_origin,origin);
 if (
is_user_alive(ent))
 {
  new 
Float:origin2[3],Float:maxs[3],ffkill,headshot 1;
 
  if (
owner == ent || pev(ent,pev_takedamage) == DAMAGE_NO)
   return;
  if (
get_user_team(owner) == get_user_team(ent))
   if (
get_cvar_num("mp_friendlyfire"))
    
ffkill 1;
   else
    return;
  
pev(ent,pev_origin,origin2);
  
pev(bullet,pev_maxs,maxs);
  
origin[2] += maxs[2];
  if (
vector_distance(origin2,origin) <= 26.3)
   
headshot 0;
  
origin[2] -= maxs[2];
  
user_silentkill(ent);
  if (
is_user_connected(owner))
  {
   
set_pev(owner,pev_frags,float(ffkill get_user_frags(owner)-get_user_frags(owner)+1))
   
message_begin(MSG_BROADCAST,Score);
   
write_byte(owner);
   
write_short(get_user_frags(owner));
   
write_short(cs_get_user_deaths(owner));
   
write_short(0);
   
write_short(get_user_team(owner));
   
message_end();
   
make_deathmsg(owner,ent,headshot,"mp5navy");
   if (
ffkill)
    
cs_set_user_tked(owner,1,0);
  }
 }
 if (
pev_valid(bullet) && !equali(class,class2))
 {
  static 
clr[3],wav[15];
  
set_pev(bullet,pev_velocity,Float:{0.0,0.0,0.0});
  
set_pev(bullet,pev_classname,"pbPaint");
  
set_pev(bullet,pev_solid,0);
  
set_pev(bullet,pev_movetype,0);
  
set_pev(bullet,pev_origin,origin);
  
engfunc(EngFunc_SetModel,bullet,random_num(0,1) ? "sprites/bhit.spr" "sprites/richo1.spr");
  if (
task_exists(bullet))
   
remove_task(bullet);
  if (
get_pcvar_num(sound))
  {
   switch (
random_num(1,4))
   {
    case 
1formatex(wav,14,"misc/pb1.wav");
    case 
2formatex(wav,14,"misc/pb2.wav");
    case 
3formatex(wav,14,"misc/pb3.wav");
    case 
4formatex(wav,14,"misc/pb4.wav");
   }
   
emit_sound(bullet,CHAN_AUTO,wav,1.0,ATTN_NORM,0,PITCH_NORM);
  }
  switch (
get_pcvar_num(color))
  {
   case 
2clr = (get_user_team(owner)==1) ? {255,0,0} : {0,0,255};
   default: {
    switch (
random_num(1,8))
    {
     case 
1clr = {255,255,255//white
     
case 2clr = {255,0,0}  //red
     
case 3clr = {0,255,0}  //green
     
case 4clr = {0,0,255}  //blue
     
case 5clr = {255,255,0//yellow
     
case 6clr = {255,0,255//magenta
     
case 7clr = {255,20,147//pink
     
case 8clr = {255,165,0//orange
    
}
   } 
  } 
  
set_rendering2(bullet,kRenderFxNoDissipation,clr[0],clr[1],clr[2],kRenderGlow,255);
  
set_pev(bullet,pev_flags,FL_ALWAYSTHINK);
  
set_pev(bullet,pev_nextthink,get_gametime()+get_pcvar_num(blife));
 }
}
public 
pfn_think(ent)
{
 if (
pev_valid(ent))
 {
  static class[
30];
  
pev(ent,pev_classname,class,29);
  if (
equali(class,"pbPaint") || equali(class,"pbBullet"))
  {
   
engfunc(EngFunc_RemoveEntity,ent);
   
g_ballsnum--;
  }
 }
}
public 
bullet_glow(ent)
{
 if (
pev_valid(ent))
 {
  static 
clr[3];
  switch (
get_pcvar_num(color))
  {
   case 
2clr = (get_user_team(pev(ent,pev_euser1))==1) ? {255,0,0} : {0,0,255};
   default: 
clr = {255,255,255};
  }
  
set_rendering2(ent,kRenderFxGlowShell,clr[0],clr[1],clr[2],kRenderNormal,255);
 }
}
public 
new_round()
{
 new 
ent = -1;
 while (((
ent engfunc(EngFunc_FindEntityByString,ent,"classname","pbPaint")) != 0) || ((ent engfunc(EngFunc_FindEntityByString,ent,"classname","pbBullet")) != 0))
  
engfunc(EngFunc_RemoveEntity,ent);
 
g_ballsnum 0;
}
stock user_has_pbgun(id)
{
 if (
is_user_alive(id))
 {
  static 
model[30];
  
pev(id,pev_viewmodel2,model,29); 
  if (
equali(model,"models/v_pbgun.mdl"))
   return 
1;
 }
 return 
0;
}
stock set_user_clip(id,ammo)
{
 new 
wpn[32],WPNid=-1,null,weaponid get_user_weapon(id,null,null);
 
get_weaponname(weaponid,wpn,31);
 while ((
WPNid engfunc(EngFunc_FindEntityByString,WPNid,"classname",wpn)) != 0)
  if (
id == pev(WPNid,pev_owner)){
   
cs_set_weapon_ammo(WPNid,ammo);
   return 
WPNid;
  }
 return 
0;
}
// teame06's function
stock set_rendering2(index,fx,r,g,b,render,amount)
{
 
set_pev(indexpev_renderfxfx);
 new 
Float:RenderColor[3];
 
RenderColor[0] = float(r);
 
RenderColor[1] = float(g);
 
RenderColor[2] = float(b);
 
set_pev(indexpev_rendercolorRenderColor);
 
set_pev(indexpev_rendermoderender);
 
set_pev(indexpev_renderamtfloat(amount));
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1033\\ f0\\ fs16 \n\\ par }
*/ 
and

PHP Code:
#include <amxmodx>
#include <engine>
#include <fakemeta_util>
#include <cstrike>
#include <hamsandwich>
#include <amxmisc>
#include <fun>
#define MAX_PLAYERS 32
#define MAX_BLOOD_DISTANCE 64
#define LOADUP_TIME  0.75
#define SHUTDOWN_TIME 1.7
#define SHAKE_FORCE  -5.0 //(must be negative value)
new const GUNSHOT_DECALS[] = {4142434445// Gunshot decal list
// Plugin information
new const PLUGIN[] = "WPN Minigun"
new const VERSION[] = "1.65"
new const AUTHOR[] = "CLLlAgOB"
// other
new bool:has_minigun[33], m249bool:atk2[33], bool:atk1[33],
bool:delay[33], clipp[33],clipstart,g_fwid,bool:delayhud[33],bool:beackup[33],
mcost,msg[128],bool:frstCLIP[33],g_MaxPlayers,g_guns_eventids_bitsum,bool:haswhpnnmg[33],
Float:g_lastShot[33], Float:g_nextSound[33], g_plAction[33],bool:g_fix_punchangle[33],
bool:canfire[33],oneround,only_adminCB,MsgSayText,g_normal_trace[33],DMGMG,bool:user_bot[33],
bool:is_alive[33],bool:is_connected[33]
// Blood
new g_blood
new g_bloodspray
// CS Player PData Offsets (win32)
const OFFSET_CSTEAMS 114
// Linux diff's
const OFFSET_LINUX // offsets 5 higher in Linux builds
// Models
new P_MODEL[] = "models/wpnmod/m134/p_minigun.mdl"
new V_MODEL[] = "models/wpnmod/m134/v_minigun.mdl"
new W_MODEL[] = "models/wpnmod/m134/w_minigun.mdl"
// Sounds
new m_SOUND[][] = {"wpnmod/minigun/hw_shoot1.wav""wpnmod/minigun/hw_spin.wav""wpnmod/minigun/hw_spinup.wav""wpnmod/minigun/hw_spindown.wav"}
new 
g_noammo_sounds[][] = {"weapons/dryfire_rifle.wav"}
//no recoil
new const g_guns_events[][] = {"events/m249.sc"}
//connect 
#define is_user_valid_connected(%1) (1 <= %1 <= g_MaxPlayers && is_connected[%1])
enum {
 
anim_idle,
 
anim_idle2,
 
anim_gentleidle,
 
anim_stillidle,
 
anim_draw,
 
anim_holster,
 
anim_spinup,
 
anim_spindown,
 
anim_spinidle,
 
anim_spinfire,
 
anim_spinidledown
}
// Types
enum {
 
act_none,
 
act_load_up,
 
act_run
}
public 
plugin_precache() {
 
precache_model(P_MODEL)
 
precache_model(V_MODEL)
 
precache_model(W_MODEL)
 
precache_sound(m_SOUND[0])
 
precache_sound(m_SOUND[1])
 
precache_sound(m_SOUND[2])
 
precache_sound(m_SOUND[3])
 
g_blood precache_model("sprites/blood.spr")
 
g_bloodspray precache_model("sprites/bloodspray.spr")
 
g_fwid register_forward(FM_PrecacheEvent"fwPrecacheEvent"1)
}
public 
plugin_init() {
 
register_plugin(PLUGINVERSIONAUTHOR)
 
register_dictionary("minigun.txt")
 
MsgSayText get_user_msgid("SayText")
 
clipstart =  register_cvar("amx_ammo_mini","600")
 
m249 =    register_cvar("amx_speed_mini","0.9")
 
DMGMG =  register_cvar("amx_minigun_damage","1.2")
 
oneround =   register_cvar("amx_oneround","0")
 
mcost =   register_cvar("amx_cost_mini","10000")
 
only_adminCB register_cvar("amx_only_adm_buy","0")
 
register_event("CurWeapon","event_curweapon","be""1=1")
 
register_event("DeathMsg","unminigun","a")
 
register_forward(FM_ClientDisconnect"fw_ClientDisconnect")
 
register_forward(FM_CmdStart"fwd_CmdStart")
 
register_forward(FM_EmitSound,"fwd_emitsound")
 
register_forward(FM_PlaybackEvent"fwPlaybackEvent")
 
register_forward(FM_PlayerPostThink"fwPlayerPostThink"1)
 
register_forward(FM_StartFrame"fwd_StartFrame")
 
register_forward(FM_UpdateClientData"UpdateClientData_Post"1)
 
RegisterHam(Ham_Killed"player""fw_PlayerKilled")
 
RegisterHam(Ham_Spawn"player""fw_PlayerSpawn_Post"1)
 
RegisterHam(Ham_TakeDamage"player""player_TakeDamage")
 
register_clcmd("say /minigun","buymini")
 
register_concmd("amx_minigun_give""cmdMinigun_give"ADMIN_LEVEL_A"<@all or name/id> <ammo>"
 
register_clcmd("drop","dropcmd")
 
//events
 // Get Max Players
 
g_MaxPlayers global_get(glb_maxClients)
 
register_logevent("event_start"2"1=Round_Start")
 
register_event("TextMsg""fwEvGameWillRestartIn""a""2=#Game_will_restart_in")
 
register_event("HLTV""event_start_freezetime""a""1=0""2=0")
 
unregister_forward(FM_PrecacheEventg_fwid1)
}
// Client joins the game
public client_putinserver(id)
{
 
// Player joined
 
is_connected[id] = true
}
// Client leaving
public fw_ClientDisconnect(id)
{
 
is_connected[id] = false
 is_alive
[id] = false
}
public 
fw_PlayerSpawn_Post(id)
{
 
// Not alive or didn't join a team yet
 
if (!is_user_alive(id) || !fm_cs_get_user_team(id))
  return;
 
// Player spawned
 
is_alive[id] = true
}
public 
fw_PlayerKilled(victimattackershouldgib)
{
 
//player die
 
is_alive[victim] = false
}
public 
unminigun(){
 new 
id read_data(2
 if(
has_minigun[id] && !is_alive[id]) {
  new 
Float:Aim[3],Float:origin[3]
  
VelocityByAim(id64Aim)
  
entity_get_vector(id,EV_VEC_origin,origin)
  
  
origin[0] += Aim[0]
  
origin[1] += Aim[1]
  
  new 
minigun create_entity("info_target")
  
entity_set_string(minigun,EV_SZ_classname,"minigun")
  
entity_set_model(minigun,W_MODEL
  
  
entity_set_size(minigun,Float:{-2.0,-2.0,-2.0},Float:{5.0,5.0,5.0})
  
entity_set_int(minigun,EV_INT_solid,1)
  
  
entity_set_int(minigun,EV_INT_movetype,6)
  
entity_set_int(minigunEV_INT_iuser1clipp[id])
  
entity_set_vector(minigun,EV_VEC_origin,origin)
  
has_minigun[id] = false
  remowegun
(id)
  return 
PLUGIN_HANDLED
 
}
 return 
PLUGIN_CONTINUE
}
//damage lvl
public player_TakeDamage(victiminflictorattackerFloat:damagedamagetype) {
 if(
damagetype DMG_BULLET && haswhpnnmg[attacker] && has_minigun[attacker] == true  && attacker!=victim)
  {
  
damage damage*get_pcvar_float(DMGMG)
  
SetHamParamFloat(4damage)
  return 
HAM_IGNORED
  

 return 
HAM_IGNORED
}
public 
cmdMinigun_give(idlevelcid) {
 if (!
cmd_access(idlevelcid3)) {
  return 
PLUGIN_HANDLED
 
}
 
 new 
arg[32], arg2[8], name2[32], argument2
 read_argv
(1,arg,31)
 
read_argv(2,arg2,7)
 
argument2 str_to_num(arg2)
 if ( 
equali(arg,"@all") ){
  new 
plist[32],pnum
  get_players
(plist,pnum,"a")
  if (
pnum==0)
   {
   
console_print(id,"[Minigun] This client is invalid")
   return 
PLUGIN_HANDLED
  
}
  for (new 
i=0i<pnumi++)
   {
   
give_weapon(plist[i], argument21)
   
client_print(plist[i], print_chat"[Minigun] %L"LANG_PLAYER"MINIGUN_ADMIN_GIVE_ALL",argument2)
  }
 }
 else
 {
  
get_user_name(id,name2,31)
  new 
player cmd_target(id,arg,7)
  if (!
player)
   {
   
console_print(id,"[Minigun] Give Minigun Failed"
   return 
PLUGIN_HANDLED
  
}
  new 
name[32]
  
get_user_name(player,name,31)
  
give_weapon(playerargument21
  
client_print(0print_chat"[Minigun] %L"LANG_PLAYER,"MINIGUN_ADMIN_GIVE",name,argument2)
  return 
PLUGIN_HANDLED
 
}
 return 
PLUGIN_HANDLED
}
public 
buymini(id) {
 if ((!(
get_user_flags(id) & ADMIN_IMMUNITY) || !(get_user_flags(id) & ADMIN_RESERVATION)) && get_pcvar_num(only_adminCB)) {
  
format(msg,256,"[Minigun] %L"LANG_PLAYER,"MINIGUN_ADMIN_BUY")
  
message_begin(MSG_ONE,MsgSayText,{0,0,0},id)
  
write_byte(id)
  
write_string(msg)
  
message_end()
  return 
PLUGIN_HANDLED
 
}
 new 
money cs_get_user_money(id)
 new 
price get_pcvar_num(mcost)
 if(!
is_alive[id])  
  
client_print(idprint_chat"[Minigun] %L"LANG_PLAYER,"MINIGUN_ALIVE")
 else if(
has_minigun[id])
  
client_print(idprint_chat"[Minigun] %L"LANG_PLAYER,"MINIGUN_ALREADY")
 else if(
money price)
  
client_print(idprint_chat"[Minigun] %L"LANG_PLAYER,"MINIGUN_NO_MONEY")
 else{  
  
cs_set_user_money(idmoney price)  
  
give_weapon(id01)
  
client_print(idprint_chat"[Minigun] %L"LANG_PLAYER,"MINIGUN_BUY",price
 }
 return 
PLUGIN_HANDLED
}
public 
dropcmd(id) {
 if(
has_minigun[id] && haswhpnnmg[id] && is_alive[id]) {
  new 
Float:Aim[3],Float:origin[3]
  
VelocityByAim(id64Aim)
  
entity_get_vector(id,EV_VEC_origin,origin)
  
  
origin[0] += Aim[0]
  
origin[1] += Aim[1]
  
  new 
minigun create_entity("info_target")
  
entity_set_string(minigun,EV_SZ_classname,"minigun")
  
entity_set_model(minigun,W_MODEL
  
  
entity_set_size(minigun,Float:{-2.0,-2.0,-2.0},Float:{5.0,5.0,5.0})
  
entity_set_int(minigun,EV_INT_solid,1)
  
  
entity_set_int(minigun,EV_INT_movetype,6)
  
entity_set_int(minigunEV_INT_iuser1clipp[id])
  
entity_set_vector(minigun,EV_VEC_origin,origin)
  
has_minigun[id] = false
  canfire
[id] = false
  remowegun
(id)
  
g_plAction[id] = false
  
return PLUGIN_HANDLED
 

 return 
PLUGIN_CONTINUE
}
public 
pfn_touch(ptrptd) {
 if(
is_valid_ent(ptr)) {
  new 
classname[32]
  
entity_get_string(ptr,EV_SZ_classname,classname,31)
  
  if(
equal(classname"minigun")) {
   if(
is_valid_ent(ptd)) {
    new 
id ptd
    
if(id && id 34) {
     if(!
has_minigun[id] && is_alive[id]) {
      
give_weapon(id,entity_get_int(ptrEV_INT_iuser1), 0)
      
canfire[id] = true
      remove_entity
(ptr)
     }
    }
   }
  }
 }
}
public 
remove_miniguns() {
 new 
nextitem  find_ent_by_class(-1,"minigun")
 while(
nextitem) {
  
remove_entity(nextitem)
  
nextitem find_ent_by_class(-1,"minigun")
 }
 return 
PLUGIN_CONTINUE
}
public 
event_start_freezetime(){
 
remove_miniguns()
 static 
iPlayers[32], iPlayersNum
 get_players
(iPlayersiPlayersNum"a")
 
 if(!
get_pcvar_num(only_adminCB)){
  for (
0<= iPlayersNum; ++i){
   if(!
has_minigun[iPlayers[i]]){
    
set_task(random_float(0.1,1.0),"msghelp",iPlayers[i])
   }
  }
 }
 if(
get_pcvar_num(oneround)){
  for (
0<= iPlayersNum; ++i){
   if(
has_minigun[iPlayers[i]]){
    
has_minigun[iPlayers[i]] = false 
    remowegun
(iPlayers[i])
   }
  }
 } else { 
  for (
0<= iPlayersNum; ++i){
   
g_plAction[iPlayers[i]] = false
   canfire
[iPlayers[i]] = false
   frstCLIP
[iPlayers[i]] = true 
   
}
 }
}
// remove gun  and save all guns
public remowegun(id) { 
 new 
wpnList[32
 new 
number
 get_user_weapons
(id,wpnList,number
 for (new 
0;number ;i++) { 
  if (
wpnList[i] == CSW_M249) {
   
fm_strip_user_gun(idwpnList[i])
  }
 }

public 
msghelp(id){
 
client_print(idprint_chat"[Minigun] %L"LANG_PLAYER,"MINIGUN_FOR_BUY")
 
client_print(idprint_chat"[Minigun] %L"LANG_PLAYER,"MINIGUN_PRICE",get_pcvar_num(mcost))
}
public 
event_start(){
 static 
iPlayers[32], iPlayersNum
 get_players
(iPlayersiPlayersNum"a"
 for (
0<= iPlayersNum; ++i)
  
canfire[iPlayers[i]] = true
}
 
public 
fwEvGameWillRestartIn() { 
 static 
iPlayers[32], iPlayersNum
 get_players
(iPlayersiPlayersNum"a"
 for (
0<= iPlayersNum; ++i
  
has_minigun[iPlayers[i]] = false
}
public 
client_connect(id){
 
canfire[id]= false
 has_minigun
[id] = false
 g_normal_trace
[id] = 0
 
if(is_user_bot(id)) user_bot[id] = true 
 
else user_bot[id] = false 
}
//block sound no ammo in atack
public fwd_emitsound(idchannelsample[], Float:volumeFloat:attnflagpitch)

 if (!
is_user_valid_connected(id) || !has_minigun[id])
  return 
FMRES_IGNORED;
 else if((
equal(sampleg_noammo_sounds[0])) && has_minigun[id] && haswhpnnmg[id]) 
  {
  return 
FMRES_SUPERCEDE
  

 return 
FMRES_IGNORED
}
//give wpn
public give_weapon(idammofrst){
 
has_minigun[id] = true
 give_item
(id,"weapon_m249")
 
canfire[id] = true
 clipp
[id] = ammo
 
if(frstfrstCLIP[id] = true
 
else beackup[id] = true
 
}

//play anim
public native_playanim(player,anim)
{
 
set_pev(playerpev_weaponanimanim)
 
message_begin(MSG_ONESVC_WEAPONANIM, {000}, player)
 
write_byte(anim)
 
write_byte(pev(playerpev_body))
 
message_end()
}

 public 
fwd_CmdStart(iduc_handleseed)
{
 
 if(!
is_alive[id] || !canfire[id] || !has_minigun[id]) return FMRES_HANDLED
 
 
if(haswhpnnmg[id])
 {
  static 
buttons
  buttons 
get_uc(uc_handleUC_Buttons)  
  if(
buttons IN_ATTACK)
  {
   
atk1[id] = true
   atk2
[id] = false
   
  
  
}
  else if(
buttons IN_ATTACK2)
  {
   
atk2[id] = true
   atk1
[id] = false
  
}
  if(
atk1[id] && !atk2[id] && (g_plAction[id] == act_none || g_plAction[id] == act_load_up) && clipp[id]>0){
   
buttons &= ~IN_ATTACK
   buttons 
&= ~IN_ATTACK2
   set_uc
(uc_handleUC_Buttonsbuttons)
   
fire_mode(id,0)
  } else if(
atk2[id] || atk1[id] && clipp[id]==0){
   
fire_mode(id,1)
  }
   
 }
 return 
FMRES_IGNORED 
}
// in fire
fire_mode(idtype) {
 static 
Float:gtime
 gtime 
get_gametime()
 
g_lastShot[id] = gtime
 
 
if(g_nextSound[id] <= gtime && canfire[id]) {
  switch(
g_plAction[id]) {
   case 
act_none: {
    
native_playanim(idanim_spinup)
    
emit_sound(idCHAN_WEAPONm_SOUND[2], 1.0ATTN_NORM0PITCH_NORM)
    
g_nextSound[id] = gtime LOADUP_TIME
    g_plAction
[id] = act_load_up
   
}
   case 
act_load_up: {
    
g_nextSound[id] = gtime
    g_plAction
[id] = act_run
   
}
  }
 }
 
 if(
g_plAction[id] == act_run) {
  if(
type == && clipp[id]>&& atk1[id]){
   
emit_sound(idCHAN_WEAPONm_SOUND[0], 1.0ATTN_NORM0PITCH_NORM)
   
testbulet(id)
   if(!
delay[id]) {
    
native_playanim(idanim_spinfire)
    
ammo_hud(id)
    
set_task(0.2,"delayanim",id)
    
delay[id] = true
    
}
  } 
  else { 
   if(!
delay[id]) {
    
ammo_hud(id)
    
emit_sound(idCHAN_WEAPONm_SOUND[1], 1.0ATTN_NORM0PITCH_NORM)
    
native_playanim(idanim_spinidle)
    
set_task(0.2,"delayanim",id)
    
delay[id] = true
   
}
  }
 }
 
atk1[id] = false
 atk2
[id] = false
}
public 
delayanim(id){
 
delay[id] = false
}
//set models
public event_curweapon(id){
 if(!
is_alive[id] || !is_connected[id] || user_bot[id]) return; 
 new 
clipammoweapon get_user_weapon(idclipammo)
 if((
has_minigun[id]) && (weapon == CSW_M249)){
  if(
g_plAction[id] != act_run && frstCLIP[id]){
    new 
ent get_weapon_ent(id,weapon)
    if(
clipp[id] < get_pcvar_num(clipstart)) clipp[id] = get_pcvar_num(clipstart)
    
cs_set_weapon_ammo(entclipp[id])
    
frstCLIP[id] = false
   
}
  if(
g_plAction[id] != act_run && beackup[id]){
   new 
ent get_weapon_ent(id,weapon)
   
cs_set_weapon_ammo(entclipp[id])
   
beackup[id] = false
  
}
  if(
clipp[id] == 0){
    new 
ent get_weapon_ent(id,weapon)
    
cs_set_weapon_ammo(entclipp[id])
   }
  if(
g_plAction[id] == act_run){
   
clipp[id] = clip
  
}
  
message_begin(MSG_ONEget_user_msgid("CurWeapon"), {0,0,0}, id
  
write_byte(1
  
write_byte(CSW_KNIFE
  
write_byte(0
  
message_end()
  if(!
haswhpnnmg[id]){
   
entity_set_string(id,EV_SZ_viewmodel,V_MODEL)
   
entity_set_string(id,EV_SZ_weaponmodel,P_MODEL)
   
haswhpnnmg[id] = true
  
}
  new 
Ent get_weapon_ent(id,weapon
  new 
Float:N_Speed
  
if(Ent)
   {
   
N_Speed get_pcvar_float(m249)
   new 
Float:Delay get_pdata_floatEnt464) * N_Speed 
   
if (Delay 0.0){
    
set_pdata_floatEnt46Delay4)
   }
  }
  
ammo_hud(id)
  if(
atk1[id]){
   
fire_mode(id0)
  }
  if(
atk2[id]){
   
fire_mode(id1)
  }
 } 
 if(
weapon != CSW_M249haswhpnnmg[id] = false
 
if((has_minigun[id]) && (!haswhpnnmg[id])) g_plAction[id] = act_none
 
return;
 } 
 
 
//sound and anim
public fwd_StartFrame() {
 static 
Float:gtimeid
 
 gtime 
get_gametime()
 
 for(
id 0id <= g_MaxPlayersid++) {
  if(
g_plAction[id] != act_none) {
   
   if(!(
pev(idpev_button) & IN_ATTACK) && !(pev(idpev_button) & IN_ATTACK2) && g_lastShot[id] + 0.2 gtime) {
    
native_playanim(idanim_spinidledown)
    
emit_sound(idCHAN_WEAPONm_SOUND[3], 1.0ATTN_NORM0PITCH_NORM)
    
g_nextSound[id] = gtime SHUTDOWN_TIME
    g_plAction
[id] = act_none
   
}
  }
 }
}
 
 
//marks on hit
 
public native_gi_get_gunshot_decal()
{
 return 
GUNSHOT_DECALS[random_num(0sizeof(GUNSHOT_DECALS) - 1)]
}
//hit bulet 
public testbulet(id){
 
// Find target
 
new aimOrigin[3], targetbody
 get_user_origin
(idaimOrigin3)
 
get_user_aiming(idtargetbody)
 
 if(
target && target <= g_MaxPlayers)
 {
  new 
Float:fStart[3], Float:fEnd[3], Float:fRes[3], Float:fVel[3]
  
pev(idpev_originfStart)
  
  
// Get ids view direction
  
velocity_by_aim(idMAX_BLOOD_DISTANCEfVel)
  
  
// Calculate position where blood should be displayed
  
fStart[0] = float(aimOrigin[0])
  
fStart[1] = float(aimOrigin[1])
  
fStart[2] = float(aimOrigin[2])
  
fEnd[0] = fStart[0]+fVel[0]
  
fEnd[1] = fStart[1]+fVel[1]
  
fEnd[2] = fStart[2]+fVel[2]
  
  
// Draw traceline from victims origin into ids view direction to find
  // the location on the wall to put some blood on there
  
new res
  engfunc
(EngFunc_TraceLinefStartfEnd0targetres)
  
get_tr2(resTR_vecEndPosfRes)
    
  
// Show some blood :)
  
message_begin(MSG_BROADCASTSVC_TEMPENTITY
  
write_byte(TE_BLOODSPRITE)
  
write_coord(floatround(fStart[0])) 
  
write_coord(floatround(fStart[1])) 
  
write_coord(floatround(fStart[2])) 
  
write_short(g_bloodspray)
  
write_short(g_blood)
  
write_byte(70)
  
write_byte(random_num(1,2))
  
message_end()
  
  
 } else {
  new 
decal native_gi_get_gunshot_decal()
  
  
// Check if the wall hit is an entity
  
if(target)
  {
   
// Put decal on an entity
   
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
   
write_byte(TE_DECAL)
   
write_coord(aimOrigin[0])
   
write_coord(aimOrigin[1])
   
write_coord(aimOrigin[2])
   
write_byte(decal)
   
write_short(target)
   
message_end()
  } else {
   
// Put decal on "world" (a wall)
   
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
   
write_byte(TE_WORLDDECAL)
   
write_coord(aimOrigin[0])
   
write_coord(aimOrigin[1])
   
write_coord(aimOrigin[2])
   
write_byte(decal)
   
message_end()
  }
  
  
// Show sparcles
  
message_begin(MSG_BROADCASTSVC_TEMPENTITY)
  
write_byte(TE_GUNSHOTDECAL)
  
write_coord(aimOrigin[0])
  
write_coord(aimOrigin[1])
  
write_coord(aimOrigin[2])
  
write_short(id)
  
write_byte(decal)
  
message_end()
 }
}

//block anim standart wpn 
public UpdateClientData_Postidsendweaponscd_handle ){
 if ( !
is_alive[id] ) return FMRES_IGNORED;
 if(
haswhpnnmg[id] && has_minigun[id]) set_cd(cd_handleCD_flNextAttackhalflife_time() + 0.001 );      
 return 
FMRES_HANDLED;
}
 
// No recoil stuff
public fwPrecacheEvent(type, const name[]) {
 for (new 
0sizeof g_guns_events; ++i) {
  if (
equal(g_guns_events[i], name)) {
   
g_guns_eventids_bitsum |= (1<<get_orig_retval())
   return 
FMRES_HANDLED
  
}
 }
 return 
FMRES_IGNORED
}
public 
fwPlaybackEvent(flagsinvokereventid) {
 if (!(
g_guns_eventids_bitsum & (1<<eventid)) || !(<= invoker <= g_MaxPlayers)|| !haswhpnnmg[invoker] || !has_minigun[invoker])
  return 
FMRES_IGNORED
 g_fix_punchangle
[invoker] = true
 
return FMRES_HANDLED
}
public 
fwPlayerPostThink(id) {
 if (
g_fix_punchangle[id]) {
  
g_fix_punchangle[id] = false
  set_pev
(idpev_punchangleFloat:{0.00.00.0})
  return 
FMRES_HANDLED
 
}
 return 
FMRES_IGNORED
}
public 
fwTraceLine(const Float:start[3], const Float:dest[3], ignore_monstersidptr) {
 if (!(
<= id <= g_MaxPlayers))
  return 
FMRES_IGNORED
 
if (!g_normal_trace[id]) {
  
g_normal_trace[id] = ptr
  
return FMRES_HANDLED
 
}
 if (
ptr == g_normal_trace[id] || ignore_monsters != DONT_IGNORE_MONSTERS || !haswhpnnmg[id] || !has_minigun[id] || !is_alive[id])
  return 
FMRES_IGNORED
 fix_recoil_trace
(idstartptr)
 return 
FMRES_SUPERCEDE
}
// show ammo clip
public ammo_hud(id) {
 if(!
delayhud[id]) {
  
delayhud[id] = true
  
new AmmoHud[65]
  new 
clip clipp[id]
  
format(AmmoHud64"Ammo: %i"clip)
  
set_hudmessage(20010001.0 1.000.10.1,0.1)
  
show_hudmessage(id,"%s",AmmoHud)
  
set_task(0.2,"delayhutmsg",id)
 }
}
public 
delayhutmsg(id){
 
delayhud[id]= false
}
//get weapon id
stock get_weapon_ent(id,wpnid=0,wpnName[]="")
{
 
// who knows what wpnName will be
 
static newName[24];
 
// need to find the name
 
if(wpnidget_weaponname(wpnid,newName,23);
 
// go with what we were told
 
else formatex(newName,23,"%s",wpnName);
 
// prefix it if we need to
 
if(!equal(newName,"weapon_",7))
  
format(newName,23,"weapon_%s",newName);
 return 
fm_find_ent_by_owner(get_maxplayers(),newName,id);

fix_recoil_trace(id, const Float:start[], ptr) {
 static 
Float:dest[3]
 
pev(idpev_v_angledest)
 
engfunc(EngFunc_MakeVectorsdest)
 
global_get(glb_v_forwarddest)
 
xs_vec_mul_scalar(dest9999.0dest)
 
xs_vec_add(startdestdest)
 
engfunc(EngFunc_TraceLinestartdestDONT_IGNORE_MONSTERSidptr)
}
// Get User Team
stock fm_cs_get_user_team(id)
{
 return 
get_pdata_int(idOFFSET_CSTEAMSOFFSET_LINUX);

can mix code ??

list weapons

weapon_m4a1
weapon_ak47
weapon_mp5navy
weapon_usp
weapon_glock18
weapon_deagle
weapon_p228
weapon_elite
weapon_fiveseven
weapon_m3
weapon_xm1014
weapon_tmp
weapon_p90
weapon_mac10
weapon_ump4
weapon_sg552
weapon_sg552
weapon_scout
weapon_awp
weapon_g3sg1
weapon_sg550
weapon_m249
weapon_galil

CSW_P228
CSW_SCOUT
CSW_HEGRENADE
CSW_XM1014
CSW_C4
CSW_MAC10
CSW_AUG
CSW_SMOKEGRENADE
CSW_ELITE
CSW_FIVESEVEN
CSW_UMP45
CSW_SG550
CSW_GALI
CSW_GALIL
CSW_FAMAS
CSW_USP
CSW_GLOCK18
CSW_AWP
CSW_MP5NAVY
CSW_M249
CSW_M3
CSW_M4A1
CSW_TMP
CSW_G3SG1
CSW_FLASHBANG
CSW_DEAGLE
CSW_SG552
CSW_AK47
CSW_KNIFE
CSW_P90

from mp5navy add more weapon ??
paintballgun.amxx v5.10 no error run on hlds. (hlds update from steam)
but in version 5.10 i use weapon can't shoot run on AMX 1.8.1
paintball v1.1 i can shoot.


List Module running on Hlds
CStrike 1.8.1.3746 AMX Mod X Dev Team running
CSX 1.8.1.3746 AMX Mod X Dev Team running
Engine 1.8.1.3746 AMX Mod X Dev Team running
FakeMeta 1.8.1.3746 AMX Mod X Dev Team running
Fun 1.8.1.3746 AMX Mod X Dev Team running
Ham Sandwich 1.8.1.3746 AMX Mod X Dev Team running
MySQL 1.8.1.3746 AMX Mod X Dev Team running
nVault 1.8.1.3746 AMX Mod X Dev Team running
SQLite 1.8.1.3746 AMX Mod X Dev Team running
Orpheu 2.3a joaquimandrade running
GeoIP 1.71 AMX Mod X Dev Team running
RegEx 1.8.1.3746 AMX Mod X Dev Team running
Sockets 1.8.1.3746 HLSW Dev Team running

Loniu help me
__________________
http://realismcs.feel3d.org
i'm really thank you for all Author plugin.

Best regard,

Last edited by Boylive; 04-21-2011 at 11:45.
Boylive is offline
Send a message via MSN to Boylive Send a message via Skype™ to Boylive
.Dare Devil.
Veteran Member
Join Date: Sep 2010
Old 04-21-2011 , 11:21   Re: Realism for Paintball Gun & Mod
Reply With Quote #476

Very nice plugin .
.Dare Devil. is offline
Old 04-21-2011, 11:53
Loniu
This message has been deleted by Loniu.
Boylive
Junior Member
Join Date: Jul 2010
Location: Thailand
Old 04-21-2011 , 12:52   Re: Realism for Paintball Gun & Mod
Reply With Quote #477

all i mean how to change effect paintball fire ?
and add weapons on list such TMP,ESC90,UMP45,etc..

see picture 1&2

old effect


i want change effect to



how to change effect ??
(plugin paintball can block sound shoot from original sound shoot)
__________________
http://realismcs.feel3d.org
i'm really thank you for all Author plugin.

Best regard,

Last edited by Boylive; 04-21-2011 at 13:01.
Boylive is offline
Send a message via MSN to Boylive Send a message via Skype™ to Boylive
Boylive
Junior Member
Join Date: Jul 2010
Location: Thailand
Old 04-21-2011 , 22:55   Re: Realism for Paintball Gun & Mod
Reply With Quote #478

haha i forgot paintball can't shoot glass no damage who know can change code ??
no damage on glass
__________________
http://realismcs.feel3d.org
i'm really thank you for all Author plugin.

Best regard,
Boylive is offline
Send a message via MSN to Boylive Send a message via Skype™ to Boylive
Old 04-22-2011, 03:20
Loniu
This message has been deleted by Loniu.
Sewek
Junior Member
Join Date: Mar 2011
Location: Poland
Old 04-29-2011 , 08:49   Re: Realism for Paintball Gun & Mod
Reply With Quote #479

Can someone tell me, where to change, to get new Models of Paintball Guns ?
I have found a cool model on fpsbanana.com, and want to use it in my PB-Server.
Loniu, what should i change in paintballgun.sma ?
__________________
Sewek is offline
Send a message via Skype™ to Sewek
Old 04-29-2011, 14:50
Loniu
This message has been deleted by Loniu.
Sewek
Junior Member
Join Date: Mar 2011
Location: Poland
Old 04-29-2011 , 15:01   Re: Realism for Paintball Gun & Mod
Reply With Quote #480

Can you PM me on Gadu Gadu(6946377) ?
We can speak about Paintball and my ideas.
It could be a help to your Servers, and to mine...
Thank You..
__________________
Sewek is offline
Send a message via Skype™ to Sewek
Old 04-29-2011, 15:59
Loniu
This message has been deleted by Loniu.
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 02:55.


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