Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.

  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

[Poradnik] Jak naprawić menu z generatora Vip'a?Dużo pyta, dużo wie

naprawa menu vipa poradnik

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
12 odpowiedzi w tym temacie

#1 Drago36

    Profesjonalista - if you know what i mean

  • Power User

Reputacja: 560
Wszechwiedzący

  • Postów:707
  • GG:
  • Imię:Mów mi D.ave
  • Lokalizacja:Polska
Offline

Napisano 02.08.2014 12:26

*
Popularny

WITAM


Ostatnio  wzrastającą  liczbą tematów są problemy nie działającego menu  vip'a!

Jak temu zaradzić? Tu z pomocą wchodzi CheQ ( bo mnie zmusił <_<  )

 

Krok po kroku aż do celu


Co robimy pierwsze? No pewnie , że otwieramy naszego vip'a.sma w programie typu : amxx-studio

1. Najpierw zacznijmy od usunięcia niepotrzebnych rzeczy w kodzie.

Zmienna menu_callback_handler nie posłuży nam niczym - wyrzucamy.

Spoiler

Także usuwamy dwa poniższe funkcje.

public menu_callback(id, menu, item){
	return ITEM_DISABLED;
}
public menu_handler(id, menu, item){
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

Szukamy w naszym kodzie, zaznaczamy i usuwamy.

 

2. A teraz musimy się skupić (if you know what i mean).

Cały public show_vip_menu(id) podmieniamy na ten poniższy.

Czyli z tego:

public show_vip_menu(id){
	menu=menu_create("\rMenu VIPa","menu_handler");
	menu_callback_handler=menu_makecallback("menu_callback");
	new bool:active=false, num=-1;
	menu_additem(menu,"\w","",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 Vipa");
		menu_setprop(menu,MPROP_NUMBER_COLOR,"\r");
		menu_display(id, menu);
	} else {
		menu_destroy(menu);
	}
}

Zmieniamy na:

public show_vip_menu(id) {
	menu = menu_create("\rMenu Vip'a:", "menu_handler");
	menu_additem(menu, "\wDodatki nr 1", "1", 0);
	menu_additem(menu, "\wDodatki nr 2", "2", 0);
	menu_additem(menu, "\wDodatki nr 3", "3", 0);
	menu_additem(menu, "\wDodatki nr 4", "4", 0);
	menu_additem(menu, "\wDodatki nr 5", "5", 0);
	menu_additem(menu, "\wDodatki nr 6", "6", 0);
	menu_additem(menu, "\wDodatki nr 7", "7", 0);

	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);

	menu_display(id, menu, 0);
}

W miejsca "Dodatki nr (...)" zmieniamy na dokładny opis co ustawiliśmy w menu, a nie potrzebne usuwamy. Jeśli w pierwszej opcji menu ustawiliśmy graczowi dostawanie ak47 to musimy to wpisać, a gdy nie pamiętamy co ustawiliśmy to szukamy w naszym kodzie:

public menu_numer_handler(id) - w miejsce "numer" będzie od 1 do 7.

,a w tej funkcji będą linijki typu "weapon_deagle"/"weapon_ak47" - na chłopski rozum się domyślamy, że slot nr. 1 da nam dgl i ak.

 

 

Ja na przykład wygenerowałem sobie takiego vipa, że w menu może wybrać jedną z trzech opcji:  AK+DGL, M4+DGL lub M3+DGL.

A więc wychodzi na to, że u mnie public show_vip_menu(id) będzie wyglądał tak:

Spoiler

 

 

3. Połowa rzeczy już za nami.

Teraz należy dodać tę funkcję, gdzieś na samym dole kodu.

public menu_handler(id, menu, item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new data[8], iName[64];
	new zaccess, callback;
	menu_item_getinfo(menu, item, zaccess, data,7, iName, 64, callback);
	new key = str_to_num(data)

	switch(key)
	{
		case 1: menu_1_handler(id)
		case 2: menu_2_handler(id)
		case 3: menu_3_handler(id)
		case 4: menu_4_handler(id)
		case 5: menu_5_handler(id)
		case 6: menu_6_handler(id)
		case 7: menu_7_handler(id)
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

I oczywiście nie potrzebne usuwamy :)

W moim menu są tylko trzy opcje, więc je zostawiłem.

Spoiler

 

4. Teraz należy skompilować i podmienić naszego vip'a na serwer.


  • +
  • -
  • 12

#2 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 453
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 02.08.2014 14:55

Drago36 cieszę się że się starasz ale proszę cię... Najpierw się pośmiejmy ze mnie (by nie było że po sobie tez nie jade) haha.gif
 

Co robimy pierwsze? No pewnie , że otwieramy naszego vip'a.sma w programie typu : amxx-studio

Nie mam amxx stidio... Co to w ogóle? W tym się pisze? Nie wszyscy lubią takie bAdZiEwIa. Już prędzej "dowolny edytor tekstowy".

Teraz spróbuję ci wpoić do twojego mUzgÓ że ten temat nie sprawi iż ilość tematów zmaleje gdyż twój poradnik "Jak naprawić menu z generatora Vip'a?" ma parę błędów a że ja z lupą chodze po tym forum to ci je pokażę byś się samodoskonalił (z moją małą pomocą haha.gif). No to lecimy:

• co z tego że menu zadziała jak w połowie przypadków broń zostanie błędnie dodana (głównie chodzi o to że bez ammo) chodzi o to iż funkcja find_ent_by_owner zazwyczaj nie działa gdy dopiero co stworzyliśmy byt chodzi mi o to:
Spoiler
w ogóle to funkcja find_ent_by_owner jest niepotrzebna gdyż funkcja give_item zwraca id stworzonego bytu...

• jaki nie mądry człek (bardzo bardzo ... bardzo ładnie mówiąc) nauczył cię by poprzez 3 argument funkcji menu_additem przekazywać nr. przycisku?? To jest mega, mega błąd. Mogłeś również zrobić globalną tablicę gdyż to wygląda identycznie... Po to w uchwycie menu (public menu_handler(id, menu, item)) ma się zmienną item by można było szybko się dowiedzieć który był przycisk naciśnięty a ty to robisz tak: wpakowujesz do każdego przycisku jego liczbę, następnie w uchwycie pobierasz z wciśniętego przycisku tą liczbę... Po co? Przecież wiesz który przycisk został naciśnięty

• nawet nie opisałeś sposobu by jedne zestawy były dla CT a inne dla TT (a to jest w generatorze vip'a), tak samo brak licznika rund (a on jest wbudowany w generatorze wystarczy warunek zrobić), wszystko jest za free w menu super!! Gracze się ucieszą (ale tylko vip'y) tzn. nie będzie zabierać kasy jak w generatorze ustawisz by zabierało

Twój cały tut można zamienić na coś takiego:

1. Zamienić to:
public menu_callback(id, menu, item){
	return ITEM_DISABLED;
}
Na to:
public menu_callback(id, menu, item)	return ITEM_ENABLED
2. Zamienić to:
public menu_handler(id, menu, item){
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
Na to:
public menu_handler(id, menu, item)
{
	if(item != MENU_EXIT)
	{
		new func[20]
		formatex(func,charsmax(func),"menu_%i_handler",item+1)
		callfunc_begin_i(get_func_id(func))
		callfunc_push_int(id)
		callfunc_end()
	}
	menu_destroy(menu)
}
I osoba czytająca nie musi już robić niczego inteligentnego, wystarczy że będzie kopiowac i wklejać a uzyska taki sam efekt jak u ciebie tylko że tu sie nie namęczy, a co ważniejsze nie pomyli... (można by było też callbacki wyrzucić bo nic nie robią ale to pikuś)


Rozumiem że CheQ to wymusił (hahahaha) ale bez przesady, jeśli miał by ktoś napisać tuta jak naprawić wszystkie błędy w generatorze to napisał by conajmniej książkę (jak nie całą sagę). Mogły by osoby mające dostęp do kodu generatora to sprawnie naprawić lub chociaż umieścić to na git'cie amxx'a / w dziale dla supporta, zajeli byśmy się nim i to odpowiednio
  • +
  • -
  • 1
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#3 Drago36

    Profesjonalista - if you know what i mean

  • Autor tematu
  • Power User

Reputacja: 560
Wszechwiedzący

  • Postów:707
  • GG:
  • Imię:Mów mi D.ave
  • Lokalizacja:Polska
Offline

Napisano 02.08.2014 15:56


• co z tego że menu zadziała jak w połowie przypadków broń zostanie błędnie dodana (głównie chodzi o to że bez ammo) chodzi o to iż funkcja find_ent_by_owner zazwyczaj nie działa gdy dopiero co stworzyliśmy byt chodzi mi o to:
Spoiler
w ogóle to funkcja find_ent_by_owner jest niepotrzebna gdyż funkcja give_item zwraca id stworzonego bytu...

Nie do tematu.. opisałem jak naprawić menu, nie jak "lepiej" dodać broń - nie ja pisałem vip'a generatora.

 

 


• jaki nie mądry człek (bardzo bardzo ... bardzo ładnie mówiąc) nauczył cię by poprzez 3 argument funkcji menu_additem przekazywać nr. przycisku?? To jest mega, mega błąd. Mogłeś również zrobić globalną tablicę gdyż to wygląda identycznie... Po to w uchwycie menu (public menu_handler(id, menu, item)) ma się zmienną item by można było szybko się dowiedzieć który był przycisk naciśnięty a ty to robisz tak: wpakowujesz do każdego przycisku jego liczbę, następnie w uchwycie pobierasz z wciśniętego przycisku tą liczbę... Po co? Przecież wiesz który przycisk został naciśnięty

No tu masz rację. Zara poprawie.

 


• nawet nie opisałeś sposobu by jedne zestawy były dla CT a inne dla TT (a to jest w generatorze vip'a), tak samo brak licznika rund (a on jest wbudowany w generatorze wystarczy warunek zrobić), wszystko jest za free w menu super!! Gracze się ucieszą (ale tylko vip'y) tzn. nie będzie zabierać kasy jak w generatorze ustawisz by zabierało

Wcześniej te warunki się generowały w menu_%i_handler, dlatego nie opisywałem tego. No cóż teraz nie. Oczywiście dodam.

 


Twój cały tut można zamienić na coś takiego:

1. Zamienić to:

public menu_callback(id, menu, item){
return ITEM_DISABLED;
}

Na to:

public menu_callback(id, menu, item) return ITEM_ENABLED

2. Zamienić to:

public menu_handler(id, menu, item){
menu_destroy(menu);
return PLUGIN_HANDLED;
}

Na to:

public menu_handler(id, menu, item)
{
if(item != MENU_EXIT)
{
new func[20]
formatex(func,charsmax(func),"menu_%i_handler",item+1)
callfunc_begin_i(get_func_id(func))
callfunc_push_int(id)
callfunc_end()
}
menu_destroy(menu)
}

I osoba czytająca nie musi już robić niczego inteligentnego, wystarczy że będzie kopiowac i wklejać a uzyska taki sam efekt jak u ciebie tylko że tu sie nie namęczy, a co ważniejsze nie pomyli... (można by było też callbacki wyrzucić bo nic nie robią ale to pikuś)

No i Benio miał rację. Nie sprawdzasz co dodajesz i wskazujesz ludziom błędy. Tak niech kopiują twoją opcję i narzekają , że nadal nie działa :X

 


Rozumiem że CheQ to wymusił (hahahaha) ale bez przesady, jeśli miał by ktoś napisać tuta jak naprawić wszystkie błędy w generatorze to napisał by conajmniej książkę (jak nie całą sagę). Mogły by osoby mające dostęp do kodu generatora to sprawnie naprawić lub chociaż umieścić to na git'cie amxx'a / w dziale dla supporta, zajeli byśmy się nim i to odpowiednio

Chodziło tylko o menu , a ty robisz z igły widły aby robić niby tutki na naprawę całego generatora eh


Drago36 (02.08.2014 15:58):
P.S Wieczorem poprawie kod z menu_handler, aby nie pobierać str_to_num, skoro mamy item ;)

I warunki ct/tt, po ilu rundzie itp.

  • +
  • -
  • 1

#4 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 453
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 02.08.2014 16:19

Nie do tematu.. opisałem jak naprawić menu, nie jak "lepiej" dodać broń - nie ja pisałem vip'a generatora.

Nie "lepiej"! Przeczytaj jeszcze raz mój post! Chodziło mi o to iż ludzie nadal będą się czepiać iż im coś z menu nie działa (a dokładnie ammo do broni czasem nie bedzie dodawane).
 

No i Benio miał rację. Nie sprawdzasz co dodajesz i wskazujesz ludziom błędy. Tak niech kopiują twoją opcję i narzekają , że nadal nie działa

To nie był błąd, a jedynie szybszy sposób twojego tut'a. Poza tym to działa!!! Sprawdź jak nie wierzysz. Przykładowy kod vip'a:
Załączony plik  Vip.sma   2,19 KB  95 Ilość pobrań
  Vip.amxx
 

Chodziło tylko o menu , a ty robisz z igły widły aby robić niby tutki na naprawę całego generatora eh

Nie rozumiesz czegoś, jeśli zrobisz tut'a o menu który nie będzie w pełni sprawiał iż menu bedzie poprawnie działać to ludzie nadal bedą robić tematy zwiazane z vip'em bo coś im tam nie działa. Dlatego wniosłem pomysł:

Mogły by osoby mające dostęp do kodu generatora to sprawnie naprawić lub chociaż umieścić to na git'cie amxx'a / w dziale dla supporta, zajeli byśmy się nim i to odpowiednio

Mówiąc to miałem na myśli by nie robić żadnego tut'a!!! W dziale support'u lub na git'cie to raz zrobić by działało i bedzie spokój z tematami związanymi z vip'em
  • +
  • -
  • 1
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#5 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1339
Godlike

  • Postów:3556
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 02.08.2014 17:41

@up czepiasz sie i Ci nie wychodzi

 

on napisał jak naprawić to co  nie dziala w generatorze (po cholere w ogóle ten generator?) a ty go obwiniasz o to że generator generuje wg ciebie slaby kod jakby to Drago go pisał

 

a co do przekazywania paremetru przy dodawaniu opcji to czy jesli mamy kilka stron menu to co jest w parametrze item? (pytam bo nie pamietam xD) no albo jak by chcial zrobic menu graczy czy cos to ta praktyka jest odpowiednia (nie wiem co mial na mysli autor kodu ale piszesz tak jakby to zawsze byl blad)

 

programik typu amxx-studio to wg mnie jaki kolwiek edytor który będzie kolorować skladnie w pliku sma wiec to lepsze okreslenie niż dowolny edytor textu

 

Nie rób z siebie gwiazdy i nie obrazaj (dodatkowo uzywajac jakiegos poke-jezyka) bo gwiazdy maja to do siebie ze lubią spadać

 

 


  • +
  • -
  • 2
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#6 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 453
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 02.08.2014 18:06

on napisał jak naprawić to co  nie dziala w generatorze (po cholere w ogóle ten generator?) a ty go obwiniasz o to że generator generuje wg ciebie slaby kod jakby to Drago go pisał

Nie obwiniam i tez jestem za tym żeby go wogóle nie bylo ale jeśli już jest to wypadałoby by działał. Twierdzę jedynie iż ten temat nie zakończy serii tematów o problemach z vip'em

co jest w parametrze item?

1,2,3,...,97,98,99 itd

jak by chcial zrobic menu graczy czy cos to ta praktyka jest odpowiednia (nie wiem co mial na mysli autor kodu ale piszesz tak jakby to zawsze byl blad)

W menu graczy nie przesyłał by sztywnych cyfer a serial id danego gracza a to jest duża różnica

(nie wiem co mial na mysli autor kodu ale piszesz tak jakby to zawsze byl blad)

Ten sposób działania nad przekazywaniem i odbieraniem numeru przycisku jest błędny ale nikt nie mówi że inne sposoby są złe

Nie rób z siebie gwiazdy

Wtf? Sory ale nie świecę :(

nie obrazaj

gdzie ja tu go obraziłem?
sharkowy (03.08.2014 12:34):
"gdzie ja tu go obraziłem?"

Swoją arogancją obrażasz inteligencje ludzi :D
BlackPerfum (03.08.2014 15:27):
Bardzo mi przykro że byłem arogancki, a dokładnie za to że to zabrzmiało arogancko. Niczego takiego na myśli nie miałem. Jedynie nie potrafię poprawnie przekazywac tego o co mi chodzi

  • +
  • -
  • 1
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#7 MonsterLevel

    Początkujący

  • Użytkownik

Reputacja: -3
Mniej niż zer0.

  • Postów:15
  • Lokalizacja:Polska
Offline

Napisano 05.08.2014 20:32

Działać działa ale menu daje już w 1 rundzie, ktoś wie jak to zmienić?


Drago36 (05.08.2014 20:53):
Sory miałem zrobić to opisać ostatnio, ale błędy na forum. ;)

Do jutra opisze.

  • +
  • -
  • 1

#8 MonsterLevel

    Początkujący

  • Użytkownik

Reputacja: -3
Mniej niż zer0.

  • Postów:15
  • Lokalizacja:Polska
Offline

Napisano 07.08.2014 11:32

Eh wiem, że masz swoje życie ale to dla Ciebie kilka minut pisania a dla mnie kolejny dzień głowienia się nad tym :/
  • +
  • -
  • -2

#9 PowstaniecGanru

    Życzliwy

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:28
  • Imię:Krzysztof
  • Lokalizacja:Poland
Offline

Napisano 12.08.2014 07:57

Mógłby ktoś napisać jak zrobić,żeby menu wyświetlało się po np 3 rundzie.


  • +
  • -
  • 1

#10 jaro3376

    Życzliwy

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:23
  • Lokalizacja:moderóka
Offline

Napisano 15.08.2014 18:50

jak koledzy wyżej wszystko działa ale wiecie jeszcze jak zrobić menu od 3 rundy?


Drago36 (15.08.2014 19:36):
Dodam jak wrócę z wakacji.
Chyba, że znajdę kawiarenkę to uzupełnię.

  • +
  • -
  • 1

#11 radim

    Godlike

  • Moderator

Reputacja: 932
Master

  • Postów:2725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 19.08.2014 19:38


Twierdzę jedynie iż ten temat nie zakończy serii tematów o problemach z vip'em

Może z całym vipem nie, ale z samym menu tak, bo to tego owy temat dotyczy jak sama nazwa na to wskazuje. To że jest innych niepotrzebnych kodów i według Ciebie błędów, które trzeba naprawić to zrób poradnik (Jest już jeden temat Gwynka "Dobre i złe nawyki tworzenia menu" więc nie wiem po co tutaj te niepotrzebne spiny do Draga).

A co do samego generatora, po co wydawać coś co nawet 'nie działa' poprawnie i nikt się tym nie zajmie?

+ za fatygę ; )
  • +
  • -
  • 2

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#12 n-ty dzien

    Nowy

  • Pijawka

Reputacja: 4
Nowy

  • Postów:3
  • Lokalizacja:Kalisz
Offline

Napisano 26.09.2014 13:06

Niepotrzebnie tyle grzebania. Tutaj prosto i przyjemnie: http://amxx.pl/topic...a-z-generatora/


  • +
  • -
  • 1

#13 #3Skille Grease'M

    Zaawansowany

  • Użytkownik

Reputacja: 10
Początkujący

  • Postów:76
  • GG:
  • Imię:Sebastian
  • Lokalizacja:Szczecin
Offline

Napisano 28.09.2014 13:57

Je też wole Generator VIP ;P


  • +
  • -
  • 0

3Skille.pl

Wyjątkowa sieć serwerów

b_350_20_FFFFFF_FFFFFF_000000_FFFFFF.png

b_350_20_FFFFFF_FFFFFF_000000_FFFFFF.png

 

 






Również z jednym lub większą ilością słów kluczowych: naprawa, menu, vipa, poradnik

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych