[ROZWIĄZANE] Dodanie natywu.
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.
jb_gangs (1).sma 35,94 KB 38 Ilość pobrań
Rivit
30.06.2019
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 ?
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...
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.
wonsz żeczny
01.07.2019
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)
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.
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]
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!
DarkGL
17.07.2019
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL