Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Показано с 1 по 8 из 8
  1. #1
    Аватар для Trender
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.05.2014
    Сообщений
    117
    Репутация:
    -1 ±

    по поводу hp

    У меня такая проблема. Когда я бью другого персонажа, то у него не отнимается хп. ( У него нету гм )
    В чём может быть проблема?

  2. #2
    Аватар для Osetin
    •Администратор•

    Статус
    Оффлайн
    Регистрация
    26.03.2013
    Адрес
    Pro-Pawn.Ru
    Сообщений
    3,428
    Репутация:
    1079 ±
    Подробнее опишите проблему, после чего появилась и что добавляли в мод - скидывайте. Просто так не может быть данной проблемы.

  3. #3
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,438
    Репутация:
    261 ±
    OnPlayerGive/TakeDamage скидывайте, ну и на всякий OnPlayerWeaponShot

  4. #4
    Аватар для Trender
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.05.2014
    Сообщений
    117
    Репутация:
    -1 ±
    PHP код:
    public OnPlayerTakeDamage(playeridissueridFloatamountweaponidbodypart)
    {
        if(
    issuerid != INVALID_PLAYER_ID)
        {
            if(
    StartTazer[issuerid] == true && weaponid == 0)
            {
                if(
    GetPlayerTazer[playerid] == true || GetPlayerCuff[playerid] == true || GetPlayerTie[playerid] == true || IsLaw(playerid) || IsArmy(playerid)) return true;
                
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_HANDSUP);
                
    TogglePlayerControllableEx(playerid0);
                
    GetPlayerTazer[playerid] = true;
                
    SetTimerEx("UnTazer"15000false,"i",playerid);
                
    //
                
    GetPlayerName(playeridsnsizeof(sn));
                
    GetPlayerName(issueridgpsizeof(gp));
                new 
    mes[128];
                
    format(messizeof(mes),"Вы ударили %s электрошокером"sn);
                
    SendClientMessage(issueridCOLOR_BLUE,mes);
                
    format(messizeof(mes), "%s ударил %s электрошокером"gpsn);
                
    ProxDetector(10.0playeridmes,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
                return 
    true;
            }
            else if((
    weaponid == || weaponid == 1) && StartTazer[issuerid] == false)
            {
                new 
    Floatred float(PlayerInfo[issuerid][pBrunt])/1000.0;
                new 
    Floathealth;
                   
    GetPlayerHealth(playeridhealth);
                   
    SetPlayerHealthAC(playeridhealth red);
                   return 
    true;
            }
            else if(
    weaponid == 5)
            {
                new 
    Floathealth;
                   
    GetPlayerHealth(playeridhealth);
                   
    SetPlayerHealthAC(playeridhealth 20.0);
                return 
    true;
            }
        }
        return 
    true;


  5. #5
    Аватар для Edwin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.02.2014
    Адрес
    Беларусь
    Сообщений
    188
    Репутация:
    20 ±
    Код HTML:
    public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid, bodypart) 
    { 
        if(issuerid != INVALID_PLAYER_ID) 
        { 
            if(StartTazer[issuerid] == true && weaponid == 0) 
            { 
                if(GetPlayerTazer[playerid] == true || GetPlayerCuff[playerid] == true || GetPlayerTie[playerid] == true || IsLaw(playerid) || IsArmy(playerid)) return true; 
                SetPlayerSpecialAction(playerid,SPECIAL_ACTION_HANDSUP); 
                TogglePlayerControllableEx(playerid, 0); 
                GetPlayerTazer[playerid] = true; 
                SetTimerEx("UnTazer", 15000, false,"i",playerid); 
                // 
                GetPlayerName(playerid, sn, sizeof(sn)); 
                GetPlayerName(issuerid, gp, sizeof(gp)); 
                new mes[128]; 
                format(mes, sizeof(mes),"Вы ударили %s электрошокером", sn); 
                SendClientMessage(issuerid, COLOR_BLUE,mes); 
                format(mes, sizeof(mes), "%s ударил %s электрошокером", gp, sn); 
                ProxDetector(10.0, playerid, mes,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE); 
                return true; 
            } 
            else if(weaponid == 5) 
            { 
                new Float: health; 
                   GetPlayerHealth(playerid, health); 
                   SetPlayerHealthAC(playerid, health - 20.0); 
                return true; 
            } 
        } 
        return true; 
    }

  6. Пользователь сказал cпасибо:
    Trender (23.11.2014)
  7. #6
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,438
    Репутация:
    261 ±
    А так не лучше будет?
    PHP код:
    public OnPlayerTakeDamage(playeridissueridFloatamountweaponidbodypart)
    {
        if(
    issuerid != INVALID_PLAYER_ID || StartTazer[issuerid] != true && weaponid != 0) return 1;
        if(
    GetPlayerTazer[playerid] == true || GetPlayerCuff[playerid] == true || GetPlayerTie[playerid] == true || IsLaw(playerid) || IsArmy(playerid)) return true;
        
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_HANDSUP);
        
    TogglePlayerControllableEx(playerid0);
        
    GetPlayerTazer[playerid] = true;
        
    SetTimerEx("UnTazer"15000false,"i",playerid);
        
    GetPlayerName(playeridsnsizeof(sn));
        
    GetPlayerName(issueridgpsizeof(gp));
        new 
    mes[128];
        
    format(messizeof(mes),"Вы ударили %s электрошокером"sn);
        
    SendClientMessage(issueridCOLOR_BLUE,mes);
        
    format(messizeof(mes), "%s ударил %s электрошокером"gpsn);
        
    ProxDetector(10.0playeridmes,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
        if(
    weaponid == 5)
        {
            new 
    Floathealth;
            
    GetPlayerHealth(playeridhealth);
            
    SetPlayerHealthAC(playeridhealth 20.0);
            return 
    true;
        }
        return 
    true;


  8. #7
    Аватар для Trender
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.05.2014
    Сообщений
    117
    Репутация:
    -1 ±
    PHP код:
     public OnPlayerTakeDamage(playeridissueridFloatamountweaponidbodypart)
    {
        if(
    issuerid != INVALID_PLAYER_ID || StartTazer[issuerid] != true && weaponid != 0) return 1;
        if(
    GetPlayerTazer[playerid] == true || GetPlayerCuff[playerid] == true || GetPlayerTie[playerid] == true || IsLaw(playerid) || IsArmy(playerid)) return true// строка 2646
        
    SetPlayerSpecialAction(playerid,SPECIAL_ACTION_HANDSUP);
        
    TogglePlayerControllableEx(playerid0);
        
    GetPlayerTazer[playerid] = true;
        
    SetTimerEx("UnTazer"15000false,"i",playerid);
        
    GetPlayerName(playeridsnsizeof(sn));
        
    GetPlayerName(issueridgpsizeof(gp));
        new 
    mes[128];
        
    format(messizeof(mes),"Вы ударили %s электрошокером"sn);
        
    SendClientMessage(issueridCOLOR_BLUE,mes);
        
    format(messizeof(mes), "%s ударил %s электрошокером"gpsn);
        
    ProxDetector(10.0playeridmes,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
        if(
    weaponid == 5)
        {
            new 
    Floathealth;
            
    GetPlayerHealth(playeridhealth);
            
    SetPlayerHealthAC(playeridhealth 20.0);
            return 
    true;
        }
        return 
    true;

    теперь вот что в логах пишет
    Код:
    [16:20:32] [debug] Run time error 4: "Array index out of bounds"
    [16:20:32] [debug]  Accessing element at index 65535 past array upper bound 99
    [16:20:32] [debug] AMX backtrace:
    [16:20:32] [debug] #0 00020d74 in public OnPlayerTakeDamage (playerid=0, issuerid=65535, Float:amount=3.30000, weaponid=54, bodypart=3) at C:\Documents and Settings\Admin\Рабочий стол\Advantage Rp\gamemodes\ARP.pwn:2646

  9. #8
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Используй тот вариант, что дал Edwin. Сокращение в данном случае лишь сделает хуже
    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  10. Пользователь сказал cпасибо:
    Trender (23.11.2014)
 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

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