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

[Help] Help the fix plugin. Parachute For Vip.


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Viceroy
Member
Join Date: Jun 2014
Old 07-04-2015 , 09:17   [Help] Help the fix plugin. Parachute For Vip.
Reply With Quote #1

[Help] Help the fix plugin. Parachute For Vip.

Help Plz fix feature:
amx_parachute @all - gives everyone a free parachute (CStrike ONLY)

To give the parachute free only for VIP players.
ADMIN_LEVEL_H
Flag "t"

A simple players could only buy.


PHP Code:
/*******************************************************************************

  Parachute

  Version: 1.3
  Author: KRoTaL/JTP10181

  0.1    Release
  0.1.1  Players can't buy a parachute if they already own one
  0.1.2  Release for AMX MOD X
  0.1.3  Minor changes
  0.1.4  Players lose their parachute if they die
  0.1.5  Added amx_parachute cvar
  0.1.6  Changed set_origin to movetype_follow (you won't see your own parachute)
  0.1.7  Added amx_parachute <name> | admins with admin level a get a free parachute
  0.1.8  JTP - Cleaned up code, fixed runtime error
  1.0    JTP - Should be final version, made it work on basically any mod
  1.1    JTP - Added Changes from AMX Version 0.1.8
             Added say give_parachute and parachute_fallspeed cvar
               Plays the release animation when you touch the ground
               Added chat responder for automatic help
  1.2    JTP - Added cvar to disable the detach animation
              Redid animation code to improve organization
              Force "walk" animation on players when falling
              Change users gravity when falling to avoid choppiness
  1.3    JTP - Upgraded to pCVARs

  Commands:

    say buy_parachute   -   buys a parachute (CStrike ONLY)
    saw sell_parachute  -   sells your parachute (75% of the purchase price)
    say give_parachute <nick, #userid or @team>  -  gives your parachute to the player

    amx_parachute <nick, #userid or @team>  -  gives a player a free parachute (CStrike ONLY)
    amx_parachute @all  -  gives everyone a free parachute (CStrike ONLY)

    Press +use to slow down your fall.

  Cvars:

    sv_parachute "1"            - 0: disables the plugin - 1: enables the plugin

    parachute_cost "1000"        - cost of the parachute (CStrike ONLY)

    parachute_payback "75"        - how many percent of the parachute cost you get when you sell your parachute
                                (ie. (75/100) * 1000 = 750$)

    parachute_fallspeed "100"    - speed of the fall when you use the parachute


  Setup (AMXX 1.x):

    Install the amxx file.
    Enable engine and cstrike (for cs only) in the amxx modules.ini
    Put the parachute.mdl file in the modname/models/ folder

*******************************************************************************/

#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""1000")
        
pPayback register_cvar("parachute_payback""75")

        
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])
        }
    }

    if (
is_user_alive(id)) set_user_gravity(id1.0)

    
has_parachute[id] = false
    para_ent
[id] = 0
}

public 
newSpawn(id)
{
    if(
para_ent[id] > 0) {
        
remove_entity(para_ent[id])
        
set_user_gravity(id1.0)
        
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 
2:    client_print(0,print_chat,"ADMIN %s: gave a parachute to ^"%s^" players",name,arg[1])
            case 
1:    client_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 
2:    client_print(0,print_chat,"ADMIN %s: gave a parachute to ^"%s^"",name,name2)
            case 
1:    client_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 (
get_user_gravity(id) == 0.1set_user_gravity(id1.0)

            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])
            
set_user_gravity(id1.0)
            
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)
                
set_user_gravity(id0.1)

                
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])
            
set_user_gravity(id1.0)
            
para_ent[id] = 0
        
}
    }
    else if ((
oldbutton IN_USE) && para_ent[id] > ) {
        
remove_entity(para_ent[id])
        
set_user_gravity(id1.0)
        
para_ent[id] = 0
    
}

Viceroy is offline
Viceroy
Member
Join Date: Jun 2014
Old 07-04-2015 , 13:37   Re: [Help] Help the fix plugin. Parachute For Vip.
Reply With Quote #2

https://forums.alliedmods.net/showthread.php?t=265749
https://forums.alliedmods.net/showthread.php?t=265748

Who will help to fix these two plug-ins, I pay 5 euros. (Paypal)

Last edited by Viceroy; 07-04-2015 at 13:37.
Viceroy is offline
indraraj striker
Veteran Member
Join Date: Mar 2014
Location: Under the water
Old 07-06-2015 , 09:20   Re: [Help] Help the fix plugin. Parachute For Vip.
Reply With Quote #3

1. amx_parachute @all this command is working for me check your admin flag [Admin should have level A]
2. free for vip
test it
Attached Files
File Type: sma Get Plugin or Get Source (amxx_parachute.sma - 514 views - 15.3 KB)
indraraj striker is offline
Viceroy
Member
Join Date: Jun 2014
Old 07-06-2015 , 13:25   Re: [Help] Help the fix plugin. Parachute For Vip.
Reply With Quote #4

indraraj striker

It does not work, it gives everyone a parachute.
If there are any flags the parachute is given free of charge.

You misunderstood.

amx_parachute @all - She has worked, it has to be redone.
It is necessary to remove or to do so: amx_parachute @vip ADMIN_LEVEL_H
Need to make so, free issued only VIP players.
But others can only buy, including administrators with level A.

Clearly explained.
Free only for VIP, other can only buy.

Last edited by Viceroy; 07-06-2015 at 13:41.
Viceroy is offline
indraraj striker
Veteran Member
Join Date: Mar 2014
Location: Under the water
Old 07-06-2015 , 23:22   Re: [Help] Help the fix plugin. Parachute For Vip.
Reply With Quote #5

Test now
Attached Files
File Type: sma Get Plugin or Get Source (amxx_parachute.sma - 511 views - 15.2 KB)
indraraj striker is offline
Shiina.Mashiro
Senior Member
Join Date: Sep 2014
Location: Vietnam
Old 07-07-2015 , 01:25   Re: [Help] Help the fix plugin. Parachute For Vip.
Reply With Quote #6

not tested
PHP Code:
/*******************************************************************************

  Parachute

  Version: 1.3
  Author: KRoTaL/JTP10181

  0.1    Release
  0.1.1  Players can't buy a parachute if they already own one
  0.1.2  Release for AMX MOD X
  0.1.3  Minor changes
  0.1.4  Players lose their parachute if they die
  0.1.5  Added amx_parachute cvar
  0.1.6  Changed set_origin to movetype_follow (you won't see your own parachute)
  0.1.7  Added amx_parachute <name> | admins with admin level a get a free parachute
  0.1.8  JTP - Cleaned up code, fixed runtime error
  1.0    JTP - Should be final version, made it work on basically any mod
  1.1    JTP - Added Changes from AMX Version 0.1.8
             Added say give_parachute and parachute_fallspeed cvar
               Plays the release animation when you touch the ground
               Added chat responder for automatic help
  1.2    JTP - Added cvar to disable the detach animation
              Redid animation code to improve organization
              Force "walk" animation on players when falling
              Change users gravity when falling to avoid choppiness
  1.3    JTP - Upgraded to pCVARs

  Commands:

    say buy_parachute   -   buys a parachute (CStrike ONLY)
    saw sell_parachute  -   sells your parachute (75% of the purchase price)
    say give_parachute <nick, #userid or @team>  -  gives your parachute to the player

    amx_parachute <nick, #userid or @team>  -  gives a player a free parachute (CStrike ONLY)
    amx_parachute @all  -  gives everyone a free parachute (CStrike ONLY)

    Press +use to slow down your fall.

  Cvars:

    sv_parachute "1"            - 0: disables the plugin - 1: enables the plugin

    parachute_cost "1000"        - cost of the parachute (CStrike ONLY)

    parachute_payback "75"        - how many percent of the parachute cost you get when you sell your parachute
                                (ie. (75/100) * 1000 = 750$)

    parachute_fallspeed "100"    - speed of the fall when you use the parachute


  Setup (AMXX 1.x):

    Install the amxx file.
    Enable engine and cstrike (for cs only) in the amxx modules.ini
    Put the parachute.mdl file in the modname/models/ folder

*******************************************************************************/

#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""1000")
        
pPayback register_cvar("parachute_payback""75")

        
register_concmd("amx_parachute""admin_give_parachute"PARACHUTE_LEVEL"<nick, #userid or @team>" )
    }

    
register_clcmd("say""HandleSay")
    
register_clcmd("say_team""HandleSay")
    
register_clcmd("amx_giveparachute""give_parachute"ADMIN_ADMIN)

    
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])
        }
    }

    if (
is_user_alive(id)) set_user_gravity(id1.0)

    
has_parachute[id] = false
    para_ent
[id] = 0
}

public 
newSpawn(id)
{
    if(
para_ent[id] > 0) {
        
remove_entity(para_ent[id])
        
set_user_gravity(id1.0)
        
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 
2:    client_print(0,print_chat,"ADMIN %s: gave a parachute to ^"%s^" players",name,arg[1])
            case 
1:    client_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 
2:    client_print(0,print_chat,"ADMIN %s: gave a parachute to ^"%s^"",name,name2)
            case 
1:    client_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 (
get_user_gravity(id) == 0.1set_user_gravity(id1.0)

            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])
            
set_user_gravity(id1.0)
            
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)
                
set_user_gravity(id0.1)

                
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])
            
set_user_gravity(id1.0)
            
para_ent[id] = 0
        
}
    }
    else if ((
oldbutton IN_USE) && para_ent[id] > ) {
        
remove_entity(para_ent[id])
        
set_user_gravity(id1.0)
        
para_ent[id] = 0
    
}
}
public 
give_parachute(id)
{
    new 
player[32], num
    get_players
(playernum"ac")
    for(new 
inumi++)
        if(
get_user_flags(player[i]) & ADMIN_LEVEL_H)
            
has_parachute[player[i]] = true

__________________
Shiina.Mashiro is offline
Viceroy
Member
Join Date: Jun 2014
Old 07-07-2015 , 07:42   Re: [Help] Help the fix plugin. Parachute For Vip.
Reply With Quote #7

indraraj striker

Thank you very much, it works.

Like I said if you want to have 5€, write me pm your paypal.
Viceroy is offline
Viceroy
Member
Join Date: Jun 2014
Old 07-07-2015 , 07:44   Re: [Help] Help the fix plugin. Parachute For Vip.
Reply With Quote #8

indraraj striker

Thank you very much, it works.

Like I said if you want to have 5€, write me pm your paypal.

Topic can be closed.
Viceroy is offline
MaSTeR64
Member
Join Date: Apr 2015
Location: Serbia <3
Old 07-08-2015 , 18:56   Re: [Help] Help the fix plugin. Parachute For Vip.
Reply With Quote #9

Quote:
Originally Posted by Viceroy View Post
indraraj striker

Thank you very much, it works.

Like I said if you want to have 5€, write me pm your paypal.

Topic can be closed.
I think you need a little help... Here, let me help you : https://forums.alliedmods.net/misc.php?do=showrules

If you still dont get it, DO NOT DOUBLE POST!!!
MaSTeR64 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 19:22.


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