Witam,
myślałem ostatnio nad rozwiązaniem problemu na serwerach z modami, na których czasami admini zabraniają używania skilla przez np. pierwsze 8 sekund rundy. W związku z tym, że nie jestem zaawansowanym programistą PAWN'a (czyt. amatorem ) mam prośbę o napisanie takiego właśnie plugina. Najlepiej jeżeli używałby 2 cvarów - w jednym wpisywałoby się funkcje która ma być blokowana np. ultimate lub +pokeskill, drugi określałby czas od początku rundy, podczas którego nie można używać właśnie klawiszy odpowiedzialnych za czynności wymienione wyżej.
Mam nadzieję, że ktoś pomoże mi i napisze ten plugin. Oczywiście nie będe chytry i nacisne klawisz pomógł :> .
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
Blokowanie skilla
Temat rozp. SkinnerBox, 23.06.2009 21:53
7 odpowiedzi w tym temacie
#1
Napisano 23.06.2009 21:53
#2
Napisano 23.06.2009 22:12
ultimate
war3, jeśli dobrze pamiętam jest tam cvar określający czas ładowania mocy ultimate
+pokeskill
nie znam pokemoda, jeśli nie ma cvara to taki plugin byłby bardzo łatwy do napisania
war3, jeśli dobrze pamiętam jest tam cvar określający czas ładowania mocy ultimate
+pokeskill
nie znam pokemoda, jeśli nie ma cvara to taki plugin byłby bardzo łatwy do napisania
#3
Napisano 24.06.2009 11:24
Głównie zależy mi na blokowaniu skilla w Pokemodzie. Z tego co wyczytałem nie ma w nim cvara odpowiedzialnego za czas ładowania mocy na początku rundy. Oczywiście tego rodzaju plugin można wykorzystać nie tylko do blokowania +pokeskill, ale np. strzelania na mapach typu aim...
Jeśli byłbyś tak miły to możesz napisać dla mnie ten plugin?
Zapomniałem jeszcze napisać wcześniej, ale mógłbyś jeszcze dopisać informacje w say'u dla gracza, który nacisnąłby klawisz odpowiedzialny za +pokeskill w czasie szybszym niż pierwsze 10 sekund rundy (np. Skilla możesz używać dopiero po 10 sekundach rundy! - lub coś w tym rodzaju...).
Jeśli byłbyś tak miły to możesz napisać dla mnie ten plugin?
Zapomniałem jeszcze napisać wcześniej, ale mógłbyś jeszcze dopisać informacje w say'u dla gracza, który nacisnąłby klawisz odpowiedzialny za +pokeskill w czasie szybszym niż pierwsze 10 sekund rundy (np. Skilla możesz używać dopiero po 10 sekundach rundy! - lub coś w tym rodzaju...).
#4
Napisano 24.06.2009 12:14
Nie da się złapać komend takich +attack, +attack2,+use zwykłym register_clcmd()
W załączniku blokada +pokeskill, ważne: plugin musi być wyżej na liście plugins.ini od pokemoda
W załączniku blokada +pokeskill, ważne: plugin musi być wyżej na liście plugins.ini od pokemoda
Załączone pliki
#5
Napisano 24.06.2009 12:17
Co do +pokeskill to można w defines pokemoda ustawić co ile działa...
#6
Napisano 24.06.2009 13:43
R3X, dzięki. Wszystko ładnie działa .
naven, wiem, że można ustawić co ile ma działać, ale mi chodziło o to żeby nie działało na samym początku rundy.
EDIT:
Aha, jeżeli chciałbym dodać więcej klawiszy, które mają być blokowane to co muszę dopisać?
Zrobiłem tak, ale jest to dosyć dziwny sposób i myślę, że masz może jakiś szybszy/lepszy...
naven, wiem, że można ustawić co ile ma działać, ale mi chodziło o to żeby nie działało na samym początku rundy.
EDIT:
Aha, jeżeli chciałbym dodać więcej klawiszy, które mają być blokowane to co muszę dopisać?
Zrobiłem tak, ale jest to dosyć dziwny sposób i myślę, że masz może jakiś szybszy/lepszy...
#include <amxmodx> #include <amxmisc> #define PLUGIN "Block Commands" #define VERSION "1.0" #define AUTHOR "R3X" new gStartRound=0; new gcvarPokeDelay; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_event("HLTV", "eventRoundInit", "a", "1=0", "2=0"); gcvarPokeDelay=register_cvar("pokeskill_delay","10"); register_clcmd("+pokeskill","cmd_block"); register_clcmd("+pokeskill1","cmd_block2"); register_clcmd("+pokeskill2","cmd_block3"); } public cmd_block(id){ new iDelay=get_systime()-gStartRound; new iCmdDelay=get_pcvar_num(gcvarPokeDelay); if(iDelay < iCmdDelay){ client_print(id, print_center, "Mozesz uzyc za %d sekund", iCmdDelay-iDelay); return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; } public cmd_block2(id){ new iDelay=get_systime()-gStartRound; new iCmdDelay=get_pcvar_num(gcvarPokeDelay); if(iDelay < iCmdDelay){ client_print(id, print_center, "Mozesz uzyc za %d sekund", iCmdDelay-iDelay); return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; } public cmd_block3(id){ new iDelay=get_systime()-gStartRound; new iCmdDelay=get_pcvar_num(gcvarPokeDelay); if(iDelay < iCmdDelay){ client_print(id, print_center, "Mozesz uzyc za %d sekund", iCmdDelay-iDelay); return PLUGIN_HANDLED; } return PLUGIN_CONTINUE; } public eventRoundInit() gStartRound=get_systime();
#7
Napisano 24.06.2009 16:53
new const gszCmds[][]={ "+pokeskill", "+pokeskill1", "+pokeskill2" } new const giDelay[]={ 10, 10, 20 }Takie coś wystarczy czy chcesz konfigurację w pliku .ini?
Załączone pliki
#8
Napisano 24.06.2009 17:02
Dziękuje, wystarczy .
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych