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.
|
[ROZWIĄZANE] Wywolywanie freezetime w funkcji
#1
Posted 02.07.2013 21:05
Wiem, ze moglbym tez zredukowac szybkosc gracza, ale chce wiedziec, czy istnieje inny sposob.
Pozdrawiam
#2
Posted 03.07.2013 12:39
Możesz zablokować używania guzików WSAD. Ale zmiana prędkości będzie lepszym sposobem. Pamiętaj że przy zmianie broni prędkość jest resetowana, więc nie wystarczy użycie set_user_maxspeed
#3
Posted 03.07.2013 15:34
W jaki sposób zablokować wsad?? Pamietam, że to sie robilo jakos tak:
register cl_cmd("w" "block"
Jakoś tak
#4
Posted 03.07.2013 15:50
O wiele lepiej będzie zmienić prędkość gracza na 0.1 tylko przy Ham_CS_Player_ResetMaxSpeed
Więcej napisał o tym Benio101:
http://amxx.pl/topic...edkosci-gracza/
Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!
Na zlecenie i bez zlecenia zresztą też!
#5
Posted 03.07.2013 16:20
Możesz mi jakiś przykładowy plug napisać, który w funkcji wywołuje "freezetime", a potem ją usuwa np. przy pomocy taska??
#6 Gość_21977_*
Posted 03.07.2013 23:05
Plugin zamraża gracza, na 5 sekund lub do końca rundy, po wpisaniu na sayu "freezeme":
#include <amxmodx> #include <fun> #include <HamSandwich> #define SetBit(%1,%2) (%1|=(1<<(%2))) #define ClearBit(%1,%2) (%1&=~(1<<(%2))) #define CheckBit(%1,%2) (%1&(1<<(%2))) new speedbuff; public plugin_init(){ register_plugin("Freezer", "1.0", "benio101"); RegisterHam(get_player_resetmaxspeed_func(), "player", "speed", 1); register_logevent("roundEnd", 2, "1=Round_End"); register_clcmd("say freezeme", "freeze"); } public freeze(id){ SetBit(speedbuff, id); speed(id); new data[1]; data[0]=id; set_task(5.0, "unfreeze", .parameter=data, .len=1); } Ham:get_player_resetmaxspeed_func(){ #if defined Ham_CS_Player_ResetMaxSpeed return IsHamValid(Ham_CS_Player_ResetMaxSpeed)?Ham_CS_Player_ResetMaxSpeed:Ham_Item_PreFrame; #else return Ham_Item_PreFrame; #endif } // obsługa bonusu prędkości public speed(id){ if( is_user_alive(id) && CheckBit(speedbuff, id) ){ set_user_maxspeed(id, 0.1); } } public unfreeze(data[]){ new id=data[0]; if(is_user_alive(id)){ ClearBit(speedbuff, id); ExecuteHam(get_player_resetmaxspeed_func(), id); } } public client_connect(id){ ClearBit(speedbuff, id); } public roundEnd(){ speedbuff=0; remove_task(); }
#7
Posted 03.07.2013 23:36
Do zamkniecia
#8 Gość_21977_*
Posted 04.07.2013 00:00
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users