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.
|
Guest Message by DevFuse
Plugin zabraniający poruszania się danej drużynie.Poszukuję pluginu zabraniającego poruszania się dajnej drużynie
Temat rozp. Sponsi, 02.08.2011 13:34
9 odpowiedzi w tym temacie
#1
Napisano 02.08.2011 13:34
Witam,
poszukuję pluginu, który będzie blokował możliwość poruszania się danej drużynie. (najlepiej ustawiane cvarem. Jeżeli taki plugin nie istnieje, to będę wdzięczny, jeżeli ktoś by go napisał Próbowałem to zrobić za pomocą pluginu amx_super jednak efekt nie ten. Nie dodałem tego wcześniej (dlatego pewnie mój wątek został usunięty), ale przeszukałem forum zarówno przez spis treści jak i opcję wyszukaj na forum, oraz dodatkowo przeszukałem google.
poszukuję pluginu, który będzie blokował możliwość poruszania się danej drużynie. (najlepiej ustawiane cvarem. Jeżeli taki plugin nie istnieje, to będę wdzięczny, jeżeli ktoś by go napisał Próbowałem to zrobić za pomocą pluginu amx_super jednak efekt nie ten. Nie dodałem tego wcześniej (dlatego pewnie mój wątek został usunięty), ale przeszukałem forum zarówno przez spis treści jak i opcję wyszukaj na forum, oraz dodatkowo przeszukałem google.
#2
Napisano 02.08.2011 14:13
Masz kilka sposobów:
engine
fakemeta
orpheu
engine
#include < amxmodx >
#include < engine >
public plugin_init( ) {
register_logevent( "ev_Round_Start", 2, "1=Round_Start" );
}
public ev_Round_Start( ) {
for( new i = 1; i < 33; i ++ )
{
new iTeam = get_user_team( i );
switch( iTeam )
{
case 1:
{
entity_set_vector( i, EV_VEC_velocity, Float:{ 0.0, 0.0, 0.0 } );
entity_set_float( i, EV_FL_maxspeed, 1.0 );
}
}
}
}
fakemeta
#include < amxmodx >
#include < fakemeta >
public plugin_init( ) {
register_logevent( "ev_Round_Start", 2, "1=Round_Start" );
}
public ev_Round_Start( ) {
for( new i = 1; i < 33; i ++ )
{
if( get_pdata_int( i, 114, 5 ) == 1 )
{
set_pev( i, pev_velocity, Float:{ 0.0, 0.0, 0.0 } );
set_pev( i, pev_maxspeed, 1.0 );
}
}
}
orpheu
#include < amxmodx >
#include < orpheu >
#include < orpheu_stocks >
new OrpheuStruct:h_struct_pmove;
public plugin_init( ) {
OrpheuRegisterHook( OrpheuGetDLLFunction( "pfnPM_Move","PM_Move" ), "OnPM_Move" );
OrpheuRegisterHook( OrpheuGetFunction( "PM_PlayerMove" ), "OnPM_PlayerMove", OrpheuHookPre );
}
public OrpheuHookReturn:OnPM_Move( pmove, server ) {
h_struct_pmove = OrpheuGetStructFromParam( 1 );
return OrpheuIgnored;
}
public OnPM_PlayerMove( server ) {
if( OrpheuGetStructMember( h_struct_pmove, "team" ) == 1 )
{
OrpheuSetStructMember( h_struct_pmove, "velocity", Float:{ 0.0, 0.0, 0.0 } );
OrpheuSetStructMember( h_struct_pmove, "maxspeed", 1.0 );
}
}
Użytkownik Ortega edytował ten post 02.08.2011 14:25
#3
Napisano 02.08.2011 14:21
Dzięki wielkie Tylko na jakiej zasadzie to działa ? Jak na razie testowałem wersję engine, jednak po wrzuceniu nie zauważyłem żadnego efektu.
#4
Napisano 02.08.2011 14:26
Zapomniałem, że ten event nie posiada parametru index. Poprawione o pętle.
#5
Napisano 02.08.2011 14:32
Niestety nadal oba teamy mogą się poruszać. Może ma na to wpływ, że chcę aby plugin działał na podbotach ?
#6
Napisano 02.08.2011 14:36
Nie wiem jak jest z botami bo po prostu nigdy tego nie sprawdzałem ale fakemeta powinna działać bez zarzutu.
#7
Napisano 02.08.2011 14:48
Na botach niestety ani engine, ani fakemeta nie działają. Mimo to wielkie dzięki za pomoc (oczywiście poleciał +). Jeżeli jednak ktoś mógłby napisać taki plugin, który działałby także na botach, to będę bardzo wdzięczny .
#8
Napisano 02.08.2011 14:53
Tonący brzytwy się chwyta. Możesz jeszcze spróbować do tamtego kodu dodać task 0.1 sek.
Jak to nie zadziała to gdzieś robię bardzo głupi błąd albo się nie da.
@edit
Ten kod sprawdź albo tamten z taskiem
@edit2
Oczywiście dla teamu pierwszego wszystko, czyli TT.
#include < amxmodx >
#include < fakemeta >
public plugin_init( ) {
register_forward( FM_PlayerPreThink, "fwd_PreThink" );
}
public fwd_PreThink( id ) {
if( get_pdata_int( id, 114, 5 ) == 1 )
{
set_pev( id, pev_velocity, Float:{ 0.0, 0.0, 0.0 } );
set_pev( id, pev_maxspeed, 1.0 );
}
}
Jak to nie zadziała to gdzieś robię bardzo głupi błąd albo się nie da.
@edit
Ten kod sprawdź albo tamten z taskiem
@edit2
Oczywiście dla teamu pierwszego wszystko, czyli TT.
Użytkownik Ortega edytował ten post 02.08.2011 14:54
#9
Napisano 02.08.2011 15:06
Coś musi być nie tak, bo serwer zacząć się crashować (fakemeta w drugim poście tak samo). Oczywiście moduł jest odblokowany.
edit:
Błąd z ostatnią wersją leżał po mojej stronie. Plugin działa bardzo dobrze. Jeszcze raz wielkie dzięki
edit:
Błąd z ostatnią wersją leżał po mojej stronie. Plugin działa bardzo dobrze. Jeszcze raz wielkie dzięki
Użytkownik Sponsi edytował ten post 02.08.2011 15:18
#10
Napisano 02.08.2011 16:27
Wiadomość wygenerowana automatycznie
Ten temat został zamknięty przez moderatora.
Powód: Rozwiązane
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Ten temat został zamknięty przez moderatora.
Powód: Rozwiązane
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych