Raised This Month: $ Target: $400
 0% 

Parachute Error


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
KaPaTeJIb
Member
Join Date: Oct 2012
Location: Tbilisi
Old 10-16-2013 , 13:24   Parachute Error
Reply With Quote #1

Hi all, I have error with parachute plugin

HTML Code:
L 09/02/2011 - 07:39:27: [AMXX] Displaying debug trace (plugin "para.amxx")
L 09/02/2011 - 07:39:27: [AMXX] Run time error 4: index out of bounds 
L 09/02/2011 - 07:39:27: [AMXX]    [0] para.sma::parachute_reset (line 77)
L 09/02/2011 - 07:39:27: [AMXX]    [1] para.sma::death_event (line 73)
PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <cstrike>
#include <fun>
new bool:has_parachute[33]
new 
para_ent[33]
new 
gCStrike 0
new pDetachpFallSpeedpEnabledpCostpPayback
#define PARACHUTE_LEVEL ADMIN_LEVEL_A
public plugin_init()
{
 
register_plugin("Parachute""1.3""KRoT@L/JTP10181")
 
pEnabled register_cvar("sv_parachute""1" )
 
pFallSpeed register_cvar("parachute_fallspeed""100")
 
pDetach register_cvar("parachute_detach""1")
 if (
cstrike_running()) gCStrike true
 
if (gCStrike) {
  
pCost register_cvar("parachute_cost""0")
  
pPayback register_cvar("parachute_payback""0")
  
register_concmd("amx_parachute""admin_give_parachute"PARACHUTE_LEVEL"<nick, #userid or @team>" )
 }
 
register_clcmd("say""HandleSay")
 
register_clcmd("say_team""HandleSay")
 
register_event("ResetHUD""newSpawn""be")
 
register_event("DeathMsg""death_event""a")
 
//Setup jtp10181 CVAR
 
new cvarString[256], shortName[16]
 
copy(shortName,15,"chute")
 
register_cvar("jtp10181","",FCVAR_SERVER|FCVAR_SPONLY)
 
get_cvar_string("jtp10181",cvarString,255)
 if (
strlen(cvarString) == 0) {
  
formatex(cvarString,255,shortName)
  
set_cvar_string("jtp10181",cvarString)
 }
 else if (
contain(cvarString,shortName) == -1) {
  
format(cvarString,255,"%s,%s",cvarStringshortName)
  
set_cvar_string("jtp10181",cvarString)
 }
}
public 
plugin_natives()
{
 
set_module_filter("module_filter")
 
set_native_filter("native_filter")
}
public 
module_filter(const module[])
{
 if (!
cstrike_running() && equali(module"cstrike")) {
  return 
PLUGIN_HANDLED
 
}
 return 
PLUGIN_CONTINUE
}
public 
native_filter(const name[], indextrap)
{
 if (!
trap) return PLUGIN_HANDLED
 
return PLUGIN_CONTINUE
}
public 
plugin_precache()
{
 
precache_model("models/parachute.mdl")
}
public 
client_connect(id)
{
 
parachute_reset(id)
}
public 
client_disconnect(id)
{
 
parachute_reset(id)
}
public 
death_event()
{
 new 
id read_data(2)
 
parachute_reset(id)
}
parachute_reset(id)
{
 if(
para_ent[id] > 0) {
  if (
is_valid_ent(para_ent[id])) {
   
remove_entity(para_ent[id])
  }
 }
 
 
has_parachute[id] = false
 para_ent
[id] = 0
}
public 
newSpawn(id)
{
 if(
para_ent[id] > 0) {
  
remove_entity(para_ent[id])
  
para_ent[id] = 0
 
}
 if (!
gCStrike || access(id,PARACHUTE_LEVEL) || get_pcvar_num(pCost) <= 0) {
  
has_parachute[id] = true
  
//set_view(id, CAMERA_3RDPERSON)
 
}
}
public 
HandleSay(id)
{
 if(!
is_user_connected(id)) return PLUGIN_CONTINUE
 
new args[128]
 
read_args(args127)
 
remove_quotes(args)
 if (
gCStrike) {
  if (
equali(args"buy_parachute")) {
   
buy_parachute(id)
   return 
PLUGIN_HANDLED
  
}
  else if (
equali(args"sell_parachute")) {
   
sell_parachute(id)
   return 
PLUGIN_HANDLED
  
}
  else if (
containi(args"give_parachute") == 0) {
   
give_parachute(id,args[15])
   return 
PLUGIN_HANDLED
  
}
 }
 if (
containi(args"parachute") != -1) {
  if (
gCStrikeclient_print(idprint_chat"[AMXX] Parachute commands: buy_parachute, sell_parachute, give_parachute")
  
client_print(idprint_chat"[AMXX] To use your parachute press and hold your +use button while falling")
 }
 return 
PLUGIN_CONTINUE
}
public 
buy_parachute(id)
{
 if (!
gCStrike) return PLUGIN_CONTINUE
 
if (!is_user_connected(id)) return PLUGIN_CONTINUE
 
if (!get_pcvar_num(pEnabled)) {
  
client_print(idprint_chat"[AMXX] Parachute plugin is disabled")
  return 
PLUGIN_HANDLED
 
}
 if (
has_parachute[id]) {
  
client_print(idprint_chat"[AMXX] You already have a parachute")
  return 
PLUGIN_HANDLED
 
}
 new 
money cs_get_user_money(id)
 new 
cost get_pcvar_num(pCost)
 if (
money cost) {
  
client_print(idprint_chat"[AMXX] You don't have enough moneyfor a parachute - Costs $%i"cost)
  return 
PLUGIN_HANDLED
 
}
 
cs_set_user_money(idmoney cost)
 
client_print(idprint_chat"[AMXX] You have bought a parachute. To use it, press +use while falling.")
 
has_parachute[id] = true
 
return PLUGIN_HANDLED
}
public 
sell_parachute(id)
{
 if (!
gCStrike) return PLUGIN_CONTINUE
 
if (!is_user_connected(id)) return PLUGIN_CONTINUE
 
if (!get_pcvar_num(pEnabled)) {
  
client_print(idprint_chat"[AMXX] Parachute plugin is disabled")
  return 
PLUGIN_HANDLED
 
}
 if (!
has_parachute[id]) {
  
client_print(idprint_chat"[AMXX] You don't have a parachute to sell")
  return 
PLUGIN_HANDLED
 
}
 if (
access(id,PARACHUTE_LEVEL)) {
  
client_print(idprint_chat"[AMXX] You cannot sell your free admin parachute")
  return 
PLUGIN_HANDLED
 
}
 
parachute_reset(id)
 new 
money cs_get_user_money(id)
 new 
cost get_pcvar_num(pCost)
 new 
sellamt floatround(cost * (get_pcvar_num(pPayback) / 100.0))
 
cs_set_user_money(idmoney sellamt)
 
client_print(idprint_chat"[AMX] You have sold your used parachute for $%d"sellamt)
 return 
PLUGIN_CONTINUE
}
public 
give_parachute(id,args[])
{
 if (!
gCStrike) return PLUGIN_CONTINUE
 
if (!is_user_connected(id)) return PLUGIN_CONTINUE
 
if (!get_pcvar_num(pEnabled)) {
  
client_print(idprint_chat"[AMXX] Parachute plugin is disabled")
  return 
PLUGIN_HANDLED
 
}
 if (!
has_parachute[id]) {
  
client_print(idprint_chat"[AMXX] You don't have a parachute to give")
  return 
PLUGIN_HANDLED
 
}
 new 
player cmd_target(idargs4)
 if (!
player) return PLUGIN_HANDLED
 
new id_name[32], pl_name[32]
 
get_user_name(idid_name31)
 
get_user_name(playerpl_name31)
 if(
has_parachute[player]) {
  
client_print(idprint_chat"[AMXX] %s already has a parachute."pl_name)
  return 
PLUGIN_HANDLED
 
}
 
parachute_reset(id)
 
has_parachute[player] = true
 client_print
(idprint_chat"[AMXX] You have given your parachute to %s."pl_name)
 
client_print(playerprint_chat"[AMXX] %s has given thier parachute to you."id_name)
 return 
PLUGIN_HANDLED
}
public 
admin_give_parachute(idlevelcid) {
 if (!
gCStrike) return PLUGIN_CONTINUE
 
if(!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED
 
if (!get_pcvar_num(pEnabled)) {
  
client_print(idprint_chat"[AMXX] Parachute plugin is disabled")
  return 
PLUGIN_HANDLED
 
}
 new 
arg[32], name[32], name2[32], authid[35], authid2[35]
 
read_argv(1,arg,31)
 
get_user_name(id,name,31)
 
get_user_authid(id,authid,34)
 if (
arg[0]=='@'){
  new 
players[32], inum
  
if (equali("T",arg[1]))  copy(arg[1],31,"TERRORIST")
  if (
equali("ALL",arg[1])) get_players(players,inum)
  else      
get_players(players,inum,"e",arg[1])
  if (
inum == 0) {
   
console_print(id,"No clients in such team")
   return 
PLUGIN_HANDLED
  
}
  for(new 
0inuma++) {
   
has_parachute[players[a]] = true
  
}
  switch(
get_cvar_num("amx_show_activity")) {
   case 
2client_print(0,print_chat,"ADMIN %s: gave a parachute to ^"%s^" players",name,arg[1])
   case 
1client_print(0,print_chat,"ADMIN: gave a parachute to ^"%s^" players",arg[1])
  }
  
console_print(id,"[AMXX] You gave a parachute to ^"%s^" players",arg[1])
  
log_amx("^"%s<%d><%s><>^" gave a parachute to ^"%s^""name,get_user_userid(id),authid,arg[1])
 }
 else {
  new 
player cmd_target(id,arg,6)
  if (!
player) return PLUGIN_HANDLED
  has_parachute
[player] = true
  get_user_name
(player,name2,31)
  
get_user_authid(player,authid2,34)
  switch(
get_cvar_num("amx_show_activity")) {
   case 
2client_print(0,print_chat,"ADMIN %s: gave a parachute to ^"%s^"",name,name2)
   case 
1client_print(0,print_chat,"ADMIN: gave a parachute to ^"%s^"",name2)
  }
  
console_print(id,"[AMXX] You gave a parachute to ^"%s^""name2)
  
log_amx("^"%s<%d><%s><>^" gave a parachute to ^"%s<%d><%s><>^""name,get_user_userid(id),authid,name2,get_user_userid(player),authid2)
 }
 return 
PLUGIN_HANDLED
}
public 
client_PreThink(id)
{
 
//parachute.mdl animation information
 //0 - deploy - 84 frames
 //1 - idle - 39 frames
 //2 - detach - 29 frames
 
if (!get_pcvar_num(pEnabled)) return
 if (!
is_user_alive(id) || !has_parachute[id]) return
 new 
Float:fallspeed get_pcvar_float(pFallSpeed) * -1.0
 
new Float:frame
 
new button get_user_button(id)
 new 
oldbutton get_user_oldbutton(id)
 new 
flags get_entity_flags(id)
 if (
para_ent[id] > && (flags FL_ONGROUND)) {
  if (
get_pcvar_num(pDetach)) {
   if (
entity_get_int(para_ent[id],EV_INT_sequence) != 2) {
    
entity_set_int(para_ent[id], EV_INT_sequence2)
    
entity_set_int(para_ent[id], EV_INT_gaitsequence1)
    
entity_set_float(para_ent[id], EV_FL_frame0.0)
    
entity_set_float(para_ent[id], EV_FL_fuser10.0)
    
entity_set_float(para_ent[id], EV_FL_animtime0.0)
    
entity_set_float(para_ent[id], EV_FL_framerate0.0)
    return
   }
   
frame entity_get_float(para_ent[id],EV_FL_fuser1) + 2.0
   entity_set_float
(para_ent[id],EV_FL_fuser1,frame)
   
entity_set_float(para_ent[id],EV_FL_frame,frame)
   if (
frame 254.0) {
    
remove_entity(para_ent[id])
    
para_ent[id] = 0
   
}
  }
  else {
   
remove_entity(para_ent[id])
   
para_ent[id] = 0
  
}
  return
 }
 if (
button IN_USE) {
  new 
Float:velocity[3]
  
entity_get_vector(idEV_VEC_velocityvelocity)
  if (
velocity[2] < 0.0) {
   if(
para_ent[id] <= 0) {
    
para_ent[id] = create_entity("info_target")
    if(
para_ent[id] > 0) {
     
entity_set_string(para_ent[id],EV_SZ_classname,"parachute")
     
entity_set_edict(para_ent[id], EV_ENT_aimentid)
     
entity_set_edict(para_ent[id], EV_ENT_ownerid)
     
entity_set_int(para_ent[id], EV_INT_movetypeMOVETYPE_FOLLOW)
     
entity_set_model(para_ent[id], "models/parachute.mdl")
     
entity_set_int(para_ent[id], EV_INT_sequence0)
     
entity_set_int(para_ent[id], EV_INT_gaitsequence1)
     
entity_set_float(para_ent[id], EV_FL_frame0.0)
     
entity_set_float(para_ent[id], EV_FL_fuser10.0)
    }
   }
   if (
para_ent[id] > 0) {
    
entity_set_int(idEV_INT_sequence3)
    
entity_set_int(idEV_INT_gaitsequence1)
    
entity_set_float(idEV_FL_frame1.0)
    
entity_set_float(idEV_FL_framerate1.0)
    
velocity[2] = (velocity[2] + 40.0 fallspeed) ? velocity[2] + 40.0 fallspeed
    entity_set_vector
(idEV_VEC_velocityvelocity)
    if (
entity_get_int(para_ent[id],EV_INT_sequence) == 0) {
     
frame entity_get_float(para_ent[id],EV_FL_fuser1) + 1.0
     entity_set_float
(para_ent[id],EV_FL_fuser1,frame)
     
entity_set_float(para_ent[id],EV_FL_frame,frame)
     if (
frame 100.0) {
      
entity_set_float(para_ent[id], EV_FL_animtime0.0)
      
entity_set_float(para_ent[id], EV_FL_framerate0.4)
      
entity_set_int(para_ent[id], EV_INT_sequence1)
      
entity_set_int(para_ent[id], EV_INT_gaitsequence1)
      
entity_set_float(para_ent[id], EV_FL_frame0.0)
      
entity_set_float(para_ent[id], EV_FL_fuser10.0)
     }
    }
   }
  }
  else if (
para_ent[id] > 0) {
   
remove_entity(para_ent[id])
   
para_ent[id] = 0
  
}
 }
 else if ((
oldbutton IN_USE) && para_ent[id] > ) {
  
remove_entity(para_ent[id])
  
para_ent[id] = 0
 
}

Please help, thanks
KaPaTeJIb is offline
Send a message via Skype™ to KaPaTeJIb
KaPaTeJIb
Member
Join Date: Oct 2012
Location: Tbilisi
Old 10-31-2013 , 12:20   Re: Parachute Error
Reply With Quote #2

Please, help me :X I very need it...
KaPaTeJIb is offline
Send a message via Skype™ to KaPaTeJIb
wickedd
Veteran Member
Join Date: Nov 2009
Old 11-01-2013 , 00:32   Re: Parachute Error
Reply With Quote #3

Quote:
Originally Posted by KaPaTeJIb View Post
Please, help me :X I very need it...
Then post your problem in the plugin's thread.
__________________
Just buy the fucking game!!!!
I hate No-Steamers and lazy ass people.
wickedd 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:40.


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