какой командой узнать ID сообщений сервера
Moderators: Murderator+, Murderator
какой командой узнать ID сообщений сервера
сабж, у моего сервера айди сообщений не стандартные 0x01010101
Это?
http://yoko.netroof.net/help/help.php?l ... rnalSerial
Экспериментальным путем узнав ID сообщений своего сервера, сравниваешь его с тем с чем тебе надо.
http://yoko.netroof.net/help/help.php?l ... rnalSerial
Экспериментальным путем узнав ID сообщений своего сервера, сравниваешь его с тем с чем тебе надо.
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
Примерно так.
-
- Junior Expert
- Posts: 3221
- Joined: 2004-06-24 22:08:56
ychenik wrote:хмм... а может быть так что айди сообщений сервера 0x00000000? наверное нет) а скрипт который ты написал отказывается определять айди определяет только цвет.
Может. Скрипт правильный.
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
хмм...) ну не знаю, мне кажется просто что это глюк, какой обыно бывает в инжекте, например я пишу ,addobject KASTRULA кликаю на эту кастрюлю и мне пишет что айди 0x000000 хотя при повторном указании того же обьекта кастрюли выдает правильный айди. есть ли какято возможность проверить это другим способом?
допустим у меня вот такой скрипт
при таком айди сообщений скрипт не работает, хотя без вписания айди все нормально. поэтому я все таки склонен к тому, что скрипт проверки выдал неверный айди. Кто что может подсказать по этому поводу?
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
при таком айди сообщений скрипт не работает, хотя без вписания айди все нормально. поэтому я все таки склонен к тому, что скрипт проверки выдал неверный айди. Кто что может подсказать по этому поводу?
почувству разницу между тем что ты написал
м тем как должно быть
кстати у меня тоже ID серверных сообщений 0х00000000, меняется только цвет, тестировал этим:
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
заменил свою строчку в скрипте на твою
но скрипт также не работает, точнее ничего не происходит, пробовал также делать проверку не на айди а на цвет сообщения все равно тишина, есть ли еще какие-то варианты?
Code: Select all
if UO.JournalSerial(uo.injournal('You are now under protection of city guards')-1) == idServerMsg then
но скрипт также не работает, точнее ничего не происходит, пробовал также делать проверку не на айди а на цвет сообщения все равно тишина, есть ли еще какие-то варианты?
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
Давно писал такую простую функцию по определению системного сообщения.
Они начинались с 0х40... (на обычных серваках)
Они начинались с 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
все для альфы , [url=http://newvlad.nm.ru/prog]здесь[/url]
модернизация ремонт продажа игровых консолей
Sky: admirka1 Москва
модернизация ремонт продажа игровых консолей
Sky: admirka1 Москва