Mai jos vei afla cum sa adaugi / modifici textul de deasupra la NPC / Mobi.
Este vorba despre acest text alb care apare sub nume la npc/mobi:
Pentru a adauga un text unui mob/npc ne conectam la WinSCP si mergem in:
/usr/home/game/share/locale/romania/ (locatia poate sa difere putin, in functie de svfile)
Aici, deschidem fisierul locale.lua, unde cautam:
Code:
monster_chatCode:
[20606] = {
"dumnezei mati",
},Code:
[301] = {
gameforge.locale.monster_chat_301_1,
gameforge.locale.monster_chat_301_2,
gameforge.locale.monster_chat_301_3,
gameforge.locale.monster_chat_301_4,
gameforge.locale.monster_chat_301_5
},- primele 3 sunt pentru 'wait',
- urmatoarele 3 sunt folosite pentru atac,
- urmatoarele 3 pentru cand mobul te urmareste,
- ultimele 3 pentru cand este atacat
NPC-urile pot avea texte nelimitate!
Sansele ca acel text sa fie afisat:
pentru monstri: 1/61 ≈ 1,64%.
pentru NPC 1/31 ≈ 3,23%.
Aceasta sansa este calculata si poate fi modificata din aceasta functie din sursa ta:
Code:
void CHARACTER::MonsterChat(BYTE bMonsterChatType)
{
if (IsPC())
return;
char sbuf[256+1];
if (IsMonster())
{
if (number(0, 60))
return;
snprintf(sbuf, sizeof(sbuf),
"(locale.monster_chat[%i] and locale.monster_chat[%i][%d] or '')",
GetRaceNum(), GetRaceNum(), bMonsterChatType*3 + number(1, 3));
}
else
{
if (bMonsterChatType != MONSTER_CHAT_WAIT)
return;
if (IsGuardNPC())
{
if (number(0, 6))
return;
}
else
{
if (number(0, 30))
return;
}
snprintf(sbuf, sizeof(sbuf), "(locale.monster_chat[%i] and locale.monster_chat[%i][number(1, table.getn(locale.monster_chat[%i]))] or '')", GetRaceNum(), GetRaceNum(), GetRaceNum());
}
std::string text = quest::ScriptToString(sbuf);
if (text.empty())
return;
struct packet_chat pack_chat;
pack_chat.header = HEADER_GC_CHAT;
pack_chat.size = sizeof(struct packet_chat) + text.size() + 1;
pack_chat.type = CHAT_TYPE_TALKING;
pack_chat.id = GetVID();
pack_chat.bEmpire = 0;
TEMP_BUFFER buf;
buf.write(&pack_chat, sizeof(struct packet_chat));
buf.write(text.c_str(), text.size() + 1);
PacketAround(buf.read_peek(), buf.size());
}



