Здравствуйте, гость ( Вход | Регистрация )

3 страниц V  1 2 3 >  
Тема закрытаОткрыть новую тему
> Account Delete
Llirik
сообщение 20.9.2014, 7:02
Сообщение #1


******

Expert
Сообщений: 681
Регистрация: 5.9.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.259



Скрипт который удаляет не используемые акки раз в 90 дней запущенного сервера (только для одного чара!). Кому надо, то берите:


ON=@Login
if <src.account.plevel>==1
src.tag.unused=<serv.age>
endif

ON=@EnvironChange
src.tag.unused=<serv.age>

[FUNCTION f_onserver_timer]
f_client_UNUSED_delete

[FUNCTION f_client_UNUSED_delete]
for i 0 <eval <serv.accounts>-1>
for j 0 <eval <account.chars>-1>
ref1001 = <serv.account.<dlocal.i>.char.<dlocal.j>>
if !(<ref1001.account.plevel> > 1) // из-за него удаляет порциями
var.unused=<serv.age>-0<ref1001.tag.unused>
if (<eval <var.unused>> > 90) // тут выставляем своё значение
ref1001.account.delete
endif
endif
endfor
endfor
Ещё сфера ругается на Can't resolve <serv.account.1.char.-1>, если можете, то поправьте положение, а так скрипт работает норм.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
kklej
сообщение 20.9.2014, 16:03
Сообщение #2


******

Группа: Пользователи
Наличность: 14942
Пользователь №: 13.346



ну них себе=) возьмём спасибо (IMG:style_emoticons/default/laugh.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Mirage
сообщение 21.9.2014, 0:09
Сообщение #3


*******

Группа: Пользователи
Наличность: 0
Из: Иваново
Пользователь №: 13.089
Возраст: 35



Сори, но чем плохо
.serv.account unused 90 delete
?


--------------------
Изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Kanibal
сообщение 21.9.2014, 0:21
Сообщение #4


********

Master
Сообщений: 1.337
Регистрация: 19.9.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 12.115
Возраст: 7



Цитата(Mirage @ 21.9.2014, 0:09) *

Сори, но чем плохо
.serv.account unused 90 delete
?

Лёгким путём все могут пойти. А вот путь джедая, это только для избранных.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Mirage
сообщение 21.9.2014, 0:33
Сообщение #5


*******

Группа: Пользователи
Наличность: 0
Из: Иваново
Пользователь №: 13.089
Возраст: 35



А не ну я кайф открытия обламывать не буду тогда...


--------------------
Изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Llirik
сообщение 21.9.2014, 12:15
Сообщение #6


******

Expert
Сообщений: 681
Регистрация: 5.9.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.259



Цитата(Mirage @ 21.9.2014, 1:09) *

Сори, но чем плохо
.serv.account unused 90 delete
?

Я не знаю, как у кого, но у меня, когда создаёшь нового чара после команды account unused 90 сфера пишет: 'LASTCONNECTDATE' for 'Llirik' is '1970/01/01 04:00:00' и обновляет его только после перезахода!, а после команды account unused 90 delete удаляет его. Т.е. нубы зашедшие в игру поиграв макс. 5 мин будут удалятся автоматом. Как исправить эту проблему буду очень признателен?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
ЖаК
сообщение 21.9.2014, 19:55
Сообщение #7


*****

Journeyman
Сообщений: 314
Регистрация: 2.1.2008
Группа: Пользователи
Наличность: 0
Пользователь №: 10.417



On char create
Lastconnectdate = serv.rtime
может быть так
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Llirik
сообщение 21.9.2014, 20:13
Сообщение #8


******

Expert
Сообщений: 681
Регистрация: 5.9.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.259



Цитата(ЖаК @ 21.9.2014, 20:55) *

On char create
Lastconnectdate = serv.rtime
может быть так

Большое спасибо!
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Llirik
сообщение 21.9.2014, 22:30
Сообщение #9


******

Expert
Сообщений: 681
Регистрация: 5.9.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.259



Помогите замутить скрипт, двигатель я написал:

if 0<var.time>==0
var.timer=<serv.rtime>
var.time=1
endif
var.timer2=<eval <serv.rtime>>-<eval <var.timer>>
if <eval <var.timer2>>>=30
var.time=0
serv.account unused 90 delete
endif

Т.е. чтобы удалял раз в месяц.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Llirik
сообщение 21.9.2014, 23:37
Сообщение #10


******

Expert
Сообщений: 681
Регистрация: 5.9.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.259



[FUNCTION f_account_delete]
if 0<var.time>==0
VAR.DAYS=<serv.age>
var.time=1
endif
var.timer=<serv.age>-<VAR.DAYS>
if (<var.timer>>30)
serv.account unused 90 delete
var.time=0
endif
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Mirage
сообщение 22.9.2014, 0:11
Сообщение #11


*******

Группа: Пользователи
Наличность: 0
Из: Иваново
Пользователь №: 13.089
Возраст: 35



Ну есть же примеры, файлы других серверов, поиск в конце концов.

Код
[itemdef i_account_d]
defname=i_account_d
id=i_guildstone
TYPE=t_normal

ON=@CREATE
timer=86400
ATTR=0c090

ON=@Timer
serv.account unused 90 DELETE
say Account deleting: ON
say Если аккаунт не используется Х дней он удаляется.
timer=86400
RETURN 1

штуку свою пропиши если у тебя гильдстоуна нет.


--------------------
Изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Llirik
сообщение 22.9.2014, 0:24
Сообщение #12


******

Expert
Сообщений: 681
Регистрация: 5.9.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.259



Ещё вопрос можно ли, как-нибудь Lastconnectdate = serv.rtime прописать в [FUNCTION f_onaccount_create], а то в [FUNCTION f_onchar_create] всё равно удаляет, до тех пор пока он его создаст, хотя раз в месяц, но ладно? Извините за наглость.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Kanibal
сообщение 22.9.2014, 1:02
Сообщение #13


********

Master
Сообщений: 1.337
Регистрация: 19.9.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 12.115
Возраст: 7



Можно так попробовать, но я хз.
Код

[ITEMDEF i_brain_fucker]
DEFNAME=i_brain_fucker
ID=i_crystall_ball
COLOR=0
TYPE=t_normal
WEIGHT=45000

ON=@Create
MAGERY={10.0, 90.0}
COLOR=0
TIMER=0

ON=@Timer
COLOR=0
Timer=1
RETURN 1

ON=@Dclick
IF 0 < 1
SRC.SAY 0 < 1

ELIF 0=1
SRC.SAY 0=1

ELIF 0>1
SRC.SAY 0>1
ENDIF
RETURN 1
RETURN 0
ENDIF
ENDFOR

SRC.GO Minoc

Сам не пробовал, но вроде должно работать. (IMG:style_emoticons/default/cool.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
kklej
сообщение 22.9.2014, 1:49
Сообщение #14


******

Группа: Пользователи
Наличность: 14942
Пользователь №: 13.346



Оч романтичный скрипт, чтото с мозгами связано=) забераю! (IMG:style_emoticons/default/laugh.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Llirik
сообщение 22.9.2014, 3:48
Сообщение #15


******

Expert
Сообщений: 681
Регистрация: 5.9.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.259



Мне оч помог. Спасибо! (IMG:style_emoticons/default/smile.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Llirik
сообщение 22.9.2014, 5:24
Сообщение #16


******

Expert
Сообщений: 681
Регистрация: 5.9.2012
Группа: Пользователи
Наличность: 0
Пользователь №: 15.259



Ребят теперь вопрос на засыпку, как удалить чара из БД MySQL?

[FUNCTION f_onaccount_delete]
db.execute DELETE FROM `sphere`.`sphere_players` WHERE `sphere_players`.`uid` = '<src.uid>'

Сфера выдаёт ошибку: ERROR:(sphere_serv_triggers.scp,53)Can't resolve <src.uid>

(IMG:style_emoticons/default/sad.gif)
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Wap
сообщение 22.9.2014, 14:34
Сообщение #17


**********

Администратор Форума
Сообщений: 3.003
Регистрация: 22.12.2006
Группа: Администраторы
Наличность: 31655
Пользователь №: 9.227



Ну а какой, нафиг, src в f_onaccount_delete? Там src либо сервер, либо вообще не определен. Смотри описание функции в файле. Аккаунт там будет <args>, об этом написано рядом с функцией, в стандартных скриптах.


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Kanibal
сообщение 22.9.2014, 15:31
Сообщение #18


********

Master
Сообщений: 1.337
Регистрация: 19.9.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 12.115
Возраст: 7



Цитата(Wap @ 22.9.2014, 14:34) *

Ну а какой, нафиг, src в f_onaccount_delete? Там src либо сервер, либо вообще не определен. Смотри описание функции в файле. Аккаунт там будет <args>, об этом написано рядом с функцией, в стандартных скриптах.

Там скрипт, который при создании чара, через f_onchar_create, вносит в БД определённую инфу. А он хочет чтобы при удалении акков, эта инфа тоже удалялась. Но serv.account unused 90 delete действует не от персонажа, поэтому f_onchar_delete и не срабатывает.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Wap
сообщение 22.9.2014, 19:07
Сообщение #19


**********

Администратор Форума
Сообщений: 3.003
Регистрация: 22.12.2006
Группа: Администраторы
Наличность: 31655
Пользователь №: 9.227



Если бы он вообще не срабатывал, не было бы ошибки в консоли.


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Kanibal
сообщение 22.9.2014, 19:48
Сообщение #20


********

Master
Сообщений: 1.337
Регистрация: 19.9.2009
Группа: Пользователи
Наличность: 0
Пользователь №: 12.115
Возраст: 7



Цитата(Wap @ 22.9.2014, 19:07) *

Если бы он вообще не срабатывал, не было бы ошибки в консоли.

Ну я так понимаю, что f_onaccount_delete сможет отрезолвить <src.uid>, только если удалять чара из клиента.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

3 страниц V  1 2 3 >
Тема закрытаОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 24.4.2024, 17:30
Designed by Nickostyle