←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] Wprowadzanie danych po wpisan...


Best Answer Kot-CSHH 22.07.2013 20:20

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_clcmd("say /komenda", "cmdKomenda");
    register_clcmd("say_team /komenda", "cmdKomenda");
    register_clcmd("dana", "cmdDana");
}
public cmdKomenda(id) {
    client_cmd(id, "messagemode dana");
}
public cmdDana(id) {
    new dana[64]
    read_args(dana, charsmax(dana));
    client_print(id, print_chat, "Wpisałeś: %s", dana);
}

Chyba o takie coś ci chodziło

Go to the full post
Locked

  • +
  • -
Ossal's Photo Ossal 08.05.2013

Chcę się dowiedzieć jak zrobić "pole tekstowe" do wprowadzania danych. Ma to być tak, wpisuje komende i wyświetla się w prawym górnym rogu "pole tekstowe" jak przy pisaniu "custom kick reason" w reason kickerze, czy też przy zwykłym say'u. No oczywiście jakaś zmienna która to przechowa żebym mógł to wykorzystać dalej. Z góry dzięki :) Pozdrawiam

Quote

  • +
  • -
GwynBleidD's Photo GwynBleidD 09.05.2013

wykonujesz u gracza komendę: messagemode komenda, gdzie do komendy trafi wpisany tekst jako parametr.

Quote

  • +
  • -
Ossal's Photo Ossal 09.05.2013

Mniej więcej wiem o co chodzi, ale nie do końca. Proszę, napisz mi przykład :)

Quote

  • +
  • -
GwynBleidD's Photo GwynBleidD 09.05.2013

plugin_init:

register_clcmd("komenda", "cmdKomenda");
register_clcmd("dana", "cmdDana");

 

public cmdKomenda(id) {
    client_cmd(id, "messagemode dana");
}
public cmdDana(id) {
    new dana[64]
    read_args(dana, charsmax(dana));
    client_print(id, print_chat, "Wpisałeś: %s", dana);
}
Quote

  • +
  • -
Ossal's Photo Ossal 22.07.2013

@ODKOPUJĘ

Nie działa, coś pokręciłeś. Napisałem tak:

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_clcmd("/komenda", "cmdKomenda");
    register_clcmd("dana", "cmdDana");
}
public cmdKomenda(id) {
    client_cmd(id, "messagemode dana");
}
public cmdDana(id) {
    new dana[64]
    read_args(dana, charsmax(dana));
    client_print(id, print_chat, "Wpisałeś: %s", dana);
}
Quote

Gość_21977_* 22.07.2013

Podany Ci kod jest prawidłowy. Mogę jedynie podejrzewać, że to Ty coś pokręciłeś na podstawie rejestrowania komendy, rozpoczynającej się slashem.

Najczęściej komendy ze slashem rejestruje się na sayu, przypuszczam więc, że pomimo nie podania "say " przed komendą, wpisujesz "/komenda" na sayu, nie otrzymując, słusznie, oczekiwanego rezultatu.

Standardowe "y" (say) bądź "u" (say_team) także jest niczym innym, jak messagemode, wbudowanym w silnik gry, dlatego komendy na sayu wymagają rejestrowania z prefixem "say " lub "say_team ".

Quote

  • +
  • -
Best Answer Kot-CSHH's Photo Kot-CSHH 22.07.2013

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_clcmd("say /komenda", "cmdKomenda");
    register_clcmd("say_team /komenda", "cmdKomenda");
    register_clcmd("dana", "cmdDana");
}
public cmdKomenda(id) {
    client_cmd(id, "messagemode dana");
}
public cmdDana(id) {
    new dana[64]
    read_args(dana, charsmax(dana));
    client_print(id, print_chat, "Wpisałeś: %s", dana);
}

Chyba o takie coś ci chodziło

Quote

  • +
  • -
Ossal's Photo Ossal 23.07.2013

hahaha, nie zobaczyłem, że gośc zjadł "say"... :D

Benio ja to wszystko wiem :D po prostu nie spostrzegłem. Zdarza się  :P

Dzięki wszyskim za pomoc. Pozdrawiam

Quote
Locked