Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

Paintball Movement fix


MYGO.pl
 Udostępnij

Rekomendowane odpowiedzi

  • RSSy
Plugin working great. I have this errors in console many times:
Code:

[AMXX] Displaying debug trace (plugin "PBR_Movement.amxx", version "1.1")
[AMXX] Run time error 10: native error (native "get_weaponname")
[AMXX] [0] PBR_Movement.sma::fw_cmdstart (line 89)

When i comment that line i don't have errors, but then it doesnt give previous weapon after sprint is finished.

PHP Code:

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <hamsandwich>  
#include <engine>

#define PLUGIN "[PBR] Movement"
#define VERSION "1.1"
#define AUTHOR "Sneaky.amxx"

new Float:userSprintLast[33], Float:userSprintLastBat[33], Float:userSprintSound[33
new 
userSprintSpeed[33], userSprintTiredness[33], userSprintAdvised[33]
new 
userWeapon[33][32]
new 
pbmovesverboseuse_batmeterrechargetimemax_stamina

public plugin_init()
{
    
register_plugin(PLUGINVERSIONAUTHOR)
    
register_forward(FM_CmdStart"fw_cmdstart");
}

public 
plugin_precache()
{
    
RegisterHam(Ham_Spawn,"player","reset_tireness")  
    
pbmoves register_cvar("pbmoves_enabled""1");
    
verbose register_cvar("pbmoves_verbose""1");
    
use_batmeter register_cvar("pbmoves_usebatterymeter""1");
    
rechargetime register_cvar("pbmoves_rechargetime""10.0");
    
max_stamina register_cvar("pbmoves_maxstamina""700");
    
    
precache_sound("paintballR/sprint.wav");
    
precache_sound("paintballR/gasp1.wav");
}

public 
reset_tireness(id)
  
userSprintTiredness[id] = 0;  

public 
fw_cmdstart(iduc_handlerandom_seed)
{
    if (!
is_user_alive(id) || !get_pcvar_num(pbmoves))
        return 
FMRES_IGNORED
    
    
static buttonsbuttons get_uc(uc_handleUC_Buttons)
    new 
Float:gametime get_gametime()
    
    if((
gametime userSprintLast[id] > get_pcvar_float(rechargetime) || !userSprintLast[id]))
    {
        
userSprintTiredness[id] = 0
        userSprintLast
[id] = gametime
        set_hudmessage
(255255255, -1.00.3301.01.0);
        if(!
userSprintAdvised[id])
        {
            
userSprintAdvised[id] = true
            
//show_hudmessage(id, "You are fresh! You can sprint with right-click...");
        
}
        
        if(
get_pcvar_num(use_batmeter))
        {
            
userSprintLastBat[id] = gametime
            
            message_begin
(MSG_ONE_UNRELIABLEget_user_msgid("FlashBat"), {0,0,0}, id)
            
write_byte(100)
            
message_end()
        }
    }
    
    new 
currentweapon get_user_weapon(id)
    
    if(
buttons IN_ATTACK2 && currentweapon != CSW_SCOUT)
    {
        
set_uc(uc_handleUC_Buttonsbuttons & ~IN_ATTACK2);
    
        if(
userSprintTiredness[id] >= get_pcvar_num(max_stamina))
        {
            
userSprintAdvised[id] = false
            set_hudmessage
(25500, -1.00.3300.10.1);
            
show_hudmessage(id"Too tired to sprint. Please wait...");

            if(
gametime userSprintSound[id] > 1.0)
            {
                
emit_sound(idCHAN_AUTO"paintballR/gasp1.wav"1.0ATTN_NORM 0PITCH_NORM);
                
userSprintSound[id] = gametime
            
}
            
            return 
FMRES_IGNORED;        
        }
    
        
userSprintTiredness[id] += 1                
        
        
if(!(buttons IN_DUCK))
        {    
            
            if (
currentweapon != CSW_KNIFE){
                
get_weaponname(currentweapon,userWeapon[id],30)
                
engclient_cmd(id"weapon_knife")
            }
            
userSprintSpeed[id] += 2;

            if (
userSprintSpeed[id] < 200)
                
userSprintSpeed[id] = 200;

            if (
userSprintSpeed[id] > 400)
                
userSprintSpeed[id] = 400;

            
userSprintLast[id] = gametime
            
            
//Some of this was inspired in +Speed 1.17 by Melanie
            
new Float:returnV[3], Float:Original[3]
            
VelocityByAim iduserSprintSpeed[id], returnV )
    
            
pev(id,pev_velocity,Original)
            
            
//Avoid floating in the air and ultra high jumps
            
if (vector_length(Original) < 600.0 || Original[2] < 0.0)
                
returnV[2] = Original[2]
            
            
set_pev(id,pev_velocity,returnV)
            
set_hudmessage(25500, -1.00.3300.10.1);
            
show_hudmessage(id"Sprinting...");
            
            if (
userSprintLast[id] - userSprintSound[id] > 1.0)
            {
                
emit_sound(idCHAN_AUTO"paintballR/sprint.wav"1.0ATTN_NORM0PITCH_NORM);
                
userSprintSound[id] = userSprintLast[id]                
            }
        
            if (
gametime userSprintLastBat[id] > 0.2 && get_pcvar_num(use_batmeter))
            {
                
userSprintLastBat[id] = gametime
                
new percentage 100 - (userSprintTiredness[id] * 100 get_pcvar_num(max_stamina))
                
message_begin(MSG_ONE,get_user_msgid("FlashBat"),{0,0,0},id);
                
write_byte(percentage);
                
message_end();
            }


        
            return 
FMRES_IGNORED;
        } else
        {            
            if (
userSprintSpeed[id] > 2)
                
userSprintSpeed[id] -= 2;
            else
                
userSprintSpeed[id] = 0;
                
            
userSprintLast[id] = gametime

            
new Float:returnV[3], Float:Original[3]
            
VelocityByAim iduserSprintSpeed[id], returnV )
    
            
pev(id,pev_velocity,Original)
            
            
//Avoid floating in the air and ultra high jumps
            
if (vector_length(Original) < 600.0 || Original[2] < 0.0)
                
returnV[2] = Original[2]
            
            
set_pev(id,pev_velocity,returnV)
            
set_hudmessage(25500, -1.00.3300.10.1);
            
show_hudmessage(id"Sliding...")
            
            return 
FMRES_IGNORED;
        }

    }

    
//restore weapon after sprinting
    
if(userWeapon[id][0])
    {
        
engclient_cmd(iduserWeapon[id])
        
userWeapon[id][0] = 0
    
}
    
userSprintSpeed[id] = 0;
    
    return 
FMRES_IGNORED;


Przeczytaj cały wpis

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

×
×
  • Dodaj nową pozycję...