Wpisanie danych przez gracza
Sniper Elite
08.05.2015
Witam. Istnieje coś takiego w sourcemodzie że np. gracz wybiera opcję z menu, później wpisuje tekst i klika enter, a ja to co gracz wpisał przesyłam do funkcji. Coś jak:
plugin_init() { register_clcmd("Podaj_nowy_klawisz", "cmdBindKey"); }
i gdzieś tam w pluginie:
client_cmd(id, "messagemode Podaj_nowy_klawisz"); /*----------------- ---------*/ public cmdBindKey(id) { static gszKey[5]; read_argv(1, gszKey, charsmax(gszKey)); switch(gBindItem[id]) { case 1: {
w AMXX
plx211
08.05.2015
O ile mi wiadomo nie ma takiej opcji (a'la message mode z 1.6)
Możesz to "oszukać" na 2 sposoby:
1) stworzyć komende i czytać argumenty
2) "hookować" czat i jak gracz napisze (np. Z aktywną zmienną) to zamiast wysłać to co napisze do innych clientów, to zapisujesz w zmiennej
Możesz to "oszukać" na 2 sposoby:
1) stworzyć komende i czytać argumenty
2) "hookować" czat i jak gracz napisze (np. Z aktywną zmienną) to zamiast wysłać to co napisze do innych clientów, to zapisujesz w zmiennej
Sniper Elite
08.05.2015
Zrobiłem już tak, że gracz wpisze "/zglos cos tam" i te coś tam wysyłam dalej, ale w średni sposób tzn. skopiowałem jeden string do drugiego, ale już bez tego /zglos.
Co do 1) to da się zrobić komendę na czacie? Do tej pory sprawdzałem to tak:
if( StrEqual(szArg1, "/zglos") || StrEqual(szArg1, "!zglos") ) { decl String:tresc[150]; for(new i = 6; i < 149; i++) if(Text[i]) tresc[i-6] = Text[i]; TrimString(tresc); if(strlen(tresc)) DodajZgloszenie(client, tresc) else MenuZgloszen(client) return Plugin_Handled }
1) to bedzie komenda na czacie czy w konsoli?
Da się graczowi włączyć czat?
Sniper Elite
08.05.2015
AddCommandListener ?
Adds a callback that will fire when a command is sent to the server.
To chyba czatu nie załąpie.
Sniper Elite
10.05.2015
A o to ci chodzi Myślałem że wyłąpywać komende już wpisaną jak np. "/zglos cos tam" gdzie /zglos to komenda, a cos tam to parametr funkcji. Ogólnie do wyłapywania czatu używam:
RegConsoleCmd("say", Say_Command);