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

Problem z utworzeniem natywu w pluginie rang.


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

#1 TyQ

    Pomocny

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:64
Offline

Napisano 16.03.2021 13:09

Mam problem z utworzeniem natywu - mam plugin odpowiedzialny za rangi i chciałbym je wyświetlić w hud w drugim pluginie.

ranga[ranganum[id]] - opowiada za wyświetlanie rangi

 

Dodałem :

public plugin_natives()
{
	register_native("get_user_rangcsgo", "get_user_rangcsgo", 1)
}
public get_user_rangcsgo(id)
{
	return ranga[ranganum[id]]
}

W drugim pluginie odpowiedzialnym za hud dodałem

native get_user_rangcsgo(id);

i w hud Ranga : %s 

%s - get_user_rangcsgo(target)

Niestety nie działa plugin za hud generuje problemy

L 03/16/2021 - 13:09:37: [AMXX] Displaying debug trace (plugin "skiny_za_monety.amxx", version "2.2.1")
L 03/16/2021 - 13:09:37: [AMXX] Run time error 10: native error (native "get_user_rangcsgo")
L 03/16/2021 - 13:09:37: [AMXX] [0] skiny_za_monety_2k19v2.sma::ShowHUD (line 571)

O co może chodzić?


  • +
  • -
  • 0

#2 Toldi

    Czempion

  • Power User

Reputacja: 259
Wszechwidzący

  • Postów:841
  • Imię:Mateusz
  • Lokalizacja:wies
Offline

Napisano 16.03.2021 13:20

public plugin_natives()
{
    register_native("get_user_rangId", "_get_user_rangId", 1)
}
public _get_user_rangId(index)
{
	return ranga[ranganum[index]]
}

W pluginie od skinow nad plugin_init dodaj

native get_user_rangId(index);
native get_user_rangName(id_rangi, szTable[], iLen)

public plugin_init() 
{
...
}

To co podałeś zwraca tylko id rangi gracza. Musisz jeszcze pobrać nazwę tej rangi bo skąd ten plugin ma wiedzieć jakie rangi masz w tym pierwszym pluginie.

 

Więc tworzysz nowy natyw

register_native("get_user_rangName", "_get_user_rangName", 1)

a niżej funkcja:

public _get_user_rangName(id_rangi, szTable[], iLen)
{
	param_convert(2);
	
	if(id_rangi < 0){
		return -1;
	}
	
	copy(szTable, iLen, ranga[ranganum[id]]);
	
	return 1;
}

Sprawdź czy działa bo pisałem na szybkiego. Jak coś po robocie poprawie.

 

W hud: 

new rangName[32], rangId = get_user_rangId(target)
get_user_rangName(rangId, rangName, charsmax(rangName));

  • +
  • -
  • 1

#3 Toldi

    Czempion

  • Power User

Reputacja: 259
Wszechwidzący

  • Postów:841
  • Imię:Mateusz
  • Lokalizacja:wies
Offline

Napisano 17.03.2021 11:57

Piszę tu zamiast na pw bo innym może się przydać. Poprawiony kod. 

public _get_user_rangName(id_rangi, szTable[], iLen)
{
	param_convert(2);
	
	if(id_rangi < 0){
		return -1;
	}
	
	copy(szTable, iLen, ranga[id_rangi]);
	
	return 1;
}

Dodatkowo sam plugin od rang MUSI być włączony i najlepiej usuń/wyłącz sb w nim hud skoro chcesz rangę wyświetlać w pluginie od skinów.


  • +
  • -
  • 1

#4 TyQ

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:64
Offline

Napisano 17.03.2021 12:32

Piszę tu zamiast na pw bo innym może się przydać. Poprawiony kod. 

public _get_user_rangName(id_rangi, szTable[], iLen)
{
	param_convert(2);
	
	if(id_rangi < 0){
		return -1;
	}
	
	copy(szTable, iLen, ranga[id_rangi]);
	
	return 1;
}

Dodatkowo sam plugin od rang MUSI być włączony i najlepiej usuń/wyłącz sb w nim hud skoro chcesz rangę wyświetlać w pluginie od skinów.

 

Wyświetla się taki błąd w pluginie od skinow/hud:

L 03/17/2021 - 12:32:31: [AMXX] Displaying debug trace (plugin "skiny_za_monety.amxx", version "2.2.1")
L 03/17/2021 - 12:32:31: [AMXX] Run time error 10: native error (native "get_user_rangId")
L 03/17/2021 - 12:32:31: [AMXX] [0] skiny_za_monety_2k19v2.sma::ShowHUD (line 570)

I nie działa hud cały:

	new rangName[32], rangId = get_user_rangId(target)
	set_hudmessage(255, 127, 0, 0.02, 0.25, 0, 6.0, 1.0, 0.1, 0.1, -1);
	show_hudmessage(id, "Nick: %s^nSkin: [ %s ]^nMonety: %d^nRanga: %s", PlayerName[target], szPlayerSkin, cod_get_user_coins(target), get_user_rangName(rangId, rangName, charsmax(rangName)));

Linia 570:

new rangName[32], rangId = get_user_rangId(target)

  • +
  • -
  • 0

#5 Toldi

    Czempion

  • Power User

Reputacja: 259
Wszechwidzący

  • Postów:841
  • Imię:Mateusz
  • Lokalizacja:wies
Offline

Napisano 18.03.2021 13:41

Po co 2 raz pobierasz nazwę rangi skoro już ją pobrałeś wcześniej


new rangName[32], rangId = get_user_rangId(target)
get_user_rangName(rangId, rangName, charsmax(rangName));
 
set_hudmessage(255, 127, 0, 0.02, 0.25, 0, 6.0, 1.0, 0.1, 0.1, -1);
show_hudmessage(id, "Nick: %s^nSkin: [ %s ]^nMonety: %d^nRanga: %s", PlayerName[target], szPlayerSkin, cod_get_user_coins(target), rangName);

  • +
  • -
  • 1

#6 TyQ

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:64
Offline

Napisano 18.03.2021 14:59

 

Po co 2 raz pobierasz nazwę rangi skoro już ją pobrałeś wcześniej


new rangName[32], rangId = get_user_rangId(target)
get_user_rangName(rangId, rangName, charsmax(rangName));
 
set_hudmessage(255, 127, 0, 0.02, 0.25, 0, 6.0, 1.0, 0.1, 0.1, -1);
show_hudmessage(id, "Nick: %s^nSkin: [ %s ]^nMonety: %d^nRanga: %s", PlayerName[target], szPlayerSkin, cod_get_user_coins(target), rangName);

 

Nadal błąd:

L 03/18/2021 - 14:59:15: [AMXX] Displaying debug trace (plugin "skiny_za_monety.amxx", version "2.2.1")
L 03/18/2021 - 14:59:15: [AMXX] Run time error 10: native error (native "get_user_rangName")
L 03/18/2021 - 14:59:15: [AMXX] [0] skiny_za_monety_2k19v2.sma::ShowHUD (line 568)

Linia 568:

get_user_rangName(rangId, rangName, charsmax(rangName));

Użytkownik TyQ edytował ten post 18.03.2021 15:04

  • +
  • -
  • 0




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

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