Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 15

Тема: /try

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

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±

    /try

    PHP код:
    CMD:try(playeridparams[]) {
        if(
    isnull(params)) {
            return 
    SendClientMessage(playerid, -1, !"Используйте: /try [действие]");
        }

        const
            
    SUCCESS_STR_LENGTH 20;

        static const
            
    success_strings[2][(SUCCESS_STR_LENGTH 1char] = {
                !
    " {1CEF00}| Удачно",
                !
    " {FF0000}| Не удачно"
            
    };

        goto 
    skip_string_init;
        new
            
    string[MAX_CHATBUBBLE_LENGTH 1];
        
    skip_string_init:

        new
            
    len GetPlayerName(playeridstringsizeof(string));

        
    string[len] = ' 'string[len 1] = EOS;
        
    strcat(stringparams);
        
    string[sizeof(string) - len SUCCESS_STR_LENGTH] = EOS;
        
    strcat(stringsuccess_strings[random(2)]);

        new
            
    player_world GetPlayerVirtualWorld(playerid),
            
    player_int GetPlayerInterior(playerid),
            
    Floatplayer_pos_x,
            
    Floatplayer_pos_y,
            
    Floatplayer_pos_z;

        
    GetPlayerPos(playeridplayer_pos_xplayer_pos_yplayer_pos_z);
        for (new 
    GetPlayerPoolSize()+1i-- != 0;) {
            if(
    IsPlayerConnected(i)
            && 
    player_world == GetPlayerVirtualWorld(i)
            && 
    player_int == GetPlayerInterior(i)
            && 
    IsPlayerInRangeOfPoint(i10.0player_pos_xplayer_pos_yplayer_pos_z)) {
                
    SendClientMessage(i0xDD90FFFFstring);
            }
        }
        return 
    1;

    В игре это выглядит так:
     Скриншот



    Автор: L0ndl3m
    Специально для: Pro-Pawn.Ru


    Копирование данной статьи без разрешения автора запрещено!
    Последний раз редактировалось L0ndl3m; 17.01.2020 в 14:58.

  2. 7 пользователя(ей) сказали cпасибо:
    #ball (12.08.2015) bazz`layter (12.01.2015) Desulaid (22.07.2015) nikvlad (24.03.2016) Osetin (12.01.2015) Salvacore (13.01.2015) Unreal (21.03.2016)
  3. #2
    Аватар для heralt
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.12.2014
    Сообщений
    164
    Репутация:
    0 ±
    ща проверим)

    - - - Добавлено - - -

    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
    работает все прекрасно, спасибо.

  4. #3
    Аватар для Salvacore
    Инжунер-погромист

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,271
    Репутация:
    418 ±
    Цитата Сообщение от heralt Посмотреть сообщение
    ща проверим)

    - - - Добавлено - - -



    работает все прекрасно, спасибо.

    гералт проверил, я могу быть спокоен.

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

    Статус
    Оффлайн
    Регистрация
    27.11.2013
    Адрес
    Нижневартовск
    Сообщений
    256
    Репутация:
    63 ±
    Цитата Сообщение от Salvador Посмотреть сообщение
    гералт проверил, я могу быть спокоен.
    Я бы не был спокоен без скриншота.

  6. #5
    Аватар для Adrenalin :3
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.07.2015
    Сообщений
    6
    Репутация:
    1 ±
    Зачем так усложнять команду, можно же проще..

  7. Пользователь сказал cпасибо:
    Unreal (03.07.2019)
  8. #6
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Цитата Сообщение от Adrenalin :3 Посмотреть сообщение
    Зачем так усложнять команду, можно же проще..
    Предложите-ка свой вариант. Хотя, я уже догадываюсь какой я код увижу...

  9. #7
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    • Строки можно вынести в массив и упаковать для экономии памяти. По идее функция strcat должна будет автоматически распаковать их при конкатенации.
    • Второе добавление пробела (после strcat) можно убрать, вынеся пробел в упомянутые выше строки. В секции данных будет на 2 ячейки больше (на 1, если строки упакованы), но зато будет меньше кода - инструкции по добавлению пробела в строку занимают уж точно больше двух ячеек.
    • Сканирование игроков можно опционально сделать с использованием foreach.
      PHP код:
      #if defined foreach
          
      foreach(new i:Player)
      #else
          
      for (new GetPlayerPoolSize()+1i-- >= 0; )
      #endif
              
      if (...)
                  
      SendClientMessage(...); 
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  10. 2 пользователя(ей) сказали cпасибо:
    $continue$ (22.07.2015) L0ndl3m (22.07.2015)
  11. #8
    Аватар для Adrenalin :3
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.07.2015
    Сообщений
    6
    Репутация:
    1 ±
    Цитата Сообщение от Londlem Посмотреть сообщение
    Предложите-ка свой вариант. Хотя, я уже догадываюсь какой я код увижу...
    Ну код я думаю кидать нету смысла, он примитивный, но я ваш код не понимаю, сударь..

  12. #9
    Аватар для Роуди.
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.07.2015
    Сообщений
    154
    Репутация:
    17 ±
    Цитата Сообщение от Adrenalin :3 Посмотреть сообщение
    Ну код я думаю кидать нету смысла, он примитивный, но я ваш код не понимаю, сударь..
    Если не понимаете код, то зачем вообще оставлять комментарий о том, что команда усложнена?

    По сабжу: Реализация прекрасна.

  13. Пользователь сказал cпасибо:
    $continue$ (10.08.2015)
  14. #10
    Аватар для wAx
    ¯\_(ツ)_/¯

    Статус
    Оффлайн
    Регистрация
    13.12.2013
    Сообщений
    377
    Репутация:
    146 ±
    format vs strcat
    Лондляшь, ты любишь жесткий коддинг?)

 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

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

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

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

Ваши права

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