[ROZWIĄZANE] [Problem] Menu wyboru VIPa ty...
Best Answer PANDA_2zl 03.02.2023 01:11
Aramis
03.02.2023
Mam VIPa z forumowego generatora. Tworzy on menu od trzeciej rundy:
public menu_handler(id, menu, item){ if(is_user_alive(id)){ if(gRound>=3){ if(item==0){ menu_1_handler(id); } if(item==1){ menu_2_handler(id); } if(item==2){ menu_3_handler(id); } } } menu_destroy(menu); return PLUGIN_HANDLED;
Czy jest możliwość, żeby funkcja dodatkowo sprawdzała rodzaj granej mapy? Chciałbym, aby menu włączało się tylko dla map CS/DE, ale było nieaktywne gdy grane są AIM/FY itd.
Best Answer
PANDA_2zl
03.02.2023
W public plugin_cfg() zrobić warunek
https://amxx.pl/topi...i-oraz-zmienne/
https://amxx.pl/doku...111/get-mapname
https://amxx.pl/doku...cja/f1375/equal
https://amxx.pl/doku...acja/f161/pause
https://amxx.pl/topi...i-oraz-zmienne/
https://amxx.pl/doku...111/get-mapname
https://amxx.pl/doku...cja/f1375/equal
https://amxx.pl/doku...acja/f161/pause
Aramis
04.02.2023
Niestety, poległem. Nie jestem rasowym programistą, i chociaż staram się zrozumieć to działam na chłopski rozum, co daje różnorakie efekty
Zmieniłem kod wg. wskazówek, plugin się kompiluje ale niestety dalej daje menu niezależnie od mapy:
public show_vip_menu(id){ new szMapName[32]; get_mapname(szMapName, 31); if (!equal(szMapName, "fy_", 3) || !equal(szMapName, "aim_", 4)){ menu=menu_create("\rMenu VIPa","menu_handler"); menu_callback_handler=menu_makecallback("menu_callback"); new bool:active=false, num=-1; menu_additem(menu,"\wAK47 + DGL","",0,menu_callback_handler); if(menu_callback(id, menu, ++num)==ITEM_ENABLED){ active=true; } menu_additem(menu,"\wM4A1 + DGL","",0,menu_callback_handler); if(menu_callback(id, menu, ++num)==ITEM_ENABLED){ active=true; } menu_additem(menu,"\wAWP + DGL","",0,menu_callback_handler); if(menu_callback(id, menu, ++num)==ITEM_ENABLED){ active=true; } menu_additem(menu,"\wMP5 + DGL","",0,menu_callback_handler); if(menu_callback(id, menu, ++num)==ITEM_ENABLED){ active=true; } menu_additem(menu,"\wKrowa + DGL","",0,menu_callback_handler); if(menu_callback(id, menu, ++num)==ITEM_ENABLED){ active=true; } if(active){ menu_setprop(menu,MPROP_EXITNAME,"Wyjscie"); menu_setprop(menu,MPROP_TITLE,"\yMenu Elite VIP"); menu_setprop(menu,MPROP_NUMBER_COLOR,"\r"); menu_display(id, menu); } else { menu_destroy(menu); } } }
To, że nie działa - to już wiemy. Bardzo proszę o wersję, która ma szansę zadziałać, ale również krótkie wytłumaczenie co tutaj robię źle. Trzeba się uczyć na błędach
PANDA_2zl
04.02.2023
if (!equal(szMapName, "fy_", 3) || !equal(szMapName, "aim_", 4)){
W tym zamienić || (lub) na && (i) wtedy będzie patrzeć czy ani to ani to nie pojawia się w nazwie mapy, możesz też użyć zamiast equal
https://amxx.pl/doku...a/f1362/contain
I w warunku
if(contain(szMapName, "fy_")!=0 && contain(szMapName, "aim_")!=0){
W tym zamienić || (lub) na && (i) wtedy będzie patrzeć czy ani to ani to nie pojawia się w nazwie mapy, możesz też użyć zamiast equal
https://amxx.pl/doku...a/f1362/contain
I w warunku
if(contain(szMapName, "fy_")!=0 && contain(szMapName, "aim_")!=0){
dasiek
06.02.2023
Wiadomość wygenerowana automatycznie
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL