avatar_Everybody

Скрипты для Job: настройки для MU online и SQL Server

Автор Everybody, 2008 Окт. 14, 13:59

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

Smerch

Всем привет! Вижу тема потеряла актуальность и видно не много людей сюда заходит. Но все же хочу попытать удачу и задать вопрос. Как сделать проверку инвентаря на вещи при авто-ресете? Т.е что бы ресет не делался пока персонаж не будет голый? Перерыл весь интернет и не нашел нужной информации. Season 4 Episode 6 Sql 2008 r2. Заранее вам очень благодарен!

epmak

есть табличка defaultClassType, по умолчанию там обычно одеты вещи типа топорика, вот полностью расчисти и сравнивай с тем, что на персонаже при ресете. это самый простой способ.
более сложный - выбирать у персонажа инвентарь, делать его строкой с помошью cast или convert  и проверять на наличие вещей.

Smerch


orogastus

Нужен скрипт который при отсутствии персонажа более 7 дней отнимает ему -1 ресет. И так пока до 0 ресетов не опустится. Справитесь с таким? То есть если сегодняшняя дата отличается от даты последнего посещения более чем на 7 дней, то -1 ресет.

Nike555

Цитата: orogastus от 2016 Март 02, 10:50  Нужен скрипт который при отсутствии персонажа более 7 дней отнимает ему -1 ресет. И так пока до 0 ресетов не опустится. Справитесь с таким? То есть если сегодняшняя дата отличается от даты последнего посещения более чем на 7 дней, то -1 ресет.
[sql]UPDATE Character
SET Resets = Resets - 1
FROM Character JOIN MEMB_STAT ON Character.AccountID = MEMB_STAT.memb___id
WHERE MEMB_STAT.DisConnectTM <= (SELECT GETDATE()-7) AND (Resets > 0) AND (ConnectStat = 0)
GO
UPDATE MEMB_STAT
SET DisConnectTM = GETDATE()
FROM Character JOIN MEMB_STAT ON Character.AccountID = MEMB_STAT.memb___id
WHERE MEMB_STAT.DisConnectTM <= (SELECT GETDATE()-7) AND (Resets > 0) AND (ConnectStat = 0)[/sql]
По сути как я проверил работает как надо, при обновление ресетов обновляется и MEMB_STAT -> DisConnectTM(время выхода с акк).
8-)
(но в любом случай сделай бакап базы перед использованием)

orogastus

#185
Спасибо, в принципе обновление memb_stat совсем не обязательно. Достаточно цикличность раз в неделю поставить и уже будет работать.
UPDATE Character
SET Resets = Resets -('1')
FROM MEMB_STAT
WHERE DATEDIFF (WEEK, DisConnectTM, GETDATE()) >=('1') AND (Resets > 0) AND (ConnectStat = 0)

Как ни странно но тоже работает)))

epmak

я понял, что мне в этом скрипте не нравится, а как memb_Stat связан с character?

Nike555

Цитата: orogastus от 2016 Март 03, 04:57  Спасибо, в принципе обновление memb_stat совсем не обязательно. Достаточно цикличность раз в неделю поставить и уже будет работать.
UPDATE Character
SET Resets = Resets -('1')
FROM MEMB_STAT
WHERE DATEDIFF (WEEK, DisConnectTM, GETDATE()) >=('1') AND (Resets > 0) AND (ConnectStat = 0)

Как ни странно но тоже работает)))
Я специально в скрипте прописал обновление DisConnectTM, для того чтобы ты мог к примеру поставить выполнение скрипта даже каждый час, а при твоих изменениях будут случай когда чар к примеру за 8-13 дней будет минус -1 рес, т.е. может превысить 7 дней.

vigoro

Цитата: Everybody от 2008 Окт. 14, 12:59  В этом топике будут выкладываться скрипты для Job
с помощью которых можно настроить разные вещи для игры.
-
Сначало идем в Managment
> Sql Server Agent
>> Jobs
>>> New Job
>>>> Name The job и выбрать Steps
>>>>> кликаем New
>>>>>> name the step и выберем базу muonline
>>>>>>> вставим туда этот любой скрипт (что ниже, любой)

всё сделал как тут написано, но ресет не делает... в чем может быть проблема?

поправка: ресет делает только когда в jobs жмёшь start job and step... а цикл задать можно как-нибудь? может вопрос и туповат... я просто только начал осваивать настройки сервера)) так что извиняйте если что

devilofray

Так привет всем ребята ( Сорри я не Русский потому ошибки будет)
Мне нужен скрипт такой:

На сервере есть Стоне.
Функция будет таким: За каждый СТОНЕ 50 ЛВЛ уменшается ресет ЛВЛ.
На пример:
Ест 1 СТОНЕ я могу делать ресет на 350 ЛВЛ
Ест 2 СТОНЕ я могу делать ресет на 300 ЛВЛ
Ест 3 СТОНЕ я могу Делать ресет на 250 ЛВЛ и т.д ( 4 - 5 - 6 - 7 Так будет. Ну вы поняли меня)
Есть 8 СТОНЕ я могу делать ресет на 1 лвл..
Ну сколько будет СТОНЕ столько менше лвл.

За сколько можно сделать такой СКРИТП для СГЛ?

Похожие темы (5)