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, 1 gości, 0 anonimowych