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

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

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

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

Подправить и добавить

, knife mod
Статус пользователя ThePhoenix
сообщение 10.4.2015, 23:14
Сообщение #1


Стаж: 11 лет

Сообщений: 2723
Благодарностей: 533
Полезность: 40

Дамы,господа и гуру скриптеры,прошу вашей помощи.
Установил мод ножей,но почему-то не открывается меню ножей.
Посмотрите,может что не так.
И вообще реально сюда добавить отброс для зомби,если да,то как? smile.gif
Исходник:
Прикрепленный файл  Knife_mod.sma ( 9,11 килобайт ) Кол-во скачиваний: 11


Отредактировал: ThePhoenix, - 10.4.2015, 23:17
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя kokc
сообщение 11.4.2015, 7:34
Сообщение #2


Стаж: 12 лет

Сообщений: 50
Благодарностей: 8
Полезность: 13

Изначально меню было кривое, автор плагина блокировал все пункты
В пункты
Код:
, al( id ) ? "\w" : "\d"

В кейсы
Код:
if(al(id))

Код:
new cvar[33][7]

>>
Код:
new cvar[33][3]

Это удалить
Код:
//Блокируем нажатия на клавиш.
!cvar[id][1] && al( id ) ? ( iKey |= MENU_KEY_1 ) : ( iKey &= ~MENU_KEY_1 )
!cvar[id][2] && al( id ) ? ( iKey |= MENU_KEY_2 ) : ( iKey &= ~MENU_KEY_2 )
admin && !cvar[id][3] && al( id ) ? ( iKey |= MENU_KEY_3 ) : ( iKey &= ~MENU_KEY_3 )
al( id ) ? ( iKey |= MENU_KEY_9 ) : ( iKey &= ~MENU_KEY_9 )


Отредактировал: kokc, - 11.4.2015, 7:42
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ThePhoenix
сообщение 11.4.2015, 11:36
Сообщение #3


Стаж: 11 лет

Сообщений: 2723
Благодарностей: 533
Полезность: 40

благодарен,сейчас попробую

Отредактировал: Bloo, - 12.4.2015, 20:44
Причина: Выдано устное предупреждение!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ThePhoenix
сообщение 11.4.2015, 11:42
Сообщение #4


Стаж: 11 лет

Сообщений: 2723
Благодарностей: 533
Полезность: 40

Заменил,вот так выглядит теперь исходник:
Код:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <fakemeta_util>
#include <hamsandwich>

#define PLUGIN "Knife Mod"
#define VERSION "0.2"
#define AUTHOR "CaNiBaL"

#define al(%1) is_user_alive(%1)
#define MAX_CHAR 512

#define KnifeVModel1 "models/knife_mod/v_knife_grav.mdl"
#define KnifeVModel2 "models/knife_mod/v_knife_speed.mdl"
#define KnifeVModel3 "models/knife_mod/v_knife_speed_grav.mdl"
#define KnifePModel1 "models/knife_mod/p_knife_grav.mdl"
#define KnifePModel2 "models/knife_mod/p_knife_speed.mdl"
#define KnifePModel3 "models/knife_mod/p_knife_speed_grav.mdl"

new iKey = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_9|MENU_KEY_0

new cvar[33][3], onknife[33]

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

register_event("CurWeapon", "onActiveWeapon", "be", "1=1")
register_forward(FM_EmitSound, "sound_emit")
RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")

register_menu("Menu Shop Player", iKey, "menu_shopmenu")
register_clcmd("say /knife", "knife_menu")
}

