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

Реклама


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

Тема: OnPlayerDeath

  1. #1
    Аватар для semen7907
    Пользователь

    Статус
    Оффлайн
    Регистрация
    04.02.2014
    Сообщений
    34
    Репутация:
    0 ±

    OnPlayerDeath

    Подскажите что не так, когда я умираю, вылазит это:

    PHP код:
    [14:13:14] [debugRun time error 4"Array index out of bounds"
    [14:13:14] [debug]  Accessing element at index 65535 past array upper bound 60
    [14:13:14] [debugAMX backtrace:
    [
    14:13:14] [debug#0 000d23bc in public OnPlayerDeath (playerid=0, killerid=65535, reason=255) at C:\Users\name\Desktop\Mod.pwn:774 


    PHP код:
              new die[120];
             new 
    Float:HPKiller[MAX_PLAYERS];
             new 
    Float:ARMKiller[MAX_PLAYERS];
             
    GetPlayerHealth(killeridHPKiller[playerid]);
             
    GetPlayerArmour(killeridARMKiller[playerid]);
             
    format(die, sizeof(die), "Âàñ óáèë {FFFF00}%s {33FF66}ó íåãî îñòàëîñü {33FFFF}%.1f {33FF66}HP è {33FFFF}%.1f {33FF66}Áðîíè"playerName(killerid), HPKiller[playerid], ARMKiller[playerid]);
            
    SendClientMessage(playerid0x33FF66AA, die); 

  2. #2
    Аватар для Caypen
    Пользователь

    Статус
    Оффлайн
    Регистрация
    25.03.2014
    Сообщений
    104
    Репутация:
    16 ±
    PHP код:
    playerName(killerid 
    В этом,ты узнаешь имя убийцы в любом случае, даже если убийцы нет а именно INVALID_PLAYER_ID
    Захожу на pro-pawn.ru - чувствую себя обычным пользователем
    Захожу на gawno-info.ru - чувствую себя самым великим гением
    (С) Caypen

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

    Статус
    Оффлайн
    Регистрация
    30.11.2013
    Сообщений
    26
    Репутация:
    25 ±
    Для исправления, сделай чтобы этот код выполнялся только при условии:
    PHP код:
    if(killerid != INVALID_PLAYER_ID

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Вообще паблик должен иметь такой вид
    PHP код:
    public OnPlayerDeath(playeridkilleridreason)
    {
        
    //Тут общий код (например, массив для хранения текста) и всё, что связано только с playerid (а так же SendDeathMessage, если оно есть)
        
    if(killerid != INVALID_PLAYER_ID
        {
            
    //А тут всё, что связано с killerid. Все массивы, функции и прочее.
        
    }
        return 
    1;    

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

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

    Steve Pavlina

 

 

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

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

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

Ваши права

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