Дата: Среда, 02.05.2018, 19:22 | Сообщение #
17
Блатной фраерок :D
Профи-ветеран
Offline
Цитата MAMA (
)
Идеал-вип юзайте (Там есть)
Идеал вип так себе, лучше неугомоновский плаг альтернатива Ultimate Weapon (скальпельского)
Дата: Среда, 02.05.2018, 22:02 | Сообщение #
18
Профи
Offline
dimonche174 , очевидно плагины с оружием. Какие тебе нужны. Но по-моему так менять код немного надо(вроде)Добавлено (02.05.2018, 22:02) ---------------------------------------------belan02 , У нас с тобой дискуссия не в чате. Терпила, за слова не вывозишь, сразу сливаешься в чат, ко всем. Ты не забывай то, что когда ты пишешь мне, мол я интернет(мониторный) герой, ты сам находишься в интернете. Если в тебе столько дури, то приезжай ко мне в город, я тебя встречу) Хотя, глядя на то, что ты пишешь, вырисовываеться визуальная картинка, где видно, что разговор здесь бесполезен...
Дата: Четверг, 03.05.2018, 05:47 | Сообщение #
19
Любитель
Offline
Mandar1n , Я хочу вырезать часть кода, который отвечает за возможность поднятия обычным игроком оружия со скином. Которое выкинул вип
Дата: Четверг, 03.05.2018, 06:06 | Сообщение #
20
Блатной фраерок :D
Профи-ветеран
Offline
Цитата Mandar1n (
)
belan02, У нас с тобой дискуссия не в чате. Терпила, за слова не вывозишь, сразу сливаешься в чат, ко всем. Ты не забывай то, что когда ты пишешь мне, мол я интернет(мониторный) герой, ты сам находишься в интернете. Если в тебе столько дури, то приезжай ко мне в город, я тебя встречу) Хотя, глядя на то, что ты пишешь, вырисовываеться визуальная картинка, где видно, что разговор здесь бесполезен...
Ты продолжаешь вести закрытую не актуальную тему,ты не интересен, продолжать с тобой вести общение нет смысла, ты ничего полезного не сказал, твоё существование бесполезно. На это сообщение отвечать не нужно.
Дата: Четверг, 03.05.2018, 10:11 | Сообщение #
21
Профи
Offline
belan02 , Какой же ты тупой) Господи, извини что подумал, что с тобой можно ввести беседу)))) Запреты своему сыну будешь ставить, такой же тряпке как и ты. Закрытую тему xDDDDDDDDD не актуальную xDDDDDDDDDDD ты не интересен ахахахахха я ему объясняю за слова, а она говорит не интересен хпхахах. Лан Васька, внатуре ты слабоумный молокосос.
Дата: Четверг, 03.05.2018, 16:13 | Сообщение #
23
Профи
Offline
dimonche174 , Ну там же ничего сложного нет.
#include <amxmodx> #include <fakemeta> #include <hamsandwich> #define PLUGIN_NAME "V.I.P Custom AK-47" // don't change this! #define PLUGIN_VERSION "1.0.0" // version for "V.I.P Custom Weapons" #define PLUGIN_AUTHOR "Vaqtincha" #define get_weapon_owner(%1) get_pdata_cbase(%1, m_pPlayer, XO_WEAPON) #define fm_get_user_money(%1) get_pdata_int(%1, m_iAccount, XO_PLAYER) #if AMXX_VERSION_NUM < 183 #define HasShield(%1) (get_pdata_int(%1, m_iUserPrefs, XO_PLAYER) & m_bHasShield) #else #define HasShield(%1) get_pdata_bool(%1, m_bHasShield) #endif #define IsPlayer(%1) ( 1 <= (%1) <= giMaxPlayers ) #define MAX_PLAYERS 32 /*-----------------------------------------------------------------*/ #define WP 8496 new const weapon_name[] = "weapon_ak47" new const ammo_type[] = "762nato" new const max_bpammo[] = 90 new const buy_cmd[] = "say /ak" new const weapon_id = CSW_AK47 new const V_MODEL[] = "models/custom/v_ak47.mdl" // view weapon model new const P_MODEL[] = "models/custom/p_ak47.mdl" // player weapon model new const W_MODEL[] = "models/custom/w_ak47.mdl" // world weapon model new const W_DEF_MODEL[] = "models/w_ak47.mdl" // default world model /*-----------------------------------------------------------------*/ static buyaccess new weapcost, droptype, alw_round_buy, accuracy_fix new Float:damage, inbuyzone, buytime new Float:g_GameTime new bool:g_HasWeap[MAX_PLAYERS + 1] = false new bool:g_buyzone[MAX_PLAYERS + 1] new giCounter, giMaxPlayers const PRIMARY_WEAPONS_BIT_SUM = 1<<CSW_SCOUT|1<<CSW_XM1014|1<<CSW_MAC10|1<<CSW_AUG|1<<CSW_UMP45 |1<<CSW_SG550|1<<CSW_GALIL|1<<CSW_FAMAS|1<<CSW_AWP|1<<CSW_MP5NAVY|1<<CSW_M249|1<<CSW_M3 |1<<CSW_M4A1|1<<CSW_TMP|1<<CSW_G3SG1|1<<CSW_SG552|1<<CSW_AK47|1<<CSW_P90 const SECONDARY_WEAPONS_BIT_SUM = 1<<CSW_P228|1<<CSW_ELITE|1<<CSW_FIVESEVEN|1<<CSW_USP|1<<CSW_GLOCK18|1<<CSW_DEAGLE // Offsets #if AMXX_VERSION_NUM < 183 const m_bHasShield = 1<<24 const m_iUserPrefs = 510 #else const m_bHasShield = 2043 #endif const m_flAccuracy = 62 const m_pPlayer = 41 const XO_PLAYER = 5 const XO_WEAPON = 4 const m_pActiveItem = 373 // const m_rgpPlayerItems_wpnbx_slot2 = 36 // secondary weapon slot const m_rgpPlayerItems_wpnbx_slot1 = 35 // primary weapon slot #if cellbits == 32 const m_iAccount = 115 #else const m_iAccount = 140 #endif public plugin_init() { register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR) giMaxPlayers = get_maxplayers() register_clcmd( buy_cmd, "GiveWeapon") // don't change this! // Events register_event("DeathMsg", "Death", "a") register_forward(FM_SetModel, "fw_SetModel") RegisterHam(Ham_Item_Deploy, weapon_name, "fw_ItemDeploy_Weap_Post", 1) RegisterHam(Ham_Item_AttachToPlayer, weapon_name, "fw_Item_AttachToPlayer_Pre", 0) RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage_Pre", 0) RegisterHam(Ham_Weapon_PrimaryAttack, weapon_name, "fw_Weapon_PrimaryAttack_Pre", 0) } public plugin_precache() { precache_model(V_MODEL) precache_model(P_MODEL) precache_model(W_MODEL) } public event_buyzone_icon(id) { g_buyzone [id]= bool:read_data(1) } public client_putinserver(id) { g_HasWeap [id]= false } public client_disconnect(id) { g_HasWeap [id]= false if(inbuyzone) { g_buyzone [id]= false } } public Event_NewGame() { giCounter = 0 new iPlayers[32], iNum get_players(iPlayers, iNum ) for ( --iNum; iNum >= 0; --iNum ) { g_HasWeap[iPlayers[iNum]] = false } } public Death() { g_HasWeap[read_data(2)] = false } public GiveWeapon(id) { drop_weapons(id, 1) g_HasWeap [id]= true fm_give_item(id, weapon_name) ExecuteHamB(Ham_GiveAmmo, id, max_bpammo, ammo_type, max_bpammo) engclient_cmd(id, weapon_name) } public fw_ItemDeploy_Weap_Post(ent) { new iPlayer = get_weapon_owner(ent) if(iPlayer > 0 && g_HasWeap[iPlayer]) { set_pev(iPlayer, pev_viewmodel2, V_MODEL) set_pev(iPlayer, pev_weaponmodel2, P_MODEL) } return HAM_IGNORED } public fw_Weapon_PrimaryAttack_Pre(ent) { new iPlayer = get_weapon_owner(ent) if(iPlayer > 0 && g_HasWeap[iPlayer]) { set_pdata_float(ent, m_flAccuracy, 0.0, XO_WEAPON) } } public fw_Item_AttachToPlayer_Pre(ent, id) { if ( pev (ent, pev_impulse)==WP) g_HasWeap [id]= true if( get_pdata_cbase(id, m_pActiveItem) != ent) { return HAM_IGNORED } fw_ItemDeploy_Weap_Post(ent) return HAM_IGNORED } public fw_SetModel(ent, model[]) { new id = pev (ent, pev_owner) if( pev_valid(ent)) { if( equal(model, W_DEF_MODEL)) { new weapon = get_pdata_cbase(ent, m_rgpPlayerItems_wpnbx_slot1, XO_WEAPON) if(weapon > 0 && pev(weapon, pev_impulse)==WP) { g_HasWeap [id]= false engfunc(EngFunc_SetModel, ent, W_MODEL ) return FMRES_SUPERCEDE } } } return FMRES_IGNORED } public fw_TakeDamage_Pre(victim, inflictor, attacker, Float:fdamage, damage_bits) { if(!(damage_bits & DMG_BULLET)||!IsPlayer(attacker)|| get_user_weapon(attacker) != weapon_id) return HAM_IGNORED if(g_HasWeap [attacker]&& attacker == inflictor ) { SetHamParamFloat(4, fdamage * damage) return HAM_HANDLED } return HAM_IGNORED } //================================ STOCKS ==============================// stock drop_weapons(id, dropwhat) { static weapons[32], num, i, weaponid num = 0 get_user_weapons(id, weapons, num) for (i = 0; i < num; i++) { weaponid = weapons if((dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM || HasShield(id))) || (dropwhat == 2 && ((1<<weaponid) & SECONDARY_WEAPONS_BIT_SUM))) { static wname[32] get_weaponname(weaponid, wname, charsmax(wname)) switch(droptype) { case 0: ham_strip_weapon(id, wname) case 1: engclient_cmd(id, "drop", wname) } } } } stock fm_give_item(index, const item[]) { if (!equal(item, "weapon_", 7) && !equal(item, "ammo_", 5) && !equal(item, "item_", 5)) return 0 new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, item)) if (!pev_valid(ent)) return 0 new Float:origin[3] pev(index, pev_origin, origin) set_pev(ent, pev_origin, origin) set_pev(ent, pev_spawnflags, pev(ent, pev_spawnflags) | SF_NORESPAWN) set_pev(ent, pev_impulse, WP) dllfunc(DLLFunc_Spawn, ent) new save = pev(ent, pev_solid) dllfunc(DLLFunc_Touch, ent, index) if (pev(ent, pev_solid) != save) return ent engfunc(EngFunc_RemoveEntity, ent) return -1 } stock ham_strip_weapon(id,weapon[]) { if(!equal(weapon,"weapon_",7)) return 0 new wId = get_weaponid(weapon) if(!wId) return 0 new wEnt while((wEnt = engfunc(EngFunc_FindEntityByString, wEnt, "classname", weapon)) && pev(wEnt, pev_owner) != id) {} if(!wEnt) return 0 new iTmp if(get_user_weapon(id, iTmp, iTmp) == wId) ExecuteHamB(Ham_Weapon_RetireWeapon, wEnt) if(!ExecuteHamB(Ham_RemovePlayerItem, id, any:wEnt)) return 0 ExecuteHamB(Ham_Item_Kill, wEnt) set_pev(id, pev_weapons, pev(id, pev_weapons) & ~(1<<wId)) return 1 } /* stock fm_set_user_money(client, money, flash=1) { set_pdata_int(client, m_iAccount, money, XO_PLAYER) static Money if( Money || (Money = get_user_msgid("Money")) ) { emessage_begin(MSG_ONE_UNRELIABLE, Money, _, client) ewrite_long(money) ewrite_byte(flash ? 1 : 0) emessage_end() } } */
Дата: Четверг, 03.05.2018, 19:00 | Сообщение #
24
Любитель
Offline
Mandar1n , Если было бы для меня так просто, я бы не просил)
Дата: Четверг, 03.05.2018, 19:08 | Сообщение #
25
Блатной фраерок :D
Профи-ветеран
Offline
Цитата dimonche174 (
)
Mandar1n, Если было бы для меня так просто, я бы не просил)
Зачем держишь сервер?) Если все так сложно
Дата: Пятница, 04.05.2018, 18:26 | Сообщение #
26
Любитель
Offline
belan02 , Пфф, я не боюсь сложностей, по-тихоньку добавляю новое
Дата: Пятница, 04.05.2018, 18:57 | Сообщение #
27
Блатной фраерок :D
Профи-ветеран
Offline
Цитата dimonche174 (
)
belan02, Пфф, я не боюсь сложностей, по-тихоньку добавляю новое
Ну тогда найми человека, заплати ему и сделает все по твоим прихотям!