Komenda /roundsound
Andrzejek
06.11.2012
Witam,
Mam pytanie do was, jak zrobić włącznik/wyłącznik roundsoundów?
Żeby na początku rundy się nie restartowało itp.
Mam pytanie do was, jak zrobić włącznik/wyłącznik roundsoundów?
Żeby na początku rundy się nie restartowało itp.
K!113r
06.11.2012
zrób sobię 33 elementową tablicą typu boolean, i wypełniaj prawdą jeżeli ktoś sobie wyłączy odgrywanie rs'a, oczywiście sprawdzaj przed odegraniem rs'a czy gracz chce słyszeć czy nie...
GwynBleidD
06.11.2012
Możesz zapisywać też w setinfo preferencję gracza, aby po jego ponownym wejściu na serwer nie musiał włączać/wyłączać tego jeszcze raz
Andrzejek
06.11.2012
A może jakiś mod przenieś to do Scripting Amxx -> Pluginy
I prosił bym o przykładowa funkcje
I prosił bym o przykładowa funkcje
Filip1512
06.11.2012
Przykład:
Tworzysz nową zmienną
Później tworzysz komendę albo menu (pierwsze krótsze) w plugin_init, która będzie zmieniała czy dana osoba chce to usłyszeć czy nie, np.:
Z tego co wiem, to można zrobić poprostu switcha na 1 komendę, ale ja tego nie umiem
Tworzysz funkcje do kazdej komendy:
I teraz w odpowiednim miejscu (PRZED FUNKCJĄ ODGRYWAJĄCĄ RSY) wstawiasz warunek
Całość wygląda mniej więcej tak:
Tworzysz nową zmienną
new bool:rs;
Później tworzysz komendę albo menu (pierwsze krótsze) w plugin_init, która będzie zmieniała czy dana osoba chce to usłyszeć czy nie, np.:
register_clcmd("say /rsoff", "rsoff")
register_clcmd("say /rson", "rson")
Z tego co wiem, to można zrobić poprostu switcha na 1 komendę, ale ja tego nie umiem
Tworzysz funkcje do kazdej komendy:
public rsoff(id)
rs = false
public rson(id)
rs = true
I teraz w odpowiednim miejscu (PRZED FUNKCJĄ ODGRYWAJĄCĄ RSY) wstawiasz warunek
public funkcja(id){
if(rs == true){
... FUNKCJA ...
}
}
Całość wygląda mniej więcej tak:
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
new bool:rs;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /rsoff", "rsoff")
register_clcmd("say /rson", "rson")
}
public rsoff(id)
rs = false
public rson(id)
rs = true
public funkcja(id){
if(rs == true){
... FUNKCJA ...
}
}
Użytkownik `NN edytował ten post 06.11.2012 15:31
GwynBleidD
06.11.2012
Jeśli chcesz użyć tego w jednej komendzie, można to również zrobić jedną linią bez żadnego ifa:
Co spowoduje po prostu zanegowanie wartości wpisanej wcześniej w RS.
Aby zapisać to w setinfo dodajesz coś takiego:
odczyt najlepiej wykonać w client_putinserver (możesz też wcześniej, client_connect albo client_authorized, ale w connect setinfo może jeszcze nie działać)
rs[id] = !rs[id]
Co spowoduje po prostu zanegowanie wartości wpisanej wcześniej w RS.
Aby zapisać to w setinfo dodajesz coś takiego:
set_user_info(id, "_rs_active", rs[id]?'true':false);
odczyt najlepiej wykonać w client_putinserver (możesz też wcześniej, client_connect albo client_authorized, ale w connect setinfo może jeszcze nie działać)
new info[8];
get_user_info(id, "_rs_active", info, 7);
rs[id] = equali(info, "false")?false:true;
Leihto
07.11.2012
#include < amxmodx > new bool:rs[33]; public plugin_init() { register_plugin( "dadsadas","1","Leihto" ); register_clcmd( "say /roundsound", "opt_roundsound" ); } public client_putinserver( id ) rs[id] = true; public opt_roundsound( id ) { if(rs[id]) rs[id] = false; else rs[id] = true; return PLUGIN_CONTINUE; }
speedkill
07.11.2012
#include <amxmodx> new bool:rs[33]; public plugin_init(){ register_plugin( "dadsadas","1","Leihto" ); register_clcmd( "say /roundsound", "opt_roundsound" ); } public client_putinserver(id) rs[id] = true; public opt_roundsound(id){ rs[id] = !rs[id]; }
GwynBleidD
07.11.2012
Dużo osób tutaj podaje gotowy plugin, ale zauważcie, że raczej trzeba ten kod dopisać do jakiegoś gotowego pluginu na Roundsound, a nie tworzyć nowy (no chyba, że nasz roundsound posiada jakieś forwardy czy natywy). Czy jest sens podawać w takim razie gotowy kod? Czy lepiej może wskazówki jak zmodyfikować istniejący już plugin?
Filip1512
07.11.2012
Dużo osób tutaj podaje gotowy plugin, ale zauważcie, że raczej trzeba ten kod dopisać do jakiegoś gotowego pluginu na Roundsound, a nie tworzyć nowy (no chyba, że nasz roundsound posiada jakieś forwardy czy natywy). Czy jest sens podawać w takim razie gotowy kod? Czy lepiej może wskazówki jak zmodyfikować istniejący już plugin?
Ehh...
Witam,
Mam pytanie do was, jak zrobić włącznik/wyłącznik roundsoundów?
Żeby na początku rundy się nie restartowało itp.
Nigdzie nie podał *.sma, więc napisałem/napisaliśmy, w których miejscach co gdzie dodać i na podstawie gotowego pluginu poprostu umieścić odpowiednie warunki, funkcje czy zmienne w odpowiednich miejscach.
(poprawione błędy w cytacie)
Przykład:
Tworzysz nową zmiennąnew bool:rs[33];
Później tworzysz komendę albo menu (pierwsze krótsze) w plugin_init, która będzie zmieniała czy dana osoba chce to usłyszeć czy nie, np.:register_clcmd("say /rsoff", "rsoff")
register_clcmd("say /rson", "rson")
Z tego co wiem, to można zrobić poprostu switcha na 1 komendę, ale ja tego nie umiem
Tworzysz funkcje do kazdej komendy:public rsoff(id)
rs[id] = false
public rson(id)
rs[id] = true
I teraz w odpowiednim miejscu (PRZED FUNKCJĄ ODGRYWAJĄCĄ RSY) wstawiasz warunekpublic funkcja(id){
if(rs[id] == true){
... FUNKCJA ...
}
}
Całość wygląda mniej więcej tak:#include <amxmodx>
#include <amxmisc>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
new bool:rs[33];
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /rsoff", "rsoff")
register_clcmd("say /rson", "rson")
}
public rsoff(id)
rs[id] = false
public rson(id)
rs[id] = true
public funkcja(id){
if(rs[id] == true){
... FUNKCJA ...
}
}
Użytkownik `NN edytował ten post 07.11.2012 16:01
GwynBleidD
07.11.2012
Nie chodzi mi akurat o Twój post, gdyż podałeś cały opis operacji. Chodzi mi o posty speedkilla i leihto, którzy po prostu umieścili gotowe pluginy które na dobrą sprawę nic nie robią, a początkującemu może być ciężko się połapać co z tego ma wrzucić do edytowanego pluginu i gdzie.
Andrzejek
08.11.2012
Mam coś takiego:
I jak tu zrobić żeby była włączona lub wyłączona muzyka?
Już można zamknac kolega mi pomógł
I jak tu zrobić żeby była włączona lub wyłączona muzyka?
public wlacz_nutke(sound[]) {
new mpeg = (containi(sound, ".mp3") != -1)
if(mpeg) client_cmd(0, "mp3 play ^"%s%s^"", Nutki, sound)
else client_cmd(0, "spk ^"%s%s^"", Nutki, sound)
}
Już można zamknac kolega mi pomógł
Kawon
08.11.2012
Wiadomość wygenerowana automatycznie
Ten temat został zamknięty przez moderatora.
Powód: Temat zamknięty na prośbę użytkownika.
Z pozdrowieniami,
Zespół AMXX.PL
Ten temat został zamknięty przez moderatora.
Powód: Temat zamknięty na prośbę użytkownika.
Z pozdrowieniami,
Zespół AMXX.PL