Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.
Модераторы: Subb98, liFe iS GoOD
Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.
В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.
Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.
simplyDavchik » 13 мар 2018, 23:24
Иногда путаются звуки удара левой и правой кнопкой мыши при отлове и воспроизведении, совершенно не пойму с чем это связано.
- Код: Выделить всё
new VIEW_MODEL1[] = "models/magic/v_magic.mdl";
new VIEW_MODEL2[] = "models/magic/p_magic.mdl";
new MAGIC1[] = "magic/magic_hit1.wav";
new MAGIC2[] = "magic/dchill.wav";
new MW[33];
public plugin_init()
{
register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
register_event("CurWeapon", "Event_CurWeapon", "be","1=1");
register_forward(FM_EmitSound, "fw_EmitSounds");
register_event("HLTV", "NewRound", "a", "1=0", "2=0");
register_clcmd("GetWand","GetWand");
}
public NewRound()
{
for(new id = 0; id<=32; id++)
{
MW[id] = false;
}
}
public GetWand(id)
{
if(ham_strip_weapon(id,"weapon_knife"))
{
if(ham_give_weapon(id,"weapon_knife"))
{
MW[id] = true;
}
}
return PLUGIN_HANDLED;
}
public plugin_precache()
{
precache_model(VIEW_MODEL1);
precache_model(VIEW_MODEL2);
precache_sound(MAGIC1);
precache_sound(MAGIC2);
}
public Event_CurWeapon(id)
{
new weaponID = read_data(2);
if(weaponID == CSW_KNIFE && MW[id])
{
set_pev(id, pev_viewmodel2, VIEW_MODEL1);
set_pev(id, pev_weaponmodel2, VIEW_MODEL2);
}
return PLUGIN_CONTINUE;
}
public fw_EmitSounds(id, channel, const sample[], Float:volume, Float:attn, flags, pitch)
{
if(!MW[id])
return FMRES_IGNORED;
if (sample[8] == 'k' && sample[9] == 'n' && sample[10] == 'i')
{
if (sample[19] == '1') {
emit_sound(id,channel,MAGIC1,1.0,1.0,0,100);
return FMRES_SUPERCEDE;
}else if (sample[19] == '2') {
emit_sound(id,channel,MAGIC2,1.0,1.0,0,100);
return FMRES_SUPERCEDE;
}
}
return FMRES_IGNORED;
}
stock ham_give_weapon(id,weapon[])
{
if(!equal(weapon,"weapon_",7)) return 0
new wEnt = engfunc(EngFunc_CreateNamedEntity,engfunc(EngFunc_AllocString,weapon));
if(!pev_valid(wEnt)) return 0
set_pev(wEnt,pev_spawnflags,SF_NORESPAWN);
dllfunc(DLLFunc_Spawn,wEnt)
if(!ExecuteHamB(Ham_AddPlayerItem,id,wEnt))
{
if(pev_valid(wEnt)) set_pev(wEnt,pev_flags,pev(wEnt,pev_flags) | FL_KILLME);
return 0
}
ExecuteHamB(Ham_Item_AttachToPlayer,wEnt,id)
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
if(get_user_weapon(id) == wId) ExecuteHamB(Ham_Weapon_RetireWeapon,wEnt)
if(!ExecuteHamB(Ham_RemovePlayerItem,id,wEnt)) return 0
ExecuteHamB(Ham_Item_Kill,wEnt);
set_pev(id,pev_weapons,pev(id,pev_weapons) & ~(1<<wId))
return 1
}
Даже если цель не достижима, попробовать стоит.
-
simplyDavchik
-
- Сообщения: 132
- Зарегистрирован: 08 апр 2017, 23:28
- Откуда: Латвия
- Благодарил (а): 15 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Около года
- Языки программирования: Java
C++
C#
Pawn
-
simplyDavchik » 14 мар 2018, 20:08
В чем может быть проблема?
Добавлено спустя 2 часа 31 минуту 34 секунды:
Ай пофиг, я уже сделал по другому, не стал заморачиваться с отловом звуков.
Даже если цель не достижима, попробовать стоит.
-
simplyDavchik
-
- Сообщения: 132
- Зарегистрирован: 08 апр 2017, 23:28
- Откуда: Латвия
- Благодарил (а): 15 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Около года
- Языки программирования: Java
C++
C#
Pawn
-
MayroN » 15 мар 2018, 15:46
Если начал - неостанавливайся.Давай до конца...)
Если я правильно тебя понял,то здесь ты поставил свои?
- Код: Выделить всё
new MAGIC1[] = "magic/magic_hit1.wav";
new MAGIC2[] = "magic/dchill.wav";
Если ето так,то поставь их и сюда тоже
- Код: Выделить всё
public fw_emit_sound(id,channel,const sound[])
{
if(equal(sound,"weapon/magic_hit1.wav"))
{
emit_sound(id,channel,MAGIC1,1.0,1.0,0,100);
return FMRES_SUPERCEDE;
}
if(equal(sound,"weapon/dchill.wav"))
{
emit_sound(id,channel,MAGIC2,1.0,1.0,0,100);
return FMRES_SUPERCEDE;
}
return FMRES_IGNORED;
}
-
MayroN
-
- Сообщения: 673
- Зарегистрирован: 10 окт 2010, 18:23
- Откуда: Украина, г. Белая Церковь
- Благодарил (а): 149 раз.
- Поблагодарили: 86 раз.
- Опыт программирования: Около года
- Языки программирования: На которых говорю...
-
артист666 » 16 мар 2018, 15:44
Все звуки ножа:
knife_deploy1.wav - выхватывание
knife_hit1.wav - удар в игрока
knife_hit2.wav - удар в игрока
knife_hit3.wav - удар в игрока
knife_hit4.wav - удар в игрока
knife_hitwall1.wav - удар в не живой объект
knife_slash1.wav - промах
knife_slash2.wav - промах
knife_stab.wav - не помню
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
-
артист666
-
- Сообщения: 2706
- Зарегистрирован: 09 апр 2013, 17:46
- Благодарил (а): 284 раз.
- Поблагодарили: 639 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn
simplyDavchik » 18 мар 2018, 00:32
MayroN писал(а):Если начал - неостанавливайся.Давай до конца...)
Если я правильно тебя понял,то здесь ты поставил свои?
- Код: Выделить всё
new MAGIC1[] = "magic/magic_hit1.wav";
new MAGIC2[] = "magic/dchill.wav";
Если ето так,то поставь их и сюда тоже
- Код: Выделить всё
public fw_emit_sound(id,channel,const sound[])
{
if(equal(sound,"weapon/magic_hit1.wav"))
{
emit_sound(id,channel,MAGIC1,1.0,1.0,0,100);
return FMRES_SUPERCEDE;
}
if(equal(sound,"weapon/dchill.wav"))
{
emit_sound(id,channel,MAGIC2,1.0,1.0,0,100);
return FMRES_SUPERCEDE;
}
return FMRES_IGNORED;
}
Не совсем, мне надо было отлавливать звук ножа при ударе левой кнопкой и правой. И заменить левую на magic_hit1 а правую на dchill, но я в итоге забил и просто сделал отлов удара правой и левой кнопкой и воспроизводил звук какой нужен.
Даже если цель не достижима, попробовать стоит.
-
simplyDavchik
-
- Сообщения: 132
- Зарегистрирован: 08 апр 2017, 23:28
- Откуда: Латвия
- Благодарил (а): 15 раз.
- Поблагодарили: 0 раз.
- Опыт программирования: Около года
- Языки программирования: Java
C++
C#
Pawn
-
артист666 » 18 мар 2018, 22:11
Дак звуки сами по себе чередуются.
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
-
артист666
-
- Сообщения: 2706
- Зарегистрирован: 09 апр 2013, 17:46
- Благодарил (а): 284 раз.
- Поблагодарили: 639 раз.
- Опыт программирования: Больше трех лет
- Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn
Вернуться в Скриптинг
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15