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

    Статус
    Оффлайн
    Регистрация
    25.12.2013
    Сообщений
    73
    Репутация:
    2 ±

    Почему не появляется созданный объект

    Доброго времени суток, столкнулся с такой проблемой, когда я создаю объект из игры он не появляется пробовал менять стример и тд, проблема именно в коде помогите пожалуйста "+" гарантирую, вот рабочий код на другом моде работает а на моем нет в чем может быть причина?
    PHP код:
        if(strcmp(cmd,"/break"true) == 0)
        {
            if(!
    IsACop(playerid)) return SendClientMessage(playeridCWHITE"Данная функция Вам недоступна");
            if(
    GetPlayerInterior(playerid) != 0) return SendClientMessage(playeridCWHITE"Ошибка: вы находитесь в интерьере");
            if(
    GetPVarInt(playerid,"breaked") == 1)
            {
                
    DestroyObject(object[playerid]);
                
    SetPVarInt(playerid,"breaked",0);
                
    Delete3DTextLabel(Text3D:blocktext[playerid]);
                
    SendClientMessage(playerid,-1,"Вы убрали ограждение");
                return 
    1;
            }
               
    tmp strtok(cmdtextidx);
            if(!
    strlen(tmp)) return SendClientMessage(playeridCWHITE"{"#cYELLOW"}• [Подсказка]: {"#cWHITE"}/break [тип (1-4)]");
            
    new type strval(tmp);
            new 
    Float:xFloat:yFloat:zFloat:angle;
            
    GetPlayerPos(playeridxyz);
            
    GetPlayerFacingAngle(playeridangle);
            
    += floatsin(-angledegrees);
            
    += floatcos(-angledegrees);
            
    ApplyAnimation(playerid"BOMBER""BOM_Plant"200000);
            if(
    GetPVarInt(playerid,"breaked") == 0)
            {
                switch(
    type)
                {
                    case 
    1object[playerid] = CreateObject(1228xyz-0.5000);
                    case 
    2object[playerid] = CreateObject(1237xyz-1.0000);
                    case 
    3object[playerid] = CreateObject(1423xyz-0.3000);
                    case 
    4object[playerid] = CreateObject(1422xyz-0.49000);
                }
                new 
    string[50];
                 
    format(string50"%i"playerid);
                 
    blocktext[playerid] = Create3DTextLabel(string,COLOR_BLUE,x,y,z-0.7,30.0,0,1);
                
    SetPVarInt(playerid,"breaked",1),SendClientMessage(playeridCWHITE"Вы установили ограждение. Введите '/break' ещё раз, что бы убрать его");
            }
            return 
    1;
        } 

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

    Статус
    Оффлайн
    Регистрация
    01.03.2015
    Сообщений
    245
    Репутация:
    55 ±
    PHP код:
    if(GetPVarInt(playerid,"breaked") == 1
    PHP код:
    if(GetPVarInt(playerid,"breaked") == 0
    А ты уверен, что они есть в моде?
    Посмотри где и как ты меняешь значение.

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

    Статус
    Оффлайн
    Регистрация
    25.12.2013
    Сообщений
    73
    Репутация:
    2 ±
    Я тестировал эту же команду на другом моде там все работает

    точнее дело не именно в этой команде а вообще не отображаются созданные в игре объекты не FS soe не IVO и тд

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

    Статус
    Оффлайн
    Регистрация
    01.03.2015
    Сообщений
    245
    Репутация:
    55 ±
    Цитата Сообщение от Alexander Посмотреть сообщение
    Я тестировал эту же команду на другом моде там все работает

    точнее дело не именно в этой команде а вообще не отображаются созданные в игре объекты не FS soe не IVO и тд
    Еще раз внимательно прочитай, что я написал выше и подумай.

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

    Статус
    Оффлайн
    Регистрация
    15.06.2014
    Сообщений
    651
    Репутация:
    106 ±
    PHP код:
    #include <streamer> 
    Есть?

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

    Статус
    Оффлайн
    Регистрация
    01.03.2015
    Сообщений
    245
    Репутация:
    55 ±
    Цитата Сообщение от gangzone.ini Посмотреть сообщение
    PHP код:
    #include <streamer> 
    Есть?
    А зачем он, если не используется в этой команде?

  7. #7
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,487
    Репутация:
    276 ±
    Надо узнать последний созданный ID через CreateObject. И сделать так:
    PHP код:
    if (object_id >= MAX_OBJECTS)
        return 
    printf("У Вас превышен лимит объектов! Лимит: %d | Создано: %d"MAX_OBJECTSobject_id); 
    В Вашем случии можно сделать вот так вот :
    PHP код:
    if (strcmp(cmd"/break"true) == 0)
    {
        if (!
    IsACop(playerid)) return SendClientMessage(playeridCWHITE"Данная функция Вам недоступна");
        if (
    GetPlayerInterior(playerid) != 0) return SendClientMessage(playeridCWHITE"Ошибка: вы находитесь в интерьере");
        if (
    GetPVarInt(playerid"breaked") == 1)
        {
            
    DestroyObject(object[playerid]);
            
    SetPVarInt(playerid"breaked"0);
            
    Delete3DTextLabel(Text3D:blocktext[playerid]);
            
    SendClientMessage(playerid, -1"Вы убрали ограждение");
            return 
    1;
        }
        
    tmp strtok(cmdtextidx);
        if (!
    strlen(tmp)) return SendClientMessage(playeridCWHITE"{"#cYELLOW"}• [Подсказка]: {"#cWHITE"}/break [тип (1-4)]");
        
    new type strval(tmp);
        new 
    Float:xFloat yFloat zFloat angle;
        
    GetPlayerPos(playeridxyz);
        
    GetPlayerFacingAngle(playeridangle);
        
    += floatsin(-angledegrees);
        
    += floatcos(-angledegrees);
        
    ApplyAnimation(playerid"BOMBER""BOM_Plant"200000);
        if (
    GetPVarInt(playerid"breaked") == 0)
        {
            switch (
    type)
            {
            case 
    1object[playerid] = CreateObject(1228xy0.5000);
            case 
    2object[playerid] = CreateObject(1237xy1.0000);
            case 
    3object[playerid] = CreateObject(1423xy0.3000);
            case 
    4object[playerid] = CreateObject(1422xy0.49000);
            }
            if (
    object[playerid] >= MAX_OBJECTS)
                return 
    printf("У Вас превышен лимит объектов! Лимит: %d | Создано: %d"MAX_OBJECTSobject[playerid]);
            print(
    "Лимит объектов не превышен!");
            new 
    string[50];
            
    format(string50"%i"playerid);
            
    blocktext[playerid] = Create3DTextLabel(stringCOLOR_BLUExy0.730.001);
            
    SetPVarInt(playerid"breaked"1);
            
    SendClientMessage(playeridCWHITE"Вы установили ограждение. Введите '/break' ещё раз, что бы убрать его");
        }
        return 
    1;

    Последний раз редактировалось $continue$; 12.08.2015 в 15:17.

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

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    Надо узнать последний созданный ID через CreateObject. И сделать так:
    PHP код:
        if(object_id >= MAX_OBJECTS)
            return 
    printf("У Вас превышен лимит объектов! Лимит: %d | Создано: %d"MAX_OBJECTSobject_id); 
    В случае неудачи CreateObject возвращает 0.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

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

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    В случае неудачи CreateObject возвращает 0.
    Разве не INVALID_OBJECT_ID?

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

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от Londlem Посмотреть сообщение
    Разве не INVALID_OBJECT_ID?
    Точно, походу пора взять перерыв -_-

    Интересно, почему тогда ID объектов начинаются с единицы, а не с нуля? С транспортом то же самое.
    Хотя... ответ на этот вопрос можно уместить в одно слово: Kalcor.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

 

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

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

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

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

Ваши права

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