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
11 odpowiedzi w tym temacie
#1
Napisano 12.06.2009 09:54
Witam.
Jeżeli to możliwe proszę kogoś komu to nie sprawi wielkiej trudności o napisanie małego pluginu.
Miałby on za zadanie:
- Działać jedynie na mapie surf... albo poprzez cvar który będzie ustawiony na 0 a w prefix_surf.cfg będzie na 1 albo poprzez wykrycie prefixu mapy i samoistnym uaktywnieniu.
- Po wpisaniu przez osobę MARTWĄ na say /life ożywia tego gracza normalnie na respawnie.
- Daje możliwość wpisania /life co 10s
Wiem że podobne rzeczy są na deathmatch albo uSurf. Jednak rozchodzi mi się tylko o ten kawałek kodu.
Z góry dziękuję.
Jeżeli to możliwe proszę kogoś komu to nie sprawi wielkiej trudności o napisanie małego pluginu.
Miałby on za zadanie:
- Działać jedynie na mapie surf... albo poprzez cvar który będzie ustawiony na 0 a w prefix_surf.cfg będzie na 1 albo poprzez wykrycie prefixu mapy i samoistnym uaktywnieniu.
- Po wpisaniu przez osobę MARTWĄ na say /life ożywia tego gracza normalnie na respawnie.
- Daje możliwość wpisania /life co 10s
Wiem że podobne rzeczy są na deathmatch albo uSurf. Jednak rozchodzi mi się tylko o ten kawałek kodu.
Z góry dziękuję.
#2
Napisano 12.06.2009 10:46
Pisałem na szybko, nie testowałem, ale spróbuj
I poczytaj to:
http://amxx.pl/topic... ... -vt477.htm
#include <amxmodx> #include <fun> new byl_juz[33] public plugin_init() { register_plugin("/life", "1.0", "amxx.pl") register_clcmd("say /life", "ozyw") } public ozyw(id) { if( !is_user_alive(id) ) { if( !byl_juz[id] ) { spawn(id) spawn(id) byl_juz[id] = 1 set_task(10.0, "pozwol", id) } else { client_print(id, print_chat, "Mozesz uzyc komendy /life co 10s") } } else { client_print(id, print_chat, "Komendy /life mozesz uzyc tylko, gdy jestes martwy") } } public pozwol(id) { byl_juz[id] = 0 }Kompilator
I poczytaj to:
http://amxx.pl/topic... ... -vt477.htm
#4
Napisano 12.06.2009 11:46
naXe,
:>Daje możliwość wpisania /life co 10s
#5
Napisano 12.06.2009 15:09
Hello...
Wielkie dzięki... plugin działa... jednak i tak troszkę go przerobiłem bo admin_freelooka miałem i o dziwo 3 teamy grały... TT CT i SPEC...
Teraz tylko TT i CT [death] mogą użyć funkcji. Jednak jest mały problem... (1) wcześniej jak i teraz występują takie błędy że gracz wpisuje w say /life i zamiast go zrespić. To gracz przechodzi na czyjąś kamerę normalnie dalej jakby był death a w ranku oraz na say jak coś pisze to pokazuje że jest żywy... Podam kod tego lekko zmodyfikowanego.
(2) Po zrespieniu się gracz często nie ma nawet noża... jeżeli można to proszę kogoś o danie choćby glocka i knife na start.
(3) Po którymś /life z rzędu zauważyłem że nie mam... celownika oraz napisów z kasą i hp i armorem... da się to jakoś naprawić. ?
A i dziękuje za ten temat z plugins-prefix.ini... od nie dawna zajmuję się tak na serio serwerem więc nie wszystko wiedziałem
Wielkie dzięki... plugin działa... jednak i tak troszkę go przerobiłem bo admin_freelooka miałem i o dziwo 3 teamy grały... TT CT i SPEC...
Teraz tylko TT i CT [death] mogą użyć funkcji. Jednak jest mały problem... (1) wcześniej jak i teraz występują takie błędy że gracz wpisuje w say /life i zamiast go zrespić. To gracz przechodzi na czyjąś kamerę normalnie dalej jakby był death a w ranku oraz na say jak coś pisze to pokazuje że jest żywy... Podam kod tego lekko zmodyfikowanego.
(2) Po zrespieniu się gracz często nie ma nawet noża... jeżeli można to proszę kogoś o danie choćby glocka i knife na start.
(3) Po którymś /life z rzędu zauważyłem że nie mam... celownika oraz napisów z kasą i hp i armorem... da się to jakoś naprawić. ?
#include <amxmodx> #include <cstrike> #include <fun> new byl_juz[33] public plugin_init() { register_plugin("/life", "1.0", "amxx.pl") register_clcmd("say /life", "ozyw") } public pozwol(id) { byl_juz[id] = 0 } public ozyw(id) { if( cs_get_user_team(id) != CS_TEAM_SPECTATOR ) { if( !is_user_alive(id) ) { if( !byl_juz[id] ) { spawn(id) spawn(id) byl_juz[id] = 1 set_task(10.0, "pozwol", id) } else { client_print(id, print_chat, "Mozesz uzyc komendy /life co 10s") } } else { client_print(id, print_chat, "Komendy /life mozesz uzyc tylko, gdy jestes martwy !") } } else { client_print(id, print_chat, "Komendy /life mozesz uzyc tylko, gdy jestes w CT lub TT !") } }
A i dziękuje za ten temat z plugins-prefix.ini... od nie dawna zajmuję się tak na serio serwerem więc nie wszystko wiedziałem
#6
Napisano 12.06.2009 15:24
Spróbuj tego:
Jeśli ta wersja dalej nie daje broni, pisz śmiało
#include <amxmodx> #include <hamsandwich> #include <cstrike> new byl_juz[33] public plugin_init() { register_plugin("/life", "1.0", "amxx.pl") register_clcmd("say /life", "ozyw") } public ozyw(id) { if( cs_get_user_team(id) != CS_TEAM_SPECTATOR ) { if( !is_user_alive(id) ) { if( !byl_juz[id] ) { ExecuteHamB(Ham_CS_RoundRespawn, id) ExecuteHamB(Ham_CS_RoundRespawn, id) byl_juz[id] = 1 set_task(10.0, "pozwol", id) } else { client_print(id, print_chat, "Mozesz uzyc komendy /life co 10s") } } else { client_print(id, print_chat, "Komendy /life mozesz uzyc tylko, gdy jestes martwy") } } else { client_print(id, print_chat, "Komendy /life mozesz uzyc tylko, gdy jestes w CT lub TT !") } } public pozwol(id) { byl_juz[id] = 0 }
Jeśli ta wersja dalej nie daje broni, pisz śmiało
#7
Napisano 12.06.2009 16:16
Owszem bronie są... jednak nadal zdarzają się te 2 błędy o których pisałem... tzn
-brak celownika i napisów HP ARMOR AMMO
oraz
-oglądasz kamerę kogoś... a pokazuje na say i w tabeli że gracz jest żywy... przez co nawet nie może powtórnie wpisac say /live
@down. Pobrałem ten kod niżej i puki co nikt się nie skarżył... przetestuje dokładnie i jak coś to napiszę. A teraz jeszcze raz dziękuję
-brak celownika i napisów HP ARMOR AMMO
oraz
-oglądasz kamerę kogoś... a pokazuje na say i w tabeli że gracz jest żywy... przez co nawet nie może powtórnie wpisac say /live
@down. Pobrałem ten kod niżej i puki co nikt się nie skarżył... przetestuje dokładnie i jak coś to napiszę. A teraz jeszcze raz dziękuję
#8
Napisano 12.06.2009 18:09
Ok, mam jeszcze jedno wyjście
Tym razem skorzystałem z http://amxx.pl/topic... ... vt3265.htm
Tym razem skorzystałem z http://amxx.pl/topic... ... vt3265.htm
Żeby za bardzo nie rozwijać kodu zrobiłem tak, że zrespienie się następuje 5s po wpisaniu /life.Nie zalecane jest uzycie funkji zaraz po smierci (lepiej task np. 5s).
#include <amxmodx> #include <fakemeta> #include <cstrike> new byl_juz[33] public plugin_init() { register_plugin("/life", "1.0", "amxx.pl") register_clcmd("say /life", "ozyw") } public ozyw(id) { if( cs_get_user_team(id) != CS_TEAM_SPECTATOR ) { if( !is_user_alive(id) ) { if( !byl_juz[id] ) { byl_juz[id] = 1 set_task(15.0, "pozwol", id) set_task(5.0, "respawn_player", id+40) client_print(id, print_chat, "Zrespisz się za 5s") } else { client_print(id, print_chat, "Mozesz uzyc komendy /life co 15s") } } else { client_print(id, print_chat, "Komendy /life mozesz uzyc tylko, gdy jestes martwy") } } else { client_print(id, print_chat, "Komendy /life mozesz uzyc tylko, gdy jestes w CT lub TT !") } } public pozwol(id) { byl_juz[id] = 0 } public respawn_player(id) { id = id - 40 if (!is_user_connected(id) || is_user_alive(id) || cs_get_user_team(id) == CS_TEAM_SPECTATOR) return; set_pev(id, pev_deadflag, DEAD_RESPAWNABLE) dllfunc(DLLFunc_Think, id) if (is_user_bot(id) && pev(id, pev_deadflag) == DEAD_RESPAWNABLE) { dllfunc(DLLFunc_Spawn, id) } } public client_disconnect(id) { if(task_exists(id)) remove_task(id) if(task_exists(id+40)) remove_task(id+40) }Jakby nie było borni, pisz
#9
Napisano 13.06.2009 10:45
A jednak... znowu problem... o ile nie ma już przypadków o których pisałem wyżej...
Teraz jest coś takiego że osoba która doszła do teamu ileś tam sekund po rozpoczęciu rundy musi czekać aż ona się zakończy.
Tzn gość wchodzi na serwer w 5min trwania mapy... i komenda /live na niego nie działa... wprawdzie pisze ze zostanie zrespiony po 5s jednak nic się nie dzieje... dopiero po normalnym [naturalnym] zrespieniu się wynikniętym restartem rudny lub nową rundą funkcja obejmuje tego gracza.
Jest to dość uciążliwe zwłaszcza że na serwerze jest powiedzmy 20ludzi i nie sposób zakończyć szybko rundę gdy 17 osób się respi co 20 sekund.
W takiej sytuacji 3 osoby czekają te 10min aż szczęście dopisze i wszyscy wybiją się w jednym czasie.
Teraz jest coś takiego że osoba która doszła do teamu ileś tam sekund po rozpoczęciu rundy musi czekać aż ona się zakończy.
Tzn gość wchodzi na serwer w 5min trwania mapy... i komenda /live na niego nie działa... wprawdzie pisze ze zostanie zrespiony po 5s jednak nic się nie dzieje... dopiero po normalnym [naturalnym] zrespieniu się wynikniętym restartem rudny lub nową rundą funkcja obejmuje tego gracza.
Jest to dość uciążliwe zwłaszcza że na serwerze jest powiedzmy 20ludzi i nie sposób zakończyć szybko rundę gdy 17 osób się respi co 20 sekund.
W takiej sytuacji 3 osoby czekają te 10min aż szczęście dopisze i wszyscy wybiją się w jednym czasie.
#10
Napisano 17.06.2009 10:26
Czy ktoś potrafi pomóc ?
#11
Napisano 17.06.2009 11:55
#include <amxmodx> #include <fakemeta> #include <cstrike> new byl_juz[33] public plugin_init() { register_plugin("/life", "1.0", "amxx.pl") register_clcmd("say /life", "ozyw") } public ozyw(id) { if( cs_get_user_team(id) != CS_TEAM_SPECTATOR ) { if( !is_user_alive(id) ) { if( !byl_juz[id] ) { byl_juz[id] = 1 set_task(15.0, "pozwol", id) set_task(5.0, "respawn_player", id+40) client_print(id, print_chat, "Zrespisz się za 5s") } else { client_print(id, print_chat, "Mozesz uzyc komendy /life co 15s") } } else { client_print(id, print_chat, "Komendy /life mozesz uzyc tylko, gdy jestes martwy") } } else { client_print(id, print_chat, "Komendy /life mozesz uzyc tylko, gdy jestes w CT lub TT !") } } public pozwol(id) { byl_juz[id] = 0 } public respawn_player(id) { id = id - 40 if (!is_user_connected(id) || is_user_alive(id) || cs_get_user_team(id) == CS_TEAM_SPECTATOR) return; set_pev(id, pev_deadflag, DEAD_RESPAWNABLE) dllfunc(DLLFunc_Think, id) if ( pev(id, pev_deadflag) == 2 || pev(id, pev_deadflag) == 3 ) { dllfunc(DLLFunc_Spawn, id) } } public client_disconnect(id) { if(task_exists(id)) remove_task(id) if(task_exists(id+40)) remove_task(id+40) }Śmiga, testowałem
Ale jakby co, to pisz.
#12
Napisano 17.06.2009 23:12
if ( pev(id, pev_deadflag) == 2 || pev(id, pev_deadflag) == 3 ) { dllfunc(DLLFunc_Spawn, id) }
po spawnie a przed klamrą zamykającą tego ifa wrzuciłem jeszcze jednego który zależnie od Teamu daje graczowi glocka albo usp.
Teraz wszystko działa jak należy... leci kolejny pomógł. Dzięki za plugin.
Pozdrawiam
Również z jednym lub większą ilością słów kluczowych: Nowy Plugin
|
Nowy Plugin
[KOSZ] pluginNapisany przez Frodo1981, 25.02.2024 nowy plugin |
|
|||
Nowy Plugin
vip pbNapisany przez One ShooT, 04.02.2024 nowy plugin |
|
||||
Nowy Plugin
Admin menuNapisany przez stół z powyłamywanymi, 22.09.2022 nowy plugin |
|
||||
Nowy Plugin
Prośba o napisanie pluginuNapisany przez stół z powyłamywanymi, 15.08.2022 nowy plugin |
|
||||
Nowy Plugin
PLUGIN NA DRplugin Napisany przez bawarskagolonka123, 25.06.2021 nowy plugin |
|
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych