Witam
Prob stworzyć system skinów, plik ładnie się kompiluje ale wywala dziwne logi:
L 04/23/2017 - 15:55:53: Expected 0 parameters, got 2 L 04/23/2017 - 15:55:53: [AMXX] Displaying debug trace (plugin "cod_systemskinow.amxx") L 04/23/2017 - 15:55:53: [AMXX] Run time error 10: native error (native "ExecuteForward") L 04/23/2017 - 15:55:53: [AMXX] [0] cod_systemskinow.sma::UstawSkin (line 115) L 04/23/2017 - 15:55:53: [AMXX] [1] cod_systemskinow.sma::UsunUmiejetnosci (line 78) L 04/23/2017 - 15:55:53: [AMXX] [2] cod_systemskinow.sma::client_disconnect (line 74)
Funkcja "UstawSkin":
public UstawSkin(id, skin, pokaz_info) { if(!ilosc_skinow) return PLUGIN_CONTINUE; static obroty[33]; if(obroty[id]++ >= 5) { UstawSkin(id, 0, 0); obroty[id] = 0; return PLUGIN_CONTINUE; } skin = (skin == -1)? random_num(1, ilosc_skinow): skin; new ret; new forward_handle = CreateOneForward(pluginy_skinow[skin_gracza[id]], "cod_skin_disabled", FP_CELL, FP_CELL); ExecuteForward(forward_handle, ret, id, skin); DestroyForward(forward_handle); skin_gracza[id] = 0; forward_handle = CreateOneForward(pluginy_skinow[skin], "cod_skin_enabled", FP_CELL, FP_CELL, FP_CELL); ExecuteForward(forward_handle, ret, id, skin); DestroyForward(forward_handle); if(ret == 4) { UstawSkin(id, -1, 1); return PLUGIN_CONTINUE; } ExecuteForward(skin_zmieniony, ret, id, skin); if(ret == 4) { UstawSkin(id, 0, 0); return PLUGIN_CONTINUE; } skin_gracza[id] = skin; obroty[id] = 0; if(pokaz_info && skin_gracza[id]) ColorChat(id, GREEN, "[COD:MW3]^x01 Zdobyles^x03 Skin - %s.", nazwy_skinow[skin_gracza[id]]); return PLUGIN_CONTINUE; }
Funkcja "UsunUmiejetnosci":
public UsunUmiejetnosci(id) UstawSkin(id, 0, 0);
Funkcja "client_disconnect":
public client_disconnect(id) { UsunUmiejetnosci(id); }
Skin:
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <codmod> #include <engine> #include <fakemeta> #include <skiny> new const nazwa[] = "Assimov" new ma_skin[33] public plugin_init() { register_plugin(nazwa, "1.0", "PyRa") register_skin(nazwa) register_event("CurWeapon", "ModelBroni_CurWeapon", "be", "1=1"); register_forward(FM_SetModel, "ModelBroni_fw_SetModel"); } public plugin_precache() { precache_model("models/csds/cod/ak47/v_Assimov.mdl"); } public skin_enabled(id) { ma_skin[id] = true; } public skin_disabled(id) { ma_skin[id] = false; } public ModelBroni_CurWeapon(id) { new weapon = read_data(2); if(ma_skin[id]) { if(weapon == CSW_AK47) { set_pev(id, pev_viewmodel2, "models/cod/ak47/v_Assimov.mdl") } } } public ModelBroni_fw_SetModel(entity, model[]) { if(!pev_valid(entity)) return FMRES_IGNORED if(!equali(model, "models/w_ak47.mdl")) return FMRES_IGNORED; new entityowner = pev(entity, pev_owner); if(!ma_skin[entityowner]) return FMRES_IGNORED; engfunc(EngFunc_SetModel, entity, "") return FMRES_SUPERCEDE }