• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

TFS 1.X+ white message in channels? HOW?

Drucken

Member
Joined
Mar 7, 2023
Messages
45
Solutions
1
Reaction score
15
Engine: TFS 1.5 (Nekiro Downgrade)
Tibia Version: 8.60

Well, I just got into a server with a TFS 1.X+ console version 8.60 (underwar), and what happens is that I noticed that in the "Help Channel" were sending informative messages in white text, also there was a "Death Channels" sending messages of the characters dying in white color, so I wanted to add this to my server so I have tried looking at what has been said in some posts and you can only send 3 types of TALKTYPE, tried with the other types but it does not work... Only these work:

  • TALKTYPE_CHANNEL_Y
  • TALKTYPE_CHANNEL_O
  • TALKTYPE_CHANNEL_R2

And these are the other types

  • MESSAGE_STATUS_DEFAULT (only works with the Server Log)
  • MESSAGE_EVENT_DEFAULT (only works with the Server Log)
  • TALKTYPE_CHANNEL_W (sent as if it were yellow, TALKTYPE_CHANNEL_Y)

Ways that I tried (obviously I didn't try them all at once, I tried them one by one):
Lua:
function onSay(player, words, param)
    local CHANNEL_CHAT = 3
    player:sendTextMessage(TALKTYPE_CHANNEL_W, "Test", CHANNEL_CHAT)
    player:sendChannelMessage(nil, "Test", TALKTYPE_CHANNEL_W, CHANNEL_CHAT)
    player:sendChannelMessage(player, "Test", TALKTYPE_CHANNEL_W, CHANNEL_CHAT)
    sendChannelMessage(CHANNEL_CHAT, MESSAGE_STATUS_DEFAULT, "Test")
    sendChannelMessage(CHANNEL_CHAT, TALKTYPE_CHANNEL_W, "Test.")
    player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Test", CHANNEL_CHAT)
    return false
end

I must emphasize that I am using the "TFS 1.5 (Nekiro Downgrade) version 8.60", and the server which I saw this implemented is also TFS 1.X+ version 8.60, and to clarify that I saw it in a normal client, no client itself.

---- >>>> IMAGES
Screenshot_811.png
Screenshot_810.png
 
@Drucken
Post automatically merged:

Lua:
enum SpeakClasses : uint8_t {
TALKTYPE_SAY = 1,
TALKTYPE_WHISPER = 2,
TALKTYPE_YELL = 3,
TALKTYPE_PRIVATE_FROM = 4,
TALKTYPE_PRIVATE_TO = 5,
TALKTYPE_CHANNEL_Y = 7,
TALKTYPE_CHANNEL_O = 8,
TALKTYPE_PRIVATE_NP = 10,
TALKTYPE_PRIVATE_PN = 12,
TALKTYPE_BROADCAST = 13,
TALKTYPE_CHANNEL_R1 = 14, //red - #c text
TALKTYPE_PRIVATE_RED_FROM = 15, //@name@text
TALKTYPE_PRIVATE_RED_TO = 16, //@name@text
TALKTYPE_MONSTER_SAY = 36,
TALKTYPE_MONSTER_YELL = 37,
TALKTYPE_CHANNEL_R2 = 0xFF, //#d
};
[To the top] Added in version: 1.0
Lua:
enum MessageClasses : uint8_t {
    MESSAGE_STATUS_CONSOLE_BLUE = 4, /*FIXME Blue message in the console*/
    MESSAGE_STATUS_CONSOLE_RED = 13, /*Red message in the console*/
    MESSAGE_STATUS_DEFAULT = 17, /*White message at the bottom of the game window and in the console*/
    MESSAGE_STATUS_WARNING = 18, /*Red message in game window and in the console*/
    MESSAGE_EVENT_ADVANCE = 19, /*White message in game window and in the console*/
    MESSAGE_STATUS_SMALL = 21, /*White message at the bottom of the game window"*/
    MESSAGE_INFO_DESCR = 22, /*Green message in game window and in the console*/
    MESSAGE_DAMAGE_DEALT = 23,
    MESSAGE_DAMAGE_RECEIVED = 24,
    MESSAGE_HEALED = 25,
    MESSAGE_EXPERIENCE = 26,
    MESSAGE_DAMAGE_OTHERS = 27,
    MESSAGE_HEALED_OTHERS = 28,
    MESSAGE_EXPERIENCE_OTHERS = 29,
    MESSAGE_EVENT_DEFAULT = 30, /*White message at the bottom of the game window and in the console*/
    MESSAGE_LOOT = 31,
    MESSAGE_GUILD = 33, /*White message in channel (+ channelId)*/
    MESSAGE_PARTY_MANAGEMENT = 34, /*White message in channel (+ channelId)*/
    MESSAGE_PARTY = 35, /*White message in channel (+ channelId)*/
    MESSAGE_EVENT_ORANGE = 36, /*Orange message in the console*/
    MESSAGE_STATUS_CONSOLE_ORANGE = 37,  /*Orange message in the console*/
};
Post automatically merged:

 
LET IT BE CLEAR THAT THE OTCLIENT IS NOT USED FOR THIS

Also, @GamerGoiano the constants are already in place (including MESSAGE_GUILD, MESSAGE_PARTY_MANAGEMENT, MESSAGE_PARTY), the problem is how to send the message in a "channel"...
 
@GamerGoiano I have already implemented this in nekiro's TFS 1.5 version 8.60. Everything is already included, and also this is the list of "MessageClasses":
MESSAGE_STATUS_CONSOLE_RED = 18, /*Red message in the console*/ MESSAGE_EVENT_ORANGE = 19, /*Orange message in the console*/ MESSAGE_STATUS_CONSOLE_ORANGE = 20, /*Orange message in the console*/ MESSAGE_STATUS_WARNING = 21, /*Red message in game window and in the console*/ MESSAGE_EVENT_ADVANCE = 22, /*White message in game window and in the console*/ MESSAGE_EVENT_DEFAULT = 23, /*White message at the bottom of the game window and in the console*/ MESSAGE_STATUS_DEFAULT = 24, /*White message at the bottom of the game window and in the console*/ MESSAGE_INFO_DESCR = 25, /*Green message in game window and in the console*/ MESSAGE_STATUS_SMALL = 26, /*White message at the bottom of the game window"*/ MESSAGE_STATUS_CONSOLE_BLUE = 27, /*FIXME Blue message in the console*/ MESSAGE_GUILD = 33, /*White message in channel (+ channelId)*/ MESSAGE_PARTY_MANAGEMENT = 34, /*White message in channel (+ channelId)*/ MESSAGE_PARTY = 35, /*White message in channel (+ channelId)*/

So, I try to use:
player:sendTextMessage(type, text, channelId)
or
player:sendTextMessage(MESSAGE_GUILD, "Test", 3)

And as I mentioned in the post at the beginning, it doesn't work, this causes debug.
 
if I recall correctly they use custom dll to add custom stuff to their client (mounts etc), it might be it
No, as I said before, I logged in with a normal client.

You can even use the tibia client from otservlist 8.60, and you can see those white messages. Obviously they figured out how to display the message in 8.60 (without having any edited client) and besides it is a TFS 1.X+
 
No, as I said before, I logged in with a normal client.

You can even use the tibia client from otservlist 8.60, and you can see those white messages. Obviously they figured out how to display the message in 8.60 (without having any edited client) and besides it is a TFS 1.X+
u can even make sounds, flying donphans with .dll inejction.
this is a editing cipsoft client limitations with external library that you are injecting into the client, no you can't make it only from server side.
 
I repeat again, IT WAS WITH A NORMAL 8.60 CLIENT.

@Dakos you can even log into the underwar server yourself and see the message yourself USING AN UNEDITED CLIENT.

So:
  • No edited client
  • No dll injection
  • No OTC
 
TALKTYPE_CHANNEL_W it's the correct value, however the enum is not registered on the Lua global environment

Just register it -- registerEnum(TALKTYPE_CHANNEL_W) or use the number 8 as argument
 
Solution
FINALLY, thanks @Roddet for your help, someone who says it's not a module, dll injection, otc, or whatever...
AND TRUE!! registerEnum(TALKTYPE_CHANNEL_W) isn't registered in the luascript.cpp HAHAHA 😂

Simple script, just for testing:​
Lua:
    local CHANNEL_CHAT = 3
    player:sendChannelMessage(player, "Test", TALKTYPE_CHANNEL_W, CHANNEL_CHAT)

I added it, and now IT WORKS!:
1704807413000.png
 
Back
Top