Page 1 of 1
какой командой узнать ID сообщений сервера
Posted: 2008-12-08 21:18:59
by ychenik
сабж, у моего сервера айди сообщений не стандартные 0x01010101
Posted: 2008-12-08 22:15:39
by Edikus
имееш в виду clicloq?
если да тогда:
,showjournal 10
Posted: 2008-12-08 22:53:16
by ychenik
нет мне нужна команда либо на проверку айди сообщений сервера либо на проверку цвета сообщений сервера. я уже как тока не пробывал все не то)
Posted: 2008-12-08 22:54:05
by ychenik
а та команда которую ты написал просто открывает журнал инжекта.
Posted: 2008-12-08 23:28:26
by GAUHAR
Это?
http://yoko.netroof.net/help/help.php?l ... rnalSerial
Экспериментальным путем узнав ID сообщений своего сервера, сравниваешь его с тем с чем тебе надо.
Posted: 2008-12-09 00:02:38
by ychenik
эт я нашел, ток как это применить не могу понять) я когда захожу в уо мне пишет например Welcome to Ultima Online, вот как мне узнать айди этого сообщения?
Posted: 2008-12-09 02:34:54
by GAUHAR
Code: Select all
sub test()
VAR ServerMsg = "Welcome to Ultima Online"
VAR idServerMsg = UO.JournalSerial(UO.InJournal(ServerMsg)-1)
VAR clrServerMsg = UO.JournalColor(UO.InJournal(ServerMsg)-1)
UO.Print("ID сообщения сервера: " + idServerMsg)
UO.Print("COLOR сообщения сервера: " + clrServerMsg)
endsub
Примерно так.
Posted: 2008-12-10 12:32:52
by ychenik
хмм... а может быть так что айди сообщений сервера 0x00000000? наверное нет) а скрипт который ты написал отказывается определять айди определяет только цвет.
Posted: 2008-12-10 14:18:16
by Destruction
ychenik wrote:хмм... а может быть так что айди сообщений сервера 0x00000000? наверное нет) а скрипт который ты написал отказывается определять айди определяет только цвет.
Может. Скрипт правильный.
Posted: 2008-12-10 16:08:43
by ychenik
хмм...) ну не знаю, мне кажется просто что это глюк, какой обыно бывает в инжекте, например я пишу ,addobject KASTRULA кликаю на эту кастрюлю и мне пишет что айди 0x000000 хотя при повторном указании того же обьекта кастрюли выдает правильный айди. есть ли какято возможность проверить это другим способом?
Posted: 2008-12-10 16:16:48
by ychenik
допустим у меня вот такой скрипт
Code: Select all
sub chto-to()
VAR idServerMsg=0x00000000
repeat
if uo.injournal('You are now under protection of city guards')=="idServerMsg" then
UO.say('Ура я спасен!')
wait(1400)
endif
uo.deletejournal()
wait(200)
until uo.life<5
end sub
при таком айди сообщений скрипт не работает, хотя без вписания айди все нормально. поэтому я все таки склонен к тому, что скрипт проверки выдал неверный айди. Кто что может подсказать по этому поводу?
Posted: 2008-12-10 19:26:06
by GAUHAR
почувству разницу между тем что ты написал
Code: Select all
if uo.injournal('You are now under protection of city guards')=="idServerMsg" then
м тем как должно быть
Code: Select all
if UO.JournalSerial(uo.injournal('You are now under protection of city guards')-1) == idServerMsg then
кстати у меня тоже ID серверных сообщений 0х00000000, меняется только цвет, тестировал этим:
Code: Select all
sub test()
var i
uo.textclear()
for i=10 to 0 step -1
uo.textprint(uo.JournalSerial(i)+"| "+uo.JournalColor(i)+"| "+uo.Journal(i))
next
uo.textopen()
end sub
Posted: 2008-12-11 13:46:39
by ychenik
заменил свою строчку в скрипте на твою
Code: Select all
if UO.JournalSerial(uo.injournal('You are now under protection of city guards')-1) == idServerMsg then
но скрипт также не работает, точнее ничего не происходит, пробовал также делать проверку не на айди а на цвет сообщения все равно тишина, есть ли еще какие-то варианты?
Posted: 2008-12-11 18:46:02
by GAUHAR
Code: Select all
sub chto_to()
VAR idServerMsg = '0x00000000'
VAR TextMsg = "You are now under the protection of the city guards"
UO.DeleteJournal()
repeat
if UO.InJournal(TextMsg) then
if UO.JournalSerial(UO.InJournal(TextMsg)-1) == idServerMsg then
UO.Say('Ура я спасен!')
else
UO.Say("Со мной сыграли злую щутку.")
endif
UO.DeleteJournal()
endif
wait(200)
until UO.Life < 5
endsub
Posted: 2008-12-12 01:22:24
by ychenik
спасиб большое, то, что нужно.
Posted: 2008-12-12 01:56:40
by GAUHAR
поставь после каста жесткую паузу (стоко сколько надо на завершение каста) или динамичесткую пока не снимится мана, можно влепить всякие проверки (на физл и повторное кастование), вообще вариантов может быть много.
делай.
Posted: 2008-12-12 02:40:24
by ychenik
пасиб огромное, разобрался)
Posted: 2008-12-12 10:40:13
by admir
Давно писал такую простую функцию по определению системного сообщения.
Они начинались с 0х40... (на обычных серваках)
Code: Select all
sub isSystemMsg(msg) ;AdmiR™
if uo.JournalSerial(uo.InJournal(msg)-1) > '0x40000000' then
return 1
else
return 0
end if
end sub