Русское сообщество по скриптингу

[ZP] Изменить/Добавить код.  [Решено]

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Re: [ZP] Изменить/Добавить код.

Сообщение Aleksandr_27RUS » 08 авг 2017, 20:46

Всё ещё актуально!
Аватара пользователя
Aleksandr_27RUS
 
Сообщения: 22
Зарегистрирован: 14 сен 2016, 10:52
Благодарил (а): 3 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около 6 месяцев

Re: [ZP] Изменить/Добавить код.

Сообщение Subb98 » 08 авг 2017, 21:32

Aleksandr_27RUS, устное предупреждение:

Fedcomp писал(а):На нашем форуме запрещено:
15. Подымать свою тему ранее чем через 8 часов с момента последнего поста. Стандартное время ожидания ответа на форуме - 2 дня.

Вы должны зарегистрироваться, чтобы видеть ссылки.
«Очень хорошо. Лучше вы, чем я» © Donald J. Trump
Аватара пользователя
Subb98
Модератор
 
Сообщения: 5485
Зарегистрирован: 24 мар 2011, 19:42
Откуда: г. Пермь
Благодарил (а): 1329 раз.
Поблагодарили: 2343 раз.
Опыт программирования: Больше трех лет
Языки программирования: PHP

Re: [ZP] Изменить/Добавить код.

Сообщение Aleksandr_27RUS » 08 авг 2017, 22:28

EvilCoder писал(а):Не понял, что в понимании: простой игрок.
Я говорю про human, а мне про простых игроков...
Как можно не относиться к zm_vip, когда мод ZM?! Чё т не догоняю.

Добавлено спустя 4 минуты 28 секунд:
В ощм, пока я ещё сонный.
В zm_core добавить проверку на нож.
Если оружие = нож, и нанесено >= 500ед. урона, = даём аммопаки.
Ибо действий с ножом там нет.

EvilCoder, можете помочь, пожалуйста, добавить код: Если оружие = нож, и нанесено >= 500ед. урона, = даём аммопаки?
Я не совсем понимаю как сделать проверку на нож и выдать Аммо.
Аватара пользователя
Aleksandr_27RUS
 
Сообщения: 22
Зарегистрирован: 14 сен 2016, 10:52
Благодарил (а): 3 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около 6 месяцев

Re: [ZP] Изменить/Добавить код.

Сообщение артист666 » 08 авг 2017, 22:44

Да поставь ты сообщение какое-нибудь вот сюда:

