Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер

Как заменить звук выстрела и спрайта у оружия?

Статус пользователя amax
сообщение 5.8.2016, 12:18
Сообщение #1


Стаж: 10 лет

Сообщений: 177
Благодарностей: 9
Полезность: < 0

Здравствуйте, имеется плагин золотой ак, как заменить у него звук выстрела и спрайт выстрела?
В гугле так и не нашел ответа, все утверждают, что это невозможно, а как же тогда zm item? cso?
Исход:
goldak
Код:
#include <amxmodx>
#include <fakemeta>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#include <colorchat>

#define is_valid_player(%1) (1 <= %1 <= 32)

new const AK47_BIT_SUM = (1<<CSW_AK47)

new AK_V_MODEL[64] = "models/v_golden_ak47.mdl"
new AK_P_MODEL[64] = "models/p_golden_ak47.mdl"

new g_hasZoom[33], gold_damage, golden_model, goldak_cost
new bool:g_HasAk[33]

public plugin_init() {
register_plugin("GoldenAK47 Remake ", "1.0", "Alienware")
register_clcmd("say /goldenak", "cmdGoldenAk")

gold_damage = register_cvar("goldenak_dmg", "5")
golden_model = register_cvar("goldenak_custommodel", "1")
goldak_cost = register_cvar("goldenak_cost", "3000")

register_event("DeathMsg", "Death", "a")
register_event("WeapPickup", "checkModel", "b","1=19")
register_event("CurWeapon", "checkWeapon", "be","1=1")

RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)

register_forward(FM_CmdStart, "fw_CmdStart")
}

public client_connect(id)
g_HasAk[id] = false

public client_disconnect(id)
g_HasAk[id] = false

public Death()
g_HasAk[read_data(2)] = false

public fwHamPlayerSpawnPost(id)
g_HasAk[id] = false

public plugin_precache() {
precache_model(AK_V_MODEL)
precache_model(AK_P_MODEL)
precache_sound("weapons/zoom.wav")
}

public cmdGoldenAk(id) {
if(!is_user_alive(id)) return

new money = cs_get_user_money(id)

if(money < get_pcvar_num(goldak_cost)) {
ColorChat(id, GREEN, "^x01У вас недостаточно денег")
return
}

drop_weapon(id, 1)
give_item(id, "weapon_ak47")
cs_set_user_bpammo(id, CSW_AK47, 90)
cs_set_user_money(id, money - get_pcvar_num(goldak_cost))
ColorChat(id, GREEN, "^x01[^x04Сервер^x01] Вы купили^x04 Gold AK-47")
g_HasAk[id] = true
}

public checkModel(id) {
new szWeapID = read_data(2)

if(szWeapID == CSW_AK47 && g_HasAk[id] == true && get_pcvar_num(golden_model) == 1) {
set_pev(id, pev_viewmodel2, AK_V_MODEL)
set_pev(id, pev_weaponmodel2, AK_P_MODEL)
}
return PLUGIN_HANDLED
}

public checkWeapon(id) {
new plrWeapId
plrWeapId = get_user_weapon(id)

if (plrWeapId == CSW_AK47 && g_HasAk[id])
checkModel(id)
else
return PLUGIN_CONTINUE

return PLUGIN_HANDLED
}

public fw_TakeDamage(victim, inflictor, attacker, Float:damage) {
if(is_valid_player(attacker) && get_user_weapon(attacker) == CSW_AK47 && g_HasAk[attacker])
SetHamParamFloat(4, damage * get_pcvar_float(gold_damage))
}

public fw_CmdStart( id, uc_handle, seed ) {
if(!is_user_alive(id))
return PLUGIN_HANDLED

if((get_uc(uc_handle, UC_Buttons) & IN_ATTACK2) && !( pev(id, pev_oldbuttons) & IN_ATTACK2)) {
new szWeapID = get_user_weapon(id)

if(szWeapID == CSW_AK47 && g_HasAk[id] == true && !g_hasZoom[id] == true) {
g_hasZoom[id] = true
cs_set_user_zoom(id, CS_SET_AUGSG552_ZOOM, 0)
emit_sound(id, CHAN_ITEM, "weapons/zoom.wav", 0.20, 2.40, 0, 100)
} else if(szWeapID == CSW_AK47 && g_HasAk[id] == true && g_hasZoom[id]) {
g_hasZoom[id] = false
cs_set_user_zoom(id, CS_RESET_ZOOM, 0)
}
}
return PLUGIN_HANDLED
}

stock drop_weapon(id, dropwhat) {
static weapons[32], num, i, weaponid
num = 0
get_user_weapons(id, weapons, num)

for (i = 0; i < num; i++) {
weaponid = weapons[i]

if ((dropwhat == 1 && ((1<<weaponid) & AK47_BIT_SUM))) {
static wname[32]
get_weaponname(weaponid, wname, charsmax(wname))
engclient_cmd(id, "drop", wname)
}
}
}



Пиши вк - vk.com/amax_official
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
voed
сообщение 5.8.2016, 13:44
Сообщение #2
Стаж: 11 лет

Сообщений: 2593
Благодарностей: 1760
Полезность: 405

Если оружие кастомное, и алгоритм стрельбы весь расписан в плагине, то можно
Тут же просто "дополнение" дефолтного АК, поэтому и нельзя
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя amax
сообщение 5.8.2016, 14:11
Сообщение #3


Стаж: 10 лет

Сообщений: 177
Благодарностей: 9
Полезность: < 0

Цитата(voed @ 5.8.2016, 18:44) *
Если оружие кастомное, и алгоритм стрельбы весь расписан в плагине, то можно
Тут же просто "дополнение" дефолтного АК, поэтому и нельзя


А есть пример не кастомного оружия для паблика, чтобы купить можно было.


Пиши вк - vk.com/amax_official
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 5.8.2016, 14:16
Сообщение #4
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

любое оружие привязывается к какому то основному в коде


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя amax
сообщение 5.8.2016, 14:56
Сообщение #5


Стаж: 10 лет

Сообщений: 177
Благодарностей: 9
Полезность: < 0

Цитата(csnet @ 5.8.2016, 19:16) *
любое оружие привязывается к какому то основному в коде

Мне бы исходник любого, чтобы на его основе я мог поигараться с кодом.


Пиши вк - vk.com/amax_official
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 5.8.2016, 17:20
Сообщение #6
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

тогда посмотри https://forums.alliedmods.net/showthread.php?t=155583
не обязательно зомби, но там просто куча разных пушек написана для него. смотри в темах. там идут хуки updateclientdata и прочих
Проще говоря хукаются нужные функции оружия, и в них подменяются значения.


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 2 гостей читают эту тему: