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

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

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

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

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

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

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

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

[DR Knife_mod]

Статус пользователя vad1m19981
сообщение 19.10.2014, 10:57
Сообщение #1
Стаж: 11 лет

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

Привет ребята :-)
Ребята,помоги с плагином если вам не сложно
Кароче вот я хочу чтобы ну когда открываешь меню ножей и наживаешь на ножа чтобы был воспроизведен
звук типа этого current1.wav и т.д
Вот исходник помогите ребята blush2.gif
Код:
#include < amxmodx >
#include < engine >
#include < fakemeta >
#include < fun >
#include < amxmisc >
#include < cstrike >
#include < DeathrunManager >

#define PLUGIN "Knife Mod"
#define VERSION "1.0"
#define AUTHOR "AUTHOR"

#define TASK_INTERVAL 4.0
#define MAX_HEALTH 255

#pragma tabsize 0

new knife_model[33]

new CVAR_HIGHSPEED
new CVAR_LOWGRAV
new CVAR_NORMGRAV
new CVAR_HEALTH_ADD
new CVAR_HEALTH_MAX
new CVAR_DAMAGE

new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5|MENU_KEY_6|MENU_KEY_0

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

register_event("CurWeapon","CurWeapon","be","1=1")

register_menu("Knife Mod", keys, "knifemenu")
register_forward(FM_EmitSound, "sound_emit")

register_clcmd("say /knife", "display_knife")
register_clcmd("say_team /knife", "display_knife")
register_clcmd("knife", "display_knife")

CVAR_HIGHSPEED = register_cvar("km_highspeed","400")
CVAR_HEALTH_ADD = register_cvar("km_addhealth", "5")
CVAR_HEALTH_MAX = register_cvar("km_maxhealth", "100")
CVAR_DAMAGE = register_cvar("km_damage", "2")
CVAR_LOWGRAV = register_cvar("km_lowgravity" , "400")
CVAR_NORMGRAV = get_cvar_pointer("sv_gravity")

