Ultimate AFK coś się z nim gryzie?
Kaloski
09.11.2013
Cześć!
Tytułowy gryzie się z plugin spec_and_back.amxx po przeniesieniu przez plugin twierdzi, że już jestem w drużynie po użyciu komendy /spec przez co muszę wpisać /spec i potem /back co jest uciążliwę. // nie rozwiązałem tego problemu
afk_timeafk 0 ;// jezeli 0 - to nie kickuje/nie przenosi z druzyny [jezeli chcesz, np. zeby tylko plugin na spect dzialal]
To zostawiłem na zero i nic się nie działo, bo tak sugeruję komentarz chciałem wykorzystać tylko, żeby switchowało na specta. // Mam wątpliwości do opisu tego Cvaru.
ultimateafk.cfg:
afk_mode 0 afk_timeafk 20 afk_timespect 0 afk_saychangeafk 2 afk_shootchangeafk 1 afk_camerachangeafk 1 afk_adminafk 0 afk_warn 1 afk_minplayers 3 afk_checkspawn 1 afk_timekillspawn 10.0 afk_killspawn 1 afk_killspawnchance 3 afk_bombdroptime 1
http://wklej.to/VwZl6 ---> plugins.ini
http://wklej.to/rmqrb ---> Wyciąg z konsoli
Użytkownik RykG edytował ten post 09.11.2013 23:33
Droso
10.11.2013
Jeżeli chcesz żeby tylko na Spect przenosiło:
afk_mode 0 afk_timeafk 20 // czas jaki mozna byc AFK w TT/CT, zanim przeniesie/kicknie! 0 - nie przenosi/kicka z TT/CT // zle zrozumiales ten CVAR bo jak ustawiles na 0 to plugin nie dzialal w TT i CT :D // a to chodzilo o to ze jak ktos wejdzie na spect to go wywali (jak timespect > 0) afk_timespect 0 // czas jaki mozna byc na Spect - 0 - nieskonczonosc! afk_saychangeafk 2 afk_shootchangeafk 1 afk_camerachangeafk 1 afk_adminafk 0 afk_warn 1 afk_minplayers 3 afk_checkspawn 1 afk_timekillspawn 10 // liczby calkowite! Nie dziesietne :) afk_killspawn 1 afk_killspawnchance 3 afk_bombdroptime 1
Podaj spec_and_back.sma, przerobimy tamten plugin.
P.S Dodaję właśnie nową wersję Ultimate AFK, poprawiłem drobne błędy, ale chyba warto wgrać
Użytkownik HubertTM edytował ten post 10.11.2013 12:47
Kaloski
10.11.2013
Może być problem, bo niestety już nikt nie ma kopii .sma tego pluginu. Chyba trzeba będzie ten podstawowy od nowa przerobić. Pomożecie?
Kaloski
10.11.2013
W tym temacie jest przerobiony ten plugin tylko pod inną nazwą pełni podobne funkcję http://amxx.pl/topic/947-spec-switch/
Oraz w temacie jest sma w wersji dla każdego gracza http://amxx.pl/topic...ginu-spec-back/
Chciałbym aby przy używaniu tych komend nie było to uznawane za samobójstwo oraz o ile to jest możliwe likwidację buga powodujące usunięcie huda (brak celownika, nie można zmieniać broni, nie ma informacji o hp itp.) i jeszcze po zabiciu nie respi nas.
Chociaż nie zawsze tak bywa.
Droso
10.11.2013
#include <amxmodx> #include <cstrike> #include <hamsandwich> #define PLUGIN "Spec/Back" #define AUTHOR "kramesa" #define VERSION "v1.1" new ZespolGracza[33]; new CountTime[33]; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_clcmd("say /spec", "Spec"); register_clcmd("say /back", "Back"); register_cvar("amx_spectimes", "3"); RegisterHam(Ham_Spawn, "player", "PlayerSpawned", 1); } public client_putinserver(id) ZespolGracza[id] = -1; public PlayerSpawned(id){ ZespolGracza[id] = get_user_team(id); } public Spec(id) { if(CountTime[id] >= get_cvar_num("amx_spectimes")) { client_print(id, print_chat, "[AMXX] Sorry, you cant use this command more of %d times.", get_cvar_num("amx_spectimes")); return PLUGIN_HANDLED; } if(ZespolGracza[id] == -1){ ZespolGracza[id] = get_user_team(id); } if(ZespolGracza[id] == 0 || ZespolGracza[id] == 3) { client_print(id, print_chat, "[AMXX] You already Spectator."); return PLUGIN_HANDLED; } else { user_kill(id, 1); cs_set_user_team(id, CS_TEAM_SPECTATOR); client_print(id, print_chat, "[AMXX] You are now in Spectator."); CountTime[id]++; return PLUGIN_HANDLED; } return PLUGIN_HANDLED; } public Back(id) { if(get_user_team(id) == 1 || get_user_team(id) == 2) { client_print(id, print_chat, "[AMXX] You already Non-Spectator."); return PLUGIN_HANDLED; } cs_set_user_team(id, ZespolGracza[id]==2?CS_TEAM_CT:CS_TEAM_T); client_print(id, print_chat, "[AMXX] You are now in %sTerrorist team.", ZespolGracza[id]==2?"Counter-":""); ExecuteHam(Ham_CS_RoundRespawn, id); cs_set_user_deaths(id, 0); return PLUGIN_HANDLED; }
Sprawdź, ale jak to mówią cudów nie oczekuj (?)
Użytkownik HubertTM edytował ten post 10.11.2013 18:44
Kaloski
10.11.2013
Jest mniej fajnie zabija nas 2 razy zamiast jednego razu I wyskakuję menu wyboru postaci zamiast auto wyboru.
Dało by się do tego pluginu spec&back dodać bind na allias odpowiednio na /spec i /back, tak aby nie podmieniał ludziom cfg.
Przykładowo na coś takiego:
bind "F3" "spec" ;alias spec "say /spec; bind F3 back" ;alias back "say /back; bind F3 spec"
lub o ile się dać aby dało to ludziom pod niezbindowany przycisk aby się im nie gryzło.
Droso
10.11.2013
Jest mniej fajnie zabija nas 2 razy zamiast jednego razu I wyskakuję menu wyboru postaci zamiast auto wyboru.
Zmieniłem .sma wyżej.
Jest mniej fajnie zabija nas 2 razy zamiast jednego razu I wyskakuję menu wyboru postaci zamiast auto wyboru.
Dało by się do tego pluginu spec&back dodać bind na allias odpowiednio na /spec i /back, tak aby nie podmieniał ludziom cfg.
Przykładowo na coś takiego:
bind "F3" "spec" ;alias spec "say /spec; bind F3 back" ;alias back "say /back; bind F3 spec"lub o ile się dać aby dało to ludziom pod niezbindowany przycisk aby się im nie gryzło.
Modyfikacja plików gracza jest zabroniona. Nie lepiej przerobić ten plugin tak, że jak wpiszesz /spect to przenosi do specta, a jak wpiszesz ponownie /spect to wraca z powrotem ?
Kaloski
10.11.2013
No właśnie też tak myślałem, ale chodziło mi o to żeby na czas sesji z serwerem im to dodawało i np. przy rozłączeniu z serwerem usuwało to jak się nie da tego zrobić to szkoda.
Kaloski
10.11.2013
Ta przeróbka już posiada to rozwiązanie ? .
Modyfikacja plików gracza jest zabroniona. Nie lepiej przerobić ten plugin tak, że jak wpiszesz /spect to przenosi do specta, a jak wpiszesz ponownie /spect to wraca z powrotem ?
Czemu nie mogę postów edytować
Droso
10.11.2013
#include <amxmodx> #include <cstrike> #include <hamsandwich> #define PLUGIN "Spec/Back" #define AUTHOR "kramesa" #define VERSION "v1.1" new ZespolGracza[33]; new CountTime[33]; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_clcmd("say /spec", "Spec"); register_clcmd("say /back", "Back"); register_cvar("amx_spectimes", "3"); RegisterHam(Ham_Spawn, "player", "PlayerSpawned", 1); } public PlayerSpawned(id){ if(is_user_alive(id)) ZespolGracza[id] = get_user_team(id); } public client_putinserver(id){ ZespolGracza[id] = -1; CountTime[id] = 0; } public Spec(id) { if(CountTime[id] >= get_cvar_num("amx_spectimes")) { client_print(id, print_chat, "[AMXX] Sorry, you cant use this command more of %d times.", get_cvar_num("amx_spectimes")); return PLUGIN_HANDLED; } if(ZespolGracza[id] == -1){ ZespolGracza[id] = get_user_team(id); } if((get_user_team(id) == 3 || get_user_team(id) == 0) && (ZespolGracza[id] == 1 || ZespolGracza[id] == 2)) { Back(id); return PLUGIN_HANDLED; } else { user_kill(id, 1); engclient_cmd(id, "jointeam 6"); client_print(id, print_chat, "[AMXX] You are now in Spectator."); CountTime[id]++; return PLUGIN_HANDLED; } return PLUGIN_HANDLED; } public Back(id) { if(get_user_team(id) == 1 || get_user_team(id) == 2) { client_print(id, print_chat, "[AMXX] You already Non-Spectator."); return PLUGIN_HANDLED; } engclient_cmd(id, "jointeam", ZespolGracza[id]==2? "2": "1"); engclient_cmd(id, "joinclass", "1"); client_print(id, print_chat, "[AMXX] You are now in %sTerrorist team.", ZespolGracza[id]==2?"Counter-":""); ExecuteHam(Ham_CS_RoundRespawn, id); cs_set_user_deaths(id, 0); return PLUGIN_HANDLED; }
Użytkownik HubertTM edytował ten post 13.11.2013 16:37
Kaloski
10.11.2013
No właśnie kilka takich chamskich postów znalazłem o interesujący mnie problem, a tam żadnych .sma żadnej informacji jak ten ktoś to naprawił...
Kaloski
11.11.2013
register_clcmd("say /spec", "Spec");
register_clcmd("say /back", "Back");
Nie powinno być dwa razy /spec ?
Wow mogłem zeedytować post
No wystarczy chyba odpowiedni spam na hudzie co nie?
Użytkownik RykG edytował ten post 11.11.2013 19:08
Droso
11.11.2013
Nie
Komende /back też zostawiłem, żeby, taka komenda istniała, bo nie każdy będzie wiedział, że może 2 raz wpisać /spect
Użytkownik HubertTM edytował ten post 11.11.2013 19:02
Kaloski
11.11.2013
Jakieś błędy są pojawia się coś takiego nawet po reconecie
[AMXX] Sorry, you cant use this command more of 3 times.
Niestety dalej zabija przy switchowaniu na spec. I po powrocie ze speca (jak przerzucił ultimate afk) to po tym respawnie jak mnie zabiją to nie respi ponownie.
Użytkownik RykG edytował ten post 11.11.2013 20:43
Droso
12.11.2013
public client_putinserver(id) ZespolGracza[id] = -1;
zamienić na:
public client_putinserver(id){ ZespolGracza[id] = -1; CountTime[id] = 0; }
[AMXX] You already Non-Spectator.
Hmm dziwne, jak nadal to się będzie pojawiało to zrobię to inną funkcją.
Niestety dalej zabija przy switchowaniu na spec. I po powrocie ze speca (jak przerzucił ultimate afk) to po tym respawnie jak mnie zabiją to nie respi ponownie.
Myślę i nie wiem co wymyślić z tym ;(
Najpierw zajmijmy się w/w problemem
Użytkownik HubertTM edytował ten post 12.11.2013 18:23
Kaloski
12.11.2013
RykG, dnia 11 List 2013 - 20:37, napisał:
[AMXX] You already Non-Spectator.
Hmm dziwne, jak nadal to się będzie pojawiało to zrobię to inną funkcją.
Tego komunikatu już nie ma, ale niestety dalej po próbie powrotu do drużyny i po naszej śmierci nie respimy się można co chwilę używać komendy /spec i /back (spec nie reaguję w obie strony) to tak co każdy dead można robić dopuki plugin nie zablokuję możliwości jego użytkowania przez jakiegoś delikwenta.Chyba, że ten problem jest związany z configiem gungame'a lub csdm'a.
Użytkownik RykG edytował ten post 12.11.2013 23:28
Droso
13.11.2013
Sprawdź.
#include <amxmodx> #include <cstrike> #include <hamsandwich> #define PLUGIN "Spec/Back" #define AUTHOR "kramesa" #define VERSION "v1.1" new ZespolGracza[33]; new CountTime[33]; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR); register_clcmd("say /spec", "Spec"); register_clcmd("say /back", "Back"); register_cvar("amx_spectimes", "3"); RegisterHam(Ham_Spawn, "player", "PlayerSpawned", 1); } public PlayerSpawned(id){ if(is_user_alive(id)) ZespolGracza[id] = get_user_team(id); } public client_putinserver(id){ ZespolGracza[id] = -1; CountTime[id] = 0; } public Spec(id) { if(CountTime[id] >= get_cvar_num("amx_spectimes")) { client_print(id, print_chat, "[AMXX] Sorry, you cant use this command more of %d times.", get_cvar_num("amx_spectimes")); return PLUGIN_HANDLED; } if(ZespolGracza[id] == -1){ ZespolGracza[id] = get_user_team(id); } if((get_user_team(id) == 3 || get_user_team(id) == 0) && (ZespolGracza[id] == 1 || ZespolGracza[id] == 2)) { Back(id); return PLUGIN_HANDLED; } else { user_kill(id, 1); engclient_cmd(id, "jointeam 6") client_print(id, print_chat, "[AMXX] You are now in Spectator."); CountTime[id]++; return PLUGIN_HANDLED; } return PLUGIN_HANDLED; } public Back(id) { if(get_user_team(id) == 1 || get_user_team(id) == 2) { client_print(id, print_chat, "[AMXX] You already Non-Spectator."); return PLUGIN_HANDLED; } engclient_cmd(id, "jointeam", ZespolGracza[id]==2? "2": "1"); engclient_cmd(id, "joinclass", "1"); client_print(id, print_chat, "[AMXX] You are now in %sTerrorist team.", ZespolGracza[id]==2?"Counter-":""); ExecuteHam(Ham_CS_RoundRespawn, id); cs_set_user_deaths(id, 0); return PLUGIN_HANDLED; }
Nowa metoda zmieniania drużyny
Użytkownik HubertTM edytował ten post 14.11.2013 17:13
Kaloski
13.11.2013
Nie można tego skompilować błąd wyskakuję
Welcome to the AMX Mod X 1.8.1-300 Compiler. Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team specswitch.sma(55) : warning 217: loose indentation specswitch.sma(55) : error 029: invalid expression, assumed zero specswitch.sma(55) : error 029: invalid expression, assumed zero specswitch.sma(55) : error 029: invalid expression, assumed zero specswitch.sma(55) : fatal error 107: too many error messages on one line Compilation aborted. 4 Errors.
Droso
14.11.2013
http://amxx.pl/wklejka/13844457349579/
Masz we wklejce, bo code dodawało nie wiem czemu znak "?" to .sma i to powodowało błędy.