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

Реклама


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

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Сообщений
    1,360
    Репутация:
    767 ±

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

    Всем привет, пользователи и гости 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


    Копирование данной статьи без разрешения автора запрещено!
    Последний раз редактировалось Londlem; 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,282
    Репутация:
    417 ±
    Бесподобно :3

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

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

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

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,282
    Репутация:
    417 ±
    Цитата Сообщение от 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
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Смотрел с телефона и думал, что показалось, но нет...
    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)) 
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,282
    Репутация:
    417 ±
    Цитата Сообщение от 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
    Сообщений
    560
    Репутация:
    272 ±
    Зачем использовать стример, если разрешена одна бомба?
    Паблик и снова паблик, у меня глюки?
    И move object и onobjectmoved будут более экономичней и без таймеров для данной системы

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

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

 

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

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

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

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

Ваши права

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