←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] Admin_level_h w menu

Locked

  • +
  • -
Aqku's Photo Aqku 21.03.2013

Witam. Mam pytanie czy da się zrobić żeby w tym menu:

public display_knife(id) {
new menuBody[512]
add(menuBody, 511, "\yZwykle Knifes\w^n^n")
add(menuBody, 511, "\r1.\w Maczeta \y(Wiecej Damage\Mniejsza Szybkosc)\w^n")
add(menuBody, 511, "\r2.\w Cichy Noz \y(Ciche Chodzenie)\w^n")
add(menuBody, 511, "\r3.\w Maly Noz \y(Wieksza Szybkosc)\w^n")
add(menuBody, 511, "\r4.\w Lekki Noz \y(Mniejsza Grawitacja)\w^n")
add(menuBody, 511, "\r5.\w Leczniczy Noz \y(Regeneracja HP)\w^n^n")
if(get_user_flags(id) & ADMIN_LEVEL_H) {
add(menuBody, 511, "\r6.\r [VIP]\w Ostry Sztylet \y(Speed + Grawitacja)\w^n")
add(menuBody, 511, "\r7.\r [VIP]\w Boski Noz \y(Ciche Chodzenie + Reg. HP)\w^n")
add(menuBody, 511, "\r8.\r [VIP]\w Zabojczy Miecz \y(Wieksze Damage)\w^n^n")
}
add(menuBody, 511, "\r0.\w Exit^n")

new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5 | 1<<6 | 1<<7 | 1<<9 )
show_menu(id, keys, menuBody, -1, "Knife Mod")
}

Dało się zrobić żeby te 3 ostatnie opcje były widoczne dla zwykłych graczy, ale nie mogli oni nich używać? Bo aktualnie zwykli gracze nie widzą tych opcji . Już mówie: add(menuBody, 511, "\r6.\r [VIP]\w Ostry Sztylet \y(Speed + Grawitacja)\w^n", ADMIN_LEVEL_H) Nie działa, nie chce się komplikować.
Quote

  • +
  • -
Klakier's Photo Klakier 21.03.2013

Coś takiego: ?
public display_knife(id)
{
new tytul[60], maczeta[60], cichy[60], maly[60], lekki[60], leczniczy[60], vip_ostry[60], vip_boski[60], vip_zabojczy[60];

formatex(tytul, charsmax(tytul), "\yZwykle Knifes");

new menu = menu_create(tytul, "display_knife_Handler");
new cb = menu_makecallback("cb_display_knife");

formatex(maczeta, charsmax(maczeta), "Maczeta \y(Wiecej Damage\Mniejsza Szybkosc)");
formatex(cichy, charsmax(cichy), "Cichy Noz \y(Ciche Chodzenie)");
formatex(maly, charsmax(maly), "Maly Noz \y(Wieksza Szybkosc)");
formatex(lekki, charsmax(lekki), "Lekki Noz \y(Mniejsza Grawitacja)");
formatex(leczniczy, charsmax(leczniczy), "Leczniczy Noz \y(Regeneracja HP)");
formatex(vip_ostry, charsmax(vip_ostry), "\r [VIP]\w Ostry Sztylet \y(Speed + Grawitacja)");
formatex(vip_boski, charsmax(vip_boski), "\r [VIP]\w Boski Noz \y(Ciche Chodzenie + Reg. HP)");
formatex(vip_zabojczy, charsmax(vip_zabojczy), "\r [VIP]\w Zabojczy Miecz \y(Wieksze Damage)");

menu_additem(menu, maczeta, "", 0, cb);
menu_additem(menu, cichy, "", 0, cb);
menu_additem(menu, maly, "", 0, cb);
menu_additem(menu, lekki, "", 0, cb);
menu_additem(menu, leczniczy, "", 0, cb);
menu_additem(menu, vip_ostry, "", 0, cb);
menu_additem(menu, vip_boski, "", 0, cb);
menu_additem(menu, vip_zabojczy, "", 0, cb);

menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);

}

public cb_display_knife(id, menu, item)
{
if((item == 5 || item == 6 || item == 7) && !(get_user_flags(id) & ADMIN_LEVEL_H))
return ITEM_DISABLED;

return ITEM_ENABLED;

}
Quote

  • +
  • -
Aqku's Photo Aqku 21.03.2013

Niestety, ale menu się w ogóle nie wyświetla
Quote

  • +
  • -
The Rock's Photo The Rock 22.03.2013

zrób to tak jak jest w BF2 (included)
Quote

  • +
  • -
Aqku's Photo Aqku 22.03.2013

Dodałem wszystkie includes z bf2 i nadal nie wyświetla
Quote

  • +
  • -
Kawon's Photo Kawon 22.03.2013

Automatyczna wiadomość


Ten temat został przeniesiony z forum

AMX Mod X > Pytania dotyczące pluginów

do

Scripting AMXX > Pytania
Quote

  • +
  • -
Aqku's Photo Aqku 23.03.2013

To jak pomoże ktoś?
Quote

  • +
  • -
Vasto_Lorde's Photo Vasto_Lorde 23.03.2013

Zrób normalne menu. Ale w handle, jak ktoś wybierze opcje dla vipa a nie będzie go posiadał, po prostu wyświetl menu na nowo. Jeśli ktoś Będzie miał vipa to plugin przejdzie dalej.
Quote

  • +
  • -
Aqku's Photo Aqku 24.03.2013


public display_knife(id) {
    new menuBody
    menu_create("\yWybierz Noz", "knifemenu")
    menu_additem(menuBody, "\w Maczeta \y(Wiecej Damage\Mniejsza Szybkosc)", "0", 0)
    menu_additem(menuBody, "\w Cichy Noz \y(Ciche Chodzenie)", "1", 0)
    menu_additem(menuBody, "\w Maly Noz \y(Wieksza Szybkosc)", "2", 0)
    menu_additem(menuBody, "\w Lekki Noz \y(Mniejsza Grawitacja)", "3", 0)
    menu_additem(menuBody, "\w Leczniczy Noz \y(Regeneracja HP)", "4", 0)
    menu_additem(menuBody, "\r[VIP]\w Ostry Sztylet \y(Speed + Grawitacja)", "5", ADMIN_LEVEL_H)
    menu_additem(menuBody, "\r[VIP]\w Boski Noz \y(Ciche Chodzenie + Reg. HP)", "6", ADMIN_LEVEL_H)
    menu_additem(menuBody, "\r[VIP]\w Zabojczy Miecz \y(Wieksze Damage)", "7", ADMIN_LEVEL_H)
    menu_setprop(menuBody, MPROP_EXIT, MEXIT_ALL)
    menu_display(id, menuBody, 0)

    new keys = ( 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5 | 1<<6 | 1<<9 )
    show_menu(id, keys, menuBody, -1, "knifemenu")
}

knife_mod2.sma(84) : error 035: argument type mismatch (argument 3)

Czemu show_mneu nie czyta tego menuBody? ;/
Edited by Aqku, 24.03.2013 12:33.
Quote

  • +
  • -
GwynBleidD's Photo GwynBleidD 24.03.2013

Pomieszałeś ze sobą stare i nowe menu, po co? Przecież to kompletnie co innego!! Dodatkowo jeszcze błąd wielgachny przy menu_create masz...
Quote

  • +
  • -
Klakier's Photo Klakier 24.03.2013

Zrob tak jak ja ci podałem i dodaj jeszcze według swoich wymagań
public display_knife_Handler(id, menu, item)
Quote

  • +
  • -
Aqku's Photo Aqku 24.03.2013

Jak zrobie normalne menu to komplikuje się, menu działa vip knifes są zablokowane dla usera ale jak np. Wezmę Maczete to mi weznie Lekki nóż jak wezmę Lekki nóż to weźnie boski nóż... Ja troche tego nie ogarniam dlatego dam Wam całe .sma

http://amxx.pl/wklej...36413616732858/
Quote

  • +
  • -
GwynBleidD's Photo GwynBleidD 24.03.2013