public plugin_precache()
{
precache_model(KnifeVModel1)
precache_model(KnifePModel1)
precache_model(KnifeVModel2)
precache_model(KnifePModel2)
precache_model(KnifeVModel3)
precache_model(KnifePModel3)
precache_sound("knife_mod/knife1/1.wav")
precache_sound("knife_mod/knife1/2.wav")
precache_sound("knife_mod/knife1/3.wav")
precache_sound("knife_mod/knife1/4.wav")
precache_sound("knife_mod/knife1/draw.wav")
precache_sound("knife_mod/knife2/1.wav")
precache_sound("knife_mod/knife2/2.wav")
precache_sound("knife_mod/knife2/3.wav")
precache_sound("knife_mod/knife2/4.wav")
precache_sound("knife_mod/knife2/draw.wav")
precache_sound("knife_mod/knife3/1.wav")
precache_sound("knife_mod/knife3/2.wav")
precache_sound("knife_mod/knife3/3.wav")
precache_sound("knife_mod/knife3/4.wav")
precache_sound("knife_mod/knife3/draw.wav")
}

public knife_menu( id )
{
static menu[ MAX_CHAR ] , iLen
iLen = 0

new admin = (get_user_flags(id) & ADMIN_MENU)

if(cvar[id][1])
iLen = formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\yKnife Mod^n\yНож: \rFlay^n\yСпособность: \rНизкая гравитация^n^n")
else if( cvar[id][2])
iLen = formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\yKnife Mod^n\yНож: \rSpeed^n\yСпособность: \rВысокая скорость^n^n")
else if( cvar[id][3] )
iLen = formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\yKnife Mod^n\yНож:\r Extra^n\yСпособность: \rГрав.+Скорость+Тихий Шаг^n^n")
else
iLen = formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\yKnife Mod^n\yНож: \rЕщо не выбран^n\yСпособность: \rНету^n^n")

iLen += formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\r1. %s Flay \d[\rГравитация\d]^n" , !cvar[id][1] if(al(id)))
iLen += formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\r2. %s Speed \d[\rСкорость\d]^n" , !cvar[id][2] if(al(id)))
iLen += formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\r3. %s Extra \d[\rADMIN\d]^n^n" ,admin && !cvar[id][3] if(al(id)))

iLen += formatex( menu[ iLen ] , charsmax( menu ) - iLen , "^n\r0. \wЗакрыть" )

show_menu( id , iKey , menu , -1 , "Menu Shop Player" )
return PLUGIN_CONTINUE
}

public menu_shopmenu(id, key)
{
switch(key)
{
case 0:
{
if( cvar[id][2] || cvar[id][3])
{
cvar[id][2] = false
cvar[id][3] = false
fm_set_user_maxspeed(id, 250.0)
set_user_footsteps(id, 0)
}
cvar[id][1] = true
onknife[id] = true
if(get_user_weapon(id) == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, KnifeVModel1)
set_pev(id, pev_weaponmodel2, KnifePModel1)
fm_set_user_gravity(id, 0.6)
onActiveWeapon(id)
}
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte(0)
write_byte(200)
write_byte(0)
write_byte(75)
message_end()
}
case 1:
{
if( cvar[id][1] || cvar[id][3])
{
cvar[id][1] = false
cvar[id][3] = false
set_user_footsteps(id, 0)
fm_set_user_gravity(id, 1.0)
}
cvar[id][2] = true
onknife[id] = true
if(get_user_weapon(id) == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, KnifeVModel2)
set_pev(id, pev_weaponmodel2, KnifePModel2)
fm_set_user_maxspeed(id, 300.0)
onActiveWeapon(id)
}
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte(0)
write_byte(200)
write_byte(50)
write_byte(75)
message_end()
}
case 2:
{
if( cvar[id][1] || cvar[id][2])
{
cvar[id][1] = false
cvar[id][2] = false
}
cvar[id][3] = true
onknife[id] = true
if(get_user_weapon(id) == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, KnifeVModel3)
set_pev(id, pev_weaponmodel2, KnifePModel3)
fm_set_user_gravity(id, 0.6)
fm_set_user_maxspeed(id, 300.0)
set_user_footsteps(id, 1)
onActiveWeapon(id)
}
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte(0)
write_byte(90)
write_byte(90)
write_byte(0)
message_end()
}
}
}

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

if(cvar[id][1] && get_user_weapon(id) == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, KnifeVModel1)
set_pev(id, pev_weaponmodel2, KnifePModel1)
fm_set_user_gravity(id, 0.6)
}
else if(cvar[id][2] && get_user_weapon(id) == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, KnifeVModel2)
set_pev(id, pev_weaponmodel2, KnifePModel2)
fm_set_user_maxspeed(id, 300.0)
}
else if(cvar[id][3] && get_user_weapon(id) == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, KnifeVModel3)
set_pev(id, pev_weaponmodel2, KnifePModel3)
fm_set_user_maxspeed(id, 300.0)
fm_set_user_gravity(id, 0.6)
set_user_footsteps(id, 1)
}
else
{
fm_set_user_maxspeed(id, 250.0)
fm_set_user_gravity(id, 1.0)
set_user_footsteps(id, 0)
remove_task(id)
}
}

public sound_emit(id, channel, sample[])
{
new mode[33];
get_cvar_string("deathrun_mode", mode, 32);
if(equal(mode, "DUEL") || !is_user_alive(id) || !onknife[id] )
return PLUGIN_HANDLED

if (sample[8] == 'k' && sample[9] == 'n' && sample[10] == 'i')
{
if (sample[14] == 'd')
{
if(cvar[id][1])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife1/draw.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][2])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife2/draw.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][3])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife3/draw.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
}
else if (sample[14] == 'h')
{
if (sample[17] == 'w')
{
if(cvar[id][1])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife1/3.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][2])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife2/3.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][3])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife3/3.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
}
else
{
if(cvar[id][1])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife1/1.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][2])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife2/1.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][3])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife3/1.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
}
}
else
{
if (sample[15] == 'l')
{
if(cvar[id][1])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife1/4.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][2])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife2/4.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][3])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife3/4.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
}
else if(sample[17] == 'b')
{
if(cvar[id][1])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife1/2.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][2])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife2/2.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][3])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife5/2.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
}
}
return FMRES_SUPERCEDE
}
return FMRES_IGNORED
}

и ошибка при компиляции:
Скрытый текст


Отредактировал: GOOD FELLOW, - 11.4.2015, 12:52
Причина: Выдано устное предупреждение!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kokc
сообщение 11.4.2015, 12:39
Сообщение #5


Стаж: 12 лет

Сообщений: 50
Благодарностей: 8
Полезность: 13

Код:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <fakemeta_util>
#include <hamsandwich>

#define PLUGIN "Knife Mod"
#define VERSION "0.2"
#define AUTHOR "CaNiBaL"

#define al(%1) is_user_alive(%1)
#define MAX_CHAR 512

#define KnifeVModel1 "models/knife_mod/v_knife_grav.mdl"
#define KnifeVModel2 "models/knife_mod/v_knife_speed.mdl"
#define KnifeVModel3 "models/knife_mod/v_knife_speed_grav.mdl"
#define KnifePModel1 "models/knife_mod/p_knife_grav.mdl"
#define KnifePModel2 "models/knife_mod/p_knife_speed.mdl"
#define KnifePModel3 "models/knife_mod/p_knife_speed_grav.mdl"

new iKey = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_7|MEN
U_KEY_8|MENU_KEY_9|MENU_KEY_0

new cvar[33][4], onknife[33]

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

register_event("CurWeapon", "onActiveWeapon", "be", "1=1")
register_forward(FM_EmitSound, "sound_emit")
RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage")

register_menu("Menu Shop Player", iKey, "menu_shopmenu")
register_clcmd("say /knife", "knife_menu")
}

public plugin_precache()
{
precache_model(KnifeVModel1)
precache_model(KnifePModel1)
precache_model(KnifeVModel2)
precache_model(KnifePModel2)
precache_model(KnifeVModel3)
precache_model(KnifePModel3)
precache_sound("knife_mod/knife1/1.wav")
precache_sound("knife_mod/knife1/2.wav")
precache_sound("knife_mod/knife1/3.wav")
precache_sound("knife_mod/knife1/4.wav")
precache_sound("knife_mod/knife1/draw.wav")
precache_sound("knife_mod/knife2/1.wav")
precache_sound("knife_mod/knife2/2.wav")
precache_sound("knife_mod/knife2/3.wav")
precache_sound("knife_mod/knife2/4.wav")
precache_sound("knife_mod/knife2/draw.wav")
precache_sound("knife_mod/knife3/1.wav")
precache_sound("knife_mod/knife3/2.wav")
precache_sound("knife_mod/knife3/3.wav")
precache_sound("knife_mod/knife3/4.wav")
precache_sound("knife_mod/knife3/draw.wav")
}

public knife_menu( id )
{
static menu[ MAX_CHAR ] , iLen
iLen = 0

new admin = (get_user_flags(id) & ADMIN_MENU)

if(cvar[id][1])
iLen = formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\yKnife Mod^n\yНож: \rFlay^n\yСпособность: \rНизкая гравитация^n^n")
else
if( cvar[id][2])
iLen = formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\yKnife Mod^n\yНож: \rSpeed^n\yСпособность: \rВысокая скорость^n^n")
else
if(cvar[id][3])
iLen = formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\yKnife Mod^n\yНож:\r Extra^n\yСпособность: \rГрав.+Скорость+Тихий Шаг^n^n")
else
iLen = formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\yKnife Mod^n\yНож: \rЕщо не выбран^n\yСпособность: \rНету^n^n")

iLen += formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\r1. %sFlay \d[\rГравитация\d]^n", al(id) ? "\w" : "\d")
iLen += formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\r2. %sSpeed \d[\rСкорость\d]^n", al(id)? "\w" : "\d")
iLen += formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\r3. %sExtra \d[\rADMIN\d]^n^n", al(id) ? "\w" : "\d", admin)
iLen += formatex( menu[ iLen ] , charsmax( menu ) - iLen , "^n\r0. \wЗакрыть" )

show_menu( id , iKey , menu , -1 , "Menu Shop Player" )
return PLUGIN_CONTINUE
}

public menu_shopmenu(id, key)
{
switch(key)
{
case 0:
{
if(cvar[id][2] || cvar[id][3])
{
cvar[id][2] = false
cvar[id][3] = false
fm_set_user_maxspeed(id, 250.0)
set_user_footsteps(id, 0)
}
if(al(id))
cvar[id][1] = true
onknife[id] = true
if(get_user_weapon(id) == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, KnifeVModel1)
set_pev(id, pev_weaponmodel2, KnifePModel1)
fm_set_user_gravity(id, 0.6)
onActiveWeapon(id)
}
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte(0)
write_byte(200)
write_byte(0)
write_byte(75)
message_end()
}
case 1:
{
if( cvar[id][1] || cvar[id][3])
{
cvar[id][1] = false
cvar[id][3] = false
set_user_footsteps(id, 0)
fm_set_user_gravity(id, 1.0)
}
if(al(id))
cvar[id][2] = true
onknife[id] = true
if(get_user_weapon(id) == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, KnifeVModel2)
set_pev(id, pev_weaponmodel2, KnifePModel2)
fm_set_user_maxspeed(id, 300.0)
onActiveWeapon(id)
}
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte(0)
write_byte(200)
write_byte(50)
write_byte(75)
message_end()
}
case 2:
{
if( cvar[id][1] || cvar[id][2])
{
cvar[id][1] = false
cvar[id][2] = false
}
if(al(id))
cvar[id][3] = true
onknife[id] = true
if(get_user_weapon(id) == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, KnifeVModel3)
set_pev(id, pev_weaponmodel2, KnifePModel3)
fm_set_user_gravity(id, 0.6)
fm_set_user_maxspeed(id, 300.0)
set_user_footsteps(id, 1)
onActiveWeapon(id)
}
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte(0)
write_byte(90)
write_byte(90)
write_byte(0)
message_end()
}
}
}

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

