Версия для печати темы
UoKit.com Форумы _ Sphere Server 0.54 - 0.55i _ Ошибка
Автор: tytyrion 5.1.2019, 3:39
Ребята, подскажите, пожалуйста, в чем здесь ошибка?
Цитата
[itemdef i_cape_moon]
ID=i_cape
NAME=Moon cloak
RESOURCES=100 i_cloth, 10 i_hides_cut, 10 i_leather_daemon, 10 i_leather_dragon, 50 i_spool_wire, 5 i_potion_mana
SKILLMAKE=TAILORING 90.0, MAGERY 90.0, MEDITATION 90.0, i_diamond_sk
dye=1
on=@create
hitpoints={5 10}
on=@equip
timer=1
on=@timer
if (<cont.meditation><80.0) || (<cont.magery><80.0)
cont.sysmessage You lack the required skill in magery/meditation to wear this
cont=<cont.findlayer(21).uid>
timer=1
return 1
endif
if <cont.sector.light><=7
timer=1
return 1
endif
cont.mana=<cont.mana>+2
if <cont.mana>><cont.int>
cont.mana=<cont.int>
endif
timer=1
return 1
Сфера (55i) пишет вот это:
Цитата
ERROR:(tailoring_rare.scp,134)Invalid container 00
Спасибо
Автор: Re-Active 5.1.2019, 10:53
if !<cont.uid>
return 1
endif
on=@unequip
timer = -1
Автор: tytyrion 12.1.2019, 0:18
Все равно не могу понять.
Есть 2 итэма:
1.
Цитата
[itemdef i_cape_sun]
ID=i_cape
NAME=Sun cloak
RESOURCES=100 i_cloth, 10 i_leather_ophidian, 10 i_leather_dragon, 20 i_bandage, 50 i_spool_wire
SKILLMAKE=TAILORING 90.0,ANATOMY 90.0, HEALING 90.0, i_diamond_sk
dye=1
on=@create
hitpoints={5 10}
on=@equip
timer=1
on=@timer
if (<cont.healing><80.0) || (<cont.anatomy><80.0)
cont.sysmessage You lack the required skill in healing/anatomy to wear this
cont=<cont.findlayer(21).uid>
timer=1
return 1
endif
if <cont.sector.light>>7
timer=1
return 1
endif
cont.hits=<cont.hits>+1
if <cont.hits>><cont.str>
cont.hits=<cont.str>
endif
timer=1
return 1
2.
Цитата
[itemdef i_cape_moon]
ID=i_cape
NAME=Moon cloak
RESOURCES=100 i_cloth, 10 i_hides_cut, 10 i_leather_daemon, 10 i_leather_dragon, 50 i_spool_wire, 5 i_potion_mana
SKILLMAKE=TAILORING 90.0, MAGERY 90.0, MEDITATION 90.0, i_diamond_sk
dye=1
on=@create
hitpoints={5 10}
on=@equip
timer=1
on=@timer
if (<cont.meditation><80.0) || (<cont.magery><80.0)
cont.sysmessage You lack the required skill in magery/meditation to wear this
cont=<cont.findlayer(21).uid>
timer=1
return 1
endif
if <cont.sector.light><=7
timer=1
return 1
endif
cont.mana=<cont.mana>+2
if <cont.mana>><cont.int>
cont.mana=<cont.int>
endif
timer=1
return 1
Но ошибка возникает только во втором итэме.
Если убрать это:
Цитата
if (<cont.meditation><80.0) || (<cont.magery><80.0)
cont.sysmessage You lack the required skill in magery/meditation to wear this
cont=<cont.findlayer(21).uid>
timer=1
return 1
endif
то ошибка исчезает.
При чем в первом итэме сфера не видит никакой ошибки. А во втором - видит.
Автор: Re-Active 12.1.2019, 0:46
есть такая классная функция
SAY... она тебе поможет.
я лично знаю ответы на вопросы, но придерживаюсь правила, что если дать человеку леща.
Автор: Ozzy Osbourne 12.1.2019, 14:26
Цитата(Re-Active @ 11.1.2019, 23:46)
есть такая классная функция. SAY... она тебе поможет. я лично знаю ответы на вопросы, но придерживаюсь правила, что если дать человеку леща.
Я вот больше за SYSMESSAGE для дебага ибо ненадо открывать журнал, но наверное SAY покороче для таки мелочей как выше.
Так что автор, выбирайте что по вкусу и вперед
Автор: Re-Active 12.1.2019, 18:12
да я уже все написал что нужно сделать... но если человеку даже прямой ответ не помогает...
Автор: $yst3m_3rr0r 12.1.2019, 20:50
По пробуй так ... простенький плащик регена маны ... раз в 1сек +2 маны ...
Код
[ITEMDEF i_cape_moon]
DEFNAME=i_cape_moon
NAME=Moon Cloak
ID=i_cape
TYPE=t_clothing
RESOURCES=100 i_cloth, 10 i_hides_cut, 10 i_leather_daemon, 10 i_leather_dragon, 50 i_spool_wire, 5 i_potion_mana
SKILLMAKE=TAILORING 90.0, MAGERY 90.0, MEDITATION 90.0, i_diamond_sk
DYE=1
On=@Create
HITPOINTS = {5 10}
On=@Equip
IF (<SRC.MEDITATION><80.0) || (<SRC.MAGERY><80.0)
SRC.SYSMESSAGE You lack the required skill in magery/meditation to wear this
UNEQUIP
RETURN 1
ENDIF
TIMER = 1
On=@UneQuip
TIMER = -1
On=@Timer
IF (<CONT.MANA> < <CONT.MaxMANA>)
CONT.MANA = (<CONT.MANA> + 2)
CONT.MANA = <QVAL (<CONT.MaxMANA> < <CONT.MANA>)?<CONT.MaxMANA>:<CONT.MANA>>
ENDIF
TIMER = 1
RETURN 1
Автор: Re-Active 12.1.2019, 21:56
Фуууу... отвратительно.
ELSE
TIMER = 1
еще хуже
MaxMANA
Автор: $yst3m_3rr0r 12.1.2019, 23:49
Цитата(Re-Active @ 5.1.2019, 10:53)
on=@uneqip
timer = -1
Сказал человек ... который ТРИГГЕР On=@UneQuip написать правильно не может ...
Ну, сделай так ... проблема что ли ...
Код
On=@Equip
IF (<SRC.MEDITATION><80.0) || (<SRC.MAGERY><80.0)
SRC.SYSMESSAGE You lack the required skill in magery/meditation to wear this
UNEQUIP
RETURN 1
ENDIF
TIMER = 1
Автор: Re-Active 13.1.2019, 0:01
мои опечатки хоть notepad+ исправит
а твой скрипт в принципе работать не будет.
Автор: $yst3m_3rr0r 13.1.2019, 13:13
Цитата(Re-Active @ 13.1.2019, 0:01)
а твой скрипт в принципе работать не будет.
Может мозги твои не работают в принципе ? Скрипт как Швейцарские часы работает ...
Автор: Re-Active 13.1.2019, 14:34
Ты опять вылез не в тот раздел ...
src.kill += 10
не помнишь?
Автор: Llirik 13.1.2019, 20:33
Не ссорьтесь девочки!)
Автор: tytyrion 14.1.2019, 1:03
Ну, скажем так, что работает все правильно в том варианте, что я написал. И мана регенится ночью, и если скил ниже, чем нужно - вещь не одевается.
Вот только не могу понять, какую ошибку видит сфера в строчке
Код
cont=<cont.findlayer(21).uid>
.
Пишет
Код
ERROR:(tailoring_rare.scp,134)Invalid container 00
При этом плащ падает пак. То есть все работает.
Причем в других идентичных итемах сфера не видит никакой ошибки (пример другого итема написал выше). Только здесь.
Автор: Sirocco 14.1.2019, 9:49
да ты снимаешь вещь. а таймер продолжает идти
и нет у него никакого контейнера.
Автор: Llirik 14.1.2019, 14:30
Цитата(Sirocco @ 14.1.2019, 9:49)
да ты снимаешь вещь. а таймер продолжает идти
и нет у него никакого контейнера.
Совершенно верно!
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)