Prywatna wiadomość! [ŁATWY] [WYSYŁANIE...
Droso
13.11.2013
Autor: HubertTM
Plugin pozwala wysłać między graczami prywatne wiadomości! Plugin jest prosty - NIE wymaga wpisywania nicku gracza na say itd., do którego chcemy wysłać wiadomości, ponieważ tego gracza wybieramy z menu
Genialnie się spisuje, możesz gadać, plotkować na serwerze, obgadywać adminów
Na myśl przyjdzie, a co z reklamami? A no dodałem mini-filtr, który wychwyci ip i adresy stron bez problemu (nawet takie IP: 53x46x53x52/27015).
Dodałem także filtr najczęstszych wulgaryzmów - można usunąć sobie samemu wulgaryzmy poprzez edycję .sma
Komendy + Działanie
Say /pw - otwiera menu z graczami do oznaczenia do wyslania wiadomosci :) Obok nickow mamy w nawiasie ID gracza, zeby wysylac wiadomosc do danego gracza bez otwierania menu! (Patrz nizej)
Say /pw NUMEREK, NUMEREK2, NUMEREK3 W wersju 2.0 pojawilo sie szybkie wysylanie wiadomosci z juz z chatu wpisz /pw i numerki gracza z menu z nawiasu np. /pw 4 otworzy pole do pisania do gracza o id 4, a /pw 4,5,6,7 - otworzy menu do pisania do graczy 4,5,6,7
Najpierw z menu wybieramy gracza, następnie wpisujemy wiadomość jak na chacie, klikamy enter i to tyle
Inne informacje
Plugin został wyciągnięty z mojego VIP'a, ale powinno wszystko ładnie działać
Instalacja
Standardowa.
Cvar
pw_msgtoalive 1 // Czy zezwalac na podpowiadanie? Czyli wysylanie wiadomosci do zywych bedąc niezywym? // 1 - tak // 0 - nie
Changelog
Wersja 1.0:
- Podstawowa wersja - możliwość pisania tylko do jednej osoby.
Wersja 2.0c:
- Możliwość pisania do wielu osób! Zaznaczanie w menu jak i w say! /pw numerkizmenu
- Plugin porządkuje osoby w menu - osoby, do których pisaliśmy są na początku
- Graczy, których zaznaczyliśmy idą na początek menu.
- Łatwe wysyłanie kilku wiadomości na raz! Po wysłaniu wiadomości nadal mamy pole do pisania, dopóty dopóki nie wyślemy pustej wiadomości!
- Dodanie nowych wulgaryzmów.
- W menu nie pojawią się boty oraz HLTV!
- Wiadomość zawsze trafi do właściwej osoby - problemy były jak gracz w trakcie wybierania z menu - rozłączył się.
- Dodanie cvara pw_msgtoalive - czy można wysyłać wiadomość do żywych będąc nieżywym? Czyli zakaz podpowiadania
- Wiele innych!
Download
Attached Files
Edited by HubertTM, 21.11.2013 21:51.
MAGNET
13.11.2013
Ty chyba nie humanista
A pluginek na pewno wgram do siebie
Droso
13.11.2013
Ja Mat-Fiz
Tak mi zostało z gier
Zostawię już, bo każdy rozumie przecież, o co chodzi
MAGNET
13.11.2013
@EDIT
"wbij"
Jako BaseBuilder'owy maniak prosze, abys dodal stala zmienna BB + if defined przy tej czastce
Aemiksowy 13.11.2013
Według mnie, rozpowszechnianie tego typu pluginów nie jest dobrym pomysłem, a podawanie argumentu: "można obgadywać adminów" jest niestety słaby i działa na niekorzyść nie tyle co serwera, a admina. Może to banalnie zabrzmi, ale ja nie lubię jak mnie ktoś za plecami obgaduje, nie wiem jak Wy. Mimo, że nie jestem za kontrolowaniem graczy do takiego stopnia, to jednak uważam, że powinny być logi z takich rozmów. Być może ten pomysł jest trochę sprzeczny z założeniami takiego pluginu, w końcu jest ona prywatna, jednak patrząc na to z drugiej strony, to też dla pewnego bezpieczeństwa.
Z całą pewnością wolę mieć wolność robienia czegoś, a nie gadania. Gadać sobie można, ale nic tym generalnie nie zrobisz.
Droso
13.11.2013
Według mnie, rozpowszechnianie tego typu pluginów nie jest dobrym pomysłem, a podawanie argumentu: "można obgadywać adminów" jest niestety słaby i działa na niekorzyść nie tyle co serwera, a admina. Może to banalnie zabrzmi, ale ja nie lubię jak mnie ktoś za plecami obgaduje, nie wiem jak Wy. Mimo, że nie jestem za kontrolowaniem graczy do takiego stopnia, to jednak uważam, że powinny być logi z takich rozmów. Być może ten pomysł jest trochę sprzeczny z założeniami takiego pluginu, w końcu jest ona prywatna, jednak patrząc na to z drugiej strony, to też dla pewnego bezpieczeństwa.
Z całą pewnością wolę mieć wolność robienia czegoś, a nie gadania. Gadać sobie można, ale nic tym generalnie nie zrobisz.
Było to napisane w żarcie, nie traktuj tego serio (chyba tak to jest z żartami ).
Nie sądzę, że którykolwiek gracz będzie kogoś obgadywał, bo jest np. niżej w tabeli?
NIE dodam do głównego pluginu logowania rozmów - rób to na własną rękę, jak się wyda, że na twoim serwerze są rejestrowane prywatne rozmowy - to życzę powodzenia.
Argumenty za pluginem:
- Mniejszy spam Chat.
- Łatwo napisać tylko do danego admina w danej sprawie itd.
- Wszelkie kłótnie mogą się przenieść na PW.
Przeciw:
- Mniejsza kontrola (obgadywanie itd.)
- Podpowiadanie - plugin nie ma blokowania wysyłania wiadomości na poziomie Martwy-Żywy - jeżeli plugin przypadnie większości do gustu - to dodam CVAR.
Aemiksowy 13.11.2013
Wiem, że było to napisane w żartach, jednak ten żart ma pewien sens i odniesienie do rzeczywistości i faktu.
NIE dodam do głównego pluginu logowania rozmów - rób to na własną rękę, jak się wyda, że na twoim serwerze są rejestrowane prywatne rozmowy - to życzę powodzenia.
A to, że rozmowy adminów na u@ są logowane na serwerze, to idąc takim tokiem myślenia, nie powinny być, bo to też narusza prywatność... Po to został czat adminów utworzony, aby był on prywatny do rozmowy, a także możliwości zgłaszania do nich skarg.
- Łatwo napisać tylko do danego admina w danej sprawie itd.
To jest żaden argument.
@down
u@ jest prywatną wiadomością do adminów, ten plugin do jednego, konkretnie. Gracz wie, że przeczytają to admini, aczkolwiek nie wie, że to jest zapisywane.
Edited by Aemiksowy, 13.11.2013 22:18.
sebul
13.11.2013
Droso
14.11.2013
Pomijając fakt podpowiadania, itp. to pisanie do kogoś poprzez menu, nie jest zbyt wygodne i praktyczne, powinieneś to zrobić na zasadzie wpisywania jakiegoś identyfikatora przed wiadomością, a za pomocą menu po prostu byś automatycznie taki identyfikator wpisywał przed wiadomością.
Dobry pomysł, tylko trzeba wymyślić ten identyfikator Jakieś pomysły? Chyba najlepsze będzie zastosowanie ID gracza według HLDS - ale może ktoś wpadnie na lepszy pomysł?
MAGNET
14.11.2013
Przyklad: gdy chcemy napisac do gracza Misiek1384974 to wystarczy napisac: @mis text...
Droso
14.11.2013
Problemy zaczynają się gdy są dwa podobne nicki , trzeba wpisywać raczej cały nick , albo gracz jest w klanie KLAN | XXX
Można użyć containi, ale to też może wychwycić inny nick.
MAGNET
14.11.2013
sebul
14.11.2013
Nie trzeba żadnych całych nicków.Problemy zaczynają się gdy są dwa podobne nicki , trzeba wpisywać raczej cały nick , albo gracz jest w klanie KLAN | XXX
Można użyć containi, ale to też może wychwycić inny nick.
(...)
register_clcmd("say", "ZglosCzita");
(...)
public ZglosCzita(id) {
new szTxt[128];
read_args(szTxt, 127);
remove_quotes(szTxt);
if(equali(szTxt, "/@", 2)) {
new szKto[48];
strbreak(szTxt[2], szKto, 47, szTxt, 127);
trim(szKto);
new target = cmd_target(id, szKto, CMDTARGET_NO_BOTS);
if(!target) {
ColorChat(id, GREEN, "Wystapil problem");
return PLUGIN_HANDLED;
}
}
(...)
GwynBleidD
14.11.2013
Problemy przy cmd_target zaczynają się, gdy masz np na serwerze gracza paw i pawel, do paw nie napiszesz, bo będzie non stop wywalało, że jest to niejednoznaczne... Wtedy tylko pomoże sprawdzenie ID przez status i wpisanie go zamiast nicku...
Ogólnie plugin bez sensu... od takich rozmów jest steam, który jest do tego dużo wygodniejszy, niż czat na serwerze. A administracja posiada amx_psay, niektóre pluginy admin_colorchat wyciągają amx_psay do komendy say_team #, dzięki czemu wpisujemy szybko u#nick wiadomość i upominamy danego użytkownika lub odpowiadamy mu na coś, co na admin_chacie napisał.
sebul
14.11.2013
Z tego co się orientuję, to cmd_target nie przyjmuje tylko nicku, można tam podać także index (nie te id > 0 i < 33), który łatwo można pobrać od każdego gracza w menu.Problemy przy cmd_target zaczynają się, gdy masz np na serwerze gracza paw i pawel, do paw nie napiszesz, bo będzie non stop wywalało, że jest to niejednoznaczne... Wtedy tylko pomoże sprawdzenie ID przez status i wpisanie go zamiast nicku...
GwynBleidD
16.11.2013
Wtedy tylko pomoże sprawdzenie ID przez status i wpisanie go zamiast nicku...
To właśnie miałem na myśli w tym fragmencie. Jednak nadal cmd_target jest mało wygodny, aczkolwiek wygodniejszy od menu. Można jednak to trochę ulepszyć... Gdy mamy 2 graczy pasujących do wzorca, wyświetlamy menu z wyborem o którego gracza chodzi. Jeśli ktoś nie wpisze gracza, wybieramy menu z wszystkimi. Rozwiązanie chyba najlepsze.
Droso
17.11.2013
Wtedy tylko pomoże sprawdzenie ID przez status i wpisanie go zamiast nicku...
To właśnie miałem na myśli w tym fragmencie. Jednak nadal cmd_target jest mało wygodny, aczkolwiek wygodniejszy od menu. Można jednak to trochę ulepszyć... Gdy mamy 2 graczy pasujących do wzorca, wyświetlamy menu z wyborem o którego gracza chodzi. Jeśli ktoś nie wpisze gracza, wybieramy menu z wszystkimi. Rozwiązanie chyba najlepsze.
Edited by HubertTM, 17.11.2013 13:08.
GwynBleidD
18.11.2013
Odnośnie tworzenia menu, robisz to źle!
Przeanalizujmy taką sytuację, są na serwerze 3 osoby: ja, Kawon i Benio. Nie mamy admina, więc gadamy sobie kogo by tu na amxx.pl zbanować (czysto hipotetycznie! zapewniam, że takie rozmowy nie są prowadzone... po prostu banujemy i tyle ), nagle Kawona wyrzuca z serwera, ale wchodzisz Ty... Podczas tego precedensu miałem otwarte menu z wyborem do kogo PW napisać, Kawon dajmy na to miał id=7, ID się zwolniło zanim wszedłeś, więc serwer Ci je przydzielił, teraz Ty masz siódemkę. Ja sobie spokojnie z menu wybieram Kawona, przekonany o tym że dalej jest na serwerze, wysyłam wiadomość a tu zonk, właśnie się dowiedziałeś, że jutro tracisz rangę ST, bo zrobiłeś beznadziejny plugin na czat PW na serwerach... I co teraz?
Oczywiście domyślasz się co było przyczyną, prawda? A można temu łatwo zapobiec... Wpakuj do info prócz zwykłego ID gracza, również jego userid (to, ze statusu). Takie ID jest unikalne dla gracza w danej "sesji" serwera. Po wybraniu z menu użytkownika i wpisaniu wiadomości (najlepiej tuż po wybraniu, ale przed wpisaniem oraz tuż po wpisaniu, ale przed wysłaniem) weryfikujesz, czy gracz pod podanym ID ma to userid, które miał gracz wyświetlony w menu. Jeśli nie, bach komunikat: gracz opuścił serwer, wiadomość nie została dostarczona