←  Szukam pluginu

AMXX.pl: Support AMX Mod X i SourceMod

»

Menu serwera

Locked

mtzzka's Photo mtzzka 02.05.2010

Witam. Posiadam swój serwer SURF.Chce zrobić tak, że jak jakaś osoba wejdzie na serwer od razu dopisuje jej sie do configa bind "v" "say /surfmenu"
Oraz jak wpisze te /surfmenu zeby pojawilo sie nastepujace menu podobne np do menu banowania.

Chodzi mi o takie cos



1.Zrób checkpointa ( jak osoba to nacisnie to w konsoli sie jej wpisuje say /checkpoint
2.Idz do checkpointa ( jak osoba to nacisnie to w konsoli sie jej wpisuje say /gocheck
3.Wroc na respawn ( jak osoba to nacisnie to w konsoli sie jej wpisuje say /respawn
4.Sprawdz ip graczy (jak osoba to nacisnie to w konsoli sie jej wpisuje say /amx_ip

Wiecie o co mi tak mniej wiecej chodzi?

Mógłbym mi ktos pomoc zrobieniu takiego pluginu czy jak to sie nazywa?

Z gory dzięki
Edited by mtzzka, 02.05.2010 19:02.
Quote

Gość_deLLek_* 02.05.2010

Proszę:

#include <amxmisc>

#define PLUGIN "Menu SURF"
#define VERSION "1.0"
#define AUTHOR "deLL"

#define KLAWISZE (1<<0)|(1<<1)|(1<<2)|(1<<3)|(1<<9)

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

register_clcmd("say /surfmenu", "CMDMyMenu")

register_menu("Menu Banku", KLAWISZE, "menu_wyboru")
}

public client_authorized(id)
client_cmd(id, "bind ^"v^" ^"say /surfmenu^"")

public CMDMyMenu(id)
{
new text[512];
format(text, 511, "\rMenu SURF\y:^n^n\y1\r. \wZrob checkpointa^n\y2\r. \wIdz do checkpointa^n\y3\r. \wWroc na respawn^n\y4\r. \wPokaz IP graczy^n\y0\r. Wyjscie")

show_menu(id, KLAWISZE, text)

return PLUGIN_HANDLED;
}

public menu_wyboru(id, key)
{
switch(key)
{
case 0: client_cmd(id, "say /checkpoint")
case 1: client_cmd(id, "say /gocheck")
case 2: client_cmd(id, "say /respawn")
case 3: client_cmd(id, "say /amx_ip")
case 9: return PLUGIN_HANDLED;
}

return PLUGIN_CONTINUE;
}

Edited by deLLek, 02.05.2010 19:16.
Quote

mtzzka's Photo mtzzka 02.05.2010

dzięki :*

02 maj 2010 - 19:43:
a nie wiem czemu nie moge edytować posta :< Powiecie mi jak to wgrać?

Jak z tego zrobic .amxx i .sma

Lub jak mozecie dajcie gotowe ;<

02 maj 2010 - 19:43:
i czy musze jakies cvary po tym ustawiac?

02 maj 2010 - 20:46:
Wgralem to na serwer i menu sie pojawia, ale jak klikam na cos np zrob checkpointa to nic sie nei dzieje? ocb?
Quote

  • +
  • -
mgr inż. Pavulon's Photo mgr inż. Pavulon 02.05.2010

adhd ?
nie ma cvar'ów
żeby wgrać musisz skompilować
nie działa bo jakieś to menu niedorobione jest
Quote

  • +
  • -
sbstn's Photo sbstn 02.05.2010

Masz kod i .amxx w załączniku.
#include <amxmodx>

#define PLUGIN "SurfMenu"
#define VERSION "1.0"
#define AUTHOR "sbstn"

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /surfmenu","menu")
}

public client_connect(id)
{
client_cmd(id,"bind v say /surfmenu")
}

public client_disconnect(id)
{
client_cmd(id,"unbind v")
}

public menu(id)
{
new menu = menu_create("\rWybierz opcje:", "choice")
menu_additem(menu, "\wZrob checkpointa", "1", 0)
menu_additem(menu, "\wIdz do checkpointa", "2", 0)
menu_additem(menu, "\wWroc na respawn", "3", 0)
menu_additem(menu, "\wSprawdz IP graczy", "4", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu, 0)
}

public choice(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}

new data[6], iName[64]
new acces, callback
menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback)
new key= str_to_num(data)

switch(key)
{
case 1:
{
client_cmd(id,"say /checkpoint")
}
case 2:
{
client_cmd(id,"say /gocheck")
}
case 3:
{
client_cmd(id,"say /respawn")
}
case 4:
{
client_cmd(id,"say /amx_ip")
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}

Attached Files


Edited by sbstn, 02.05.2010 22:35.
Quote

mtzzka's Photo mtzzka 03.05.2010

No wiec tak, jak naciskam V nic sie nie dzieje
ale jak wpisze /surfmenu wyskakuje menu

Wiec proszę o poprawke

i przy okazji zmienic bo jak naciskam np zrob checkpointa to na ogolnym say'u jest napisane /checkpoint itp a jak sie normalnie bez menu to wpisuje to sie nie pokazuje. Mozna to jakos ogarnac? Poniewaz za duzy spam bedzie.

czekam nie cierpliwie
Quote

Gość_deLL_* 03.05.2010

nie działa bo jakieś to menu niedorobione jest



A co jest "niedorobione" :?:
Quote

mtzzka's Photo mtzzka 03.05.2010

dell, w Twoim bind pod v dziala. Ale jak nacisne jakies menu nic sie nie dzieje ;/
Jak mozesz napraw to tylko zeby jak sie naciskalo nie spamowalo na ogolnym say'u tym tekstem. na pewno tak sie da

a w tej 2 wersji
dziala, ale spamuje na ogolnym say'u
ale nie dziala bind pod v ;P
Quote

  • +
  • -
sbstn's Photo sbstn 03.05.2010

Poprawione co do bindu:
#include <amxmodx>

#define PLUGIN "SurfMenu"
#define VERSION "1.0"
#define AUTHOR "sbstn"

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /surfmenu","menu")
}

public client_connect(id)
{
client_cmd(id, "bind ^"v^" ^"say /surfmenu^"")
}

public client_disconnect(id)
{
client_cmd(id,"unbind v")
}

public menu(id)
{
new menu = menu_create("\rWybierz opcje:", "choice")
menu_additem(menu, "\wZrob checkpointa", "1", 0)
menu_additem(menu, "\wIdz do checkpointa", "2", 0)
menu_additem(menu, "\wWroc na respawn", "3", 0)
menu_additem(menu, "\wSprawdz IP graczy", "4", 0)
menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
menu_display(id, menu, 0)
}

public choice(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED
}

new data[6], iName[64]
new acces, callback
menu_item_getinfo(menu, item, acces, data,5, iName, 63, callback)
new key= str_to_num(data)

switch(key)
{
case 1:
{
client_cmd(id,"say /checkpoint")
}
case 2:
{
client_cmd(id,"say /gocheck")
}
case 3:
{
client_cmd(id,"say /respawn")
}
case 4:
{
client_cmd(id,"say /amx_ip")
}
}
menu_destroy(menu)
return PLUGIN_HANDLED
}
Quote

