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

 
Ответить в эту темуОткрыть новую тему
> Нужна помощь, система проф. аккаунтов
roofless
сообщение 26.8.2012, 18:34
Сообщение #1


**

Neophyte
Сообщений: 42
Регистрация: 5.7.2012
Группа: Пользователи
Наличность: 0
Из: Riga, Latvia
Пользователь №: 15.077
Возраст: 30



Всем ку! ребят помогите исправить ошибки в скрипте, а то что то я недопонимаю (IMG:style_emoticons/default/blink.gif)

Это система проффесиональных акков, на том серваке , откуда етот скп, она работает , не могу разобраться в чем там прикол (IMG:style_emoticons/default/mad.gif) Вот сам скрипт:


Код
[FUNCTION NEWPVP]
var.character=
var.prof=
var.character=<argn1>
var.prof=<argn2>
if !(<uid.<var.character>.isplayer>)
src.sysmessage @50 eto ne player.
return 0
endif
if <uid.<var.character>.findid.i_pvps_timer>
try uid.<var.character>.findid.i_pvps_timer.timer = <uid.<var.character>.findid.i_pvps_timer.timer> + 60*60*24*<VAR.PROF>
try uid.<var.character>.account.tag.pvps=1
else
SERV.NEWITEM I_PVPS_TIMER
NEW.CONT=<var.character>
NEW.TIMER=60*60*24*<VAR.PROF>
try uid.<var.character>.account.tag.pvps=1
endif
src.sysmessage @53 Added days for acc: <uid.<var.character>.account> char: <uid.<var.character>.name> is <eval <var.prof>>
src.sysmessage @53 Total days is <eval(<uid.<var.character>.findid.i_pvps_timer.timer>/60*60*24)>
SERV.WRITEFILE profacc.scp  char: <uid.<var.character>.account> :: character: <uid.<var.character>.name> :: days: <eval <var.prof>> by <src.name> <rtime.day>.<rtime.month>.<rtime.year>
var.prof=
var.character=


[ITEMDEF I_PVPS_TIMER]
ID=I_DEED
TYPE=T_EQ_SCRIPT
NAME=PVPS ACCOUNT


ON=@CREATE
ATTR=ATTR_DECAY|ATTR_INVIS

ON=@UNEQUIP
src.writeacctag pvps
src.TAG.nonpvp=

ON=@TIMER
remove
RETURN 1




[ITEMDEF I_REGEN_BONUS]
ID=I_DEED
TYPE=T_EQ_SCRIPT
NAME=Prof Regen +1


ON=@CREATE
ATTR=ATTR_DECAY|ATTR_INVIS

ON=@EQUIP
TIMER=1

ON=@TIMER
IF (<CONT.HITS> < <CONT.STR>)
CONT.HITS +=1
ENDIF

IF (<CONT.STAM> < <CONT.DEX>)
CONT.STAM +=1
ENDIF

IF (<CONT.MANA> < <CONT.INT>)
CONT.MANA +=1
ENDIF
TIMER=1
RETURN 1

[FUNCTION POWERHOUR]

IF (0<ACCOUNT.TAG.PROF> < 1)
SYSMESSAGE Only for proffesional accounts
return 0
ENDIF

IF (!<FINDID.I_PROF_TIMER>)
SYSMESSAGE Only for general character in your account.
return 0
ENDIF

IF (<FINDID.I_POWER_HOUR>)
SYSMESSAGE @50 Power Hour: <eval <findid.i_power_hour.timer>/60> minutes left.
RETURN 0
ENDIF

IF (<FINDID.I_WAIT_POWER_HOUR>)
if <findid.i_wait_power_hour.timer> > 3600
SYSMESSAGE @50 You must wait <eval <findid.i_wait_power_hour.timer>/3600> hours.
else
SYSMESSAGE @50 You must wait <eval <findid.i_wait_power_hour.timer>/60> minutes.
endif
RETURN 0
ENDIF
SERV.NEWITEM i_POWER_HOUR
EQUIP <NEW>
SYSMESSAGE @53 Power Mode For 60 Minutes Enabled!


[ITEMDEF i_POWER_HOUR]
ID=I_DEED
TYPE=T_EQ_SCRIPT
NAME=Power Hour


ON=@CREATE
ATTR=ATTR_DECAY|ATTR_INVIS

ON=@EQUIP
TIMER=60*60 // 1 hour
CONT.TAG.PH=1

ON=@UNEQUIP
CONT.SERV.NEWITEM I_WAIT_POWER_HOUR
CONT.EQUIP <NEW>

ON=@TIMER
CONT.TAG.PH=
REMOVE
RETURN 1


[ITEMDEF i_WAIT_POWER_HOUR]
ID=I_DEED
TYPE=T_EQ_SCRIPT
NAME=Wait For Next Power Hour


ON=@CREATE
ATTR=ATTR_DECAY|ATTR_INVIS

ON=@EQUIP
TIMER=60*60*23 // 23 hour

ON=@TIMER
REMOVE
RETURN 1


[FUNCTION NEWPROF]
var.character=
var.prof=
var.character=<argn1>
var.prof=<argn2>
if !(<uid.<var.character>.isplayer>)
src.sysmessage @50 eto ne player.
return 0
endif
if <uid.<var.character>.findid.i_prof_timer>
try uid.<var.character>.findid.i_prof_timer.timer = <uid.<var.character>.findid.i_prof_timer.timer> + 60*60*24*<VAR.PROF>
try uid.<var.character>.account.tag.prof=3
else
SERV.NEWITEM I_PROF_TIMER
NEW.CONT=<var.character>
NEW.TIMER=60*60*24*<VAR.PROF>
SERV.NEWITEM I_REGEN_BONUS
NEW.CONT=<var.character>
NEW.TIMER=1
try uid.<var.character>.account.tag.prof=3
endif
src.sysmessage @53 Added days for acc: <uid.<var.character>.account> char: <uid.<var.character>.name> is <eval <var.prof>>
src.sysmessage @53 Total days is <eval(<uid.<var.character>.findid.i_prof_timer.timer>/60*60*24)>
SERV.WRITEFILE profacc.scp  char: <uid.<var.character>.account> :: character: <uid.<var.character>.name> :: days: <eval <var.prof>> by <src.name> <rtime.day>.<rtime.month>.<rtime.year>
var.prof=
var.character=

[FUNCTION PROFING]




[ITEMDEF I_PROF_TIMER]
ID=I_DEED
TYPE=T_EQ_SCRIPT
NAME=PROF ACCOUNT


ON=@CREATE
ATTR=ATTR_DECAY|ATTR_INVIS

ON=@UNEQUIP
src.writeacctag prof
src.TAG.nonpvp=
src.findid.I_REGEN_BONUS.remove


ON=@TIMER
remove
RETURN 1

[FUNCTION TESTSKILLS]
FOR i 0 49
LOCAL.SKILLS=<SERV.SKILL(<LOCAL.i>).key>
LOCAL.AMOUNT=<<LOCAL.SKILLS>>
IF (<<LOCAL.SKILLS>> > <SERV.SKILLCLASS.<SKILLCLASS>.<LOCAL.SKILLS>> )
TRY TAG.<LOCAL.SKILLS>= <LOCAL.AMOUNT>
TRY <LOCAL.SKILLS> = <SERV.SKILLCLASS.<SKILLCLASS>.<LOCAL.SKILLS>>
ENDIF
ENDFOR


[FUNCTION MAKERETURN]
SERV.NEWITEM i_RETURNSKILLS
EQUIP <NEW>
VAR.PROF=<ARGS>

[ITEMDEF i_RETURNSKILLS]
ID=I_MEMORY
TYPE=T_EQ_SCRIPT
NAME=RETURNSKILLS

ON=@CREATE
ATTR=ATTR_DECAY|ATTR_INVIS

ON=@EQUIP
TIMER=10
TARGETF RETURNS
RETURN 1

ON=@TIMER
REMOVE
RETURN 1



[FUNCTION RETURNS]
OBJ=<ARGO.UID>
IF <ARGO.ISPLAYER>
OBJ.RETURNSKILLS
RETURN 1
ELSE
SYSMESSAGE Only for players
RETURN 1
ENDIF

[FUNCTION RETURNSKILLS]
IF <TAG0.SKILLCLASS>
SKILLCLASS=<TAG.SKILLCLASS>
ENDIF
IF <TAG0.LEVELOLD>
TAG.LEVEL=<TAG.LEVELOLD>
ENDIF
TAG.SKILLCLASS=
TAG.LEVELOLD=
STATFIX

FOR i 0 49
LOCAL.SKILLS=<SERV.SKILL(<LOCAL.i>).key>
IF (<<LOCAL.SKILLS>> < <TAG0.<LOCAL.SKILLS>> )
try <LOCAL.SKILLS> = <TAG.<LOCAL.SKILLS>>
try TAG.<LOCAL.SKILLS>=
ENDIF
ENDFOR


[FUNCTION RTAG]
TAG.SKILLCLASS=
TAG.LEVELOLD=
FOR i 0 49
LOCAL.SKILLS=<SERV.SKILL(<LOCAL.i>).key>
try TAG.<LOCAL.SKILLS>=
ENDFOR




Проблема скрипта в том, что когда делаешь команду .newprof , Выходит сообщение "eto ne player"


--------------------
http://reparadise.at.ua/
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
oozy
сообщение 26.8.2012, 19:01
Сообщение #2


*****

Journeyman
Сообщений: 421
Регистрация: 13.2.2007
Группа: Пользователи
Наличность: 0
Из: icq: 250791248
Пользователь №: 9.456



Вы ведь используете команду .newprof <UID нужного игрока> <некий номер>?
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
roofless
сообщение 26.8.2012, 19:13
Сообщение #3


**

Neophyte
Сообщений: 42
Регистрация: 5.7.2012
Группа: Пользователи
Наличность: 0
Из: Riga, Latvia
Пользователь №: 15.077
Возраст: 30



Именно, я как только не писал, вот например - если я правильно понял .newprof roofless 3
еще .newprof Wayne 3
еще .newprof 3 Wayne


вообщем по всякому, а аккаунт все равно не включается (IMG:style_emoticons/default/sad.gif)


--------------------
http://reparadise.at.ua/
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Nickname
сообщение 26.8.2012, 19:24
Сообщение #4


****

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



Вам точно написали, как надо вводить команду, научитесь читать.
Цитата(oozy @ 26.8.2012, 19:01) *

Вы ведь используете команду .newprof <UID нужного игрока> <некий номер>?


--------------------
Промокод на 10% скидку Windows VDS: ODEI-XTPJ
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
roofless
сообщение 26.8.2012, 22:12
Сообщение #5


**

Neophyte
Сообщений: 42
Регистрация: 5.7.2012
Группа: Пользователи
Наличность: 0
Из: Riga, Latvia
Пользователь №: 15.077
Возраст: 30



Цитата(Nickname @ 26.8.2012, 19:24) *

Вам точно написали, как надо вводить команду, научитесь читать.


Спасибо, читать я умею, в игре так и писать .newprof <UID нужного игрока> <некий номер>?

тоесть будет так .newprof <UID Wayne> <3> - етот некий номер, ето время действия, так ?


--------------------
http://reparadise.at.ua/
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
oozy
сообщение 26.8.2012, 22:42
Сообщение #6


*****

Journeyman
Сообщений: 421
Регистрация: 13.2.2007
Группа: Пользователи
Наличность: 0
Из: icq: 250791248
Пользователь №: 9.456



Будет так ".newprof 12345 3", где "12345" uid нужного игрока, а "3" количество дней которые добавятся к таймеру по формуле в вашей функции.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Jose Cuervo
сообщение 27.8.2012, 9:17
Сообщение #7


********

UO Antares
Сообщений: 1.555
Регистрация: 12.2.2005
Группа: Пользователи
Наличность: 6057
Из: Санкт-Петербург
Пользователь №: 3.061
Возраст: 45



UID - это не аккаунт и не никнейм, а уникальный идентификационный номер персонажа или предмета. .info на чара, если диалог дефолтный, то там видно будет какой у конкретного чара UID.


--------------------
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Ozzy Osbourne
сообщение 27.8.2012, 9:55
Сообщение #8


*********

Grandmaster
Сообщений: 2.067
Регистрация: 5.8.2003
Группа: Пользователи
Наличность: 0
Пользователь №: 810
Возраст: 32



или .xshow uid и таргетом на чара


--------------------
Forest Wars
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
roofless
сообщение 28.8.2012, 11:07
Сообщение #9


**

Neophyte
Сообщений: 42
Регистрация: 5.7.2012
Группа: Пользователи
Наличность: 0
Из: Riga, Latvia
Пользователь №: 15.077
Возраст: 30



Благодарю, теперь всё ясно, я все по нику долбил, а не по UID (IMG:style_emoticons/default/wink.gif)


--------------------
http://reparadise.at.ua/
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

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

 

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