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

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

    Падающая бомба

    Всем привет, пользователи и гости Pro-Pawn.Ru. В этом мануале мы попробуем создать падающую бомбу.

    Создадим глобальную переменные (обычно их распологают почти в начале мода):
    PHP код:
    new
        
    BombObject INVALID_OBJECT_ID
    Создадим команду, с помощью которой мы запустим бомбу.

    Если у вас стандартный командный процессор, то в public OnPlayerCommandText:
    PHP код:
    if(strcmp(cmdtext"/bomb"true) == 0)
    {
        if(
    BombObject != INVALID_OBJECT_ID)
            return 
    SendClientMessage(playerid, -1"Бомба уже падает.");
        new
            
    Floatp_pos_x,
            
    Floatp_pos_y,
            
    Floatp_pos_z;

        
    GetPlayerPos(playeridp_pos_xp_pos_yp_pos_z);
        
    BombObject CreateObject(18849p_pos_xp_pos_yp_pos_z 500.00.00.0);
        
    MoveObject(BombObjectp_pos_xp_pos_yp_pos_z 6.51);
        return 
    SendClientMessageToAll(-1"Сейчас упадёт бомба, беги!");

    Если dc_cmd, zcmd, ..., в конец мода:
    PHP код:
    CMD:bomb(playeridparams[])
    {
        if(
    BombObject != INVALID_OBJECT_ID)
            return 
    SendClientMessage(playerid, -1"Бомба уже падает.");
        new
            
    Floatp_pos_x,
            
    Floatp_pos_y,
            
    Floatp_pos_z;

        
    GetPlayerPos(playeridp_pos_xp_pos_yp_pos_z);
        
    BombObject CreateObject(18849p_pos_xp_pos_yp_pos_z 500.00.00.0);
        
    MoveObject(BombObjectp_pos_xp_pos_yp_pos_z 6.52.0);
        return 
    SendClientMessageToAll(-1"Сейчас упадёт бомба, беги!");

    В public OnObjectMoved:
    PHP код:
    if(objectid == BombObject)
    {
        new
            
    Floato_pos_x,
            
    Floato_pos_y,
            
    Floato_pos_z;

        
    GetObjectPos(objectido_pos_xo_pos_yo_pos_z);
        
    DestroyObject(objectid);
        
    BombObject INVALID_OBJECT_ID;
        return 
    CreateExplosion(o_pos_xo_pos_yo_pos_z 6.5210.0);

    Автор: Londlem

    Специально для: Pro-Pawn.Ru


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

  2. 3 пользователя(ей) сказали cпасибо:
    #Vito (09.03.2014) Caypen (26.03.2014) iStrange (09.03.2014)
  3. #2
    Аватар для Salvacore
    Инжунер-погромист

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,271
    Репутация:
    418 ±
    Бесподобно :3

  4. Пользователь сказал cпасибо:
    #Vito (09.03.2014)
  5. #3
    Аватар для iStrange
    Пользователь

    Статус
    Оффлайн
    Регистрация
    07.03.2014
    Сообщений
    54
    Репутация:
    26 ±
    Скорость очень маленькая.
    А так - идея реализована отлично!

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

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

  7. #5
    Аватар для #Vito
    #define

    Статус
    Оффлайн
    Регистрация
    14.09.2013
    Адрес
    Одесса
    Сообщений
    129
    Репутация:
    38 ±
    Хах, отлично))
    Skype: vitya.saveliev


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

    Статус
    Оффлайн
    Регистрация
    07.03.2014
    Сообщений
    54
    Репутация:
    26 ±
    Цитата Сообщение от Salvador Посмотреть сообщение
    Увеличь ;)
    Это был намёк на то, чтобы он увеличил :D

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,561
    Репутация:
    1973 ±
    Смотрел с телефона и думал, что показалось, но нет...
    PHP код:
    public UpdateBombPos();//Ок
    public UpdateBombPos()
    {
        new 
    Floatp[3];
        
    GetDynamicObjectPos(BombObjectp[0], p[1], p[2]);
        if(
    p[2] - BombPos[2] <= 6)
        {
            
    CreateExplosion(p[0], p[1], p[2], 210);
            
    DestroyDynamicObject(BombObject);
            
    KillTimer(BombTimer);
            
    BombObject = -1;
            return 
    true;
        }
        
    SetDynamicObjectPos(BombObjectp[0], p[1], p[2] - 0.05);
        return 
    true;

    Ди и тут не хватает слэша
    PHP код:
    if(!strcmp(cmdtext[1], "bomb"true)) 
    Связаться со мной в VK можно через личные сообщения этой группы

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,271
    Репутация:
    418 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Смотрел с телефона и думал, что показалось, но нет...
    PHP код:
    public UpdateBombPos();//Ок
    public UpdateBombPos()
    {
        new 
    Floatp[3];
        
    GetDynamicObjectPos(BombObjectp[0], p[1], p[2]);
        if(
    p[2] - BombPos[2] <= 6)
        {
            
    CreateExplosion(p[0], p[1], p[2], 210);
            
    DestroyDynamicObject(BombObject);
            
    KillTimer(BombTimer);
            
    BombObject = -1;
            return 
    true;
        }
        
    SetDynamicObjectPos(BombObjectp[0], p[1], p[2] - 0.05);
        return 
    true;

    Ди и тут не хватает слэша
    PHP код:
    if(!strcmp(cmdtext[1], "bomb"true)) 
    public UpdateBombPos();//Ок
    public UpdateBombPos()
    Попробуй и ты... Никакой разницы нет...

  11. #9
    Аватар для Seregamil
    Проверенный

    Статус
    Оффлайн
    Регистрация
    21.11.2013
    Сообщений
    549
    Репутация:
    273 ±
    Зачем использовать стример, если разрешена одна бомба?
    Паблик и снова паблик, у меня глюки?
    И move object и onobjectmoved будут более экономичней и без таймеров для данной системы

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

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,271
    Репутация:
    418 ±
    Цитата Сообщение от Seregamil Посмотреть сообщение
    Зачем использовать стример, если разрешена одна бомба?
    Паблик и снова паблик, у меня глюки?
    И move object и onobjectmoved будут более экономичней и без таймеров для данной системы
    Кто то недавно втирал про функционал :D

 

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

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

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

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

Ваши права

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