Перехват /unstuck и респавна после смерти(для организации тюрьмы и тп)

 
+
-
edit
 

Balancer

администратор
★★★★★
Да, легко. Что-нибудь в духе:

on-player-start.f
code forth
  1. "You are paralized for server load" .
  2. player@ paralyze
  3. ' "You are unparalized" . player@ unparalyze ' do-timer

(не проверял)

Правда, скоро я do-timer перепишу с исполнения строки кода на вызов слова, переданного адресом, так что придётся такой код тоже немного переписывать (вызываемую последовательность определить в любом Форт-файле, кроме этого (а то будет переопределяться при каждом вызовк) и перед do-timer прописать определение адреса того слова)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

merl

новичок
парализует великолепно, после чего выдает ошибку при попытке снять паралич...
code text
  1. ...
  2. java.lang.ArrayIndexOutOfBounds
  3. Exception:-1
"Всякая информация лишь тогда чего либо стоит , когда знаешь как её применить" D.Waider  
+
-
edit
 

Balancer

администратор
★★★★★
Надо дома будет код посмотреть. М.б. и ошибка.
… чтобы понять рекурсию, нужно сперва понять рекурсию …  
+
-
edit
 

Artful

разработчик L2J Fortress

Да точно ошибка... а еще есть предложение... если человека сажают в тюрягу, с него снимать этот паралич...
А то поймал кого либо, начинаеш с ним говорить а он тебя и не слышет бегает себе...
Ты его в паралич, он сразу, а что, поговорил, и если есть на то причины сажаеш в тюрягу в этом случае паралич снимается....
 

merl

новичок
с ошибкой разобрался... после удаления сообщений (которые в принципе и не нужны) параличь проходит нормально, но не проходит....
подозреваю что связано это с обработкой "do-timer"....
Балансер, буду очень благодарен если сможешь подсказать как всётаки правильно должен выглядеть этот код....
code text
  1. ...
  2. player@ paralyze парализуем входящего в мир
  3.  
  4. 10000 3 player@ gauge выводим шкалу с отсчетом задержки(времени паралича)
  5.  
  6. "player@ unparalyze"  NNN do-timerснимаем паралич через NNN секунд
  7.  
  8. ...

в принципе первые две строки у меня отрабатывают великолепно а вот третья- никак... ни в том формате который предложил ты, ни в том варианте который привел я... :(
"Всякая информация лишь тогда чего либо стоит , когда знаешь как её применить" D.Waider  
+
-
edit
 

Balancer

администратор
★★★★★
Моя ошибка :) Одиночный апостроф - это получение адреса слова. Т.е. писать надо так:
code text
  1. '"You are unparalized" . player@ unparalyze' 10000 do-timer


Пробелы для наглядности добавил и получил ошибку :)

И время для таймера не указал. (В миллимекундах)
… чтобы понять рекурсию, нужно сперва понять рекурсию …  
+
-
edit
 

Balancer

администратор
★★★★★
garri_il> Бал а можно сделать 4тобы сообшение о полу4ении предмета не показывалось на весь 4ат а тока для 4ела котории в тюрьме ?
code text
  1. "Ты поймал это, сынок" "Надзиратель" player@ .tell
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

merl

новичок
Balancer> Моя ошибка :) Одиночный апостроф - это получение адреса слова. Т.е. писать надо так:
Balancer> " . player@ unparalyze' 10000 do-timer
Balancer> Пробелы для наглядности добавил и получил ошибку :)
Balancer> И время для таймера не указал. (В миллимекундах)
Да ошибки больше не выдает... НО паралич не снимается!
"Всякая информация лишь тогда чего либо стоит , когда знаешь как её применить" D.Waider  
+
-
edit
 

Balancer

администратор
★★★★★
merl> Да ошибки больше не выдает... НО паралич не снимается!

Судя по коду паралича, я там ещё startRooted запускаю. А вот в анпаралайзе снимать забываю :)

Гм... А stopRooted - такого нет.

Попробуй так, как в текущей сборке. Кстати, слова переименовал по принципу Unknown topic 5076
… чтобы понять рекурсию, нужно сперва понять рекурсию …  

merl

новичок
и всёже лаг с прохождением через стены меня гнетет... :) а с фортом времени разобратся нет...
не мог бы ты набросать полный код который бы позволил привязать игрока на 10 секунд пока догружаются текстуры?... буду очень признателен...
а о сборке... я пользуюсь гринхоповской.... но многое правлю в ней сам.... квесты добавляю и.т.д...
где брать твою последнюю сборку не представляю себе... по крайней мере в /files/ я получаю ошибку от хостера...(Извините, но вашей подсети 213.130.21.162 (d58215a2) нет в списке русских подсетей провайдера Agava.Ru.......)
Кстати по поводу этой сообщалки, для украинских подсетей могу предоставить место под svn и download
у себя...
"Всякая информация лишь тогда чего либо стоит , когда знаешь как её применить" D.Waider  
+
-
edit
 

Balancer

администратор
★★★★★
merl> и всёже лаг с прохождением через стены меня гнетет... :)

Unknown posting 42705

merl> не мог бы ты набросать полный код который бы позволил привязать игрока на 10 секунд пока догружаются текстуры?...

Напишу на днях. Пожалуй, выложу в основную сборку, полезная штука.

merl> где брать твою последнюю сборку не представляю себе... по крайней мере в /files/ я получаю ошибку от хостера...

Unknown topic 256
… чтобы понять рекурсию, нужно сперва понять рекурсию …  
AD Реклама Google — средство выживания форумов :)
+
-
edit
 

garri_il

втянувшийся
Бал сеи4ас когда отправляю 4ела в тюрьму то выскакивает ошибка
----------------------------------------------------------------------------
1132576840437 WARNING 19 net.sf.l2j.gameserver.lib.jbf.Word JBF execute exception java.lang.NoSuchMethodException: java.lang.Integer.setKarma(int)
in word 'EXIT' : java.lang.NoSuchMethodException: java.lang.Integer.setKarma(int)
Code: 'to caller jail-me<<< error here <<<'
Return stack: in word 'EXIT' in word 'EXIT' in word 'LIT You are jailed! To free you must collect ' in interpret mode
1132576881515 WARNING 22 net.sf.l2j.gameserver.clientpackets.UseItem no itemhandler registered for itemId:1642
1132576888406 WARNING 19 net.sf.l2j.gameserver.lib.jbf.words.Java Error while jexec jexec
1132576888406 WARNING 19 net.sf.l2j.gameserver.lib.jbf.Word JBF execute exception java.lang.NoSuchMethodException: java.lang.Integer.setKarma(int)
in word 'EXIT' : java.lang.NoSuchMethodException: java.lang.Integer.setKarma(int)
Code: 'to caller jail-stop<<< error here <<<'
Return stack: in word 'EXIT' in word 'EXIT' in word 'LIT You are freed!' in interpret mode
1132576888421 INFO 19 net.sf.l2j.gameserver.lib.JBForth JBF out: JBF execute exception java.lang.NoSuchMethodException: java.lang.Integer.setKarma(int)
in word 'EXIT' : java.lang.NoSuchMethodException: java.lang.Integer.setKarma(int)
Code: 'to caller jail-stop<<< error here <<<'
Return stack: in word 'EXIT' in word 'EXIT' in word 'LIT You are freed!' in interpret mode Exception while execute word 'in word 'EXIT'' in word '.tell'.
: .tell java.lang.NullPointerException
Unknown problem while coordinates decode Exception while execute word 'in word 'EXIT'' in word 'jump'.
: jump java.lang.NullPointerException

1132576898437 WARNING 20 net.sf.l2j.gameserver.lib.jbf.words.Java Error while jexec jexec
1132576898437 WARNING 20 net.sf.l2j.gameserver.lib.jbf.Word JBF execute exception java.lang.NoSuchMethodException: java.lang.Integer.setKarma(int)
in word 'EXIT' : java.lang.NoSuchMethodException: java.lang.Integer.setKarma(int)
Code: 'to caller jail-stop<<< error here <<<'

.
 

и карма не вешаеться .
 

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru