The following warnings occurred:
Warning [2] Use of undefined constant SAPI_NAME - assumed 'SAPI_NAME' (this will throw an Error in a future version of PHP) - Line: 3388 - File: inc/functions.php PHP 7.4.33-nmm7 (Linux)
File Line Function
/inc/functions.php 3388 errorHandler->error
/showthread.php 116 build_archive_link
Warning [2] Use of undefined constant IN_ARCHIVE - assumed 'IN_ARCHIVE' (this will throw an Error in a future version of PHP) - Line: 3331 - File: inc/functions.php PHP 7.4.33-nmm7 (Linux)
File Line Function
/inc/functions.php 3331 errorHandler->error
/inc/functions.php 3324 build_forum_breadcrumb
/showthread.php 195 build_forum_breadcrumb
Warning [2] Use of undefined constant IN_ARCHIVE - assumed 'IN_ARCHIVE' (this will throw an Error in a future version of PHP) - Line: 3331 - File: inc/functions.php PHP 7.4.33-nmm7 (Linux)
File Line Function
/inc/functions.php 3331 errorHandler->error
/showthread.php 195 build_forum_breadcrumb






Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
EC basic support
Author Message
karma
Moderator
****

Posts: 178
Likes Given: 17
Likes Received: 32 in 29 posts
Joined: Jul 2012
Reputation: 3



Post: #32
EC basic support
I'm back guys Tongue
After some packet capturing and lots of tests i bring you some interesting infos.

Text, talkmodes and coloured text
SAYU don't work properly, as i stated previously. I'll show causes and solutions.

Unicode Speech: talkmodes do different things from the expected, which are described in sphere_defs. Let me be clearer.
Talkmode 0: the only one that admits/generates/whatever **coloured text**. It is considered as a system "speech" (not sysmessage, not speech/say). This is text shown upon the char, it isn't normal speech, but text that would show using .xsay blabla; not sure if i have explained well.
Talkmode 1: sysmessage. That's okay, it's what i expected.
Talkmode 2: not tested.
Talkmode 3: it is supposed to be the speech/say mode, but it shows a purple sysmessage, whatever colour i use.
Talkmode 4 (talkmode_obj): it's like saying something, with yellow text, whatever colour i use (colour decided by client i think).
Talkmode 5 (talkmode_nothing): a gray sysmessage.
Talkmode 6,7 (talkmode_item, talkmode_noscroll): same as 5.
Talkmode 8,9 (talkmode_whisper, talkmode_yell): same as 4.

Command + packet used for testing:
Code:
[function speech1]
SENDPACKET 0AE 00 0DC D(<UID>) 01 090 B(10) 03 00 00 03 00 00 00 00 052 06F 064 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 052 00 06F 00 079 00 061 00 06C 00 020 00 049 00 06E 00 076 00 065 00 073 00 074 00 069 00 067 00 061 00 074 00 069 00 06F 00 06E 00 03A 00 020 00 044 00 069 00 073 00 063 00 06F 00 076 00 065 00 072 00 020 00 077 00 068 00 061 00 074 00 027 00 073 00 020 00 06E 00 065 00 077 00 020 00 069 00 06E 00 020 00 04E 00 075 00 06A 00 065 00 06C 00 027 00 06D 00 020 00 061 00 06E 00 064 00 020 00 072 00 065 00 070 00 06F 00 072 00 074 00 020 00 076 00 069 00 061 00 020 00 074 00 068 00 065 00 020 00 075 00 073 00 075 00 061 00 06C 00 020 00 063 00 068 00 061 00 06E 00 06E 00 065 00 06C 00 073 00 00
In brackets, into B( ), is the talkmode.
The problem with SAYU is that uses talkmode 3, not 0, which is the only that can show coloured text.
Other talkmodes, such as 4,8,9, shall be used for player speech.

