Witajcie, problem z tym pluginem jest taki, że jeśli ktoś się z respi w czasie trwania rundy to jest on nieśmiertelny przez cały czas.
To równanie zostało stworzone przy pomocy kodu LaTeX:
Edytor LaTeX online: CodeCogs.com/latex/eqneditor.php
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.
|
Gram Jajami nie posiada znajomych
27.08.2014 12:31
Witajcie, problem z tym pluginem jest taki, że jeśli ktoś się z respi w czasie trwania rundy to jest on nieśmiertelny przez cały czas.
12.08.2014 18:08
Witajcie, proszę o napisanie pluginu, który będzie chronił gracza przy odrodzeniu przez 2s (może być cvar), nie będzie mógł oddać strzału (opcjonalnie) oraz będzie on podświetlany przez ten czas. Używam tego http://amxx.pl/topic...on-pl-by-dudix/ ale nie działa on jak powinien.
06.08.2014 16:34
Witajcie, chce dodać do pluginu od respienia, aby dostawało się "coś" przy respieniu tylko w czasie trwania rundy (nie przy rozpoczęciu nowej rundy), ale nie wiem dokładnie, w które miejsce
#include <amxmodx> #include <hamsandwich> #define PLUGIN "Autorespawn/Auto-respawn" #define AUTHOR "HubertTM" #define VERSION "1.0" new TimeSpawn[33] = 0; new bool:Timer[33] = false; new cTimeSpawn, pTimeSpawn, cInfoSpawn, pInfoSpawn, cTeamSpawn, pTeamSpawn, cSayRespawn, pSayRespawn, cTeamAuto, pTeamAuto, cPlayers, pPlayers, cColor, pColor public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); RegisterHam(Ham_Killed, "player", "ham_killed", 1); RegisterHam(Ham_Spawn, "player", "ham_spawn", 1); register_clcmd("say /respawn", "SayRespawn"); register_clcmd("say_team /respawn", "SayRespawn"); register_clcmd("say respawn", "SayRespawn"); cTimeSpawn = register_cvar("spawn_time", "3"); cInfoSpawn = register_cvar("spawn_infotimer", "1"); cTeamSpawn = register_cvar("spawn_team", "0"); cSayRespawn = register_cvar("spawn_say", "1"); cTeamAuto = register_cvar("spawn_auto", "1"); cPlayers = register_cvar("spawn_minplayers", "2"); cColor = register_cvar("spawn_colorhud", "0"); } public client_putinserver(id){ Timer[id] = false TimeSpawn[id] = 0; set_task(5.0, "CheckTeam", id+291,_,_,"b"); } public client_disconnect(id){ Timer[id] = false TimeSpawn[id] = 0; remove_task(id+291); } public ham_killed(id) { pTimeSpawn = get_pcvar_num(cTimeSpawn); pInfoSpawn = get_pcvar_num(cInfoSpawn); pTeamSpawn = get_pcvar_num(cTeamSpawn); pSayRespawn = get_pcvar_num(cSayRespawn); pTeamAuto = get_pcvar_num(cTeamAuto); pPlayers = get_pcvar_num(cPlayers); pColor = get_pcvar_num(cColor); if(!is_user_connected(id) || get_user_team(id) == 3 || get_user_team(id) == 0 || is_user_alive(id)) return HAM_IGNORED; if(pTeamSpawn && get_user_team(id) != pTeamSpawn) return HAM_IGNORED; if(pPlayers && get_playersnum() < pPlayers) return HAM_IGNORED; TimeSpawn[id] = pTimeSpawn; UtworzHUD(id); remove_task(id+492); set_task(1.0, "TimerSpawn", id+492); Timer[id] = true; return HAM_IGNORED; } public SpawnPlayer(id) { if(!is_user_connected(id) || get_user_team(id) == 3 || get_user_team(id) == 0 || is_user_alive(id)) return PLUGIN_CONTINUE; if(pTeamSpawn && get_user_team(id) != pTeamSpawn) return PLUGIN_CONTINUE; if(get_playersnum() < pPlayers) return PLUGIN_CONTINUE; TimeSpawn[id] = pTimeSpawn; UtworzHUD(id); remove_task(id+492); set_task(1.0, "TimerSpawn", id+492); Timer[id] = true; return PLUGIN_CONTINUE; } public UtworzHUD(id){ if(pInfoSpawn){ switch(pColor) { case 0: set_hudmessage(255, 0, 0, -1.0, 0.4, 0, 1.5, 3.0); case 1: set_hudmessage(0, 255, 0, -1.0, 0.4, 0, 1.5, 3.0); case 2: set_hudmessage(0, 102, 255, -1.0, 0.4, 0, 1.5, 3.0); case 3: set_hudmessage(255, 255, 255, -1.0, 0.4, 0, 1.5, 3.0); } switch(TimeSpawn[id]){ case 0: show_hudmessage(id, "Odradzanie..."); case 1: show_hudmessage(id, "Odrodzisz sie za: %d sekunde", TimeSpawn[id]); case 2 .. 4: show_hudmessage(id, "Odrodzisz sie za: %d sekundy", TimeSpawn[id]); default: show_hudmessage(id, "Odrodzisz sie za: %d sekund", TimeSpawn[id]); } } } public TimerSpawn(id){ id-=492 if(!is_user_connected(id) || is_user_alive(id) || get_user_team(id) == 3 || get_user_team(id) == 0){ Timer[id] = false; return PLUGIN_CONTINUE; } if(TimeSpawn[id] > 1) { TimeSpawn[id]--; Timer[id] = true; UtworzHUD(id); set_task(1.0, "TimerSpawn", id+492); } else { PlayerSpawn(id); Timer[id] = false; } return PLUGIN_CONTINUE; } public PlayerSpawn(id) { if(!is_user_connected(id) || is_user_alive(id) || get_user_team(id) == 3 || get_user_team(id) == 0) return PLUGIN_CONTINUE; ExecuteHamB(Ham_CS_RoundRespawn, id); Timer[id] = false; return PLUGIN_CONTINUE; } public ham_spawn(id){ if(task_exists(id+492)) remove_task(id+492); Timer[id] = false; TimeSpawn[id] = pTimeSpawn } public SayRespawn(id) { if(!pSayRespawn || !is_user_connected(id) || is_user_alive(id) || get_user_team(id) == 3 || get_user_team(id) == 0 || Timer[id]) { if(pSayRespawn && is_user_alive(id)) client_print(id, print_chat, "[Respawn] Jestes zywy!"); else if(pSayRespawn && (get_user_team(id) == 0 || get_user_team(id) == 3)) client_print(id, print_chat, "[Respawn] Jestes spectatorem!"); else if(pSayRespawn && Timer[id] && is_user_connected(id) && !is_user_alive(id) && (get_user_team(id) == 1 || get_user_team(id) == 2)){ new menu = menu_create("Trwa odrodzenie jednak odrodzic?", "SayRespawnH"); menu_additem(menu, "Tak, odrodz mnie"); menu_additem(menu, "Nie chce."); menu_display(id, menu); } return PLUGIN_CONTINUE; } SpawnPlayer(id); return PLUGIN_CONTINUE; } public SayRespawnH(id, menu , item){ if(item != 0){ menu_destroy(menu); return PLUGIN_HANDLED; } SpawnPlayer(id); Timer[id] = false; return PLUGIN_CONTINUE; } public CheckTeam(id){ id-=291 if(!is_user_connected(id)) return PLUGIN_CONTINUE; if(is_user_alive(id)){ Timer[id] = false; return PLUGIN_CONTINUE; } if(!pTeamAuto) return PLUGIN_CONTINUE; if(Timer[id]) return PLUGIN_CONTINUE; if(get_user_team(id) == 1 || get_user_team(id) == 2) SpawnPlayer(id); return PLUGIN_CONTINUE; }
04.08.2014 18:04
Witajcie, potrzebuje funkcji na odradzanie się z ekwipunkiem, który miało się przed śmiercią.
03.08.2014 23:32
Witajcie, w pluginie Spawn Protection PL nie działa mi cvar "sv_sptime". Proszę o naprawienie.
//----------------------------------------------------------// /* Podziekowania dla: Xeroblood, JJkiller, KingPin za pomoc w tworzeniu pluginu oraz dla Firestorm Instalacja: Zawartosc tego pliku nalezy skompilowac (tutaj: http://www.amxmodx.org/webcompiler.cgi) Stworzony plik spawn_protection_pl.amxx, trzeba wrzucic do katalogu "plugins" w amx'ie Do plugins.ini, ktory znajduje sie w configs nalezy dodac w nowej lini tekst: spawn_protection_pl.amxx Zrestartowac serwer lub zmienic mape i gotowe :) Cvary: // 1 - wlacza plugin, 0 wylacza (domyslnie: 1) sv_sp // Od 1 do 10 - Czas przez jaki ma byc ochrona na poczatku rundy (domyslnie: 5) sv_sptime // 1 - Wlaczona wiadomosc o ochronie na poczatku rundy, 0 - wylaczona (domyslnie: 1) sv_spmessage // Od 1 do 100 - Grubosc powloki ochronnej (domyslnie: 25) sv_spshellthick Opis: Protects players when the spawn from being killed Polska wersja jezykowa: Spolszczenia dokonal Dudix ([email protected]) */ //----------------------------------------------------------// #include <amxmodx> #include <amxmisc> #include <fun> //----------------------------------------------------------// public plugin_init() { register_plugin("Ochrona na Spawnie PL", "7.0", "Peli") register_concmd("amx_sptime", "cmd_sptime", ADMIN_CVAR, "Od 1 do 10 - Czas przez jaki ma byc ochrona na poczatku rundy") register_concmd("amx_spmessage", "cmd_spmessage", ADMIN_CVAR, "1 - Wlaczona wiadomosc o ochronie na poczatku rundy, 0 - wylaczona") register_concmd("amx_spshellthickness", "cmd_spshellthickness", ADMIN_CVAR, "Od 1 do 100 - Grubosc powloki ochronnej") register_cvar("sv_sp", "1") // 1 - wlacza plugin, 0 wylacza register_cvar("sv_sptime", "5") // Od 1 do 10 - Czas przez jaki ma byc ochrona na poczatku rundy register_cvar("sv_spmessage", "1") // 1 - Wlaczona wiadomosc o ochronie na poczatku rundy, 0 - wylaczona register_cvar("sv_spshellthick", "25") // Od 1 do 100 - Grubosc powloki ochronnej register_event("ResetHUD", "sp_on", "be") register_clcmd("fullupdate", "clcmd_fullupdate") } //----------------------------------------------------------// public client_disconnect(id) { remove_task(id) return PLUGIN_HANDLED } //----------------------------------------------------------// public cmd_sptime(id, level, cid) { if(!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED new arg_str[3] read_argv(1, arg_str, 3) new arg = str_to_num(arg_str) if(arg > 10 || arg < 1) { client_print(id, print_chat, "Mozesz ustawic czas ochrony od 1 do 10 sekund") return PLUGIN_HANDLED } else if (arg > 0 || arg < 11) { set_cvar_num("sv_sptime", arg) client_print(id, print_chat, "Czas ochronny trwa u Ciebie 5 sekund", arg) return PLUGIN_HANDLED } return PLUGIN_CONTINUE } //----------------------------------------------------------// public cmd_spmessage(id, level, cid) { if (!cmd_access(id, level, cid, 2)) { return PLUGIN_HANDLED } new sp[3] read_argv(1, sp, 2) if (sp[0] == '1') { set_cvar_num("amx_spmessage", 1) } else if (sp[0] == '0') { set_cvar_num("amx_spmessage", 0) } else if (sp[0] != '1' || sp[0] != '0') { console_print(id, "1 - Wlaczona wiadomosc o ochronie na poczatku rundy, 0 - wylaczona") return PLUGIN_HANDLED } return PLUGIN_HANDLED } //----------------------------------------------------------// public cmd_spshellthickness(id, level, cid) { if(!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED new arg_str[3] read_argv(1, arg_str, 3) new arg = str_to_num(arg_str) if(arg > 100 || arg < 1) { client_print(id, print_chat, "Od 1 do 100 - Grubosc powloki ochronnej") return PLUGIN_HANDLED } else if (arg > 0 || arg < 101) { set_cvar_num("sv_spshellthickness", arg) client_print(id, print_chat, "Grubosc powloki ochronnej to 25", arg) return PLUGIN_HANDLED } return PLUGIN_CONTINUE } //----------------------------------------------------------// public sp_on(id) { if(get_cvar_num("sv_sp") == 1) { set_task(0.1, "protect", id) } return PLUGIN_CONTINUE } //----------------------------------------------------------// public protect(id) { new Float:SPTime = get_cvar_float("sv_sptime") new SPSecs = get_cvar_num("sv_sptime") new FTime = get_cvar_num("mp_freezetime") new SPShell = get_cvar_num("sv_spshellthick") set_user_godmode(id, 1) if(get_user_team(id) == 1) { set_user_rendering(id, kRenderFxGlowShell, 255, 0, 0, kRenderNormal, SPShell) } if(get_user_team(id) == 2) { set_user_rendering(id, kRenderFxGlowShell, 0, 0, 255, kRenderNormal, SPShell) } if(get_cvar_num("sv_spmessage") == 1) { set_hudmessage(255, 1, 1, -1.0, -1.0, 0, 6.0, SPTime+FTime, 0.1, 0.2, 4) show_hudmessage(id, "Ochrona na poczatku rundy trwa %d sekund(y)", SPSecs) } set_task(SPTime+FTime, "sp_off", id) return PLUGIN_HANDLED } //----------------------------------------------------------// public sp_off(id) { new SPShell = get_cvar_num("sv_spshellthick") if(!is_user_connected(id)) { return PLUGIN_HANDLED } else { set_user_godmode(id, 0) set_user_rendering(id, kRenderFxGlowShell, 0, 0,0, kRenderNormal, SPShell) return PLUGIN_HANDLED } return PLUGIN_HANDLED } //----------------------------------------------------------// public clcmd_fullupdate(id) { return PLUGIN_HANDLED } //----------------------------------------------------------//