Skocz do zawartości

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
 

JaTylkoPytam:) - zdjęcie

JaTylkoPytam:)

Rejestracja: 12.12.2019
Aktualnie: Nieaktywny
Poza forum Ostatnio: 07.08.2020 13:31
-----

#767654 Problem z "Menu Sklepu"

Napisane przez dasiek w 02.07.2020 05:25

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Temat zamknięty na prośbę użytkownika.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 1


#767636 Problem z "Menu Sklepu"

Napisane przez dasiek w 01.07.2020 06:59

switch(key)
	{
		case 0:	{
		menu_display(id, menugra, 0;)
		}
		case 1:	{
		menu_display(id, menuhp, 0;)
		}
	}

Błąd składni. Średniki masz przed zamknięciem nawiasów. Po drugie (z errorów wnioskując) odwołujesz się do nie isntniejacych zmiennych w menu_display (menugra, menuhp). Pozwoliłem Sobie na mały refactor kodu, kompilator ruski krzyczy, że się kompiluje, proszę sprawdzić.

 

#include <amxmodx>
#include <engine>
#include <cstrike>
#include <fun>
#include <colorchat>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>

#define PLUGIN "Sklep"
#define VERSION "1.0"
#define AUTHOR "Chicken123"

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

	register_clcmd("say /menu","glowne");
}
public glowne(id)
{
	new menus = menu_create("Menu Sklepu:","sklep");
	menu_additem(menus,"Granaty","1",0);
	menu_additem(menus,"HP & Armor","2",0);
	
	menu_setprop(menus,MPROP_EXIT,MEXIT_ALL);
	menu_display(id,menus,0);
}
public generateMenugra(){
	new menugra = menu_create("Wybierz Granat:","granaty");
	menu_additem(menugra,"HE","1",0);
	menu_additem(menugra,"SMOKE","2",0);
	menu_additem(menugra,"FLASH","3",0);
	
	menu_setprop(menugra,MPROP_EXIT,MEXIT_ALL);
	return menugra;
}
public menugra(id)
{
	new menugra = generateMenugra();
	menu_display(id,menugra,0);
}
public generateMenuhp() {
	new menuhp = menu_create("Wybierz Granat:","hp");
	menu_additem(menuhp,"+200 HP","1",0);
	menu_additem(menuhp,"+100 Armor","2",0);
	
	menu_setprop(menuhp,MPROP_EXIT,MEXIT_ALL);
	return menuhp;
}
public menuhp(id)
{
	new menuhp = generateMenuhp();
	menu_display(id,menuhp,0);
}
public sklep(id, key, menu)
{ 	
	if(key == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new data[6], iName[64];
	new access, callback;
	
	menu_item_getinfo(menu, key, access, data,5, iName, 63, callback);
	
	new key = str_to_num(data);
	
	switch(key)
	{
		case 0:	{
			new menugra = generateMenugra();
			menu_display(id, menugra, 0);
		}
		case 1:	{
			new menuhp = generateMenuhp();
			menu_display(id, menuhp, 0);
		}
	}
	return PLUGIN_CONTINUE;
}

public granaty(id, key, menu)
{ 	
	if(key == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new data[6], iName[64];
	new access, callback;
	
	menu_item_getinfo(menu, key, access, data,5, iName, 63, callback);
	
	new key = str_to_num(data);
	
	switch(key)
	{
		case 0:	{give_item(id, "weapon_hegrenade");}
		case 1:	{give_item(id, "weapon_smokegrenade");}
		case 2: {give_item(id, "weapon_flashbang");}
	}
	return PLUGIN_CONTINUE;
}
public hp(id, key, menu)
{ 	
	if(key == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new data[6], iName[64];
	new access, callback;
	
	menu_item_getinfo(menu, key, access, data,5, iName, 63, callback);
	
	new key = str_to_num(data);
	
	switch(key)
	{
		case 0:	{fm_set_user_health(id, get_user_health(id) + 200);}
		case 1:	{fm_set_user_armor(id, get_user_armor(id) + 100);}
	}
	return PLUGIN_CONTINUE;
}

  • +
  • -
  • 1


#763935 Nie działa mi vip z generatora - co robić?

Napisane przez Rivit w 11.01.2020 12:40

1. O czym mowa?

No dobra, wygenerowałem sobie vipa z generatora, wgrywam na serwer i NIE DZIAŁA!!!!

 

2. Jak naprawić?

Dobra, zamiast spamić zaraz na forum to najpierw spróbuj sam coś wykminić.
Są dwa główne problemy.
  • niekompatybilność wersji AMXX, vip z generatora jest robiony pod AMXX 1.9, na niższych nie ruszy, bądź będzie błąd
  • problem z kompilacją, jak wyżej, bo jak użyjesz kompilatora w wersji niższej niż 1.9 to się nie skompiluje

 

No to jazda. Zaczynamy od problemów typu 1, czyli wgrywasz na serwer i nie działa.

Co musisz sprawdzić? Wpisz w konsole serwera: 'amxx plugins' i dostaniesz listę pluginów, które działają na serwerze. Szukasz tam swojego vipa i patrzysz jaki ma status.

Przykładowy wycinek:

Spoiler

 

i widzimy na koncu listy naszego vipa. Ma status 'bad load', a poniżej (czyli na końcu listy) widzimy jaki błąd wystąpił

Błąd jest popularny i co z nim zrobić jest opisane tutaj: https://amxx.pl/topi...mat-or-version/ , ale będziesz musiał zrobić dodatkowy krok, który opiszę poniżej.

 

 

Problemy typu 2, czyli problem z kompilacją lokalną vipa z generatora (pamiętaj, żeby użyć kompilatora w wersji zgodnej z twoją wersją AMXX na serwerze - opisane w linku powyżej). Jak już mówiłem - vip z generatora jest pod AMXX 1.9, ale to nie problem przerobić go na niższe.

Najpopularniejszym błędem kompilacji jest:

//// vip.sma
// D:\Compiler_zlecenia\vip.sma(43) : error 025: function heading differs from prototype
// D:\Compiler_zlecenia\vip.sma(527) : error 088: number of arguments does not match definition
//
// 2 Errors.
// Could not locate output file compiled\vip.amx (compile failed).
//
// Compilation Time: 0.41 sec
// ----------------------------------------

najważniejsze informacje z tego płynące to: vip.sma(43) i vip.sma(527)

Rozwiązanie problemu:

Spoiler

 

Jak będą jakieś inne błędy, które są proste w naprawie to postaram się je załączyć tutaj, póki co tyle ode mnie, pozdrawiam serderznie ;)

Załączam przykładowy plik vip.sma, który był użyty do tutoriala.

Załączone pliki


  • +
  • -
  • 12


#765082 Menu Broni

Napisane przez Rivit w 13.03.2020 21:03

Głupi pomysł - spróbuj w plugins.ini dać sklep niżej niż starchaser, jak to nie poradzi to sprawdzę u siebie i napisze jutro lub w niedzielę
  • +
  • -
  • 1


#765084 Menu Broni

Napisane przez Rivit w 13.03.2020 21:29

ehh, chyba sie starzeje. Literówka, błąd no i jak ma działac.

 

Łap poprawiona wersje. plugin na bronie jest ok

Testowałem i działa (dodaje bron)

Załączone pliki


  • +
  • -
  • 1


#765086 Menu Broni

Napisane przez Rivit w 13.03.2020 22:04

Niestety nie jest to zawsze takie schematyczne. Czasem trzeba coś więcej dopisać. Ale generalnie to wygląda zawsze tak:

stworzenie natywu i podpiecie go do funkcji, która dodaje jakąś bron (zazwyczaj ona jest gotowa i wystarczy tylko spiąć, ale czasem trzeba cos dopisac bo jest jakos inaczej zrobione)

no i potem uzycie stworzonego natywu


  • +
  • -
  • 1


#765076 Menu Broni

Napisane przez Rivit w 13.03.2020 18:13

Łap.

 

Aby użyć w swoim sklepie/pluginie tego natywu co dorobiłem musisz na samej górze pluginu pod #include'ami dodać:

native give_starchaserar(id)

A potem jak chcesz komuś dać to używasz:

give_starchaserar(id)

Testuj

Załączone pliki


  • +
  • -
  • 1


#765070 Menu Broni

Napisane przez Rivit w 12.03.2020 21:39

Nieee, chodzi mi o to czy chcesz żeby każdy aug był tą customową bronią.

 

Bo można zrobić drugi wariant - czyli używasz funkcji (nie flagi), która ustawia graczowi to, że jego aug staje sie tym starchaserem. Coś na wzór sklepu - kupujesz to masz, nie kupujesz to masz zwyklego auga


  • +
  • -
  • 1


#765065 Menu Broni

Napisane przez Rivit w 12.03.2020 16:49

Ta broń jest zrobiona na bazie aug, więc spróbuj użyć weapon_aug.
Możliwe że po dodaniu trzeba będzie zmienić broń na inną i dopiero wyciągnąć tą docelowa żeby się ustawił model itp
  • +
  • -
  • 2