Witam
Jak zrobić autorespawn dla gracza po zabiciu z daną ilością żyć?
Pozdrawiam
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.
|
Napisano 19.06.2014 11:43
Witam
Jak zrobić autorespawn dla gracza po zabiciu z daną ilością żyć?
Pozdrawiam
Napisano 19.06.2014 12:34
Nabazgrałem na szybko coś takiego
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <hamsandwich> #define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "Młody" #define MAXLIFES 3 #define TASKID 943 new lifes[33] public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_event("HLTV", "event_hltv", "a", "1=0", "2=0") RegisterHam(Ham_Killed, "player", "client_killed", 1) } public client_killed(id) { set_task(3.0, "client_respawn", TASKID + id) } public client_respawn(TASK) { new id = TASK - TASKID if(!is_user_alive(id) && is_user_connected(id) && lifes[id] < MAXLIFES) { ExecuteHamB(Ham_CS_RoundRespawn, id) lifes[id]++ } } public event_hltv() { for(new i = 0; i < 33; i++) { lifes[i] = 0 remove_task(i + TASKID) } }
Nietestowane ale powinno działać ... raczej
Użytkownik Puchate edytował ten post 19.06.2014 12:35
Napisano 19.06.2014 14:33
Dzięki plugin działa a jak zrobić, że po śmierci byłby napis pozostało ci X żyć odrodzisz się za X sekund?
Napisano 19.06.2014 17:47
Dodałem komunikat oraz CVAR'y aby łatwiej było konfigurować.
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <hamsandwich> #define PLUGIN "X Lifes" #define VERSION "1.0" #define AUTHOR "Młody" #define TASKID 943 #define MAXPLAYERS 32 new lifes[MAXPLAYERS+1] new maxlifes new respawntime public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) maxlifes = register_cvar("amx_maxlifes", "3") respawntime = register_cvar("amx_maxlifes_time", "5.0") register_event("HLTV", "event_hltv", "a", "1=0", "2=0") RegisterHam(Ham_Killed, "player", "client_killed", 1) } public client_killed(id) { new Float:timeVar = get_pcvar_float(respawntime) new lifesLeft = get_pcvar_num(maxlifes) - lifes[id] if(lifesLeft) { set_task(timeVar, "client_respawn", TASKID + id) client_print(id, print_chat, "[AMX] Zostaniesz odrodzony za %d sekund, pozostalo Ci %d zyc", floatround(timeVar), lifesLeft) } } public client_respawn(TASK) { new id = TASK - TASKID if(!is_user_alive(id) && is_user_connected(id) && lifes[id] < get_pcvar_num(maxlifes)) { ExecuteHamB(Ham_CS_RoundRespawn, id) lifes[id]++ } } public event_hltv() { for(new i = 0; i <= MAXPLAYERS; i++) { lifes[i] = 0 remove_task(i + TASKID) } }
Użytkownik Puchate edytował ten post 19.06.2014 17:54
Napisano 19.06.2014 19:51
Wywala mi błąd przy kompilacji:
Napisano 19.06.2014 19:54
Czyż aby na pewno masz
#define TASKID 943 #define MAXPLAYERS 32?
Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości
Napisano 19.06.2014 19:57
dzięki przeoczyłem to zaraz sprawdzę czy działa i dam znać
Napisano 19.06.2014 20:19
Super działa! A czy dało by się zrobić tak że odliczanie Zostaniesz odrodzony za %d sekund było by na bieżąco i wyświetlało by się na środku ekranu? Byłbym naprawdę wdzięczny
Napisano 19.06.2014 23:43
Nieładnie w plikach źródłowych zmieniać autora
dzięki przeoczyłem to
Jutro postaram się coś Ci z tym wykminić.
Napisano 20.06.2014 08:39
Nieładnie w plikach źródłowych zmieniać autora
dzięki przeoczyłem to
Jutro postaram się coś Ci z tym wykminić.
Po prostu musiałem wkleić ten kod do innego pluginu, żeby nie było!
Użytkownik lexar edytował ten post 20.06.2014 08:39
Napisano 25.06.2014 14:02
To jak dało by się zrobić z odliczaniem na bieżąco?
Napisano 25.06.2014 22:22
Coś wymyśliłem
Wersja 1.2 pluginu, pokazuje licznik do respawnu na hudzie, wszystko w pełni konfigurowalne przez CVAR'y.
cvar_maxlifes = register_cvar("amx_maxlifes", "3") // life count cvar_respawntime = register_cvar("amx_maxlifes_time", "5") // time to respawn, integer value! cvar_rgb[0] = register_cvar("amx_maxlifes_r", "255") // RGB Color system - Red color value [0-255] cvar_rgb[1] = register_cvar("amx_maxlifes_g", "255") // RGB Color system - Green color value [0-255] cvar_rgb[2] = register_cvar("amx_maxlifes_b", "255") // RGB Color system - Blue color value [0-255] cvar_pos[0] = register_cvar("amx_maxlifes_x", "-1.0") // Hud message position on x axis cvar_pos[1] = register_cvar("amx_maxlifes_y", "0.25") // Hud message position on y axis
Całość napisana tak aby działała poprawnie oraz zużywała jak najmniej zasobów serwera
EDIT: Mała poprawka i mamy już 1.3
Użytkownik Puchate edytował ten post 25.06.2014 22:26
Napisano 25.06.2014 22:59
Dziękujemy Ci Puchate, nie wiadomo skąd się urwałeś Pozdrawiam
Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości
Napisano 26.06.2014 09:35
Stawiam ci wódkę!!
Dzięki wielkie!!
0 użytkowników, 0 gości, 0 anonimowych