←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Prędkość chodzenia na kucaka

Zablokowany

  • +
  • -
.Cz!t3R - zdjęcie .Cz!t3R 06.09.2010

Wczoraj szukałem takiego plugu, który zwiększałby prędkość poruszania się na kucaka, np. tak aby była równa prędkości chodzenia na stojąco.

Zrobiłem plugin rejestrujący forward ruszania się i sprawdzania czy jest się kucniętym jak tak to ma zwiększyć predkośc.

Dałem server_cmd("say bleble"); przed poleceniem zwiększającym prędkość żeby upewnić się czy na pewno działa i działa bo spamuje czat jak sie kucnie tylko, że nie zwiększa prędkości.

Na necie szukałem chyba z 4h i nic.
Na allienmodders pisał ktoś, że potrzeba do tego modułu Orpheu, tylko jest mały problem bo ja nie mam zielonego pojęcia jak go wykorzystać.

Pomoże, ktoś?

Najlepiej jeśli podalibyście gotowy kod, na pewno nie będzie długi, a moduł w/w jest dla mnie czarną magią.

Pozdro dzordz / .Cz!t3R
Odpowiedz

  • +
  • -
Ortega - zdjęcie Ortega 06.09.2010

Dobrze Ci odpowiedzieli, ponieważ moduł Orpheu jest w takich zabawach najefektywniejszy.

Tutaj wersja z fakemeta:
#include < amxmodx >
#include < fakemeta >

new g_pMaxDuckSpeed;

public plugin_init( ) {
register_plugin( "Custom Duck Speed", "1.0", "Ortega" );

g_pMaxDuckSpeed = register_cvar( "Custom_duck_speed", "250.0" );
register_forward( FM_PlayerPreThink, "fw_PlayerPreThink");
}

public fw_PlayerPreThink( id ) {
new fNspeed[33];

if( is_player_usehull2( id ) == false )
{
pev( id, pev_speed, fNspeed[id] );
}

if( is_player_usehull2( id ) == true )
{
set_pev( id, pev_speed, get_pcvar_float( g_pMaxDuckSpeed ) );
}

set_pev( id, pev_speed, fNspeed[id] );

}

stock bool:is_player_usehull2( index ) {
static iDucking;
iDucking = pev( index, pev_flags ) & ( FL_DUCKING | FL_ONGROUND );

if( iDucking == ( FL_DUCKING | FL_ONGROUND ) )
return true;

return false;
}


Z orpheu napiszę później, jak będę miał chwlię więcej.
Użytkownik Ortega edytował ten post 06.09.2010 15:41
Odpowiedz

  • +
  • -
.Cz!t3R - zdjęcie .Cz!t3R 06.09.2010

U Ciebie to działało ?

Bo u mnie nie działa....
chyba ze coś źle robie ?
Odpowiedz

  • +
  • -
Knopers - zdjęcie Knopers 06.09.2010

Ortega

pev_speed //Not for players. Effects change from entity to entity (IE: used for door swing speed)


Więc przez fakemete nie da raczej rady chyba że pev_maxspeed ale nie próbowałem
Odpowiedz

  • +
  • -
Ortega - zdjęcie Ortega 06.09.2010

No to to już musi działać ;) Sygnatury do funkcji PM Engine dałem w pluginie Custom LadderMove
#include < amxmodx >
#include < orpheu >
#include < orpheu_advanced >
#include < orpheu_memory >
#include < orpheu_stocks >

new g_pMaxDuckSpeed, iPlayer, OrpheuStruct:pmove;

public plugin_init( )
{
register_plugin( "Orpheu Duck Speed", "1.0", "Ortega" );

g_pMaxDuckSpeed = register_cvar( "orpheu_duck_speed", "201.0" );
OrpheuRegisterHook( OrpheuGetDLLFunction( "pfnPM_Move","PM_Move" ), "OnPM_Move" );
OrpheuRegisterHook( OrpheuGetFunction( "PM_Duck" ), "OnPM_Duck", OrpheuHookPost );
}

public OrpheuHookReturn:OnPM_Move( OrpheuStruct:ppmove, server )
{
iPlayer = OrpheuGetStructMember( ppmove, "player_index" ) + 1;
pmove = ppmove;
return OrpheuIgnored;
}

public OrpheuHookReturn:OnPM_Duck( )
{
if( is_user_alive( iPlayer ) )
{
new Float:velocity[3];
OrpheuGetStructMember( pmove, "velocity", velocity );

velocity[0] = velocity[0] / 200 * get_pcvar_float( g_pMaxDuckSpeed );

OrpheuSetStructMember( pmove, "velocity", velocity );
}
return OrpheuIgnored;
}


Kompliator: Webcompiler AMX(x)
Kompilator pluginów AMXX - Nieoficjalny polski support AMX Mod X

@Knopers, tak wiem maxspeed, walnęło mi się :D
Użytkownik Pavulon edytował ten post 07.09.2010 11:37
Odpowiedz

  • +
  • -
.Cz!t3R - zdjęcie .Cz!t3R 07.09.2010