Other interesting thing: by altering the serial dword (the UID of the player) and putting FF FF FF FF, is possible to show the text in the top-left corner of the screen.
Currently server broadcasts (serv.b) use ASCII text packet which can only show over the player or in the journal/system box and cannot be coloured (i did several tests), in fact it shows as a gray sysmessage.
So i suggest to use Unicode text packet, with 0 talkmode and FF FF FF FF as serial, to show server broadcasts.
Example:
Code:
[function broadcast]
SENDPACKET 0AE 00 06A 0FF 0FF 0FF 0FF 0FF 0FF 00 B(03) B(0B2) 00 03 045 04E 055 00 053 079 073 074 065 06D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 054 00 068 00 061 00 074 00 020 00 069 00 073 00 020 00 06E 00 06F 00 074 00 020 00 061 00 020 00 076 00 061 00 06C 00 069 00 064 00 020 00 063 00 06F 00 06D 00 06D 00 061 00 06E 00 064 00 02E 00 00
B(03) and B(0B2) is the color word, and this color is a gray.

I did not do experiments on Graphic and Font words, but i think they are not so important.


Particle, standard and hued effects
What we know is that C0 (hued effect) and 70 (graphical effect, not hued) packets works in EC, BUT C0, which is supposed to show hued effects if i set a hue, still shows non-hued effects.
So i looked at the C7 packet, which is the particle effect packet.
Structure:
Quote:49 bytes

byte ID (C7)
byte Type (0x00 = from source to destination, 0x01 = lightning strike, 0x02 = stay
with destination, 0x03 = stay with source)
dword Character Serial
dword Target Serial
word Object ID
word Source X
word Source Y
sbyte Source Z
word Destination X
word Destination Y
sbyte Destination Z
byte Speed
byte Duration
word 0x00
byte Fixed Direction (0x00 = No, 0x01 = Yes)
byte Explode (0x00 = No, 0x01 = Yes)
dword Hue
dword Render Mode
--From here is what i call "particle effect "data part"", above is the "normal/classic effect "data part""
word Effect ID
word Explode Effect ID
word Explode Sound
dword Serial
byte Type (0xFF or 0x03)
word 0x00

