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

Нужен скриптер. Доработка плагина.

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

В данном разделе форума разрешено создавать темы только с поиском исполнителя или заказчика.

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

Нужен скриптер. Доработка плагина.

Сообщение mr06642 » 21 сен 2016, 07:31

Добрый день. Имеется плагин. Очень простой. Суть плагина заключается в том, что игрок, убивший врага ножом, забирает деньги жертвы. Сумма рандомна. может забрать 1$ а может забрать всё.
Так вот на сервере стала происходить ругань, жертвы, кто потерял деньги, возмущены тем, что кто-то стреляет, а другой в это время пытается зарезать.

Суть переделки вижу в следующем. Нужно добавить в плагин проверку на количество здоровья у жертвы в момент его смерти от ножа. т.е. если у человека было 30% здоровья и его ударили ножом, сумма денег переходящая к убийце была намного меньше, нежели если было бы 100%
Иными словами нужно ограничить сумму денег переходящую от жертвы к убийце, в зависимости от здоровья жертвы.
Если у жертвы здоровье
от 1%-40% - сумма денег, которую потеряет жертва = 0
от 41%-75% - сумма денег, которую потеряет жертва рамдомна, но не более 50% от своего "капитала"
ну и если здоровье свыше 75% то тут плагин должен работать как и раньше. сумма рандомна от 1-100% денег.

Вроде всё. Цену укажите свою. Писать сюда в личку)
Аватара пользователя
mr06642
 
Сообщения: 25
Зарегистрирован: 04 дек 2013, 11:18
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Языки программирования: Counter-Strike 1.6

Re: Нужен скриптер. Доработка плагина.

Сообщение артист666 » 21 сен 2016, 11:33

Что - то типа того:

Код: Выделить всё
#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

#define DEFAULT_HEALTH    100

new g_takedmg[33][33]

public 
plugin_init()
{
    
register_event("HLTV""new_round""a""1=0""2=0")
    
    
RegisterHam(Ham_TakeDamage"player""player_damage"1)
    
RegisterHam(Ham_Killed"player""player_killed"1)
}
public 
new_round()
{
    for(new 
isizeof(g_takedmg); i++) arrayset(g_takedmg[i], 0sizeof(g_takedmg[]))
}
public 
client_authorized(id)
{
    for(new 
isizeof(g_takedmg); i++) g_takedmg[i][id] = 0
    arrayset
(g_takedmg[id], 0sizeof(g_takedmg[]))
}
public 
player_damage(victinflictattackFloat:dmgtype)
{
    if(!
attack || vict == attack || !is_user_alive(attack)) return
    if(
type != DMG_SLASH) return
    
    
g_takedmg[attack][vict] += floatround(dmg)
    if(!(
g_takedmg[vict][0] & attack)) g_takedmg[vict][0] |= attack
}
public 
player_killed(victattackcorpse)
{
    if(!
attack || vict == attack || !is_user_alive(attack)) return
    
    if(
g_takedmg[vict][0] == attackclient_print(0print_chat"Игрок был убит 1 игроком")
    else
    {
        static 
percentpercent g_takedmg[attack][vict] * 100 DEFAULT_HEALTH
        
        
if(percent 41client_print(0print_chat"0 - 40%%")
        else if(
percent 71client_print(0print_chat"41 - 70%%")
        else 
client_print(0print_chat"71 - 100%%")
    }


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

Re: Нужен скриптер. Доработка плагина.

Сообщение RevCrew » 22 сен 2016, 01:29

mr06642, а вы все точно предустмотрели? ЧТобы убить с ножа нужно 2 удара, соотвественно первый 75 ззабирает ну и второй 35, получается что награда будет не с 100 хп, а 35.
В чем смысл?
Аватара пользователя
RevCrew
Скриптер
 
Сообщения: 1648
Зарегистрирован: 15 июл 2013, 20:45
Благодарил (а): 273 раз.
Поблагодарили: 357 раз.
Языки программирования: Unkown

Re: Нужен скриптер. Доработка плагина.

Сообщение h0st » 30 сен 2016, 17:43

RevCrew, а как же удар в спину ПКМ?
Аватара пользователя
h0st
 
Сообщения: 2
Зарегистрирован: 30 сен 2016, 17:39
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Pawn (small)
C#

Re: Нужен скриптер. Доработка плагина.

Сообщение RevCrew » 01 окт 2016, 14:12

h0st, ну тут все хорошо :-)
Аватара пользователя
RevCrew
Скриптер
 
Сообщения: 1648
Зарегистрирован: 15 июл 2013, 20:45
Благодарил (а): 273 раз.
Поблагодарили: 357 раз.
Языки программирования: Unkown


Вернуться в Поиск исполнителей / заказчиков

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

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