psy
New Member
Posts: 7
|
Post by psy on Nov 4, 2005 11:58:16 GMT -5
Ok, I was playing with ChatLine script adding stuff to it and the FFXI.chat_GetNewestLineNumber() didn't seems to get any new line past "Line: 47" even though I was typing lots of stuff in the chat window.
oh! wait it seemed to have update.. but now only to "Line 57".. but still not the newest chat line number though..
I ran the original ChatLine.lua instead of my modified one to test this out and still happens.
Maybe it's slow to read the latest line number with the CPU is maxed? *shrugs*
-psy
Edited for spelling mistakes
|
|
|
Post by TinyTerror on Nov 4, 2005 12:30:38 GMT -5
Its possible. FFXIRead was never designed to have multiple sources pulling chat data from it, so I had to build a queue system on top of it. This system runs in its own thread, polling all game data every 10ms. If the CPU spikes, its going to alter the number of times per second that I pick up new data from ffxired. It wouldn't supprise me if something is cocking up in the update loop in ffxireader. I'll add this to the list of known bugs.
|
|
dev
New Member
Posts: 20
|
Post by dev on Nov 4, 2005 13:13:24 GMT -5
hm, I dont have this problem I just finished a simple script that only show's linkshell chat, only problems I have is that lunar is kinda unstable at this moment, but hey it's an alpha release... thats the script I used: MyText=Graphics.text_CreateObject() Graphics.text_SetColor(255,255,255,255,MyText) Graphics.text_SetPosition(150,630,MyText) Graphics.text_SetFont("Arial",10,MyText) --Graphics.text_SetBGBorderSize(2,MyText) --Graphics.text_SetBGColor(145,242,123,67,MyText) --Graphics.text_SetBGBorderVisibility(1,MyText) Graphics.text_SetVisibility(1,MyText) --MyBG=Graphics.primitive_CreateObject() --Graphics.primitive_SetColor(50,0,0,0, MyBG) --Graphics.primitive_SetPosition(150,630,MyBG) --Graphics.primitive_SetSize(500,80,MyBG) --Graphics.primitive_SetVisibility(1,MyBG)
while true do
ChatLine="" ChatOutput="" i=1 OldLine=FFXI.chat_GetOldestLineNumber() Line=FFXI.chat_GetNewestLineNumber()
while Line~=OldLine and i <= 5 do
Type=FFXI.chat_GetLineType(Line) Chat=FFXI.chat_GetLine(Line) sType=string.format("%s",Type)
if sType=="06" or sType=="0e" then ChatLine=string.format("%s\n",Chat) ChatOutput=string.format("%s%s",ChatLine,ChatOutput) i = i + 1 end
Line = Line - 1 end Windower.script_Sleep(100) Graphics.text_SetText(ChatOutput,MyText) end comment: I know that this code doesnt look very nice, I had to modify it alot for debugging reasons and some game crashes so it now looks a bit strange and as you see I tried to give the text an backround but it seems to be not possible at this moment :/ screenshot: www.devs-home.de/turbopuschel/lunar_chatdemo.jpgon this screenshot you can see another issue with non english characters like the german ' ü '
|
|
|
Post by TinyTerror on Nov 4, 2005 13:38:32 GMT -5
Yeah, there is a bug in the windower that makes it a giant pain in the ass to draw text on top of a background.
The problems you are having with ü interrupting the chat lines has to do (I think) with STL strings not handling non-english letters very well. I have to admit that I didn't really put much thought into making Lunar support european languages. I will see if I can tweak the chat scrubber to allow for the full range of ASCII characters. If all else fails, you can get the raw chat lines and scrub them yourself, but thats also a giant pain in the ass. I'll see what can be done about getting this fixed in the next version or two.
I'm adding it to the list of known bugs. Thanks for the bug report.
|
|
dev
New Member
Posts: 20
|
Post by dev on Nov 4, 2005 13:42:46 GMT -5
What about just not printing the ü but the text that comes behind? So you dont have to handle the non standart character. Replacing it with a space or so wont hurt much, would be still readable.
ps: I edited the screenshot so the names are not readable anymore since you asked for that in the bug report thread
|
|
|
Post by TinyTerror on Nov 4, 2005 13:52:03 GMT -5
Yeah, I could do a replacement on non standard characters pretty easily. Maybe you could make a list of the ones you are having trouble with and an appropriate replacement (u insted of ü for example) so that I can write the replacement cases. I'm no expert on german or any other language than english, so I don't know what character is a wierd ascii code, and what is actually used in common dialog.
|
|
dev
New Member
Posts: 20
|
Post by dev on Nov 4, 2005 17:16:08 GMT -5
ü = ue ä = ae ö = oe
thats all we have in germany, I'm glad that I'm not french, lol
not sure how it works, if you cant replace 1 character with 2 others it would work without the e also
Also I just experimented in my EXP PT with the chat(alot more chat than in mog house of course). I got a strong slow down on chat processing after the first min. But I guess we better wait for your next release with the logging functions to look into this ^^
|
|
|
Post by TinyTerror on Nov 4, 2005 17:44:30 GMT -5
Yeah, replacing one with two is really easy.
Sounds like a memory leak or something.
|
|
|
Post by TinyTerror on Nov 5, 2005 14:30:19 GMT -5
Ok, I added support for ü, ä, and ö. If for some reason this breaks the chat code (like if SE is using these as formatting characters) I will have to take it out. It should work ok though.
|
|
dev
New Member
Posts: 20
|
Post by dev on Nov 11, 2005 11:58:03 GMT -5
hm sorry I was kinda busy that week,
just tested it with the new release, I didnt notice any changes :/
|
|
|
Post by TinyTerror on Nov 11, 2005 12:00:58 GMT -5
I'll try a different method.
|
|
|
Post by TinyTerror on Nov 11, 2005 12:10:30 GMT -5
Lets see the log file. PM me for an email address to send it to, unless you have a web host that you can put it on.
|
|
|
Post by kodama on Dec 8, 2005 15:06:24 GMT -5
The ChatLine demo crashes pol for me when I've runned it for a while.
|
|