Код: Выделить всё
// Атакующий - человек...
if (!g_zombie[attacker])
{
    
// Множитель брони для окончательного урона от обычных зомби
    
if (!g_nemesis[victim])
    {
        
damage *= get_pcvar_float(cvar_zombiearmor)
        
SetHamParamFloat(4damage)
    }
    
// Наградить паками людей за повреждение зомби?
    
if ((get_pcvar_num(cvar_ammodamage_human) > 0) && (!g_survivor[attacker] || !get_pcvar_num(cvar_survignoreammo)))
    {
        
// Прибавить урон
        
g_damagedealt_human[attacker] += floatround(damage)
        
        
// Наградить паками за все повреждения
        
while (g_damagedealt_human[attacker] > get_pcvar_num(cvar_ammodamage_human))
        {
            
g_ammopacks[attacker]++
            
set_user_ammo_packs(attackerget_user_ammo_packs(attacker)+1)
            
g_damagedealt_human[attacker] -= get_pcvar_num(cvar_ammodamage_human)
        }
    }
    return 
HAM_IGNORED;


Это всё, что касается урона по зомби от человека в zp_core.sma
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
Аватара пользователя
артист666
 
Сообщения: 2706
Зарегистрирован: 09 апр 2013, 17:46
Благодарил (а): 284 раз.
Поблагодарили: 639 раз.
Опыт программирования: Больше трех лет
Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn

Re: [ZP] Изменить/Добавить код.

Сообщение Aleksandr_27RUS » 08 авг 2017, 22:51

артист666 писал(а):Да поставь ты сообщение какое-нибудь вот сюда:

Код: Выделить всё
// Атакующий - человек...
if (!g_zombie[attacker])
{
    // Множитель брони для окончательного урона от обычных зомби
    if (!g_nemesis[victim])
    {
        damage *= get_pcvar_float(cvar_zombiearmor)
        SetHamParamFloat(4, damage)
    }
    // Наградить паками людей за повреждение зомби?
    if ((get_pcvar_num(cvar_ammodamage_human) > 0) && (!g_survivor[attacker] || !get_pcvar_num(cvar_survignoreammo)))
    {
        // Прибавить урон
        g_damagedealt_human[attacker] += floatround(damage)
        
        
// Наградить паками за все повреждения
        while (g_damagedealt_human[attacker] > get_pcvar_num(cvar_ammodamage_human))
        {
            g_ammopacks[attacker]++
            set_user_ammo_packs(attacker, get_user_ammo_packs(attacker)+1)
            g_damagedealt_human[attacker] -= get_pcvar_num(cvar_ammodamage_human)
        }
    }
    return HAM_IGNORED;


Это всё, что касается урона по зомби от человека в zp_core.sma


Вот так?

Код: Выделить всё
// Атакующий - человек...
if (!g_zombie[attacker])
{
    // Множитель брони для окончательного урона от обычных зомби
    if (!g_nemesis[victim])
    {
        damage *= get_pcvar_float(cvar_zombiearmor)
        SetHamParamFloat(4, damage)
    }
    // Наградить паками людей за повреждение зомби?
    if ((get_pcvar_num(cvar_ammodamage_human) > 0) && (!g_survivor[attacker] || !get_pcvar_num(cvar_survignoreammo)))
    {
        // Прибавить урон
        g_damagedealt_human[attacker] += floatround(damage)
        
        
// Наградить паками за все повреждения
        while (g_damagedealt_human[attacker] > get_pcvar_num(cvar_ammodamage_human))
        {
            g_ammopacks[attacker]++
            g_damagedealt_human[attacker] -= get_pcvar_num(cvar_ammodamage_human)
        }
        else
        
{
            if(get_user_weapon(attacker) = CSW_KNIFE)
            {
                if(g_damagedealt_human[attacker] >= 500)
                {
                    g_ammopacks[attacker]++
                }
            }
        }
    }
    return HAM_IGNORED;
}
Аватара пользователя
Aleksandr_27RUS
 
Сообщения: 22
Зарегистрирован: 14 сен 2016, 10:52
Благодарил (а): 3 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около 6 месяцев

Re: [ZP] Изменить/Добавить код.

Сообщение артист666 » 08 авг 2017, 23:28

Сообщение, это:
Код: Выделить всё
client_print(attackerprint_chat"ololo rabotaet"


Ставишь в тот блок, где паки начисляются, заходишь за человека, стреляешь ножом по зомби и смотришь, выводится ли сообщение.
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
Аватара пользователя
артист666
 
Сообщения: 2706
Зарегистрирован: 09 апр 2013, 17:46
Благодарил (а): 284 раз.
Поблагодарили: 639 раз.
Опыт программирования: Больше трех лет
Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn

Re: [ZP] Изменить/Добавить код.

Сообщение boogaga » 08 авг 2017, 23:30

артист666 писал(а):стреляешь ножом по зомби
:-D
Аватара пользователя
boogaga
 
Сообщения: 32
Зарегистрирован: 19 дек 2016, 17:56
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.

Re: [ZP] Изменить/Добавить код.

Сообщение артист666 » 08 авг 2017, 23:45

boogaga писал(а):
артист666 писал(а):стреляешь ножом по зомби
:-D


По сути что выстрел, что удар ножа - одно и тоже, trace_line...
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
Аватара пользователя
артист666
 
Сообщения: 2706
Зарегистрирован: 09 апр 2013, 17:46
Благодарил (а): 284 раз.
Поблагодарили: 639 раз.
Опыт программирования: Больше трех лет
Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn

Re: [ZP] Изменить/Добавить код.

Сообщение Aleksandr_27RUS » 09 авг 2017, 02:25

артист666 писал(а):Сообщение, это:
Код: Выделить всё
client_print(attacker, print_chat, "ololo rabotaet"


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

Оно выводится, если бить с ножа, но аммо +1 даётся не тогда когда сносишь 500HP зомби с ножа, а например когда полностью его убиваешь или когда сносишь 2000HP или 3000HP, но никак не 500HP, как должно быть.
Возможно что и правда нужно добавлять отдельное вознаграждение на нож.

Добавлено спустя 2 часа 19 минут 31 секунду:
артист666 писал(а):Сообщение, это:
Код: Выделить всё
client_print(attacker, print_chat, "ololo rabotaet")


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

артист666, можешь рассказать как добавит код, который предложил Админ?
Если оружие = нож, и нанесено >= 500ед. урона, = даём аммопаки, если оружие не нож то выдаётся по обычному.
Каждый говорит загадками, будто знает как это сделать, но помогать не хочет. Давно бы вопрос по теме был решён.
Аватара пользователя
Aleksandr_27RUS
 
Сообщения: 22
Зарегистрирован: 14 сен 2016, 10:52
Благодарил (а): 3 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около 6 месяцев

Re: [ZP] Изменить/Добавить код.

Сообщение артист666 » 09 авг 2017, 07:34

Ну самое простое, это:

Код: Выделить всё
if(get_user_weapon(attacker) == CSW_KNIFE)
if(
damage >= 500.0


Можно через pev_dmg_inflictor, потом получить либо тип, либо имя...
Если вы хотите чему-то научиться, пробуйте, задавайте вопросы.
Иначе компенсируйте потраченное время на ваши "проблемы".
Аватара пользователя
артист666
 
Сообщения: 2706
Зарегистрирован: 09 апр 2013, 17:46
Благодарил (а): 284 раз.
Поблагодарили: 639 раз.
Опыт программирования: Больше трех лет
Языки программирования: С, C++
Delphi
HTML, CSS, Java Script
Pawn

Пред.След.

Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17