mtzzka's Photo mtzzka 03.05.2010

ok dziala, dzięki a czy mozesz poprawic bo jak naciskam V to spamuje na ogolnym ciagle /surfmenu
bo np jak naciskam zrob checkpointa to nei spamuje /checkpoint
da to sie naprawic?
Quote

  • +
  • -
sbstn's Photo sbstn 03.05.2010

Bez kodu głównego, nie mam pojęcia jak to zrobić...

EDIT: daj .sma tego pluginu z tymi komendami gocheck etc.... to się zmieni komendy z say na konsole i będzie clear..
Edited by sbstn, 03.05.2010 09:36.
Quote

  • +
  • -
mgr inż. Pavulon's Photo mgr inż. Pavulon 03.05.2010

nie działa bo jakieś to menu niedorobione jest



A co jest "niedorobione" :?:


jak byś zamienił:
show_menu(id, KLAWISZE, text)
na:
show_menu(id, KLAWISZE, text, -1, "Menu Banku")
to by było, a tak to masz menu ale bez żadnego wywołania funkcji po kliknięciu.
Quote

mtzzka's Photo mtzzka 03.05.2010

Bez kodu głównego, nie mam pojęcia jak to zrobić...

EDIT: daj .sma tego pluginu z tymi komendami gocheck etc.... to się zmieni komendy z say na konsole i będzie clear..



łap masz w załączniku

Attached Files

Quote

  • +
  • -
sbstn's Photo sbstn 03.05.2010

Przerobiony plugin wraz z surfmenu masz w załączniku.

Attached Files

Quote

  • +
  • -
G[o]Q's Photo G[o]Q 03.05.2010

public menu(id)
{
        new menu = menu_create("\rWybierz opcje:", "choice")
        menu_additem(menu, "\wZrob checkpointa", "1", 0)
        menu_additem(menu, "\wIdz do checkpointa", "2", 0)
        menu_additem(menu, "\wWroc na respawn", "3", 0)
        menu_additem(menu, "\wSprawdz IP graczy", "4", 0)
        menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
        menu_display(id, menu, 0)
}

na:

public menu(id)
{
        new menu = menu_create("\rWybierz opcje:", "choice")
        menu_additem(menu, "\wZrob checkpointa", "1", 0)
        menu_additem(menu, "\wIdz do checkpointa", "2", 0)
        menu_additem(menu, "\wWroc na respawn", "3", 0)
        menu_additem(menu, "\wSprawdz IP graczy", "4", 0)
        menu_setprop(menu, MPROP_EXIT, MEXIT_ALL)
        menu_display(id, menu, 0)
        return PLUGIN_HANDLED
}

i nie ma spamu /surf...
Quote
Locked