←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

[ROZWIĄZANE] Dodanie natywu.

Zablokowany

  • +
  • -
Black004 - zdjęcie Black004 30.06.2019

Jak zrobić natyw w pluginie jb_gangs żeby jak go użyje w innym pluginie od HUD pokazywało nazwe gangu w jakim jest gracz.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Załączony plik  jb_gangs (1).sma   35,94 KB   38 Ilość pobrań

Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 30.06.2019

Jak najszybciej, a tak serio to popatrz sobie jak w codmod pobierana jest nazwa klasy czy perku. Tu się robi to identyczne
Odpowiedz

  • +
  • -
Black004 - zdjęcie Black004 30.06.2019

Jak najszybciej, a tak serio to popatrz sobie jak w codmod pobierana jest nazwa klasy czy perku. Tu się robi to identyczne

 

No dobra z tym sobie już poradziłem, ale mam jeszcze jeden problem, jak zrobić żeby był prefix nazwy gangu przed nickiem :/ ?

Odpowiedz

  • +
  • -
Black004 - zdjęcie Black004 30.06.2019

 

Nie pomogłeś, prefixy wiem jak robić, ale jak ten z gangu dodac to nie wiem, a jednak dodanie natywu też nie działa, przeliczyłem swoje zdolności... Mam takiego coś i to nie działa:

public plugin_natives()
{
	register_native("get_gang_name","return_gang", 1)
}

public return_gang(id, Return[], len){

	new aData[ GangInfo ];
	ArrayGetArray( g_aGangs, g_iGang[ id ], aData );
	{
	param_convert(2);
	copy(Return, len, aData[ GangName ]);
	}
}

A z prefixem próbowałem takie coś: 

public handleSayText(msgId, msgDest, msgEnt)
{
	new id = get_msg_arg_int(1);
	if(!is_user_connected(id)){     
	return PLUGIN_CONTINUE;
	}
	new aData[ GangInfo ];
	new szTmp[256], szTmp2[256];
	get_msg_arg_string(2, szTmp, charsmax(szTmp));
	ArrayGetArray( g_aGangs, g_iGang[ id ], aData );
	new szInt[10], szPrefix[64];
	num_to_str(g_iGang[ id ], szInt, 9);
	TrieGetString(aData[ GangName ], szInt, szPrefix, 11);

	if(!equal(szTmp,"#Cstrike_Chat_All")){
		add(szTmp2, charsmax(szTmp2), "^x01[");
		add(szTmp2, charsmax(szTmp2), szPrefix);
		add(szTmp2, charsmax(szTmp2), "] ");
		add(szTmp2, charsmax(szTmp2), szTmp);
	}
	else{
		new szPlayerName[64];
		get_user_name(id, szPlayerName, charsmax(szPlayerName));
		
		get_msg_arg_string(4, szTmp, charsmax(szTmp));
		set_msg_arg_string(4, "");
		
		add(szTmp2, charsmax(szTmp2), "^x01[");
		add(szTmp2, charsmax(szTmp2), szPrefix);
		add(szTmp2, charsmax(szTmp2), "]^x03 ");
		add(szTmp2, charsmax(szTmp2), szPlayerName);
		add(szTmp2, charsmax(szTmp2), "^x01 :  ");
		add(szTmp2, charsmax(szTmp2), szTmp)
	}
	
	set_msg_arg_string(2, szTmp2);
	return PLUGIN_CONTINUE;
}

To tak samo nie działa ahh...

Odpowiedz

  • +
  • -
Black004 - zdjęcie Black004 01.07.2019

Dobra, prefix udało mi się, został natyw. Ktoś może wie jak zrobić?
Odpowiedz

  • +
  • -
Black004 - zdjęcie Black004 01.07.2019

Próbowałem też tak:

public return_gang(g_aGangs, Return[], len)
{

	new aData[ GangInfo ];
	ArrayPushArray( g_aGangs, aData );
	{
	param_convert(2);
	copy(Return, len, aData[GangName]);
	}
}

Niestety to też nic nie pokazuje.

Odpowiedz

  • +
  • -
wonsz żeczny - zdjęcie wonsz żeczny 01.07.2019

public return_gang(id)
{
        new aData[ GangInfo ];
	ArrayGetArray( g_aGangs, g_iGang[ id ], aData );

        return aData[ GangName ];
}

A tak? :D

public plugin_natives()
{
	register_native("jb_return_gang","return_gang", 1)
}

I w pliku inc dodaj

native jb_return_gang(id)
Odpowiedz

  • +
  • -
Black004 - zdjęcie Black004 01.07.2019

Niestety też nie działa, wyświetla nie wiem w sumie co ścieżki chyba do róznych modeli haha np:. "OOayer/die1.wav" Coś w tym stylu.

Odpowiedz

  • +
  • -
Toldi - zdjęcie Toldi 01.07.2019

Masz mój kod przerób pod swoje potrzeby

 

Rejestracja natywu

register_native("get_user_gangname", "_zwroc_nazwe_gangu", 1);

Kod natywu.

public _zwroc_nazwe_gangu(index, szTable[], iLen)
{
	param_convert(2);
	copy(szTable, iLen, Nazwa_Skina_gracza[index]); // tu wstaw zmienna, ktora przechowuja nazwe gangu gracza
	
	return 1;
}

Musisz sprawdzić czy gracz posiada gang. Jeżeli nie to 

else copy(szTable, iLen, "Brak");

W pluginie od hud pod plugin_init dodaj

native get_user_gangname(id, szTable[], iLen)

W funkcji, która wyświetla hud

new gang[32]
get_user_gangname(id, gang, charsmax(gang))

lub możesz zrobić to raz np. przy połączeniu się gracz z serwerem jednakże w takim przypadku aktualizacja nazwy gangu będzie co połączenie.

 

Nad plugin_init 

new PlayerGangName[33][32];

potem

public client_connect(id)
{
get_user_gangname(id, PlayerGangName[id], charsmax(PlayerGangName[]));
}

a w hud już tylko wstawiasz w odpowiednim miejscu PlayerGangName[id]

Odpowiedz

  • +
  • -
Black004 - zdjęcie Black004 01.07.2019

Masz mój kod przerób pod swoje potrzeby

 

Rejestracja natywu

register_native("get_user_gangname", "_zwroc_nazwe_gangu", 1);

Kod natywu.

public _zwroc_nazwe_gangu(index, szTable[], iLen)
{
	param_convert(2);
	copy(szTable, iLen, Nazwa_Skina_gracza[index]); // tu wstaw zmienna, ktora przechowuja nazwe gangu gracza
	
	return 1;
}

Musisz sprawdzić czy gracz posiada gang. Jeżeli nie to 

else copy(szTable, iLen, "Brak");

W pluginie od hud pod plugin_init dodaj

native get_user_gangname(id, szTable[], iLen)

W funkcji, która wyświetla hud

new gang[32]
get_user_gangname(id, gang, charsmax(gang))

lub możesz zrobić to raz np. przy połączeniu się gracz z serwerem jednakże w takim przypadku aktualizacja nazwy gangu będzie co połączenie.

 

Nad plugin_init 

new PlayerGangName[33][32];

potem

public client_connect(id)
{
get_user_gangname(id, PlayerGangName[id], charsmax(PlayerGangName[]));
}

a w hud już tylko wstawiasz w odpowiednim miejscu PlayerGangName[id]

 

Dzięki przydał mi się twój kod co prawda musiałem go trochę zedytować, ale wszystko działa ! Dzięki!

Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 17.07.2019

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
Odpowiedz
Zablokowany