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.
|

#1
Napisano 12.06.2009 09:54
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

#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
:>Daje możliwość wpisania /life co 10s
#5
Napisano 12.06.2009 15:09
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...

#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
#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
-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

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
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
#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
vip pbNapisany przez One ShooT, 04.02.2024 ![]() |
|
![]() |
|||
Nowy Plugin
Admin menuNapisany przez stół z powyłamywanymi, 22.09.2022 ![]() |
|
![]() |
|||
Nowy Plugin
Prośba o napisanie pluginuNapisany przez stół z powyłamywanymi, 15.08.2022 ![]() |
|
![]() |
|||
Nowy Plugin
PLUGIN NA DRplugin Napisany przez bawarskagolonka123, 25.06.2021 ![]() |
|
![]() |
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych