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 38 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 38 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
0 użytkowników, 0 gości, 0 anonimowych