W starym typie menu numerowanie case masz od 1, nie od 0. W nowym typie menu używasz tylko menu_display, nie używasz show_menu, nie używasz keys, nie używasz jednego wielkiego stringa do wrzucenia zawartości menu. Kolorowanie jest automatyczne, więc \w na początku każdej opcji oraz \y na początku tytułu jest zbędne. Dodatkowo jak masz menu_create, musisz wrzucić wynik tej komendy do menuBody. Zmień więc to:
new menuBody
menu_create("\yWybierz Noz", "knifemenu")

na to:
new menuBody = menu_create("\yWybierz Noz", "knifemenu")


Czegoś jeszcze nie rozumiesz?
Quote

  • +
  • -
Aqku's Photo Aqku 24.03.2013

Teraz kompiluje, ale wybiera w ogóle złe noże tzn. klikne w Maczete to weznie inny nóż...

http://amxx.pl/wklej...36415606932858/

Wiem, ze nie mam używać keys, ale jak to inaczej zrobić.
Quote

  • +
  • -
K!113r's Photo K!113r 24.03.2013


menu_display(id, keys, menuBody)

na
menu_display(id, menuBody)


i w knifemenu() case nie od 1 do 8, tylko od 0 do 7 (knifemenu(id, menu, item) czy zamiast item jak masz w switchu key knifemenu(id, menu, key) )
Quote

  • +
  • -
GwynBleidD's Photo GwynBleidD 24.03.2013

W STARYM menu numerujemy od 1, w NOWYM menu numerujemy od 0. Nowe menu nie potrzebuje keys, wywalasz to CAŁKOWICIE! Samo sobie sprawdzi jakie klawisze są potrzebne na podstawie listy opcji.
Quote

  • +
  • -
Aqku's Photo Aqku 25.03.2013

Dobra poradziłem sobie jakoś. ;P Dzięki serdeczne. +++
Quote

  • +
  • -
Aqku's Photo Aqku 25.03.2013

UP@ Jeszcze jakby ktoś mógł to ogarnąć.


L 03/25/2013 - 20:08:17: Start of error session.
L 03/25/2013 - 20:08:17: Info (map "de_dust2_long") (file "addons/amxmodx/logs/error_20130325.log")
L 03/25/2013 - 20:08:17: Function is not present (function "kmodmsg") (plugin "knife_mod.amxx")
L 03/25/2013 - 20:08:17: [AMXX] Displaying debug trace (plugin "knife_mod.amxx")
L 03/25/2013 - 20:08:17: [AMXX] Run time error 10: native error (native "set_task")
L 03/25/2013 - 20:08:17: [AMXX]    [0] knife_mod2_1370834.sma::plugin_init (line 47)
Quote

  • +
  • -
K!113r's Photo K!113r 25.03.2013

Byłoby miło jakbyś jeszcze kod z tym błędem pokazał.
Quote

  • +
  • -
Aqku's Photo Aqku 25.03.2013

No tak, przepraszam.


public plugin_init() { 

register_plugin(PLUGIN, VERSION, AUTHOR) 

register_event( "Damage", "event_damage", "be" )
register_event("CurWeapon","CurWeapon","be","1=1") 

g_Menu = register_menuid("knifemenu")
g_Menu2 = register_menuid("rodzaj")
g_Menu3 = register_menuid("vipknifemenu")
register_menucmd(g_Menu, 1023, "knifemenu")
register_menucmd(g_Menu2, 1023, "rodzaj")
register_menucmd(g_Menu3, 1023, "vipknifemenu")

register_clcmd("say /knife", "display_knife")

CVAR_HIGHSPEED = register_cvar("km_highspeed","340")
CVAR_LOWSPEED = register_cvar("km_lowspeed","170")
CVAR_NORMSPEED = register_cvar("km_normspeed","300")
CVAR_HEALTH_ADD = register_cvar("km_addhealth", "3")
CVAR_HEALTH_MAX = register_cvar("km_maxhealth", "75")
CVAR_DAMAGE = register_cvar("km_damage", "2")
CVAR_LOWGRAV = register_cvar("km_lowgravity" , "400")
CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")

set_task(480.0, "kmodmsg", 0, _, _, "b")
}
Quote
Locked