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

Реклама


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

    Статус
    Оффлайн
    Регистрация
    22.12.2015
    Сообщений
    162
    Репутация:
    8 ±

    Как узнать 5-ое убийство?

    Всем привет.
    Хотел сделать систему серийных убийств (уведомляет всех игроков о серийных убийствах с каждым 5 ой убийствой)
    Вот код:
    PHP код:
    public OnPlayerDeath(playeridkilleridreason)
    {
         
    SeriKill[playerid] = 0;
         
    SeriKill[killerid]++;
         if(
    SeriKill[killerid] == 5SendClientMessageToAll(-1"Какой то игрок совершил серию из 5 убийств!");
         if(
    SeriKill[killerid] == 10SendClientMessageToAll(-1"Какой то игрок совершил серию из 10 убийств!");
         if(
    SeriKill[killerid] == 15SendClientMessageToAll(-1"Какой то игрок совершил серию из 15 убийств!");
         if(
    SeriKill[killerid] == 20SendClientMessageToAll(-1"Какой то игрок совершил серию из 20 убийств!");
    //бесконечность
        
    return 1;

    Собственно вопрос, как можно сделать код по проще? Незнаю может там можно вычислить по какой то формуле)
    serialid = SerialKill[killerid] % 5 что ли хз. подскажите
    SendClientMessageToAll(-1, "Игрок %s[%d] совершил серию из %d убийств!", pName, killerid, serialid); типо

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

    Статус
    Оффлайн
    Регистрация
    19.02.2014
    Адрес
    ­
    Сообщений
    17
    Репутация:
    5 ±
    PHP код:
    public OnPlayerDeath(playeridkilleridreason)
    {
        
    SeriKill[playerid] = 0;
        
    SeriKill[killerid]++;
         
        if(
    SeriKill[killerid] && !(SeriKill[killerid] % 5)) // если не 0 и кратно 5
        
    {
            new 
    str[128], name[24]; //если переменная для строки и ника есть - не создавай еще раз
            
    GetPlayerName(killerid,name,24);
            
    format(str,sizeof(str),"Игрок %s[%d] совершил серию из %d убийств!",name,killerid,SeriKill[killerid]);
            
    SendClientMessageToAll(-1str);
        }
        return 
    1;


  3. 2 пользователя(ей) сказали cпасибо:
    Londlem (23.01.2016)Иван Бубнов (23.01.2016)
  4. #3
    Аватар для Londlem
    Модератор

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Сообщений
    1,360
    Репутация:
    767 ±
    Argument, что насчёт того, что killerid может и не быть на сервере?

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    А вот за такое пора бы уже устраивать показательные казни
    new str[128], name[24];
    GetPlayerName(killerid,name,24);

    PHP код:
    public OnPlayerDeath(playeridkilleridreason)
    {
        if(
    killerid != INVALID_PLAYER_ID)
        {
            
    SeriKill[playerid] = 0;
            
    SeriKill[killerid]++;
         
            if(
    SeriKill[killerid] && !(SeriKill[killerid] % 5)) // если не 0 и кратно 5
            
    {
                new 
    string[36+MAX_PLAYER_NAME+1+3+11];
                
    GetPlayerName(killeridstringMAX_PLAYER_NAME+1);
                
    format(stringsizeof(string), "Игрок %s[%d] совершил серию из %d убийств!"stringkilleridSeriKill[killerid]);
                
    SendClientMessageToAll(-1string);
            }
        }
        return 
    1;

    Последний раз редактировалось DeimoS; 23.01.2016 в 19:40.
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

  6. #5
    Аватар для Londlem
    Модератор

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Сообщений
    1,360
    Репутация:
    767 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Код:
    GetPlayerName(killerid, string, MAX_PLAYER_NAME);
    И за такое тоже казни можно устраивать. Причём, уже давно...

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Цитата Сообщение от Londlem Посмотреть сообщение
    И за такое тоже казни можно устраивать. Причём, уже давно...
    Ну-ка, поясни Если ты говоришь о нуль-символе, то давно ли ты встречал сервера, где игрокам устанавливаются какие-либо подписи к никам (AFK и т.п.)? Ну чтоб длина была именно 24 символа ровно. Я вот уже как года два таких серверов не видел. Да и даже если подобное у автора есть, максимум, что может случится, это последний символ в нике потеряется и всё. Короч, не актуально это сейчас, имхо :с
    Но код я подправлю. Доля правды в твоих словах есть, если ты вообще об этом
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

  8. #7
    Аватар для Londlem
    Модератор

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Сообщений
    1,360
    Репутация:
    767 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Ну-ка, поясни Если ты говоришь о нуль-символе
    Именно о нём. Всё же, остались такие сервера, где приписывают префикс к никнеймам. И этих серверов довольно-таки не мало.

  9. #8
    Аватар для Иван Бубнов
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.12.2015
    Сообщений
    162
    Репутация:
    8 ±


    Close

 

 

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

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

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

Ваши права

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