Вопросы

Mason
Постоянный

Всем Привет! Столкнулся я с такой проблемой, на аккаунте числится что есть дом/бизнес/заправка но на самом деле нет. Соответственно при выборе спавна предлагает вариант "в доме", купить дом, бизнес, и прочую фигню нельзя т.к пишет что уже есть дом..
Прилагаю код проверки на наличие того или иного имущества у игрока

  открыть спойлер


Произошло это всё после того как я на шаманил с i = 0, до этого вместо 0 стояла 1 почти везде(загрузка, взаимодействие с пикапом и так далее.) но т.к из за единицы не прогружалось имущество с 1 ид, было принято решение поставить 0.

Поделиться сообщением


Ссылка на сообщение

36 ответов на этот вопрос

  • 0
Cawfee
Великий Гуру

@Mason, вы решите для себя сначала твердо, с какого индекса вы хотите хранить имущество: с нуля или с единицы. Далее показывайте код создания дома и настройки поля с идентификатором дома в базе данных. Затем показывайте, как вы загружаете дома из базы данных, их сохранение.

Поделиться сообщением


Ссылка на сообщение
  • 0
Mason
Постоянный

@Cawfee, С индексом я определился давно уже это - 0. Пояснение этому я как раз описывал в 1 сообщении, по поводу кодов создания, и настройки полей, вот.
Настройки поля в базе - скрин который ниже скрытого кода.

Код создания дома, их загрузка, и их сохранение.

  открыть спойлер

 

изображение_2024-06-01_201153684.png

Отредактировано пользователем Mason

Поделиться сообщением


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Mason, автоинкремент в базе данных начинается с какого значения? Создание дома не увидел.

Поделиться сообщением


Ссылка на сообщение
  • 0
Mason
Постоянный

@Cawfee с 545(то бишь домов в базе 544), а раз enum это не создание дома то что это тогда?(извиняюсь за возможно глупый вопрос)

Поделиться сообщением


Ссылка на сообщение
  • 0
Mason
Постоянный

@Cawfee, тогда вот
 

  открыть спойлер

Но в этом моменте кстати есть свой казус, когда я создаю дом, он вроде создается, ID в 3d тексте отоброжается, в сообщении которое в конце тоже, но вот когда появляется диалог в нём уже id дома 0, запись в базу не идёт, но в коде создания бизнесов такой же код, я сравнивал его не раз всё идентично..

Поделиться сообщением


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Mason, если из базы данных удалить все дома (можно экспортировать таблицу домов, удалить дома из базы данных, а потом, по окончании эксперимента, импортировать обратно), под каким идентификатором в базе данных создастся этот дом? Если вы решили работать с индексами, начинающимися с нуля, желательно, чтобы в базе данных нумерация всегда тоже шла с нуля.

Поделиться сообщением


Ссылка на сообщение
  • 0
Mason
Постоянный

@Cawfee, ну вот удалил я все дома, зашёл в игру начал создавать дома, всё так же ничего не происходит так же под 0 ид в диалоге создается дом, хотя в 3д тексте и в сообщении всё отлично, когда второй дом создаю всё тоже самое только ид прибавляется в 3д тексте и сообщении, в базе так же ничего не записывается...

P.S Но я не понимаю, что не так, бизнесы у меня создаются отлично, а дома нет, хотя коды идентичны...

Поделиться сообщением


Ссылка на сообщение
  • 0
Mason
Постоянный

@Cawfee, Ничего. То бишь переменная HouseCount прибавляется, а в базу данные не записываются...

Поделиться сообщением


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Mason, а что в логах MySQL? Почему добавление записи в базу данных не произошло?

Поделиться сообщением


Ссылка на сообщение
  • 0
Mason
Постоянный

@Cawfee А в логах вот
 

[06/01/24 22:01:10] [plugins/mysql] error #1064 while executing query "INSERT INTO house (id,enterX,enterY,enterZ,exitX,exitY,ExitZ,discript,price,int,virtual) VALUES (2,'2831.800292','1291.751831','10.774929','140.266006','1366.109130','1083.859375','L',1,5,2)": You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'int,virtual) VALUES (2,'2831.800292','1291.751831','10.774929','140.266006','136' at line 1

 

Поделиться сообщением


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Mason, почему во фрагменте кода, связанным с созданием домов, имена столбцов одни, а в строке логов – другие? При создании дома приведенный вами фрагмент кода не исполнялся. 

