Привет! Если вы читаете это - Вы еще не зарегистрированы. Это займет не больше минуты. Нажмите здесь, чтобы пройти регистрацию в несколько простых шагов, чтобы пользоваться всеми возможностями нашего форума. Обратите внимание, запрещены непристойные, матерные, бессмысленные (цифры, случайный набор букв) ники. Удачи!

Тема: OnPlayerTakeDamage - урон от оружия.

Показано с 1 по 10 из 12

  1. #1
    Пользователь

    Аватар для vulturous

    Статус: Оффлайн
    Регистрация:23.02.2017
    Сообщений:14
    Репутация:2 [+/-] 

    OnPlayerTakeDamage - урон от оружия.

    PHP код:
    public OnPlayerTakeDamage(playeridissueridFloatamountweaponid)
    {
        
    #pragma unused issuerid
        #pragma unused amount
        
    const Floatp_hp;  ///4990
        
    GetPlayerHealth(playeridp_hp); //4991
        
    switch(weaponid)
        {
            case 
    24SetPlayerHealth(playeridp_hp 50); // Desert Eagle
            
    case 22SetPlayerHealth(playeridp_hp 50); // Colt 45
            
    case 32SetPlayerHealth(playeridp_hp -10); // Tec 9
            
    case 28SetPlayerHealth(playeridp_hp -10); // Uzi
            
    case 23SetPlayerHealth(playeridp_hp -50); // Silenced Colt
            
    case 31SetPlayerHealth(playeridp_hp -35); // M4
            
    case 30SetPlayerHealth(playeridp_hp -40); // AK
            
    case 29SetPlayerHealth(playeridp_hp -18); // MP5
            
    case 34SetPlayerHealth(playeridp_hp -300); // Sniper Rifle
            
    case 33SetPlayerHealth(playeridp_hp -35); // Cunt Gun
            
    case 25SetPlayerHealth(playeridp_hp -100); // Pump Shotgun
            
    case 27SetPlayerHealth(playeridp_hp -70); // Spaz 12
        
    }
        return 
    true;

    .pwn(4990) : error 001: expected token: "=", but found ";"
    .pwn(4991) : error 035: argument type mismatch (argument 2)

    2 Errors.


    Добавил new p_hp;

    PHP код:
        const Floatp_hp// 91
        
    GetPlayerHealth(playeridp_hp);// 92 
    .pwn(4991) : error 001: expected token: "=", but found ";"
    .pwn(4992) : warning 213: tag mismatch

    Добавил

    PHP код:
    static const Floatp_hp;  ///4990 
    .pwn(4991) : error 035: argument type mismatch (argument 2)

    1 Error.
    Последний раз редактировалось vulturous; 12.10.2017 в 23:57.
  2. #2
    •Профик•

    Аватар для Nexius_Tailer

    Статус: Оффлайн
    Регистрация:19.05.2013
    Адрес:Гомель, Беларусь
    Сообщений:1,321
    Репутация:635 [+/-] 
    А зачем делать константой то, что в последующем изменяется?

    PHP код:
    new Float:p_hp;
    GetPlayerHealth(playeridp_hp); 

    Не хотите постоянно проверять обновления моих скриптов?
    Подключите его последним, после всех остальных
    Nexius's Update Checker
  3. #3
    Пользователь

    Аватар для vulturous

    Статус: Оффлайн
    Регистрация:23.02.2017
    Сообщений:14
    Репутация:2 [+/-] 
    Константа уже была в коде... Как глупо бы это не звучало:D
    ///////
    Скомпилировалось.

    ---------- Сообщение добавлено в 02:13 ---------- Предыдущее сообщение добавлено в 01:19 ----------

    К сожалению система почему-то не работает. А проблема в том, что когда стреляешь в игрока, у него почему-то снимает 93 хп. Взял систему c http://pawno-info.ru/showthread.php?t=242579

    В чем проблема, мужики, не понимаю.
  4. #4
    Пользователь

    Аватар для vulturous

    Статус: Оффлайн
    Регистрация:23.02.2017
    Сообщений:14
    Репутация:2 [+/-] 
    Проблема не решена.
  5. #5
    Пользователь

    Аватар для The Zaka

    Статус: Оффлайн
    Регистрация:18.04.2017
    Сообщений:252
    Репутация:29 [+/-] 
    93 хп сносит потому, что дефолтный урон с дигла 43. Работает твоя система урона и дефолтная

    ---------- Сообщение добавлено в 20:01 ---------- Предыдущее сообщение добавлено в 19:59 ----------

    а вообще пробуй так:
    Код HTML:
    new float:hp;
    getplayerhealth(playerid, hp);
    if(weaponid == 24) setplayerhealth(playerid, hp-50);//deserteagle
  6. #6
    Пользователь

    Аватар для vulturous

    Статус: Оффлайн
    Регистрация:23.02.2017
    Сообщений:14
    Репутация:2 [+/-] 
    Короче тема такая. Если я удалю все к чертям собачим в onplayergivedamage, то, сноситься хп будет по 43 как ты и пишешь, нооо, есть очень большое "NO" у меня часто дамаг не проходит, игрок будто использует гм.

    Для этого я использую такую систему:

    PHP код:
        new FloatvidaFloatarmaduraFloatdmg;

        
    GetPlayerArmour(damagedidarmadura);
        
    GetPlayerHealth(damagedidvida);

        if(
    armadura 0)
        {
            if(
    amount armadura)
            {
                
    dmg amount armadura;
                
    vida vida dmg;
                
    SetPlayerArmour(damagedid0.0);
                
    SetPlayerHealth(damagedidvida);
                return 
    1;
            }
            
    armadura armadura amount;
            
    SetPlayerArmour(damagedidarmadura);
        }
        if(
    armadura 1)
        {
            
    vida vida amount;
            
    SetPlayerHealth(damagedidvida);
        } 
    Даже если она одна система в givedamage, почему сносит то +30 хп, нигде этого не написано
  7. #7
    Пользователь

    Аватар для The Zaka

    Статус: Оффлайн
    Регистрация:18.04.2017
    Сообщений:252
    Репутация:29 [+/-] 
    Код HTML:
    new Float: vida, Float: armadura, Float: dmg;
    
        GetPlayerArmour(damagedid, armadura);
        GetPlayerHealth(damagedid, vida);
    
        if(armadura > 0)
        {
            if(amount > armadura)
            {
                dmg = amount - armadura;
                vida = vida - dmg;
                SetPlayerArmour(damagedid, 0.0);
                if(weaponid == 24) setplayerhealth(playerid, vida-50);
                return 1;
            }
            armadura = armadura - amount;
            SetPlayerArmour(damagedid, armadura);
        }
        if(armadura < 1)
        {
            vida = vida - amount;
            if(weaponid == 24) setplayerhealth(playerid, vida-50);
        }
    попробуй только из дигла выстрели
  8. #8
    Пользователь

    Аватар для KatranLife

    Статус: Онлайн
    Регистрация:15.07.2014
    Адрес:Украина
    Сообщений:904
    Репутация:290 [+/-] 
    Используйте паблик OnPlayerWeaponShot. + return 0;
    Всю инфу можно найти в вики, почему вы не пользуетесь ним?...
    2014 узнаю что такое пувен
    2015 Узнаю что павно и павн не одно и тоже.
    2016 уже быдлопрограммирую немног
    2017 быдлопрограммировал по полной
    2018 на дворе, а я все ещё быдлопрограммирую
  9. #9
    Пользователь

    Аватар для vulturous

    Статус: Оффлайн
    Регистрация:23.02.2017
    Сообщений:14
    Репутация:2 [+/-] 
    У меня почему-то тоже хп снимается. только у меня по 93, а игрока в которого стрелял 51. Нужно бы чтобы у меня хп не снималось, а у игрока в которого стреляешь 47.
  10. #10
    Заблокирован

    Аватар для ihNNNNNify

    Статус: Оффлайн
    Регистрация:18.06.2014
    Адрес:Украина, Донецкая область
    Сообщений:1,677
    Репутация:277 [+/-] 
    Используйте паблик OnPlayerWeaponShot. + return 0;
    Всю инфу можно найти в вики, почему вы не пользуетесь ним?...
    Потому что не разбирается человек, он просто взял этот код (который предоставил нам) с паблика и даже не разобрался в коде.
Страница 1 из 2 12 Последняя
  • К странице:

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения