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.
jb_gangs (1).sma 35,94 KB 48 Ilość pobrań
jb_gangs (1).amxx
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.
|
Napisano 30.06.2019 11:50
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.
jb_gangs (1).sma 35,94 KB 48 Ilość pobrań
jb_gangs (1).amxx
Napisano 30.06.2019 13:00
Napisano 30.06.2019 15:37
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
?
Napisano 30.06.2019 19:12
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...
Napisano 01.07.2019 06:42
Napisano 01.07.2019 07:56
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.
Napisano 01.07.2019 12:44
public return_gang(id)
{
new aData[ GangInfo ];
ArrayGetArray( g_aGangs, g_iGang[ id ], aData );
return aData[ GangName ];
}
A tak? ![]()
public plugin_natives()
{
register_native("jb_return_gang","return_gang", 1)
}
I w pliku inc dodaj
native jb_return_gang(id)
Napisano 01.07.2019 14:37
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.
Napisano 01.07.2019 16:38
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]
Napisano 01.07.2019 16:47
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!
Napisano 17.07.2019 00:27
raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.0 użytkowników, 1 gości, 0 anonimowych