AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Scripting Help (https://forums.alliedmods.net/forumdisplay.php?f=11)
-   -   [Helperino] with plugin (https://forums.alliedmods.net/showthread.php?t=252638)

nixh 12-06-2014 15:39

[Helperino] with plugin
 
i cant figure it out how to add this thingy where only users with ,,B" flag could use this plugin, and by typing a word like ,,/option" in the chat a menu will pop out where you could choose to turn this plugin off and on. Will there be someone who could help me? :cry:

PHP Code:

#include <amxmodx>
#include <hamsandwich>
#include <fakemeta_util>

#define PLUGIN "New abilitys"
#define VERSION "0.4"
#define AUTHOR "Chrescoe1"

#define v_hands "models/cof/v_actions5.mdl"
#define RunSpeed 270.0
#define SpeedUpg 1.0


new 
//Run
bool:in_run[33],
runbutton_num[33],
Float:RunButtonTime[33][2],
Float:OriginalMaxSpeed[33],
RunStade[33],
vModelName[128][33],
pModelName[128][33],

//Jump
bool:in_jump[33],
Float:JumpTime[33],
bool:free_fall[33],

//Deploy weapon after jump
bool:ForceWeaponDeploy[33],
Float:ForceDeployTime[33],

//Swim
bool:in_swim[33]
public 
plugin_precache()precache_model(v_hands)

public 
plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_event("CurWeapon""Event_CurrentWeapon""be""1=1")
    
// Add your code here...
}
public 
Event_CurrentWeapon(id)
{
    if(
in_jump[id])
        
in_jump[id]=false,
        
ForceWeaponDeploy[id]=false
    
if(in_run[id])
        
set_pev(id,pev_maxspeed,OriginalMaxSpeed[id]),
        
in_run[id]=false
    
if(in_swim[id])
        
in_swim[id]=false
}
public 
client_connect(id)
    
OriginalMaxSpeed[id]=250.0,ForceWeaponDeploy[id]=false,
    
in_jump[id]=false,in_run[id]=false,in_swim[id]=false
public client_PreThink(id)
{
    static 
Float:gametime
    gametime
=get_gametime()
    
    if(
is_user_alive(id))
    
//If on ladder or movetype_fly or movetype_noclip - block func
    
if(pev(id,pev_movetype)==MOVETYPE_FLY||pev(id,pev_movetype)==MOVETYPE_NOCLIP)
    {
        if(
in_jump[id])
            
in_jump[id]=false,
            
ForceWeaponDeploy[id]=false,
            
deploy_weapon(id)
        if(
in_run[id])
            
set_pev(id,pev_maxspeed,OriginalMaxSpeed[id]),
            
in_run[id]=false,
            
deploy_weapon(id)
        if(
in_swim[id])
            
in_swim[id]=false,
            
deploy_weapon(id)
        return
    }
    else
    
    
    
//Run
    
if(pev(id,pev_flags)&FL_ONGROUND)
    {
        if(
in_swim[id])
            
in_swim[id]=false,
            
deploy_weapon(id)
        if(
ForceWeaponDeploy[id])
        if(
ForceDeployTime[id]<gametime)ForceWeaponDeploy[id]=false,deploy_weapon(id)
        if(
in_jump[id])
        {
            
WeaponAnim(id,7)
            
in_jump[id]=false
            ForceWeaponDeploy
[id]=true
            ForceDeployTime
[id]=gametime+0.25
        
}
        if(
pev(id,pev_button)&IN_FORWARD)
        {
            if(!(
pev(id,pev_oldbuttons)&IN_FORWARD))
            {
                static 
x
                
switch(runbutton_num[id])
                {
                    case 
0:runbutton_num[id]=1,x=0
                    
case 1:runbutton_num[id]=0,x=1
                
}
                
RunButtonTime[id][runbutton_num[id]]=gametime
                
                
if(gametime-RunButtonTime[id][x]<0.35)
                {
                    
in_run[id]=true
                    RunStade
[id]=1
                    
                    OriginalMaxSpeed
[id]=fm_get_user_maxspeed(id)
                    if(
OriginalMaxSpeed[id]<=1.0)OriginalMaxSpeed[id]=250.0
                    save_model
(id)
                    
set_pev(idpev_viewmodel2v_hands)
                    
set_pev(idpev_weaponmodel2"")
                    
set_pdata_float(id83,999.95)    //Block attack
                    
set_pev(id,pev_maxspeed,RunSpeed+SpeedUpg*RunStade[id])
                    
WeaponAnim(id,4)
                }
            }
            if(
in_run[id])
            {
                static 
Float:Velocity[3]
                
pev(id,pev_velocity,Velocity);
                if(
gametime-RunButtonTime[id][runbutton_num[id]]>1.0)
                if(
vector_length(Velocity)<200.0)
                    
set_pev(id,pev_maxspeed,OriginalMaxSpeed[id]),
                    
in_run[id]=false,
                    
deploy_weapon(id)
                else
                if(
RunStade[id]<5)
                {
                    static 
Float:RunTime
                    RunTime
=RunButtonTime[id][runbutton_num[id]]
                    if(
gametime-RunTime>=3.4&&RunStade[id]<5)RunStade[id]=5,set_pev(id,pev_maxspeed,RunSpeed+SpeedUpg*RunStade[id]);else
                    if(
gametime-RunTime>=2.6&&RunStade[id]<4)RunStade[id]=4,set_pev(id,pev_maxspeed,RunSpeed+SpeedUpg*RunStade[id]);else
                    if(
gametime-RunTime>=1.8&&RunStade[id]<3)RunStade[id]=3,set_pev(id,pev_maxspeed,RunSpeed+SpeedUpg*RunStade[id]);else
                    if(
gametime-RunTime>=1.2&&RunStade[id]<2)RunStade[id]=2,set_pev(id,pev_maxspeed,RunSpeed+SpeedUpg*RunStade[id]);else
                    if(
gametime-RunTime>=0.6&&RunStade[id]<1)RunStade[id]=1,set_pev(id,pev_maxspeed,RunSpeed+SpeedUpg*RunStade[id])
                }
            }
        }
        else
        if(
in_run[id])
        {
            
set_pev(id,pev_maxspeed,OriginalMaxSpeed[id])
            
in_run[id]=false
            deploy_weapon
(id)
        }
    }
    else
    
//Jump
    
if(!(pev(id,pev_flags)&FL_ONGROUND))
    {
        if(
in_swim[id])
            
in_swim[id]=false,
            
deploy_weapon(id)
        if(!
in_jump[id])
        {    
            static 
Float:Velocity[3]
            
pev(id,pev_velocity,Velocity);
            if((
Velocity[2]>250.0)||(Velocity[2]<-250.0)||in_run[id]&&(Velocity[2]>200.0)||(Velocity[2]<-270.0))
            {
                static 
Float:JumpPower
                
switch(RunStade[id])
                {
                    case 
1:JumpPower=1.0
                    
case 2:JumpPower=1.09
                    
case 3:JumpPower=1.18
                    
case 4:JumpPower=1.27
                    
case 5:JumpPower=1.36
                
}
                
set_pev(id,pev_maxspeed,OriginalMaxSpeed[id])
                
in_run[id]=false
                RunStade
[id]=1
                
                Velocity
[0]=Velocity[0]*JumpPower
                Velocity
[1]=Velocity[1]*JumpPower
                Velocity
[2]=Velocity[2]*JumpPower
                set_pev
(id,pev_velocity,Velocity)
                
                
save_model(id)
                
set_pev(idpev_viewmodel2v_hands)
                
set_pev(idpev_weaponmodel2"")    
                
set_pdata_float(id83999.95)
                
WeaponAnim(id,5)
                
in_jump[id]=true
                free_fall
[id]=false
                JumpTime
[id]=gametime
            
}
        }
        else 
        if(!
free_fall[id])
            if(
gametime-JumpTime[id]>0.35)
                
free_fall[id]=false,WeaponAnim(id,6)
    }
}
stock deploy_weapon(id)
{
    static 
Temp_String[28]
    
get_weaponname(get_user_weapon(id), Temp_String27)
    static 
weapon_entweapon_ent fm_find_ent_by_owner(-1Temp_Stringid)
    if(
pev_valid(weapon_ent))ExecuteHam(Ham_Item_Deployweapon_ent),set_pdata_int(weapon_ent,54,0),set_pdata_int(weapon_ent,55,0)
    if (
contain(vModelName[id], v_hands)== -1)
    
set_pev(idpev_viewmodel2vModelName[id]),
    
set_pev(idpev_weaponmodel2pModelName[id])
}
stock WeaponAnim(const Player, const Sequence)
{
    
set_pev(Playerpev_weaponanimSequence)
    
message_begin(MSG_ONE_UNRELIABLESVC_WEAPONANIM, .player Player)
    
write_byte(Sequence)
    
write_byte(0)
    
message_end()
}
stock save_model(id)
{
    new 
Text[128]
    
pev(idpev_viewmodel2Text,127)
    if (
contain(Textv_hands)== -1)
    
pev(idpev_viewmodel2vModelName[id],127)
    
    
pev(idpev_weaponmodel2Text,127)
    if (
contain(Text,"models/")!= -1)
    
pev(idpev_weaponmodel2pModelName[id],127)



zmd94 12-06-2014 21:26

Re: [Helperino] with plugin
 
Just say /start to enable the ability. Then, say /start again to disable the ability. ;)
PHP Code:

#include <amxmodx>
#include <hamsandwich>
#include <fakemeta_util>

#define PLUGIN "New abilitys"
#define VERSION "0.4"
#define AUTHOR "Chrescoe1"

#define v_hands "models/cof/v_actions5.mdl"
#define RunSpeed 270.0
#define SpeedUpg 1.0

#define ADMIN_FLAG ADMIN_RESERVATION

//Run
new bool:in_run[33]
new 
runbutton_num[33]
new 
Float:RunButtonTime[33][2]
new 
Float:OriginalMaxSpeed[33]
new 
RunStade[33]
new 
vModelName[128][33]
new 
pModelName[128][33]

//Jump
new bool:in_jump[33]
new 
Float:JumpTime[33]
new 
bool:free_fall[33]

//Deploy weapon after jump
new bool:ForceWeaponDeploy[33]
new 
Float:ForceDeployTime[33]

new 
bool:Ability[33]

//Swim
new bool:in_swim[33]

public 
plugin_precache()precache_model(v_hands)

public 
plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_event("CurWeapon""Event_CurrentWeapon""be""1=1")
    
    
register_clcmd("say /start""auto_start")
    
register_clcmd("say_team /start""auto_start")
}

