Перейти к публикации

Electr0

Администраторы
  • Публикации

    5 429
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    286

Последний раз Electr0 выиграл 10 октября

Публикации Electr0 были самыми популярными!

О Electr0

  • Звание
    Эль
  • День рождения 12.03.1994

Информация

  • Пол
    Мужской
  • Город
    Пермь
  • Ник
    Electr0
  • Интересы
    Системное администрирование, програмирование

Контакты

Посетители профиля

82 314 просмотра профиля
  1. Electr0

    UUID для предметов

    исправлено отсутствие генерации нового UUIDv4 для предмета который скопирован.
  2. Значение Статус изменено на: Сделано
  3. согласно бенчмарку по старому загрузка информации из ответа сервера в строку, убежки на 216 прежметов занимает time: 0.001121 seconds по новому: time: 0.000678 seconds конвертация числа в строку занимает больше времени чем строка в строку. Изменялись подобные куски кода на: IntToString(SQL_FetchInt(hndl, 3), sSavedObjectInfo[obj_info_solid], OBJ_INFO_MAX_SIZE); // [obj_info_solid] solid (3) На такие: SQL_FetchString(hndl, 3, sSavedObjectInfo[obj_info_solid], OBJ_INFO_MAX_SIZE); // [obj_info_solid] solid (3)
  4. Electr0

    Хранение действий над предметами для кнопок

    Реализован способ сохранения через KeyValue Значение Статус изменено на: Тестируется
  5. Electr0

    Хранение действий над предметами для кнопок

    Похоже изобретать велосипед не нужно, оказалось в sourcepawn есть неописанная функция в docgen но она есть в keyvalues.inc // Exports a KeyValues tree to a string. The string is dumped from the current position. // // @param buffer Buffer to write to. // @param maxlength Max length of buffer. // @return Number of bytes that can be written to buffer. public native int ExportToString(char[] buffer, int maxlength); использование: char sString[6000]; KeyValue.ExportToString(sString, sizeof(sString)); можно будет keyvalue использовать .
  6. Electr0

    Хранение действий над предметами для кнопок

    судя по всему то что мне нужно это json, нужно освоить.
  7. Electr0

    Хранение действий над предметами для кнопок

    Или XML подобный вариант.. (описано раздвигание двух предметов по их осям y, получается своего рода дверь как в супермаркетах, створки которой отъезжают по сторонам) <actions> <action> <uuid>0a1315d1-ce1b-11e8-88bc-00163e010904</uuid> <name>Дверь 1</name> <act_id>3</act_id> <arg1>y</arg1> <arg2>100</arg2> </action> <action> <uuid>0a131a69-ce1b-11e8-88bc-00163e010904</uuid> <name>Дверь 2</name> <act_id>3</act_id> <arg1>y</arg1> <arg2>100</arg2> </action> </actions> В сжатом виде: <actions><action><uuid>0a1315d1-ce1b-11e8-88bc-00163e010904</uuid><name>Дверь 1</name><act_id>3</act_id><arg1>y</arg1><arg2>100</arg2></action><action><uuid>0a131a69-ce1b-11e8-88bc-00163e010904</uuid><name>Дверь 2</name><act_id>3</act_id><arg1>y</arg1><arg2>100</arg2></action></actions> только вот парсить это дело и работать с этим, придется вручную везде, но смотрится читабельно Есть так же вариант c json, описанная структура выше будет выглядеть вот так: { "actions": { "action": [ { "uuid": "0a1315d1-ce1b-11e8-88bc-00163e010904", "name": "Дверь 1", "act_id": "3", "arg1": "y", "arg2": "100" }, { "uuid": "0a131a69-ce1b-11e8-88bc-00163e010904", "name": "Дверь 2", "act_id": "3", "arg1": "y", "arg2": "100" } ] } } В сжатом виде: {"actions":{"action":[{"uuid":"0a1315d1-ce1b-11e8-88bc-00163e010904","name":"Дверь 1","act_id":"3","arg1":"y","arg2":"100"},{"uuid":"0a131a69-ce1b-11e8-88bc-00163e010904","name":"Дверь 2","act_id":"3","arg1":"y","arg2":"100"}]}}
  8. Electr0

    Хранение действий над предметами для кнопок

    как выяснилось keyvalue не умеет в строку выгружатся ><, так что если ничего не удастся найти альтернативного, придется самому собирать строку.
  9. Electr0

    UUID для предметов

    в первой версии выдавало 37 символов, а нужно 36. пересгенерировал uuid для всех предметов в базе.
  10. Надо найти способ хранить действия в памяти для кнопки. К примеру действия над пятью предметами: Требования: Как это будет хранится в MYSQL до едрени фени, лишь бы было в строку и без запрещенных для запросов символов, скорее всего придется кодировать получившееся в base64 Легкость добавления, удаления, обновления информации т.к. по ходу придется делать все это на разных этапаж жизни кнопки Как вариант: "" { "0a1315d1-ce1b-11e8-88bc-00163e010904" { "name" "Дверь 1" "action_type" "3" "arg1" "r" "arg2" "100" } "0a1317d8-ce1b-11e8-88bc-00163e010904" { "name" "Дверь 2" "action_type" "3" "arg1" "r" "arg2" "100" } } Подобное можно записать в base64: IiIKewoJIjBhMTMxNWQxLWNlMWItMTFlOC04OGJjLTAwMTYzZTAxMDkwNCIKCXsKCQkibmFtZSIJCQkJItCU0LLQtdGA0YwgMSIKCQkiYWN0aW9uX3R5cGUiCQkiMyIKCQkiYXJnMSIJCQkJInIiCgkJImFyZzIiCQkJCSIxMDAiCgl9CgkiMGExMzE3ZDgtY2UxYi0xMWU4LTg4YmMtMDAxNjNlMDEwOTA0IgoJewoJCSJuYW1lIgkJCQki0JTQstC10YDRjCAyIgoJCSJhY3Rpb25fdHlwZSIJCSIzIgoJCSJhcmcxIgkJCQkiciIKCQkiYXJnMiIJCQkJIjEwMCIKCX0KfQ==
  11. Electr0

    Кнопки действий над предметами[Теория]

    одна из проблем решена, теперь будет на кого указывать. осталось придумать как сохранять, загружать и хранить описание действий над предметами у пропа кнопки, ведь унифицированный загрузчик принимает массив свойств предметов 33 строки и размер строки 128, но на описание того что нужно будет описать может уйти намного больше символов, нельзя ради одного жирного параметра раздувать размер всех остальных, это просто дико)
  12. нет смысла его сохранять для каждого прежмета, ведь при групповых действиях предметы 100% игрока который их пометил и выполняет над ними действия. это улучшает результаты при сохранении передвижения 341 предмета вот такие показатели: до: 0.016212 secondsпосле: 0.013063 seconds
  13. Значение Статус изменено на: Тестируется
  14. раньше использовался для нужд отмены повтора, но там теперь немного по другому, его стоит удалить, и сделать размер строкового массива для свойств предмета меньше на одну строку, но есть вероятность что где-то еще не убрано, и уменьшение размера массива может вызвать падения, когда на несуществующую строку в массиве пытаются записать.
×