Błąd z deklaracją (?) lub odczytywaniem arraya w menu klas zombie.
Spoiler
Stworzyłem array'a
new Array:g_ZombieClassAccess
I zadeklarowałem go w plugin_natives
g_ZombieClassAccess = ArrayCreate(1, 1);
(1, 1) bo miał on zwracać/przetrzymywać liczbę całkowitą, a konkretniej 0/1/2 spośród których kolejno:
enum ACCESSS_TYPES
{
ACCESS_ALL = 0,
ACCESS_VIP,
ACCESS_SVIP
};
(Enum jest umieszczony w includ'zie, jeśli to ma jakieś znaczenie)
Dodałem do natywów
register_native("zp_class_zombie_register_access", "_zp_class_register_access");
public _zp_class_register_access(plugin_id, num_params)
{
new classid = get_param(1);
if(classid < 0 || classid >= g_ZombieClassCount)
{
log_error(AMX_ERR_NATIVE, "[ZP] Invalid zombie class id (%d)", classid)
return;
}
new access = get_param(2);
ArraySetCell(g_ZombieClassAccess, classid, ACCESSS_TYPES:access)
}
co miało 'rejestrować' dla klasy o indexie classid jakąś wartość spośród tych enum'owych, dlatego też
ACCESSS_TYPES:access)
Ale przy czytaniu Arraya, a konkretniej w tym miejscu (tworzenie menu z klasami zm)
new AccessString[64] = "", ACCESS_TYPES:value = ArrayGetCell(g_ZombieClassAccess, index); if(value > ACCESS_TYPES:ACCESS_ALL) formatex(AccessString, charsmax(AccessString), (value == ACCESS_TYPES:ACCESS_VIP ? (g_ForwardResult >= ZP_CLASS_NOT_AVAILABLE ? "\d[VIP]":"\r[VIP]\w") : (g_ForwardResult >= ZP_CLASS_NOT_AVAILABLE ? "\d[SVIP]" : "\r[SVIP]\w")) );
dostawałem błąd tego pokroju;
invalid cellvector handle provided (13:0:0)
Nie zależy mi na poradnikach jak ten; https://amxx.pl/topi...zombie-premium/
tylko na wyjaśnieniu problemu w tym konkretnym przypadku


Dodatki SourceMod