register_dictionary("knife.txt")
}
public sound_emit(id, channel, sample[])
{
new mode[33];
get_cvar_string("deathrun_mode", mode, 32);
if(equal(mode, "DUEL"))
return PLUGIN_HANDLED

if(is_user_alive(id) )
{
if (sample[8] == 'k' && sample[9] == 'n' && sample[10] == 'i')
{
if(knife_model[id] == 0)
return FMRES_IGNORED
if (sample[14] == 'h')
{
if (sample[17] == 'w')
{
if(knife_model[id] == 4)
emit_sound(id, CHAN_WEAPON, "dr_by_zoomer/knife_sound/knife4/3.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(knife_model[id] == 2)
emit_sound(id, CHAN_WEAPON, "dr_by_zoomer/knife_sound/knife2/3.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(knife_model[id] == 3)
emit_sound(id, CHAN_WEAPON, "dr_by_zoomer/knife_sound/knife3/3.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(knife_model[id] == 1)
emit_sound(id, CHAN_WEAPON, "dr_by_zoomer/knife_sound/knife1/3.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
}
else
{

if(knife_model[id] == 4)
emit_sound(id, CHAN_WEAPON, "dr_by_zoomer/knife_sound/knife4/1.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(knife_model[id] == 2)
emit_sound(id, CHAN_WEAPON, "dr_by_zoomer/knife_sound/knife2/1.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(knife_model[id] == 3)
emit_sound(id, CHAN_WEAPON, "dr_by_zoomer/knife_sound/knife3/1.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(knife_model[id] == 1)
emit_sound(id, CHAN_WEAPON, "dr_by_zoomer/knife_sound/knife1/1.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
}

}
else
{
if (sample[15] == 'l')
{
if(knife_model[id] == 4)
emit_sound(id, CHAN_WEAPON, "dr_by_zoomer/knife_sound/knife4/4.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(knife_model[id] == 2)
emit_sound(id, CHAN_WEAPON, "dr_by_zoomer/knife_sound/knife2/4.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(knife_model[id] == 3)
emit_sound(id, CHAN_WEAPON, "dr_by_zoomer/knife_sound/knife3/4.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(knife_model[id] == 1)
emit_sound(id, CHAN_WEAPON, "dr_by_zoomer/knife_sound/knife1/4.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
}
else if(sample[17] == 'b')
{
if(knife_model[id] == 4)
emit_sound(id, CHAN_WEAPON, "dr_by_zoomer/knife_sound/knife4/2.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(knife_model[id] == 2)
emit_sound(id, CHAN_WEAPON, "dr_by_zoomer/knife_sound/knife2/2.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(knife_model[id] == 3)
emit_sound(id, CHAN_WEAPON, "dr_by_zoomer/knife_sound/knife3/2.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
if(knife_model[id] == 1)
emit_sound(id, CHAN_WEAPON, "dr_by_zoomer/knife_sound/knife1/2.wav", random_float(0.5, 1.0), ATTN_NORM, 0, PITCH_NORM)
}
}
return FMRES_SUPERCEDE
}

}
return FMRES_IGNORED
}

public plugin_precache() {
precache_model("models/dr_by_zoomer/knife-mod/v_combat_knife.mdl")
precache_model("models/dr_by_zoomer/knife-mod/p_combat_knife.mdl")
precache_model("models/dr_by_zoomer/knife-mod/v_admin_knife.mdl")
precache_model("models/dr_by_zoomer/knife-mod/p_admin_knife.mdl")
precache_model("models/dr_by_zoomer/knife-mod/v_tixon.mdl")
precache_model("models/dr_by_zoomer/knife-mod/p_tixon.mdl")
precache_model("models/dr_by_zoomer/knife-mod/v_speed.mdl")
precache_model("models/dr_by_zoomer/knife-mod/p_speed.mdl")
precache_model("models/dr_by_zoomer/knife-mod/v_katana.mdl")
precache_model("models/dr_by_zoomer/knife-mod/p_katana.mdl")
precache_model("models/v_knife.mdl")
precache_sound("dr_by_zoomer/knife_sound/current1.wav")
precache_sound("dr_by_zoomer/knife_sound/current3.wav")
precache_sound("dr_by_zoomer/knife_sound/current4.wav")
precache_sound("dr_by_zoomer/knife_sound/knife1/4.wav")
precache_sound("dr_by_zoomer/knife_sound/knife2/4.wav")
precache_sound("dr_by_zoomer/knife_sound/knife3/4.wav")
precache_sound("dr_by_zoomer/knife_sound/knife4/4.wav")
precache_sound("dr_by_zoomer/knife_sound/knife1/1.wav")
precache_sound("dr_by_zoomer/knife_sound/knife1/2.wav")
precache_sound("dr_by_zoomer/knife_sound/knife1/3.wav")
precache_sound("dr_by_zoomer/knife_sound/knife2/1.wav")
precache_sound("dr_by_zoomer/knife_sound/knife2/2.wav")
precache_sound("dr_by_zoomer/knife_sound/knife2/3.wav")
precache_sound("dr_by_zoomer/knife_sound/knife3/1.wav")
precache_sound("dr_by_zoomer/knife_sound/knife3/2.wav")
precache_sound("dr_by_zoomer/knife_sound/knife3/3.wav")
precache_sound("dr_by_zoomer/knife_sound/knife4/1.wav")
precache_sound("dr_by_zoomer/knife_sound/knife4/2.wav")
precache_sound("dr_by_zoomer/knife_sound/knife4/3.wav")

}

public Hook_WeaponList( iPlayer )
{
engclient_cmd( iPlayer, "weapon_knife" )
return PLUGIN_HANDLED
}

public display_knife(id)
{
new mode[33];
get_cvar_string("deathrun_mode", mode, 32);
if(equal(mode, "DUEL"))
return PLUGIN_HANDLED

new name[32]
get_user_name(id, name, 31)

static menu[1024], iLen
iLen = 0
if(knife_model[id] == 0 )
{
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "%L^n^n", LANG_PLAYER, "KNIFE_MENU1", name)
}
if(knife_model[id] == 1 )
{
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "%L^n^n", LANG_PLAYER, "KNIFE_MENU2", name)
}
if(knife_model[id] == 2 )
{
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "%L^n^n", LANG_PLAYER, "KNIFE_MENU3", name)
}
if(knife_model[id] == 3 )
{
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "%L^n^n", LANG_PLAYER, "KNIFE_MENU4", name)
}
if(knife_model[id] == 4 )
{
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "%L^n^n", LANG_PLAYER, "KNIFE_MENU5", name)
}
if(knife_model[id] == 5 )
{
iLen = formatex(menu[iLen], charsmax(menu) - iLen, "%L^n^n", LANG_PLAYER, "KNIFE_MENU6", name)
}


if(get_user_flags(id) & ADMIN_LEVEL_F)
{
if(knife_model[id] == 4)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "%L^n", LANG_PLAYER, "KNIFE_1_1")
keys &= ~MENU_KEY_1
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "%L^n", LANG_PLAYER, "KNIFE_1_2")
keys |= MENU_KEY_1
}
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "%L^n", LANG_PLAYER, "KNIFE_1_3")
keys &= ~MENU_KEY_1
}
if(knife_model[id] == 2)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "%L^n", LANG_PLAYER, "KNIFE_2_1")
keys &= ~MENU_KEY_2
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "%L^n", LANG_PLAYER, "KNIFE_2_2")
keys |= MENU_KEY_2
}
if(knife_model[id] == 3)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "%L^n", LANG_PLAYER, "KNIFE_3_1")
keys &= ~MENU_KEY_3
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "%L^n", LANG_PLAYER, "KNIFE_3_2")
keys |= MENU_KEY_3
}
if(knife_model[id] == 1)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "%L^n", LANG_PLAYER, "KNIFE_4_1")
keys &= ~MENU_KEY_4
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "%L^n", LANG_PLAYER, "KNIFE_4_2")
keys |= MENU_KEY_4
}
if(knife_model[id] == 0)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "%L^n", LANG_PLAYER, "KNIFE_5_1")
keys &= ~MENU_KEY_5
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "%L^n", LANG_PLAYER, "KNIFE_5_2")
keys |= MENU_KEY_5
}
if(knife_model[id] == 5)
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "%L^n", LANG_PLAYER, "KNIFE_6_1")
keys &= ~MENU_KEY_6
}
else
{
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "%L^n", LANG_PLAYER, "KNIFE_6_2")
keys |= MENU_KEY_6
}
iLen += formatex(menu[iLen], charsmax(menu) - iLen, "%L^n", LANG_PLAYER, "KNIFE_EXIT")
keys |= MENU_KEY_0

show_menu(id, keys, menu, -1, "Knife Mod");
return PLUGIN_HANDLED
}

public knifemenu(id, key)
{
switch(key)
{
case 0:
{
if(get_user_flags(id) & ADMIN_LEVEL_F)
{
SetKnife(id , 4)
CurWeapon(id)
Hook_WeaponList(id)
}
}
case 1:
{
SetKnife(id , 2)
CurWeapon(id)
Hook_WeaponList(id)
}
case 2:
{
SetKnife(id , 3)
CurWeapon(id)
Hook_WeaponList(id)
}
case 3:
{
SetKnife(id , 1)
CurWeapon(id)
Hook_WeaponList(id)
}
case 4:
{
SetKnife(id , 0)
CurWeapon(id)
Hook_WeaponList(id)
}
case 5:
{
SetKnife(id , 5)
CurWeapon(id)
Hook_WeaponList(id)
}
default: return PLUGIN_HANDLED
}
SaveData(id)
return PLUGIN_HANDLED
}

public SetKnife(id , Knife) {

new mode[33];
get_cvar_string("deathrun_mode", mode, 32);
if(equal(mode, "DUEL"))
return PLUGIN_HANDLED

knife_model[id] = Knife

new Clip, Ammo, Weapon = get_user_weapon(id, Clip, Ammo)
if ( Weapon != CSW_KNIFE )
return PLUGIN_HANDLED

new vModel[56],pModel[56]

switch(Knife)
{
case 0: {
format(vModel,55,"models/v_knife.mdl")
format(pModel,55,"models/p_knife.mdl")
}
case 1: {
format(vModel,55,"models/dr_by_zoomer/knife-mod/v_combat_knife.mdl")
format(pModel,55,"models/dr_by_zoomer/knife-mod/p_combat_knife.mdl")
}
case 2: {
format(vModel,55,"models/dr_by_zoomer/knife-mod/v_tixon.mdl")
format(pModel,55,"models/dr_by_zoomer/knife-mod/p_tixon.mdl")
}
case 3: {
format(vModel,55,"models/dr_by_zoomer/knife-mod/v_speed.mdl")
format(pModel,55,"models/dr_by_zoomer/knife-mod/p_speed.mdl")
}
case 4: {
format(vModel,55,"models/dr_by_zoomer/knife-mod/v_admin_knife.mdl")
format(pModel,55,"models/dr_by_zoomer/knife-mod/p_admin_knife.mdl")
}
case 5: {
format(vModel,55,"models/dr_by_zoomer/knife-mod/v_katana.mdl")
format(pModel,55,"models/dr_by_zoomer/knife-mod/p_katana.mdl")
}

}

entity_set_string(id, EV_SZ_viewmodel, vModel)
entity_set_string(id, EV_SZ_weaponmodel, pModel)

return PLUGIN_HANDLED;
}