if(cvar[id][1] && get_user_weapon(id) == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, KnifeVModel1)
set_pev(id, pev_weaponmodel2, KnifePModel1)
fm_set_user_gravity(id, 0.6)
}
else if(cvar[id][2] && get_user_weapon(id) == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, KnifeVModel2)
set_pev(id, pev_weaponmodel2, KnifePModel2)
fm_set_user_maxspeed(id, 300.0)
}
else if(cvar[id][3] && get_user_weapon(id) == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, KnifeVModel3)
set_pev(id, pev_weaponmodel2, KnifePModel3)
fm_set_user_maxspeed(id, 300.0)
fm_set_user_gravity(id, 0.6)
set_user_footsteps(id, 1)
}
else
{
fm_set_user_maxspeed(id, 250.0)
fm_set_user_gravity(id, 1.0)
set_user_footsteps(id, 0)
remove_task(id)
}
}

public sound_emit(id, channel, sample[])
{
new mode[33];
get_cvar_string("deathrun_mode", mode, 32);
if(equal(mode, "DUEL") || !is_user_alive(id) || !onknife[id] )
return PLUGIN_HANDLED

if (sample[8] == 'k' && sample[9] == 'n' && sample[10] == 'i')
{
if (sample[14] == 'd')
{
if(cvar[id][1])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife1/draw.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][2])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife2/draw.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][3])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife3/draw.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
}
else if (sample[14] == 'h')
{
if (sample[17] == 'w')
{
if(cvar[id][1])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife1/3.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][2])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife2/3.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][3])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife3/3.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
}
else
{
if(cvar[id][1])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife1/1.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][2])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife2/1.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][3])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife3/1.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
}
}
else
{
if (sample[15] == 'l')
{
if(cvar[id][1])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife1/4.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][2])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife2/4.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][3])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife3/4.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
}
else if(sample[17] == 'b')
{
if(cvar[id][1])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife1/2.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][2])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife2/2.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][3])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife5/2.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
}
}
return FMRES_SUPERCEDE
}
return FMRES_IGNORED
}

Попробуй

Отредактировал: kokc, - 11.4.2015, 12:45
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя nakazatel
сообщение 11.4.2015, 12:46
Сообщение #6
Стаж: 11 лет

Сообщений: 1701
Благодарностей: 571
Полезность: 358

Держи
Прикрепленные файлы:
Прикрепленный файл  Knife_mod.sma ( 9,84 килобайт ) Кол-во скачиваний: 5
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ThePhoenix
сообщение 11.4.2015, 15:08
Сообщение #7


Стаж: 11 лет

Сообщений: 2723
Благодарностей: 533
Полезность: 40

Что-то не открывается меню все равно :\
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kokc
сообщение 12.4.2015, 8:05
Сообщение #8


Стаж: 12 лет

Сообщений: 50
Благодарностей: 8
Полезность: 13

Код:
#include < amxmodx >
#include < amxmisc >
#include < fun >
#include <fakemeta_util>
#include < hamsandwich >

#define PLUGIN "Knife Mod"
#define VERSION "0.2"
#define AUTHOR "CaNiBaL"

#define al(%1) is_user_alive(%1)
#define MAX_CHAR 512

#define KnifeVModel1 "models/knife_mod/v_knife_grav.mdl"
#define KnifeVModel2 "models/knife_mod/v_knife_speed.mdl"
#define KnifeVModel5 "models/knife_mod/v_knife_speed_grav.mdl"
#define KnifePModel1 "models/knife_mod/p_knife_grav.mdl"
#define KnifePModel2 "models/knife_mod/p_knife_speed.mdl"
#define KnifePModel5 "models/knife_mod/p_knife_speed_grav.mdl"

new iKey = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_0

new cvar[33][4], onknife[33]

public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)

register_event("CurWeapon", "onActiveWeapon", "be", "1=1")
register_forward(FM_EmitSound, "sound_emit")

register_menu("Menu Shop Player", iKey, "menu_shopmenu")
register_clcmd("knife", "knife_menu")
}

