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

Реклама


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

    Статус
    Оффлайн
    Регистрация
    01.02.2014
    Адрес
    Татарстан
    Сообщений
    171
    Репутация:
    0 ±

    Не срабатывает EditObject

    Вот к примеру команда
    PHP код:
    CMD:a_a(playerid)
    {
        new 
    Float:xFloat:yFloat:zobjects_s;
        
    GetPlayerPos(playeridxyz);
        
    objects_s CreateObject(19324xyz000);
        
    EditObject(playeridobjects_s);
        return 
    1;

    Он должен показать хоть меню редактирования, но нечего не показывает.
    Последний раз редактировалось #NickName; 08.01.2017 в 18:52.

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

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    306
    Репутация:
    87 ±
    Цитата Сообщение от #NickName Посмотреть сообщение
    Вот к примеру команда
    PHP код:
    CMD:a_a(playerid)
    {
        new 
    Float:xFloat:yFloat:zobjects_s;
        
    GetPlayerPos(playeridxyz);
        
    objects_s CreateObject(19324xyz000);
        
    EditObject(playeridobjects_s);
        return 
    1;

    Он должен показать хоть меню редактирования, но нечего не показывает.
    Возможно лимит объектов превышен?
    PHP код:
    CMD:a_a(playerid)
    {
        new 
    Float:xFloat:yFloat:zobjects_s;
        
    GetPlayerPos(playeridxyz);
        
    objects_s CreateObject(19324xyz000);
        
    printf("Objectid: %d"object_s); //<- 65535 - превышен
        
    EditObject(playeridobjects_s);
        return 
    1;

    Сам объект-то создаётся?
    Не хотите постоянно проверять обновления моих скриптов?
    Подключите его последним, после всех остальных
    Nexius's Update Checker

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

    Статус
    Оффлайн
    Регистрация
    01.02.2014
    Адрес
    Татарстан
    Сообщений
    171
    Репутация:
    0 ±
    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    Возможно лимит объектов превышен?
    PHP код:
    CMD:a_a(playerid)
    {
    new 
    Float:xFloat:yFloat:zobjects_s;
    GetPlayerPos(playeridxyz);
    objects_s CreateObject(19324xyz000);
    printf("Objectid: %d"object_s); //<- 65535 - превышен
    EditObject(playeridobjects_s);
    return 
    1;

    Сам объект-то создаётся?
    нет

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

    Цитата Сообщение от #NickName Посмотреть сообщение
    нет
    Как ты и говорил Objectid: 65535

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

    Цитата Сообщение от #NickName Посмотреть сообщение
    нет

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



    Как ты и говорил Objectid: 65535
    создал как динамический объект всё збс, спасибо за ответ.
    Последний раз редактировалось DeimoS; 09.01.2017 в 04:18.

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

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,284
    Репутация:
    105 ±
    Объектов в стриме много было вот и не создался)
    По другому не как это произойти не могло.

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

    Я вообще рекомендую в сампе если делать что то с маппингом то сразу смотреть какой ещё маппинг есть в стриме и подсчитать это всё, потом прикинуть как игроки ещё могут создавать объекты и сколько 1 игрок может принести в этот стрим с собой объектов и если правильно всё рассчитать то такого косяка больше не когда не увидишь на сервере.
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

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

    Статус
    Оффлайн
    Регистрация
    01.02.2014
    Адрес
    Татарстан
    Сообщений
    171
    Репутация:
    0 ±
    Добавил как и говорили объект динамический, и редактирую его.


    Ошибка вот такая как нажму сохранить
    Run time error 4: "Array index out of bounds"
    [16:20:59] [debug] Attempted to read/write array element at index 5360 in array of size 20
    [16:20:59] [debug] AMX backtrace:
    [16:20:59] [debug] #0 001e44a8 in public OnPlayerEditDynamicObject (playerid=0, objectid=5360, response=1, Float:x=1178.85291, Float:y=-1328.26001, Float:z=14.14891, Float:rx=0.00000, Float:ry=0.00000, Float:rz=173.99997) at C:\*******\*******\*******\******\gamemodes\new.pw n:22197


    Вот в паблике
    PHP код:
    public OnPlayerEditDynamicObject(playeridobjectidresponseFloat:xFloat:yFloat:zFloat:rxFloat:ryFloat:rz)
    {
    new 
    Float:oldXFloat:oldYFloat:oldZ,Float:oldRotXFloat:oldRotYFloat:oldRotZ;
    GetDynamicObjectPos(objectidoldXoldYoldZ);
    GetDynamicObjectRot(objectidoldRotXoldRotYoldRotZ);
    if(
    response == EDIT_RESPONSE_FINAL)
    {
    if(
    GetPVarInt(playerid"a_object") == 1)
    {
    AtmInfo[a_object][a_x] = oldX;
    AtmInfo[a_object][a_y] = oldY;
    AtmInfo[a_object][a_z] = oldZ;
    AtmInfo[a_object][ar_x] = oldRotX;
    AtmInfo[a_object][ar_y] = oldRotY;
    AtmInfo[a_object][ar_z] = oldRotZ;
    AtmInfo[a_object][a_virtual] = GetPlayerVirtualWorld(playerid);
    AtmInfo[a_object][a_int] = GetPlayerInterior(playerid);
    AtmInfo[a_object][a_commiss] = 5
    Строка AtmInfo[a_object][a_x] = oldX;


    PHP код:
    enum a_Info
    {
    a_ID,
    Float:a_x,
    Float:a_y,
    Float:a_z,
    Float:ar_x,
    Float:ar_y,
    Float:ar_z,
    a_commiss,
    a_virtual,
    a_int,
    Text3D:a_label
    };
    new 
    AtmInfo[20][a_Info];
    new 
    a_object
    в команде
    PHP код:
    new Float:xFloat:yFloat:z;
    GetPlayerPos(playeridxyz);
    a_object CreateDynamicObject(19324xyz000);
    EditDynamicObject(playerida_object);
    SetPVarInt(playerid"a_object"1); 
    - - - Добавлено - - -

    Цитата Сообщение от vovandolg Посмотреть сообщение
    Объектов в стриме много было вот и не создался)
    По другому не как это произойти не могло.

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

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

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

    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    Возможно лимит объектов превышен?
    PHP код:
    CMD:a_a(playerid)
    {
    new 
    Float:xFloat:yFloat:zobjects_s;
    GetPlayerPos(playeridxyz);
    objects_s CreateObject(19324xyz000);
    printf("Objectid: %d"object_s); //<- 65535 - превышен
    EditObject(playeridobjects_s);
    return 
    1;

    Сам объект-то создаётся?
    да, но с динамикой не очень, глянь
    Последний раз редактировалось DeimoS; 09.01.2017 в 04:18.

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

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    306
    Репутация:
    87 ±
    >
    [16:20:59] [debug] Attempted to read/write array element at index 5360 in array of size 20
    >
    PHP код:
    new AtmInfo[20][a_Info]; //20 
    Размер массива придётся увеличить (либо количество объектов в стриме сократить). А вообще, переводи в переводчике такие ошибки, если по тексту непоянтно
    Не хотите постоянно проверять обновления моих скриптов?
    Подключите его последним, после всех остальных
    Nexius's Update Checker

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

    Статус
    Оффлайн
    Регистрация
    01.02.2014
    Адрес
    Татарстан
    Сообщений
    171
    Репутация:
    0 ±
    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    >


    >
    PHP код:
    new AtmInfo[20][a_Info]; //20 
    Размер массива придётся увеличить (либо количество объектов в стриме сократить). А вообще, переводи в переводчике такие ошибки, если по тексту непоянтно
    увеличить на кол-во объектов в стриме, и ещё с запасом?
    Последний раз редактировалось DeimoS; 09.01.2017 в 04:17.

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

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,284
    Репутация:
    105 ±
    ID созданного объекта надо записывать в простую переменную,
    я так понимаю 20 это количество банкоматов,
    а ты впихиваешь туда ID созданного объекта
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

  10. 2 пользователя(ей) сказали cпасибо:
    #NickName (08.01.2017)Nexius_Tailer (08.01.2017)
  11. #9
    Аватар для Nexius_Tailer
    Пользователь

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    306
    Репутация:
    87 ±
    Цитата Сообщение от #NickName Посмотреть сообщение
    увеличить на кол-во объектов в стриме, и ещё с запасом?
    Ну если у тебя, как я понимаю, AtmInfo только для определённых каких-то объектов, то можно просто переделать обращение к этому массиву с минимальными затратами. Например, в этом массиве (в enum) добавить ид объекта для каждого "Atm". Потом при редактировании объектов обращаться не к ячейке массива по иду объекта, а искать циклом по этому массиву тот элемент, ид объекта которого в статистике равен редактируемому.
    Не хотите постоянно проверять обновления моих скриптов?
    Подключите его последним, после всех остальных
    Nexius's Update Checker

  12. Пользователь сказал cпасибо:
    #NickName (08.01.2017)
  13. #10
    Аватар для #NickName
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.02.2014
    Адрес
    Татарстан
    Сообщений
    171
    Репутация:
    0 ±
    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    Ну если у тебя, как я понимаю, AtmInfo только для определённых каких-то объектов, то можно просто переделать обращение к этому массиву с минимальными затратами. Например, в этом массиве (в enum) добавить ид объекта для каждого "Atm". Потом при редактировании объектов обращаться не к ячейке массива по иду объекта, а искать циклом по этому массиву тот элемент, ид объекта которого в статистике равен редактируемому.
    Создал обычную переменную, при создание объекта +1.Когда сохраняю банкоматы отхожу от этой переменной.При загрузке прибавляю ++.
    Последний раз редактировалось DeimoS; 09.01.2017 в 04:17.

 

 

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

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

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

Ваши права

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