|
|
|
| Добрый день.
Появился такой интерестный вопросик в связи с тем, что не хочу в целях защиты кода запихивать в пхп формулы подсчёта некоторых величин с последующим вносом их в БД. БД схематично устроена так:
1) поля величины.
2) поля коэфициэнты.
После вноса значений юЗверем нужно посчитать коэфициэнты и вставить их в БД.
- можно ли сделать так, что при создании новой записи или обновлении данных, генерилось скл, которое вносило в отредактированную запись данные, посчитаные по формулам. | |
|
|
|
|
|
|
|
для: Dimrix
(22.04.2005 в 13:38)
| | можно, наверное, но слишком абстрактно поставлена задача, на конкретном примере это было бы проще разобрать. | |
|
|
|
|
|
|
|
для: cheops
(22.04.2005 в 16:07)
| | Есть база ударов и блоков(где 1 или 2 - обораняющийся или нападающий, У - удар(сила удара), Б - блок(сила блока), Г - голова, Ф - ноги)(базу не всю писал так что б не писать на страницу, Ур - урон):
УГ1, УФ1, БГ1, БФ1, УГ2, УФ2, БГ2, БФ2, УрГ1, УрФ1, УрГ2, УрФ2.
Так вот. Делает ход один из людей: происходит создание записи. Делает ход другой - обнавляются нужные данные. (Процесс создания и обновления данных работет без ошибок и рассматривает варианты первый ходит сопреник, а затем обораняющийся и наоборот). Суть вопроса, сделать расчёт коэфициэнтов: УрГ1, УрФ1, УрГ2, УрФ2 по имеющимся данным(зависит от вложенной силы(маны), наличия блока+определённых навыков(ловкость, точность,пробой блока и прочего)). Эти формулы вписывать в код пхп не хочу в целях защиты кода от взлома. Вот и хочу что бы сам сервер генерировал скл запрос с расчётом и вводом коэфициэнтов. Крайний случай - написать прогу, и запустить на сервере, которая через определённый интервал просматривала на наличие полного хода(оба походили) и сама заполняла по имеющимся данным коэфициэнты, однако это крайний случай... | |
|
|
|
|
|
|
|
для: Dimrix
(22.04.2005 в 17:15)
| | Хм... здесь лучше, конечно хранимые процедуры использовать (сильно большой защиты не получите, но что-то в этом есть), но они только только в MySQL 5 появились.
УГ1, УФ1, БГ1, БФ1, УГ2, УФ2, БГ2, БФ2, УрГ1, УрФ1, УрГ2, УрФ2. - это название полей или их значения? Мана и навыки хранятся я так понимаю в другой таблице? А блок в этой же самой, но в ходе другого игрока? | |
|
|
|
|
|
|
|
для: cheops
(22.04.2005 в 22:45)
| | Раставленые удары и блоки всё в одной базе. Удар и блок: поле размерностью 256б:
0 - нет удара
1 - не сильный удра
2 - сильный удар
3 - двойной удар
4 - зарезервировано (может будет 3ной удар)
5...254 - удар маной, где число равно количеству потраченной маны
с блоком аналогично:
0 - нет блока
1 - блок
2...4 - резерв
5...254 - блок маной
Полей больше и конечно латиницей(так назвал - так проще писать в форуме.) 4 точки удара, т.е. 4 точки для удара(4 поля для удара) 4 точки для блока(ещё 4 поля для блока), поле ИД1 и ИД2 - уникальные номера игроков, Сл - на какой стадии ход: 0 - сделал ход игрок с ИД1, 1 - сделал ход с ИД2, 2 - ход завершён(т.е. не рассматриваем его). Это я по спешке описал поля, всех не помню, но это основные.
P.S. Все навыки, статы, умения, всё хранится в других таблицах. Оптимальное хранение данных я попытался рассмотреть. Не буду утверждать, что идеально продумал, но постарался покрайней мере. Для боя выделяется отдельная таблица для каждого боя. Это связано с тем что один дуэльный бой - это около 20 записей. Если сделать все бои в одной - это разбегается с моим желанием сделать всегда доступными все логи всех боёв(архивировать старые данные не получится, а шерстить всю базу...:-/ ). Вот и решил: создавать БД с именем: пару_символов+ИД_поля строчки, в которой хранится основная инфа о бое: кто создал, сколько союзников/сопреников, тип боя, ограничения по уровням и пр... | |
|
|
|
|