Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Step Sound na shift
#1
Napisano 28.10.2010 20:10
#2
Napisano 28.10.2010 20:56
Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka
GG:6022845 (nie pomagam za free osobom ponizej rangi MoD)
#3
Napisano 28.10.2010 21:01
#include < amxmodx >
#include < orpheu >
#include < orpheu_advanced >
#include < orpheu_memory >
#include < orpheu_stocks >
new iPlayer;
new OrpheuFunction:fn_PlayStepSound;
public plugin_init( ) {
register_plugin( "Orpheu Walk Sound", "1.0", "Ortega" );
OrpheuRegisterHook( OrpheuGetDLLFunction( "pfnPM_Move","PM_Move" ), "OnPM_Move" );
OrpheuRegisterHook( OrpheuGetEngineFunction( "pfnWalkMove", "SigpfnWalkMove" ), "OnpfnWalkMove", OrpheuHookPre );
fn_PlayStepSound = OrpheuGetFunction( "PM_PlayStepSound" );// thx arkshine
}
public OrpheuHookReturn:OnPM_Move( OrpheuStruct:ppmove, server ) {
iPlayer = OrpheuGetStructMember( ppmove, "player_index" ) + 1;
return OrpheuIgnored;
}
public OrpheuHookReturn:OnpfnWalkMove( ent, Float:yaw, Float:dist, iMode ) {
if( is_user_alive( iPlayer ) )
{
OrpheuCall( fn_PlayStepSound, 1, 80 );//przejrzyj hlsdk i zobacz parametry
}
return OrpheuIgnored;
}
#4
Napisano 28.10.2010 21:22
#5
Napisano 28.10.2010 22:11
pobierz sobie parametry krokow i tyle chyba najprostsze rozwiazanie aczkolwiek nie sprawdzalem
Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka
GG:6022845 (nie pomagam za free osobom ponizej rangi MoD)
#6
Napisano 30.10.2010 17:57
#include <amxmodx>
#include <fakemeta>
public plugin_init()
{
register_plugin("New Plugin", "1.0.0", "Owner")
register_forward(FM_CmdStart, "fwCmdStart");
}
public fwCmdStart(id, uc_handle, seed)
{
if(!is_user_alive(id))
return FMRES_IGNORED;
new button = get_uc(uc_handle, UC_Buttons);
if(button & IN_RUN)
{
set_uc(uc_handle, UC_Buttons, button & ~IN_RUN);
return FMRES_SUPERCEDE;
}
return FMRES_IGNORED;
}
Nie jestem tylko pewien czy dobry klawisz chce przechwycić
#7
Napisano 30.10.2010 19:12
#define IN_ATTACK (1 << 0) #define IN_JUMP (1 << 1) #define IN_DUCK (1 << 2) #define IN_FORWARD (1 << 3) #define IN_BACK (1 << 4) #define IN_USE (1 << 5) #define IN_CANCEL (1 << 6) #define IN_LEFT (1 << 7) #define IN_RIGHT (1 << 8) #define IN_MOVELEFT (1 << 9) #define IN_MOVERIGHT (1 << 10) #define IN_ATTACK2 (1 << 11) #define IN_RUN (1 << 12) #define IN_RELOAD (1 << 13) #define IN_ALT1 (1 << 14) #define IN_SCORE (1 << 15) // Used by client.dll for when scoreboard is held downCzegoś już nie rozumiem. Chcesz, żeby szedł na shifcie i słychać było kroki( to powyższy kod jest nie na miejscu ), czy może chcesz, żeby trzymając shift biegł ? Jak drugi to zrób po prostu dla walk OrpheuSupercede.
#8
Napisano 30.10.2010 19:20
Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka
GG:6022845 (nie pomagam za free osobom ponizej rangi MoD)
#9
Napisano 31.10.2010 09:56
najlepiej by bło zablokować w ogóle shifta
ale jeśli się nie da
to żeby było słychać kroki
#10
Napisano 31.10.2010 15:29
#11
Napisano 31.10.2010 18:16
#pragma semicolon 0 #include < amxmodx > #include <engine> public plugin_init( ) { register_plugin( "Orpheu Walk Sound", "1.0", "Ortega" ); } public client_PreThink(id){ if(get_user_button(id)& IN_FORWARD){ client_print(id,print_chat,"1") } if(get_user_button(id)& IN_RUN){ client_print(id,print_chat,"2") } if(get_user_button(id)& IN_ALT1){ client_print(id,print_chat,"3") } }udało mi się tylko wyświetlić 1 pozostały dwóch nie mogłem określić ;f
#12
Napisano 31.10.2010 19:35
Edit.
Albo, jeśli się nie myle zamiast wywoływać pfnPlayStepSound zwrócić OrpheuSupercede ;o
Użytkownik Owner123 edytował ten post 31.10.2010 19:37
#13
Napisano 31.10.2010 20:14
#14
Napisano 31.10.2010 21:33
OrpheuRegisterHook( OrpheuGetDLLFunction( "pfnPM_Move","PM_Move" ), "OnPM_Move" );
przynajmniej według amxx'a treści nie podam bo nie pamiętam ;F
#15
Napisano 31.10.2010 21:43
Z resztą ten hook działa idealnie w pluginie Custom Ladder Move.
A tutaj wystarczy zamiast Call dać return OrpheuSupercede; tj. całą funkcję.
#16
Napisano 31.10.2010 21:59
{ "name" : "PM_Move", "library" : "mod", "arguments" : [ { "type" : "playermove_s *" }, { "type" : "qboolean" } ], "identifiers" : [ { "os" : "windows", "mod" : "cstrike", "value" : 0xbffc0 }, { "os" : "linux", "mod" : "cstrike", "value" : "PM_Move" } ] }trzeba drugą naprawić
{ "name" : "SigpfnWalkMove", "library" : "engine", "arguments" : [ { "type" : "edict_t *" }, { "type" : "float" }, { "type" : "float" }, { "type" : "int" } ] }
pheu functions search started. Parsing functions started. Parsing file "PM_Move" started Function is updated Parsing file "PM_Move" ended Parsing file "SigpfnWalkMove" started Argument has invalid type "edict_t *" FAILED Parsing file "SigpfnWalkMove" ended Parsing functions ended L 10/31/2010 - 21:55:58: [ORPHEU] Invalid function structure "SigpfnWalkMove" L 10/31/2010 - 21:55:58: [AMXX] Displaying debug trace (plugin "new_2.amxx") L 10/31/2010 - 21:55:58: [AMXX] Run time error 10: native error (native "OrpheuCreateFunction") L 10/31/2010 - 21:55:58: [AMXX] [0] orpheu_stocks.inc::OrpheuGetEngineFunction (line 34) L 10/31/2010 - 21:55:58: [AMXX] [1] new_2.sma::plugin_init (lin
#18
Napisano 06.11.2010 21:07
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych