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
}


Dodatki SourceMod












