JackEyedJones написа: ↑31 Юли 2019, 23:10Marinovv написа: ↑31 Юли 2019, 23:03 Плъгинът още в началото работеше крайно некоректно, но и сега виждам, че фиксиране няма.
В сървър, който съм наел сложих този плъгин и познай к'во! Купувам итемът от шопа на OciXCrom и златен модел, повече демидж и т.н. няма. Когато превключа на "ножа" се вижда златния модел на оръжието. Т.е. плъгинът е настроен вместо AWM на Knife май?!ItemDeploy беше настроен за weapon_knife, вероятно заради това. Сега е weapon_awp.Код за потвърждение: Избери целия код
#include <amxmodx> #include <cstrike> #include <customshop> #include <fakemeta> #include <fun> #include <hamsandwich> #if !defined m_pPlayer #define m_pPlayer 41 #endif #define PLUGIN_VERSION "1.0.2" #define V_MODEL "models/custom_shop/v_golden_awp.mdl" #define P_MODEL "models/custom_shop/p_golden_awp.mdl" additem ITEM_GOLDEN_AWP new g_bHasItem[33], g_szDamage[16], g_iBPAmmo public plugin_init() { register_plugin("CSHOP: Golden AWP", PLUGIN_VERSION, "OciXCrom") register_cvar("CRXSHOPGoldenAWP", PLUGIN_VERSION, FCVAR_SERVER|FCVAR_SPONLY|FCVAR_UNLOGGED) RegisterHam(Ham_Item_Deploy, "weapon_awp", "OnSelectAWP", 1) RegisterHam(Ham_TakeDamage, "player", "PreTakeDamage", 0) cshop_get_string(ITEM_GOLDEN_AWP, "Damage", g_szDamage, charsmax(g_szDamage)) g_iBPAmmo = cshop_get_int(ITEM_GOLDEN_AWP, "Backpack Ammo") } public plugin_precache() { ITEM_GOLDEN_AWP = cshop_register_item("goldenawp", "Golden AWP", 9500) cshop_set_string(ITEM_GOLDEN_AWP, "Damage", "+100%") cshop_set_int(ITEM_GOLDEN_AWP, "Backpack Ammo", 30) #if defined V_MODEL precache_model(V_MODEL) #endif #if defined P_MODEL precache_model(P_MODEL) #endif } public cshop_item_selected(id, iItem) { if(iItem == ITEM_GOLDEN_AWP) { g_bHasItem[id] = true if(get_user_weapon(id) == CSW_AWP) RefreshAWPModel(id) else if(!user_has_weapon(id, CSW_AWP)) give_item(id, "weapon_awp") cs_set_user_bpammo(id, CSW_AWP, g_iBPAmmo) } } public cshop_item_removed(id, iItem) { if(iItem == ITEM_GOLDEN_AWP) g_bHasItem[id] = false } public client_putinserver(id) g_bHasItem[id] = false public OnSelectAWP(iEnt) { new id = get_pdata_cbase(iEnt, m_pPlayer, 4) if(g_bHasItem[id] && is_user_connected(id)) RefreshAWPModel(id) } public PreTakeDamage(iVictim, iInflictor, iAttacker, Float:fDamage, iDamageBits) { if(is_user_alive(iAttacker) && iAttacker != iVictim && g_bHasItem[iAttacker]) SetHamParamFloat(4, math_add_f(fDamage, g_szDamage)) } RefreshAWPModel(const id) { #if defined V_MODEL set_pev(id, pev_viewmodel2, V_MODEL) #endif #if defined P_MODEL set_pev(id, pev_weaponmodel2, P_MODEL) #endif } Float:math_add_f(Float:fNum, const szMath[]) { static szNewMath[16], Float:fMath, bool:bPercent, cOperator copy(szNewMath, charsmax(szNewMath), szMath) bPercent = szNewMath[strlen(szNewMath) - 1] == '%' cOperator = szNewMath[0] if(!isdigit(szNewMath[0])) szNewMath[0] = ' ' if(bPercent) replace(szNewMath, charsmax(szNewMath), "%", "") trim(szNewMath) fMath = str_to_float(szNewMath) if(bPercent) fMath *= fNum / 100 switch(cOperator) { case '+': fNum += fMath case '-': fNum -= fMath case '/': fNum /= fMath case '*': fNum *= fMath default: fNum = fMath } return fNum }
Благодаря, но дава грешка при компилиране:
Код за потвърждение: Избери целия код
// C:\Games\Counter-Strike WaRzOnE\cstrike\addons\amxmodx\scripting\cshop_goldAWM.p(0) : fatal error 100: cannot read from file: "C:\Games\Counter-Strike WaRzOnE\cstrike\addons\amxmodx\scripting\cshop_goldAWM.p"