public plugin_precache()
{
precache_model(KnifeVModel1)
precache_model(KnifePModel1)
precache_model(KnifeVModel2)
precache_model(KnifePModel2)
precache_model(KnifeVModel5)
precache_model(KnifePModel5)
precache_model("models/v_knife.mdl")
precache_model("models/p_knife.mdl")
precache_sound("knife_mod/knife1/1.wav")
precache_sound("knife_mod/knife1/2.wav")
precache_sound("knife_mod/knife1/3.wav")
precache_sound("knife_mod/knife1/4.wav")
precache_sound("knife_mod/knife1/draw.wav")
precache_sound("knife_mod/knife2/1.wav")
precache_sound("knife_mod/knife2/2.wav")
precache_sound("knife_mod/knife2/3.wav")
precache_sound("knife_mod/knife2/4.wav")
precache_sound("knife_mod/knife2/draw.wav")
precache_sound("knife_mod/knife3/1.wav")
precache_sound("knife_mod/knife3/2.wav")
precache_sound("knife_mod/knife3/3.wav")
precache_sound("knife_mod/knife3/4.wav")
precache_sound("knife_mod/knife3/draw.wav")
precache_sound("knife_mod/knife4/1.wav")
precache_sound("knife_mod/knife4/2.wav")
precache_sound("knife_mod/knife4/3.wav")
precache_sound("knife_mod/knife4/4.wav")
precache_sound("knife_mod/knife4/draw.wav")
precache_sound("knife_mod/knife5/1.wav")
precache_sound("knife_mod/knife5/2.wav")
precache_sound("knife_mod/knife5/3.wav")
precache_sound("knife_mod/knife5/4.wav")
precache_sound("knife_mod/knife5/draw.wav")
}

public knife_menu( id )
{
static menu[ MAX_CHAR ] , iLen
iLen = 0

if(cvar[id][1])
iLen = formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\yKnife Mod^n\yНож: \rFlay^n\yСпособность: \rНизкая гравитация^n^n")
else if( cvar[id][2])
iLen = formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\yKnife Mod^n\yНож: \rSpeed^n\yСпособность: \rВысокая скорость^n^n")
else if( cvar[id][3] )
iLen = formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\yKnife Mod^n\yНож:\r Extra^n\yСпособность: \rГрав.+Скорость+Тихий Шаг^n^n")
else
iLen = formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\yKnife Mod^n\yНож: \rЕще не выбран^n\yСпособность: \rНету^n^n")

iLen += formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\r1. %s Flay \d[\rГравитация\d]^n" , !cvar[id][1] && al( id ) ? "\w" : "\d")
iLen += formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\r2. %s Speed \d[\rСкорость\d]^n" , !cvar[id][2] && al( id )? "\w" : "\d")
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
iLen += formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\r3. \wExtra \d[\rADMIN\d]^n^n" , !cvar[id][3])
iKey |= MENU_KEY_3
}
else
{
iLen += formatex( menu[ iLen ] , charsmax( menu ) - iLen , "\r3. \dExtra [ADMIN]^n^n" , !cvar[id][3])
iKey &= ~MENU_KEY_3
}

iLen += formatex( menu[ iLen ] , charsmax( menu ) - iLen , "^n\r0. \wЗакрыть" )

//Блокируем нажатия на клавиш.
!cvar[id][1] && al( id ) ? ( iKey |= MENU_KEY_1 ) : ( iKey &= ~MENU_KEY_1 )
!cvar[id][2] && al( id ) ? ( iKey |= MENU_KEY_2 ) : ( iKey &= ~MENU_KEY_2 )
al( id ) ? ( iKey |= MENU_KEY_9 ) : ( iKey &= ~MENU_KEY_9 )

show_menu( id , iKey , menu , -1 , "Menu Shop Player" )
return PLUGIN_CONTINUE
}

