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
 

Zdjęcie

[ROZWIĄZANE] Dodatkowa opcja w menu (opis)


  • Zamknięty Temat jest zamknięty
3 odpowiedzi w tym temacie

#1 DEADP00L

    Profesjonalista

  • Użytkownik

Reputacja: 212
Profesjonalista

  • Postów:169
  • Steam:steam
  • Imię:Bart
  • Lokalizacja:United Kingdom
Offline

Napisano 20.03.2021 18:53

Otóż mam taki kod w pluginie z Exp Modem:

 

 

Kawałek kodu wyciągniętego z menu:

	n += formatex(menu_body[n], len - n, "\y^nStrona: \w%d/%d^n^n",skill_page[id] + 1, max_pages);
	for(new i = (skill_page[id] * 4); i < ((skill_page[id] * 4) + 4); i++) {
		new item_num = (i + 1) - (skill_page[id] * 4);
		new pri_sec[16]
		if(is_primary[i])
			format(pri_sec, 15, "(Czapka)");
		else if(is_secondary[i])
			format(pri_sec, 15, "(Zbroja)");
		else if(is_melee[i])
			format(pri_sec, 15, "(Buty)");
		else if(is_bonus[i])
			format(pri_sec, 15, "(Bonus)");
		if(playerlevel[id] >= req_level[i])
			n += formatex(menu_body[n], len - n, "\y%i.\w %s: %d/%d %s^n", item_num, levelup_skill[i], player_skill[i][id], levelup_skill_max[i], pri_sec);
		else
			n += formatex(menu_body[n], len - n, "\y%i.\r %s: %d/%d \y(Poziom %i) %s^n", item_num, levelup_skill[i], player_skill[i][id], levelup_skill_max[i], req_level[i], pri_sec);
		if(i == num_skills - 1) {
			lastpage[id] = true;
			break;
		}
	}

Natyw używanych w dodatkowych pluginach

public native_create_skill(plugin, params)
{
	new str[31];
	get_string(1, str, 30);
	format(levelup_skill[num_skills], 30, "%s", str);
	levelup_skill_max[num_skills] = get_param(2);
	new string[7];
	num_to_str(num_skills, string, 6);
	set_string(3, string, 6);
	req_level[num_skills] = get_param(4);
	num_skills++;
}

Poniżej załączam screenshota menu umiejętności:

amxx.png

 

 

Tak wygląda natyw używany w innym pluginie, który tworzy nam nowy przedmiot i wyświetla go w menu powyżej:

public plugin_precache(){
	new skillid[7];
	create_skill("Wpierdolka", MAX_LEVEL, skillid, REQ_LEVEL);
	skill_id = str_to_num(skillid);
	make_primary(skill_id);
}

Natomiast ja chciałbym dodać teraz dodatkowo opis dla każdego przedmiotu:

 

Zrobiłem to w taki sposób, ale nie mam bladego pojęcia jak zmienić to w natywie i ewentualnie w powyższym kodzie menu.

create_skill("Wpierdolka", MAX_LEVEL, skillid, REQ_LEVEL, "\r+10% do predkosci, unikalny wyglad");

Czekam na wasze podpowiedzi. Z góry dziękuje! 


  • +
  • -
  • 0

#2 Zuzza

    Pomocny

  • Girl

Reputacja: 48
Pomocny

  • Postów:44
  • Imię:Zuzza
  • Lokalizacja:Sosowiec
Offline

Napisano 20.03.2021 19:16

public native_create_skill(plugin, params)
{
	new str[31];
	get_string(1, str, 30);
	format(levelup_skill[num_skills], 30, "%s", str);
	levelup_skill_max[num_skills] = get_param(2);
	new string[7];
	num_to_str(num_skills, string, 6);
	set_string(3, string, 6);
	req_level[num_skills] = get_param(4);

	get_string(5, levelup_desc[num_skills], 30);

	num_skills++;
}

Za pomocą instrukcji 

get_string(param, dest[], maxlen)

Pobierasz dane z parametru o podanym numerze i wpiujesz je do swojej tablicy znakow.

 

W kodzie powyżej dodałam te instrukcje :

get_string(5, levelup_desc[num_skills], 30);

Potrzebujesz więc stworzyć tablice dla opisów tej umiejętności:

new levelup_desc[ILOSC_SKILLI][MAX_DLUGOSC_TEKSTU]

Jeżeli to dodasz to będziesz śmiało mógł używać tak jak pokazałeś:

create_skill("Wpierdolka", MAX_LEVEL, skillid, REQ_LEVEL, "\r+10% do predkosci, unikalny wyglad");

Patrząc na to można się zastanowić czy format jest tu w ogóle potrzebny, można to zrobić bez tego tak jak pokazalam.

new str[31];
get_string(1, str, 30);
format(levelup_skill[num_skills], 30, "%s", str);

Użytkownik Zuzza edytował ten post 20.03.2021 19:19

  • +
  • -
  • 1

Parę moich rzeczy możesz zobaczyć na mojej stronie Zuzzart, oraz moim kanale youtube

 


#3 DEADP00L

    Profesjonalista

  • Autor tematu
  • Użytkownik

Reputacja: 212
Profesjonalista

  • Postów:169
  • Steam:steam
  • Imię:Bart
  • Lokalizacja:United Kingdom
Offline

Napisano 20.03.2021 19:23

Zrobiłem wszystko według twojego poradnika i śmiga. Dziękuje pięknie! 


  • +
  • -
  • 0

#4 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Online

Napisano 22.03.2021 06:34

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, report.png raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


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




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

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