←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

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


Najlepsza odpowiedź 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

Przejdź do postu
Zablokowany

  • +
  • -
Ossal - zdjęcie 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

Odpowiedz

  • +
  • -
GwynBleidD - zdjęcie GwynBleidD 09.05.2013

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

Odpowiedz

  • +
  • -
Ossal - zdjęcie Ossal 09.05.2013

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

Odpowiedz

  • +
  • -
GwynBleidD - zdjęcie 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);
}
Odpowiedz

  • +
  • -
Ossal - zdjęcie 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);
}
Odpowiedz

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 ".

Odpowiedz

  • +
  • -
Najlepsza odpowiedź Kot-CSHH - zdjęcie 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

Odpowiedz

  • +
  • -
Ossal - zdjęcie 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

Odpowiedz
Zablokowany