public menu_shopmenu(id, key)
{
switch(key)
{
case 0:
{
if( cvar[id][2] || cvar[id][3])
{
cvar[id][2] = false
cvar[id][3] = false
fm_set_user_maxspeed(id, 250.0)
set_user_footsteps(id, 0)
}
cvar[id][1] = true
onknife[id] = true
if(get_user_weapon(id) == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, KnifeVModel1)
set_pev(id, pev_weaponmodel2, KnifePModel1)
fm_set_user_gravity(id, 0.4)
onActiveWeapon(id)
}
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte(0)
write_byte(200)
write_byte(0)
write_byte(75)
message_end()
}
case 1:
{
if( cvar[id][1] || cvar[id][3])
{
cvar[id][1] = false
cvar[id][3] = false
set_user_footsteps(id, 0)
fm_set_user_gravity(id, 1.0)
}
cvar[id][2] = true
onknife[id] = true
if(get_user_weapon(id) == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, KnifeVModel2)
set_pev(id, pev_weaponmodel2, KnifePModel2)
fm_set_user_maxspeed(id, 550.0)
onActiveWeapon(id)
}
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte(0)
write_byte(200)
write_byte(50)
write_byte(75)
message_end()
}
case 2:
{
if( cvar[id][1] || cvar[id][2])
{
cvar[id][1] = false
cvar[id][2] = false
}
cvar[id][3] = true
onknife[id] = true
if(get_user_weapon(id) == CSW_KNIFE && get_user_flags(id) & ADMIN_LEVEL_H)
{
set_pev(id, pev_viewmodel2, KnifeVModel5)
set_pev(id, pev_weaponmodel2, KnifePModel5)
fm_set_user_gravity(id, 0.4)
fm_set_user_maxspeed(id, 550.0)
set_user_footsteps(id, 1)
onActiveWeapon(id)
}
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id)
write_short(1<<10)
write_short(1<<10)
write_short(0x0000)
write_byte(0)
write_byte(90)
write_byte(90)
write_byte(0)
message_end()
}
}
}

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

if(cvar[id][1] && get_user_weapon(id) == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, KnifeVModel1)
set_pev(id, pev_weaponmodel2, KnifePModel1)
fm_set_user_gravity(id, 0.4)
}
else if(cvar[id][2] && get_user_weapon(id) == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, KnifeVModel2)
set_pev(id, pev_weaponmodel2, KnifePModel2)
fm_set_user_maxspeed(id, 550.0)
}
else if(cvar[id][3] && get_user_weapon(id) == CSW_KNIFE)
{
set_pev(id, pev_viewmodel2, KnifeVModel5)
set_pev(id, pev_weaponmodel2, KnifePModel5)
fm_set_user_maxspeed(id, 550.0)
fm_set_user_gravity(id, 0.4)
set_user_footsteps(id, 1)
}
else
{
fm_set_user_maxspeed(id, 250.0)
fm_set_user_gravity(id, 1.0)
set_user_footsteps(id, 0)
remove_task(id)
}
}

public sound_emit(id, channel, sample[])
{
new mode[33];
get_cvar_string("deathrun_mode", mode, 32);
if(equal(mode, "DUEL") || !is_user_alive(id) || !onknife[id] )
return PLUGIN_HANDLED

if (sample[8] == 'k' && sample[9] == 'n' && sample[10] == 'i')
{
if (sample[14] == 'd')
{
if(cvar[id][1])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife1/draw.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][2])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife2/draw.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][3])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife5/draw.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
}
else if (sample[14] == 'h')
{
if (sample[17] == 'w')
{
if(cvar[id][1])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife1/3.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][2])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife2/3.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][3])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife5/3.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
}
else
{
if(cvar[id][1])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife1/1.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][2])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife2/1.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][3])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife5/1.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
}
}
else
{
if (sample[15] == 'l')
{
if(cvar[id][1])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife1/4.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][2])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife2/4.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][3])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife5/4.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
}
else if(sample[17] == 'b')
{
if(cvar[id][1])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife1/2.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][2])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife2/2.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(cvar[id][3])
emit_sound(id, CHAN_WEAPON, "knife_mod/knife5/2.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
}
}
return FMRES_SUPERCEDE
}
return FMRES_IGNORED
}

Теперь работает, еще поправил пункт с админским ножом, а то он не блокировался если у игрока нету флага t

Отредактировал: kokc, - 12.4.2015, 8:05
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: