|
Клиенты для игры Все что связано с клиентами для игры. Jmc, MMC, ZMud etc... |
|
Опции темы | Опции просмотра |
31.08.2006, 21:54 | #46 |
Отличник форума
Регистрация: 18.10.2005
Адрес: Пермь
Сообщений: 273
|
Вообще лучше не делать на скриптах то что можно сделать на TinTin, вот хороший счетчик экспы) придуманный не мной
вот из файла exp.set #alias {экспасброс} {оч; #script {jmc.SetVar("ExpMobExperience", 0); jmc.SetVar("ExpStartTime", (new Date).getTime()); jmc.SetVar("ExpNeedInit", 1);}} {Exp} #alias {экспа} {#script GlobalExpShowExp()} {Exp} #action {Ваш опыт повысился на %1 очк} {#math {ExpMobExperience} {$ExpMobExperience + %1}} {Exp} #action {Ваш опыт - %1 очк} {#script ExpOnReceivedCurExp(%1)} {Exp} #variable {ExpStartTime} {0} #variable {ExpExperience} {0} #variable {ExpMobExperience} {0} #variable {ExpBattleExperience} {0} #variable {ExpNeedInit} {1} #group local Exp #group enable Exp а вот скрипты из файла exp.scr function ExpOnReceivedCurExp(exp) { if (jmc.GetVar("ExpNeedInit") == 1) { jmc.SetVar("ExpExperience", exp); jmc.SetVar("ExpNeedInit", 0); } else { jmc.SetVar("ExpBattleExperience", exp - jmc.GetVar("ExpExperience") - jmc.GetVar("ExpMobExperience")); } } function GlobalExpShowExp() { dt = new Date; var span = (dt.getTime() - jmc.GetVar("ExpStartTime")) / 1000 / 60; jmc.ShowMe("Набрано опыта: " + jmc.GetVar("ExpMobExperience") +" за мобов и " + jmc.GetVar("ExpBattleExperience") + " бэтл экспы, за время: " + span.toFixed(0) + " мин. " + ((Number(jmc.GetVar("ExpMobExperience")) + Number(jmc.GetVar("ExpBattleExperience"))) / span).toFixed(0) + " опыта в минуту."); } все это можно подключить при помощи функции include() которую я описывал выше.
__________________
Владение орфографией русского языка - это как кунг-фу, истинные мастера которого не применяют его без надобности. |
05.09.2006, 14:37 | #47 |
Отличник форума
Регистрация: 04.04.2006
Сообщений: 327
|
стоп не понял а где тут бетал экспа считается?? а то я пытался написать неполучалось... последней проблеммой стало переход на уровень... потому что у тебя сейчас 3 очка ДСУ, а тут вдруг 12м... и счетчик прибавляет -12м к экспе...
|
08.09.2006, 13:17 | #48 |
Отличник форума
Регистрация: 04.04.2006
Сообщений: 327
|
ТАк всетаки, объясни как работает.. Как бэтл экспу считать. Я чет не понял... из кода.. да и пока не внедряю
|
08.09.2006, 18:39 | #49 |
Отличник форума
Регистрация: 18.10.2005
Адрес: Пермь
Сообщений: 273
|
ты гдето видишь что счетсчик экспы сканит скока у тебя дсу ?
__________________
Владение орфографией русского языка - это как кунг-фу, истинные мастера которого не применяют его без надобности. |
11.09.2006, 09:19 | #50 |
Отличник форума
Регистрация: 03.05.2004
Сообщений: 266
|
Счетчик сканит не дсу, а всю экспу.
|
11.09.2006, 11:40 | #51 |
Отличник форума
Регистрация: 04.04.2006
Сообщений: 327
|
Попробовал поюзать. Заметил что строчка "БЭТЛ ЭКСПА" обновляется только после набирания "оч" вот в чем кора... ясно.
понятно.. Хитро однако. только я хотел чтобы без спама ОЧ это все считалось. |
11.09.2006, 21:51 | #52 |
Отличник форума
Регистрация: 18.10.2005
Адрес: Пермь
Сообщений: 273
|
НЕ сильно уж и большой спам) ну если хочешь предложить что-то лучшее пробуй )
__________________
Владение орфографией русского языка - это как кунг-фу, истинные мастера которого не применяют его без надобности. |
27.09.2006, 13:30 | #53 |
Новичок
Регистрация: 14.05.2004
Сообщений: 3
|
Почемуто не работают регекспы под жабой..никак не пойму почему(((
Как без регекспов из jmc.Event вытащить название и описание комнаты? |
06.10.2006, 06:18 | #54 |
Занятой мадер
Регистрация: 21.11.2004
Адрес: Питер
Сообщений: 131
|
работает в жабе регэксп просто надо сначало маны в инете про яваскрипт почитать, а потом чето делать
__________________
We feel your presence. |
06.10.2006, 13:13 | #55 |
Знакомый Мадера
Регистрация: 21.06.2005
Сообщений: 87
|
чтобы бэтлэкспа считалась нормально без повторно вывода "очки/счет"
нужно подправить алиас для сброса экспы #alias {экспасброс} {оч; #script {jmc.SetVar("ExpBattleExperience", 0); jmc.SetVar("ExpMobExperience", 0); jmc.SetVar("ExpStartTime", (new Date).getTime()); jmc.SetVar("ExpNeedInit", 1);}} {Exp} |
12.10.2006, 10:19 | #56 | |
Новичок
Регистрация: 14.05.2004
Сообщений: 3
|
Цитата:
ЗЫ На перле попробовал - такая же фигня. Просто регекспы надо проинициализировать как-то, чтобы заработало, а вот как - я хз) |
|
12.10.2006, 12:26 | #57 |
Знакомый Мадера
Регистрация: 21.06.2005
Сообщений: 87
|
regexp не нужно инициализировать, они по дефолту работают
писать просто правильно надо. в #subs не работает regexp , только в #action |
12.10.2006, 14:52 | #58 |
Новичок
Регистрация: 14.05.2004
Сообщений: 3
|
Ну хорошо - рассмотрим на примере. Возьмем,например, кусок функции, срабатывающей на событие Incoming, лебезно предоставленной Devastator'ом
function CaptureTells() { var tmp=jmc.Event; var tely=/\[1;36m([А-Яа-я]+|Кто-то) сказал[а]? Вам : '(.+)'$/; res = tely.exec(tmp); jmc.Output(res[1]); } По логике вещей - если все арбайтен, то при реакции на входящий телл в output вылетит имя телявшего. Так вот в функцию то залетает на incoming нормально, а вот разбор строки телла не происходит. |
12.10.2006, 17:41 | #59 |
Знакомый Мадера
Регистрация: 21.06.2005
Сообщений: 87
|
хм..
вобщем проблема в следующем... похоже малость что-то где-то изменилось в коде... var tely=/\[1;36m([А-Яа-я]+|Кто-то) сказал[а]? Вам : '(.+)'$/; это раньше работало! 100% сейчас не срабатывает ! цвет текста меняется до конца ввода строки. и чтобы сейчас нормально работало нужно изменить regexp на var tely=/\[1;36m([А-Я][а-я]+|Кто-то) сказал[а]? Вам : '(.+)'\[0;37m$/; имх для имени чара лучше использовать не [А-Яа-я]+ , а [А-Я][а-я]+ Последний раз редактировалось Елигор; 12.10.2006 в 17:51. |
12.10.2006, 21:24 | #60 | |
Отличник форума
Регистрация: 18.10.2005
Адрес: Пермь
Сообщений: 273
|
Цитата:
__________________
Владение орфографией русского языка - это как кунг-фу, истинные мастера которого не применяют его без надобности. |
|