public event_damage( id ) {

new mode[33];
get_cvar_string("deathrun_mode", mode, 32);
if(equal(mode, "DUEL"))
return PLUGIN_HANDLED

new victim_id = id;
if( !is_user_connected( victim_id ) ) return PLUGIN_CONTINUE
new dmg_take = read_data( 2 );
new dmgtype = read_data( 3 );
new Float:multiplier = get_pcvar_float(CVAR_DAMAGE);
new Float:damage = dmg_take * multiplier;
new health = get_user_health( victim_id );

new iWeapID, attacker_id = get_user_attacker( victim_id, iWeapID );

if( !is_user_connected( attacker_id ) || !is_user_alive( victim_id ) ) {
return PLUGIN_HANDLED
}

if( iWeapID == CSW_KNIFE && knife_model[attacker_id] == 4 || iWeapID == CSW_KNIFE && knife_model[attacker_id] == 5) {

if( floatround(damage) >= health ) {
if( victim_id == attacker_id ) {
return PLUGIN_CONTINUE
}else{
log_kill( attacker_id, victim_id, "knife", 0 );
}

return PLUGIN_CONTINUE
}else {
if( victim_id == attacker_id ) return PLUGIN_CONTINUE

fakedamage( victim_id, "weapon_knife", damage, dmgtype );
}
}
return PLUGIN_CONTINUE
}

public CurWeapon(id)
{
new mode[33];
get_cvar_string("deathrun_mode", mode, 32);
if(equal(mode, "DUEL"))
return PLUGIN_HANDLED

new Weapon = read_data(2)

SetKnife(id, knife_model[id])

//Админ нож
if(knife_model[id] == 4 && !task_exists(id) && get_user_weapon(id) == CSW_KNIFE)
{
if(knife_model[id] == 4 && !task_exists(id) && get_user_weapon(id) == CSW_KNIFE)
set_task(TASK_INTERVAL , "task_healing",id,_,_,"b")
else if(task_exists(id))
remove_task(id)
}

if(knife_model[id] == 0 && !task_exists(id) && Weapon == CSW_KNIFE)
set_task(TASK_INTERVAL , "task_healing",id,_,_,"b")
else if(task_exists(id))
remove_task(id)

if(is_user_alive(id))
set_user_footsteps(id , ( (knife_model[id] == 2 && Weapon == CSW_KNIFE) ? 1 : 0 || (knife_model[id] == 4 && Weapon == CSW_KNIFE) ? 1 : 0))


new Float:Gravity = ((knife_model[id] == 4 && Weapon == CSW_KNIFE || knife_model[id] == 1 && Weapon == CSW_KNIFE)? get_pcvar_float(CVAR_LOWGRAV) : get_pcvar_float(CVAR_NORMGRAV)) / 800.0
set_user_gravity(id , Gravity)

if(Weapon != CSW_KNIFE)
return PLUGIN_HANDLED

else if(knife_model[id] == 4 )
set_user_maxspeed(id, 400.0)
else if(knife_model[id] == 3)
set_user_maxspeed(id, 400.0)
else if(knife_model[id] == 5)
set_user_maxspeed(id, 170.0)
else if(knife_model[id] < 3)
set_user_maxspeed(id, 250.0)

return PLUGIN_HANDLED
}

stock log_kill(killer, victim, weapon[],headshot) {
user_silentkill( victim );

message_begin( MSG_ALL, get_user_msgid( "DeathMsg" ), {0,0,0}, 0 );
write_byte( killer );
write_byte( victim );
write_byte( headshot );
write_string( weapon );
message_end();

new kfrags = get_user_frags( killer );
set_user_frags( killer, kfrags++ );
new vfrags = get_user_frags( victim );
set_user_frags( victim, vfrags++ );

return PLUGIN_CONTINUE
}


public task_healing(id) {
new addhealth = get_pcvar_num(CVAR_HEALTH_ADD)
if (!addhealth)
return

new maxhealth = get_pcvar_num(CVAR_HEALTH_MAX)
if (maxhealth > MAX_HEALTH) {
set_pcvar_num(CVAR_HEALTH_MAX, MAX_HEALTH)
maxhealth = MAX_HEALTH
}

new health = get_user_health(id)

if (is_user_alive(id) && (health < maxhealth)) {
set_user_health(id, health + addhealth)
set_hudmessage(0, 255, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.1, 4)
show_hudmessage(id,"Восстановление HP")
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()
}

else {
if (is_user_alive(id) && (health > maxhealth))
remove_task(id)
}
}

public client_disconnect(id)
{
if(task_exists(id)) remove_task(id)
}

public client_authorized(id)
{
LoadData(id)

}
SaveData(id)
{

new authid[32]
get_user_authid(id, authid, 31)

new vaultkey[64]
new vaultdata[64]

format(vaultkey, 63, "KMOD_%s", authid)
format(vaultdata, 63, "%d", knife_model[id])
set_vaultdata(vaultkey, vaultdata)
}

LoadData(id)
{
new authid[32]
get_user_authid(id,authid,31)

new vaultkey[64], vaultdata[64]

format(vaultkey, 63, "KMOD_%s", authid)
get_vaultdata(vaultkey, vaultdata, 63)
knife_model[id] = str_to_num(vaultdata)

}


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