public 
auto_start(id)
{
    if(
is_user_alive(id) && get_user_flags(id) & ADMIN_FLAG)
    {    
        
Ability[id] = !Ability[id]
        
client_print(idprint_chatAbility[id] ? "Show Score Enabled" "Show Score Disabled")
    }
}

public 
Event_CurrentWeapon(id)
{
    if(
Ability[id])
    {
        if(
in_jump[id])
            
in_jump[id]=false,
            
ForceWeaponDeploy[id]=false
        
if(in_run[id])
            
set_pev(id,pev_maxspeed,OriginalMaxSpeed[id]),
            
in_run[id]=false
        
if(in_swim[id])
            
in_swim[id]=false
    
}
}

public 
client_connect(id)
    
OriginalMaxSpeed[id]=250.0,ForceWeaponDeploy[id]=false,
    
in_jump[id]=false,in_run[id]=false,in_swim[id]=false
public client_PreThink(id)
{
    if(
Ability[id])
    {
        static 
Float:gametime
        gametime
=get_gametime()
        
        if(
is_user_alive(id))
        
//If on ladder or movetype_fly or movetype_noclip - block func
        
if(pev(id,pev_movetype)==MOVETYPE_FLY||pev(id,pev_movetype)==MOVETYPE_NOCLIP)
        {
            if(
in_jump[id])
                
in_jump[id]=false,
                
ForceWeaponDeploy[id]=false,
                
deploy_weapon(id)
            if(
in_run[id])
                
set_pev(id,pev_maxspeed,OriginalMaxSpeed[id]),
                
in_run[id]=false,
                
deploy_weapon(id)
            if(
in_swim[id])
                
in_swim[id]=false,
                
deploy_weapon(id)
            return
        }
        else
        
        
        
//Run
        
if(pev(id,pev_flags)&FL_ONGROUND)
        {
            if(
in_swim[id])
                
in_swim[id]=false,
                
deploy_weapon(id)
            if(
ForceWeaponDeploy[id])
            if(
ForceDeployTime[id]<gametime)ForceWeaponDeploy[id]=false,deploy_weapon(id)
            if(
in_jump[id])
            {
                
WeaponAnim(id,7)
                
in_jump[id]=false
                ForceWeaponDeploy
[id]=true
                ForceDeployTime
[id]=gametime+0.25
            
}
            if(
pev(id,pev_button)&IN_FORWARD)
            {
                if(!(
pev(id,pev_oldbuttons)&IN_FORWARD))
                {
                    static 
x
                    
switch(runbutton_num[id])
                    {
                        case 
0:runbutton_num[id]=1,x=0
                        
case 1:runbutton_num[id]=0,x=1
                    
}
                    
RunButtonTime[id][runbutton_num[id]]=gametime
                    
                    
if(gametime-RunButtonTime[id][x]<0.35)
                    {
                        
in_run[id]=true
                        RunStade
[id]=1
                        
                        OriginalMaxSpeed
[id]=fm_get_user_maxspeed(id)
                        if(
OriginalMaxSpeed[id]<=1.0)OriginalMaxSpeed[id]=250.0
                        save_model
(id)
                        
set_pev(idpev_viewmodel2v_hands)
                        
set_pev(idpev_weaponmodel2"")
                        
set_pdata_float(id83,999.95)    //Block attack
                        
set_pev(id,pev_maxspeed,RunSpeed+SpeedUpg*RunStade[id])
                        
WeaponAnim(id,4)
                    }
                }
                if(
in_run[id])
                {
                    static 
Float:Velocity[3]
                    
pev(id,pev_velocity,Velocity);
                    if(
gametime-RunButtonTime[id][runbutton_num[id]]>1.0)
                    if(
vector_length(Velocity)<200.0)
                        
set_pev(id,pev_maxspeed,OriginalMaxSpeed[id]),
                        
in_run[id]=false,
                        
deploy_weapon(id)
                    else
                    if(
RunStade[id]<5)
                    {
                        static 
Float:RunTime
                        RunTime
=RunButtonTime[id][runbutton_num[id]]
                        if(
gametime-RunTime>=3.4&&RunStade[id]<5)RunStade[id]=5,set_pev(id,pev_maxspeed,RunSpeed+SpeedUpg*RunStade[id]);else
                        if(
gametime-RunTime>=2.6&&RunStade[id]<4)RunStade[id]=4,set_pev(id,pev_maxspeed,RunSpeed+SpeedUpg*RunStade[id]);else
                        if(
gametime-RunTime>=1.8&&RunStade[id]<3)RunStade[id]=3,set_pev(id,pev_maxspeed,RunSpeed+SpeedUpg*RunStade[id]);else
                        if(
gametime-RunTime>=1.2&&RunStade[id]<2)RunStade[id]=2,set_pev(id,pev_maxspeed,RunSpeed+SpeedUpg*RunStade[id]);else
                        if(
gametime-RunTime>=0.6&&RunStade[id]<1)RunStade[id]=1,set_pev(id,pev_maxspeed,RunSpeed+SpeedUpg*RunStade[id])
                    }
                }
            }
            else
            if(
in_run[id])
            {
                
set_pev(id,pev_maxspeed,OriginalMaxSpeed[id])
                
in_run[id]=false
                deploy_weapon
(id)
            }
        }
        else
        
//Jump
        
if(!(pev(id,pev_flags)&FL_ONGROUND))
        {
            if(
in_swim[id])
                
in_swim[id]=false,
                
deploy_weapon(id)
            if(!
in_jump[id])
            {    
                static 
Float:Velocity[3]
                
pev(id,pev_velocity,Velocity);
                if((
Velocity[2]>250.0)||(Velocity[2]<-250.0)||in_run[id]&&(Velocity[2]>200.0)||(Velocity[2]<-270.0))
                {
                    static 
Float:JumpPower
                    
switch(RunStade[id])
                    {
                        case 
1:JumpPower=1.0
                        
case 2:JumpPower=1.09
                        
case 3:JumpPower=1.18
                        
case 4:JumpPower=1.27
                        
case 5:JumpPower=1.36
                    
}
                    
set_pev(id,pev_maxspeed,OriginalMaxSpeed[id])
                    
in_run[id]=false
                    RunStade
[id]=1
                    
                    Velocity
[0]=Velocity[0]*JumpPower
                    Velocity
[1]=Velocity[1]*JumpPower
                    Velocity
[2]=Velocity[2]*JumpPower
                    set_pev
(id,pev_velocity,Velocity)
                    
                    
save_model(id)
                    
set_pev(idpev_viewmodel2v_hands)
                    
set_pev(idpev_weaponmodel2"")    
                    
set_pdata_float(id83999.95)
                    
WeaponAnim(id,5)
                    
in_jump[id]=true
                    free_fall
[id]=false
                    JumpTime
[id]=gametime
                
}
            }
            else 
            if(!
free_fall[id])
                if(
gametime-JumpTime[id]>0.35)
                    
free_fall[id]=false,WeaponAnim(id,6)
        }
    }
}

stock deploy_weapon(id)
{
    static 
Temp_String[28]
    
get_weaponname(get_user_weapon(id), Temp_String27)
    static 
weapon_entweapon_ent fm_find_ent_by_owner(-1Temp_Stringid)
    if(
pev_valid(weapon_ent))ExecuteHam(Ham_Item_Deployweapon_ent),set_pdata_int(weapon_ent,54,0),set_pdata_int(weapon_ent,55,0)
    if (
contain(vModelName[id], v_hands)== -1)
    
set_pev(idpev_viewmodel2vModelName[id]),
    
set_pev(idpev_weaponmodel2pModelName[id])
}

stock WeaponAnim(const Player, const Sequence)
{
    
set_pev(Playerpev_weaponanimSequence)
    
message_begin(MSG_ONE_UNRELIABLESVC_WEAPONANIM, .player Player)
    
write_byte(Sequence)
    
write_byte(0)
    
message_end()
}

stock save_model(id)
{
    new 
Text[128]
    
pev(idpev_viewmodel2Text,127)
    if (
contain(Textv_hands)== -1)
    
pev(idpev_viewmodel2vModelName[id],127)
    
    
pev(idpev_weaponmodel2Text,127)
    if (
contain(Text,"models/")!= -1)
    
pev(idpev_weaponmodel2pModelName[id],127)



nixh 12-07-2014 04:29

Re: [Helperino] with plugin
 
thank you, got some few errors. :cry:

PHP Code:

(16) : error 010invalid function or declaration
(25) : error 010invalid function or declaration
(30) : error 010invalid function or declaration
(37) : error 010invalid function or declaration
(61) : error 017undefined symbol "in_jump"
(61) : warning 215expression has no effect
(61) : error 001expected token";"but found "]"
(61) : error 029invalid expressionassumed zero
(61) : fatal error 107too many error messages on one line 


zmd94 12-07-2014 05:07

Re: [Helperino] with plugin
 
I have updated the code. ;)

nixh 12-07-2014 05:26

Re: [Helperino] with plugin
 
well the new functions where you added doesn't work.

Dam.

zmd94 12-07-2014 05:33

Re: [Helperino] with plugin
 
Actually, what this plugin do?

nixh 12-07-2014 05:38

Re: [Helperino] with plugin
 
Atleast i want to that this would work only for ,,B" flag users.

zmd94 12-07-2014 10:45

Re: [Helperino] with plugin
 
I have updated the code. ;)

nixh 12-07-2014 11:16

Re: [Helperino] with plugin
 
still no effect but thanks for the help tho. :)

zmd94 12-07-2014 12:06

Re: [Helperino] with plugin
 
Nevermind. I have updated again the code. Feel free to test it.


All times are GMT -4. The time now is 15:22.

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