Native Jak zwrócić string ?
Eryk172
18.11.2014
Witam, mam taki natyw:
public plugin_natives() { register_native("gang_GetUserGang", "PobierzNazweGangu", 1); } public PobierzNazweGangu(id) { if(g_iGang[ id ] > -1) { static aData[ GangInfo ]; ArrayGetArray( g_aGangs, g_iGang[ id ], aData ); return aData[ GangName ]; } return -1; }
Oczywiście nie zwraca w ogóle nazwy...
Użytkownik Eryk172 edytował ten post 18.11.2014 16:47
Eryk172
18.11.2014
public PobierzNazweGangu(id, szGang[]) { if(g_iGang[ id ] > -1) { static aData[ GangInfo ]; ArrayGetArray( g_aGangs, g_iGang[ id ], aData ); return aData[ GangName ]; } return -1; }
Dobrze zrozumiałem ?
Później, aby wywołać to:
new szGang[64];
PobierzNazweGangu(id, szGang)
ColorChat(id, GREEN, "Twoj gang to: %s", szGang");
GwynBleidD
18.11.2014
1. funkcje w pawn potrafią zwrócić WYŁĄCZNIE pojedynczą zmienną
2. String/łańcuch/napis w pawn NIE jest pojedynczą zmienną, ale tablicą
3. Tablicę przekazaną jako parametr do funkcji można modyfikować.
Podsumowując: przekazać, przekazałeś ale zamiast ją modyfikować, nadal próbujesz zwrócić wynik returnem.
I pamiętaj: pawn nie przekazuje w takim wypadku maksymalnej wielkości tablicy, więc musisz przekazać ją oddzielnie sam!
grankee
19.11.2014
http://amxx.pl/topic/20034-natywy/
Użytkownik grankee edytował ten post 19.11.2014 05:26