Very interestingly, this packet can be used both for normal (C0 and 70 packets) and particle effects.
Leaving "blank" the data which relates to a normal effect (same packet components of C0 and 70) (even if filling it won't do nothing, if you fill particle effect "data part") and filling the particle effect data part, it will show a particle effect.
In EA servers, the majority of spells use new particle effects.
Sadly, IDs of the old animation/item used for the old effect (Classic Client, or pre-KR clients) are not the same of the IDs of the particle effects. So, if 02347 is the ID for the particle effect of Pain Spike, the item with 02347 ID is a part of a serpent pillar. Yes, Pain Spike did not have an effect, so later i'll try other spells.

EDIT: tried also with magic arrow.
Old effect ID: 036E4
Particle effect ID: 0BBE
Particle effect Explode ID: 0FA6 (dunno what it is, probably the effect played when the first one is finished, imagine a second effect that occurs after the arrow hit the target: other analysis required)

Moreover, the IDs are not progressive, so this is a field to be explored.
Function used for testing particle effects:
Code:
[function parteffect]//for EC particle effects
//usage: parteffect <id>
IF !(<ARGN1>)
    ARGN1=1
ENDIF
SENDPACKET 0C7 03 D(<UID>) D(0) W(0) W(<P.X>) W(<P.Y>) B(<P.Z>) W(<P.X>) W(<P.Y>) B(<P.Z>) B(16) B(05) W(0) B(01) B(00) D(0) D(0) W(<ARGN1>) W(1) 0FF 0FF D(<UID>) 02 W(0)
It is in a very raw version, when i'll have some time i'll make it more complete, with a syntax similar to EFFECT.

On the other side, if i leave blank particle effect data part but i fill only the normal effect data part, i obtain a classic effect, like those with C0 and 70 packets.
Code:
[function eceffect] //for standard effects in EC (those dealt with EFFECT), but still cannot have hued effect
SENDPACKET 0C7 03 D(<UID>) D(0) W(i_fire_column) W(<P.X>) W(<P.Y>) B(<P.Z>) W(<P.X>) W(<P.Y>) B(<P.Z>) B(16) B(16) W(0) B(0) B(0) D(094) D(-1) W(0) W(00) 0FF 0FF D(<UID>) W(01) W(0)
Unfortunately, not even this solution shows a hued effect.
The only method, right now, to obtain a hued effect is to use the worldobject packet, simulating an object in the screen, which can be coloured. This is not very efficient, because it shows a motionless item, which disappears only if i walk away the previous area (even if i think i can remove it with another packet). Anyway, i'll have to move it along the screen manually sending lot of packets, which is not very comfortable to do, and, moreover, with a very bad result.

There is another problem with items/animations like i_fire_column, which literally look different if showed adding it or with EFFECT, but we'll talk about it another time, now i have to go Big Grin
Later i'll re-read this post to check bad grammar or illogic paragraphs
(This post was last modified: 04-20-2014 05:32 AM by karma.)
04-19-2014 11:04 PM
Find all posts by this user Like Post Quote this message in a reply
Post Reply 


Messages In This Thread
EC basic support - karma - 01-12-2014, 06:35 AM
RE: EC basic support - Khaos - 01-13-2014, 08:59 AM
RE: EC basic support - karma - 01-14-2014, 07:47 AM
RE: EC basic support - karma - 01-19-2014, 07:28 AM
RE: EC basic support - karma - 01-26-2014, 11:53 PM
RE: EC basic support - Ben - 01-27-2014, 12:57 AM
RE: EC basic support - karma - 01-27-2014, 01:00 AM
RE: EC basic support - karma - 02-13-2014, 11:56 PM
RE: EC basic support - karma - 03-16-2014, 05:32 AM
RE: EC basic support - Ben - 03-16-2014, 06:47 AM
RE: EC basic support - karma - 03-16-2014, 07:22 AM
RE: EC basic support - XuN - 03-17-2014, 04:32 AM
RE: EC basic support - karma - 03-17-2014, 04:53 AM
RE: EC basic support - XuN - 03-17-2014, 06:34 AM
RE: EC basic support - karma - 03-17-2014, 06:45 AM
RE: EC basic support - XuN - 03-17-2014, 07:24 AM
RE: EC basic support - karma - 03-17-2014, 07:35 AM
RE: EC basic support - XuN - 03-17-2014, 07:59 AM
RE: EC basic support - Feeh - 03-17-2014, 09:10 AM
RE: EC basic support - karma - 03-17-2014, 08:04 AM
RE: EC basic support - XuN - 03-17-2014, 08:22 AM
RE: EC basic support - XuN - 03-17-2014, 07:32 PM
RE: EC basic support - karma - 03-18-2014, 12:38 AM
RE: EC basic support - Feeh - 03-18-2014, 02:53 AM
RE: EC basic support - karma - 03-18-2014, 03:03 AM
RE: EC basic support - XuN - 03-19-2014, 09:13 AM
RE: EC basic support - Feeh - 03-20-2014, 03:59 AM
RE: EC basic support - XuN - 03-18-2014, 03:51 AM
EC basic support - karma - 03-18-2014, 06:45 AM
RE: EC basic support - XuN - 03-18-2014, 07:41 AM
RE: EC basic support - karma - 03-18-2014, 07:43 AM
EC basic support - karma - 04-19-2014 11:04 PM
EC basic support - karma - 04-20-2014, 04:35 AM
RE: EC basic support - karma - 04-22-2014, 10:42 PM
RE: EC basic support - XuN - 03-27-2015, 03:40 AM
RE: EC basic support - Coruja - 03-27-2015, 08:16 AM
RE: EC basic support - XuN - 03-27-2015, 05:56 PM
RE: EC basic support - Coruja - 03-28-2015, 04:26 AM
RE: EC basic support - XuN - 03-28-2015, 06:19 AM

Forum Jump:


User(s) browsing this thread: 5 Guest(s)