←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Kod na pole wpisania

  • +
  • -
Robiin - zdjęcie Robiin 19.03.2016

Zadaję sobie od pewnego czasu pytanie, jaki jest kod na pole wpisania, w amxx

Chodzi mi o to, że np.

mam menu, po wybraniu 1 opcji, odpala się okno wpisywania (takie coś, jakby się pisało na say'u)

 

Chciałem stworzyć plugin, który pozwalałby na dodanie VIP'a/admina z poziomu serwera.

 

 

register_clcmd("amx_dodaj","funkcja","opis")

 

funkcja

{

______________

}

 

i czym mógłbym uzupełnić braki?

Odpowiedz

  • +
  • -
grankee - zdjęcie grankee 19.03.2016

Zakładam po wypowiedzi, że z menu sobie dasz radę, zatem po wyborze owej opcji nr 1 w menu musisz u gracza wykonac komende

client_cmd(id, "messagemode dodaj_vipa")

dalej dajesz

public plugin_init()
{
//...
register_clcmd("dodaj_vipa","cmdDodajVipa",ADMIN_BAN)//zmien ADMIN_BAN na jaki tam poziom chcesz
}

public cmdDodajVipa(id,level,cid)
{
    if(!cmd_access(id,level,cid,2)) return PLUGIN_CONTINUE
    new arg[32];
    read_args(arg,31)
    server_cmd("amx_addadmin ^"%s^" ^"tutaj_daj_literke_jaka_trzeba_miec_zeby_miec_vipa^" ^"tutaj_daj_haslo^" ^"name^" ",arg);
    server_cmd("amx_reloadadmins");
}

Użytkownik grankee edytował ten post 21.03.2016 02:09
Odpowiedz

  • +
  • -
Robiin - zdjęcie Robiin 20.03.2016

@UP, wrzuciłbyś może resztkę kodu do cmdDodajVipa?

Menu to nie problem. Sama funkcja mnie interesuje, bo nie do końca wiem jak ją zrobić.

Chodzi o to, że już po wybraniu w menu opcji (załóżmy) 

 

1. Dodaj VIP'a

 

Otwiera się to właśnie okno jako pole wpisania, wpisuje się dokładny nick, a potem serwer wykonuje funkcję amx_reloadadmins, żeby osoba miała VIPa od razu.

Odpowiedz

  • +
  • -
grankee - zdjęcie grankee 21.03.2016

new ADMIN_VIP[]="b"//zmień literkę jaka jest do vipa
new gNickDoVipa[32][32]
public plugin_init()
{
//...
	register_clcmd("dodaj_vipa","cmdDodajVipa",ADMIN_BAN)//zmien ADMIN_BAN na jaki tam poziom chcesz
	register_clcmd("haslo_vipa","cmdHasloVipa",ADMIN_BAN)//zmien ADMIN_BAN na jaki tam poziom chcesz
}

public cmdDodajVipa(id,level,cid)
{
    if(!cmd_access(id,level,cid,2)) return PLUGIN_CONTINUE
    read_args(gNickDoVipa[id],31)
    client_cmd(id, "messagemode haslo_vipa")
}
public cmdHasloVipa(id,level,cid)
{
	if(!cmd_access(id,level,cid,2)) return PLUGIN_CONTINUE
    new arg[32];
	server_cmd("amx_addadmin ^"%s^" ^"%s^" ^"%s^" ^"name^" ",gNickDoVipa[id],ADMIN_VIP,arg);
    server_cmd("amx_reloadadmins");
}

Użytkownik grankee edytował ten post 21.03.2016 02:17
Odpowiedz

  • +
  • -
Robiin - zdjęcie Robiin 21.03.2016

Twój kod wyrzuca mi błędy

 

 

 

 Function "cmdDodajVipa" should return a value on line 22

Loose indentation on line 22 

Loose indentation on line 26

Loose indentation on line 27

Loose indentation on line 28

Function "cmdHasloVipa" should return a value on line 29
 
 
Nie wiem jak to naprawić, mimo że wiem o co chodzi :P

 

Odpowiedz

  • +
  • -
Asiap - zdjęcie Asiap 21.03.2016

nie sa to bledy tylko informacje o blednej tabulacji oraz gdy gdzies w kodzie jest zwracany return z wartoscia to na koncu funkcji tez musi byc

ale zaznaczam ze nie sa to bledy tylko informacje!

Odpowiedz

  • +
  • -
Robiin - zdjęcie Robiin 21.03.2016

Rozumiem, już sobie z tym poradziłem. Miałem niepozamykane case'y.

Odpowiedz