←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CS:GO
Wpisanie danych przez gracza

  • +
  • -
Sniper Elite's Photo 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

Quote

  • +
  • -
plx211's Photo 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
Quote

  • +
  • -
Sniper Elite's Photo 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?

Quote

  • +
  • -
Asiap's Photo Asiap 08.05.2015

AddCommandListener ?

Quote

  • +
  • -
Sniper Elite's Photo 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.

Quote

  • +
  • -
Asiap's Photo Asiap 08.05.2015

chat to też komenda (say i say_team)

Quote

  • +
  • -
Sniper Elite's Photo 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);
Quote