INSERT INTO "TABLE_HOUSE" (id,hEntrx,hEntry,hEntrz,hExitx,hExity,hExitz,hDiscript,hPrice,hInt,hVirtual) VALUES (%i,'%f','%f','%f','%f','%f','%f','%s',%i,%i,%i)
INSERT INTO house (id,enterX,enterY,enterZ,exitX,exitY,ExitZ,discript,price,int,virtualVALUES (2,'2831.800292','1291.751831','10.774929','140.266006','1366.109130','1083.859375','L',1,5,2)

 

Поделиться сообщением


Ссылка на сообщение
  • 0
Mason
Постоянный

@Cawfee Я увидел что у меня имена столбцов не изменены(т.к я менял их названия) и изменил их.

Поделиться сообщением


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Mason, в логах представлен текущий вариант названия столбцов? Если да, то обратите внимание, что int и virtual входят в перечень ключевых слов, а значит их использование в качестве имен таблиц и столбцов требует оборачивания самих слов в специальные символы: `.

INSERT INTO house (id,enterX,enterY,enterZ,exitX,exitY,ExitZ,discript,price,`int`,`virtual`)

 

Поделиться сообщением


Ссылка на сообщение
  • 0
Mason
Постоянный

@Cawfee А тойсть их требуется оборачивать.. А я думал что нет, да и в интернете сейчас тоже шаркал говорили что не надо кто то говорил что надо.. В общем создание домов у меня наконец-таки заработало, в базу данные записываются всё отлично функционирует.

Поделиться сообщением


Ссылка на сообщение
  • 0
surenescore
Освоившийся

@Mason  Ты точно уверен, что HouseCount правильно отображает количество домов? Возможно, стоит проверить, корректно ли он инициализируется и обновляется.

Также интересно, как именно происходит загрузка имущества игрока. Ты говорил, что раньше использовался индекс 1, а теперь 0. Возможно, стоит проверить, правильно ли обновились все части кода, где идет работа с этими индексами.

И последний момент: точно ли у тебя корректно обрабатывается удаление имущества? Может быть, где-то остаются следы старых данных, которые и создают такую проблему.

Поделиться сообщением


Ссылка на сообщение
  • 0
Mason
Постоянный

@D2DChat По поводу, HouseCount да я уверен, ибо это обычная переменная которая создается после emum, используется она в загрузке домов, в создании домов, в взаймодействии с пикапом. По поводу индекса я ставил обратно еденицу вместо нуля но увы, если я так делаю то дом с 1 ид пропадает, так же с бизнесами и заправками. По поводу удаления имущества, такого у меня нет... 0_0

Поделиться сообщением


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру

@Mason

 

  В 6/1/2024 в 19:31, Mason сказал:

А я думал что нет

Читать далее...  

 

Я надеюсь вы поняли, как определять, надо оборачивать или нет? На всякий случай прикреплю ссылку.

 

  В 6/1/2024 в 19:31, Mason сказал:

в базу данные записываются всё отлично функционирует

Читать далее...  

В этой связи жду ответ на ранее заданный мною вопрос:

 

  В 6/1/2024 в 18:28, Cawfee сказал:

под каким идентификатором в базе данных создастся этот дом

Читать далее...  

 

Поделиться сообщением


Ссылка на сообщение
  • 0
Mason
Постоянный

@Cawfee, Да, я всё понял, спасибо, по поводу идентификатора, в базе создаёт от 1 ид

Поделиться сообщением


Ссылка на сообщение
  • 0
Cawfee
Великий Гуру
  В 6/1/2024 в 17:18, Mason сказал:

for(new i = 0; i <= HouseCount; i++)

Читать далее...  

В функции GetHome тогда условием выхода из цикла должно быть строгое неравенство:

for(new i = 0; i < HouseCount; i++)

Какие на данный момент проблемы с этой системой?

Поделиться сообщением


Ссылка на сообщение
  • 0
Mason
Постоянный

@Cawfee, Точно GetHome? у меня проверка идёт через GetPlayerHouse

Отредактировано пользователем Mason

Поделиться сообщением


Ссылка на сообщение
  • 0
surenescore
Освоившийся

@Mason Может быть, стоит посмотреть, как именно идет процесс загрузки домов. Возможно, где-то в этом процессе идет некорректное присвоение владельцев.

Убедись, что при инициализации массива все значения корректны и нет случайных данных, которые могут сбивать логику проверки.

Убедись, что PlayerInfo[playerid][pSendername] правильно инициализируется и не содержит лишних данных, которые могут мешать правильному сравнению.

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Доналдо Фарекелка
      От Доналдо Фарекелка


      Скачать файл Christmas Live » RPG | XS
      Приветствую, сливаю мод, который делал самолично. Мод недоработан, возможно где-то имеются баги, без лаунчера.
      Взят под основу от Phantom RolePlay. Отдельная благодарность за мод WW.INC
      Основная информация про мод:
       
      Информация про сервер:
      Записка:
      ПРИМЕР -  скриншот, сделанный для показа чего-либо и скриншот может является устаревшей информацией(Пояснение: Что-то изменилось, а что-то нет).
      Добавил Доналдо Фарекелка Добавлено 14.03.2025 Категория Моды Автор Donaldo_Farekelka  
    • KAIF HOST
      От KAIF HOST
      Если вы ищете надежный, стабильный и бюджетный хостинг для ваших серверов SAMP или CRMP, то KAIF-HOST.RU - лучший выбор для вас. Мы молодая компания среди игровых хостингов, но мы гарантируем стабильность и безопасность вашего сервера.
       
      Мы предлагаем защиту от TCP SYN и UDP флуда, а также от Spoofing атак. Мы также обеспечиваем защиту на уровнях L3, L4 и L7.
       
      Наши преимущества включают автоподнятие серверов после падения, удобную панель управления сервером и автоматическую установку сервера. Мы также гарантируем быструю техническую поддержку для всех наших клиентов.
       
       
       
      Наши серверы доступны всего от 20 рублей в месяц, что делает нас одним из самых доступных хостингов на рынке.
       
       
       
       
       
       Ссылки:
       
      Сайт kaif-host.ru
      Панель управления lk.kaif-host.ru
      Группа ВКонтакте https://vk.com/kaif_host_official
       
      P.s Промокод #pawnorus даст тебе скидку в размере 20%

    • watson
      От watson
      Привет всем!

      Выкладываю рабочий инструмент, который лично писал под задачи для крупных бонусных проектов. От меня недавно произошла доработка - теперь при записи маршрута сохраняются все сообщения, которые вы пишете в чат.
       
      Как это работает Запуск записи:
      Вводите /route с названием скрипта (или биндите на клавишу) — скрипт начинает фиксировать всё ваше передвижение (onfoot/incar/aim пакеты) и любые ваши сообщения в чат. Завершение:
      Ещё раз /route с названием скрипта или /stop — сохраняется маршрут вместе с чатом в файл формата .rt в папке MoonLoader/rakbotRoutes. Воспроизведение:
      Через команду !play <название> в консоли RakSamp LITE — бот воспроизводит маршрут один в один с вашими действиями, повторяет весь ввод, а так-же отправляет в чат все сохранённые сообщения (имитация через Enter). Поддержка цикла:
      Можно включить повтор маршрута (!loop), пока не надоест. Что важно в коде
      Запись всех синк-пакетов (движения, анимации, aim и т.д.):
      Пакеты по движению (onfoot/incar/aim) записываются подробно — никакой халтуры, каждое значение (позиция, кватернион, скорость, анимации, флаги и т.д.) фиксируется для полной копии.  

       
      Запись сообщений чата по индексам
      Каждое сообщение, которое отправляется в чат во время записи маршрута, сохраняется в отдельную таблицу с текущим индексом (counter). То есть при воспроизведении бот знает, на каком этапе какой текст нужно “цитировать” в чат.  

       
      Воспроизведение маршрута и чата
      На каждом этапе воспроизведения проверяется, было ли сообщение в этот момент — если да, оно “отправляется” как будто в оригинале, без задержек и рассинхрона. Пакеты проигрываются по индексу — как только доходит до конца, скрипт сам решает, останавливать ли выполнение или запускать по кругу (если включен loop).  

       
      Формат сохранения
      Файл маршрута содержит не только действия, но и отдельную секцию [chat], что позволяет воспроизвести всё как было, а не только беготню.  

       
       
      Если кому-то реально нужна автоматизация для бонусных серверов и не только как например фейковые игроки и вам важна последовательность действий и чата — этот инструмент сэкономит часы времени. Всё написано максимально просто для внедрения.

      P.S. Если есть определённые проблемы, вопросы или даже идеи для доработки — пишите.
      Desktop.zip
    • gooding
      От gooding
      Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
      Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.
       
       

    • gooding
      От gooding


      Скачать файл PAR RP | Уникальный мод без багов
      Всем здравствуйте, уважаемые читатели. Я много времени потратил на доработку данного игрового мода, чтобы его выставить на форум.
      Лог доработок можно посмотреть внизу, а скриншоты игрового мода внизу и верху.
       
       

      Добавил gooding Добавлено 20.11.2024 Категория Моды Автор GOODING (Я)