Niestety żaden z wyższych pluginów mi nie działa :(.

Moduły włączone, oprheu zainstalowane poprawnie, "goły" amxx też jest.

Testował to ktoś u siebie i działało wam ?
Odpowiedz

  • +
  • -
Ortega - zdjęcie Ortega 07.09.2010

Nie testowałem tego ostatniego ale ręczę, że to musi działać. Wgrałeś poprawnie sygnatury PM_Engine wszystkie ?
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 07.09.2010

#include < amxmodx >
#include < fakemeta >

new g_pMaxDuckSpeed;

public plugin_init( ) {
        register_plugin( "Custom Duck Speed", "1.0", "Ortega" );
        
        g_pMaxDuckSpeed = register_cvar( "Custom_duck_speed", "250.0" );
        register_forward( FM_PlayerPreThink, "fw_PlayerPreThink");      
}

public fw_PlayerPreThink( id ) {
        
        
        if( is_player_usehull2( id ) == false )
        {
                pev( id, pev_maxspeed,0.0 );
        }
        
        if( is_player_usehull2( id ) == true )
        {
                set_pev( id, pev_maxspeed, get_pcvar_float( g_pMaxDuckSpeed ) );
        }
        
   
        
}


stock bool:is_player_usehull2( index ) {
        static iDucking;
        iDucking = pev( index, pev_flags ) & ( FL_DUCKING | FL_ONGROUND );
        
        if( iDucking == ( FL_DUCKING | FL_ONGROUND ) )
                return true;
        
        return false;
}

check it
Odpowiedz

  • +
  • -
.Cz!t3R - zdjęcie .Cz!t3R 07.09.2010

@up
Niestety nie dziala...
@ortega
Pobrałem ortega i wgrałem zgodnie z intrukcją do addons +moduł do modules.ini. Nic dodatkowo nie robiłem.

ed.
Wgrałem te stąd:
http://amxx.pl/custo...ove-t32095.html
i nie działa ;(
Użytkownik .Cz!t3R edytował ten post 07.09.2010 20:04
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 07.09.2010

hmm a cvar ustawiles :?:
Odpowiedz

  • +
  • -
.Cz!t3R - zdjęcie .Cz!t3R 07.09.2010

Tak, sprawdzałem amx_cvar i dobrą wartośc zwraca...
Odpowiedz

  • +
  • -
Ortega - zdjęcie Ortega 07.09.2010

No właśnie. Zajrzyj do pluginu Custom LadderMove i wgraj sobie do configs/orpheu pm_pack.rar oraz nadaj im prawa do odczytu ;)
Odpowiedz

  • +
  • -
.Cz!t3R - zdjęcie .Cz!t3R 07.09.2010

Wgrałem to i nic, nawet ten plug na szybkosc chodzenia po drabince nie działa...
Odpowiedz

  • +
  • -
Ortega - zdjęcie Ortega 07.09.2010

To coś źle wgrywasz bo akurat na chodzenie po drabinie musi działać testowałem na 2 serwerach oraz działanie jest potwierdzone przez Arkshine i lazarev'a.
Odpowiedz

  • +
  • -
.Cz!t3R - zdjęcie .Cz!t3R 07.09.2010

To coś źle wgrywasz bo akurat na chodzenie po drabinie musi działać testowałem na 2 serwerach oraz działanie jest potwierdzone przez Arkshine i lazarev'a.

Mógłbyś mi spakować addons?
bo ja juz naprawdę nie wiem co robie, źle...
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 07.09.2010

wpisz w consoli rcon meta list i daj wyciag
Odpowiedz

  • +
  • -
.Cz!t3R - zdjęcie .Cz!t3R 07.09.2010


Currently loaded plugins:
      description      stat pend  file              vers      src  load  unlod
 [ 1] AMX Mod X        RUN   -    amxmodx_mm.dll    v1.8.1.3  ini  Start ANY  
 [ 2] MySQL            RUN   -    mysql_amxx.dll    v1.8.2-d  pl1  ANY   ANY  
 [ 3] Fun              RUN   -    fun_amxx.dll      v1.8.2-d  pl1  ANY   ANY  
 [ 4] Engine           RUN   -    engine_amxx.dll   v1.8.2-d  pl1  ANY   ANY  
 [ 5] FakeMeta         RUN   -    fakemeta_amxx.dl  v1.8.2-d  pl1  ANY   ANY  
 [ 6] Ham Sandwich     RUN   -    hamsandwich_amxx  v1.8.2-d  pl1  ANY   ANY  
 [ 7] CStrike          RUN   -    cstrike_amxx.dll  v1.8.1.3  pl1  ANY   ANY  
 [ 8] Orpheu           RUN   -    orpheu_amxx.dll   v2.3      pl1  ANY   ANY  
8 plugins, 8 running

09 wrzesień 2010 - 07:25:
Sorry, ze post pod postem, ale chce pokazać jak to rozwiązałem.

Niestety gdy strzelamy nie do takiego typa, nie zwalnia go...
Ale dla chcącego mozna to przerobić, ale mi się już nie chciało:
new Float: origin[3];
velocity_by_aim(id, 100, origin);
set_pev(id, pev_velocity, origin)

Podpinamy to oczywiście pod event chodzenia na kucaka t.j.w
Odpowiedz
Zablokowany