
KscOlvaLsk
Membro
-
Registro em
-
Última visita
Histórico de Curtidas
-
KscOlvaLsk deu reputação a L3K0T em COLOCANDO MAIS OPÇÕES DE CORES NO NOME DOS NPC (OTCLIENT)Fala galera, hoje estarei ensinando como vocês podem colocar mais cores na função GameBlueNpcNameColor ali nome dos NPCS, hoje criei e separei 11 funções uma pra cada cor pra vocês usarem como quiser, *as vezes o servidor não combina só com os nomes AZUIS, que tal um ROSA? hehe.
TUTORIAL SOURCE OTCLIENT
Abra o arquivo const.h
ache
GameEnhancedAnimations = 59, em baixo cole
GameRedNpcNameColor = 60, GamePinkNpcNameColor = 61, GameBabyPinkNpcNameColor = 62, GameOrangeNpcNameColor = 63, GameYellowNpcNameColor = 64, GameLightGreenNpcNameColor = 65, GameGreenNpcNameColor = 66, GameLightBlueNpcNameColor = 67, GamePurpleNpcNameColor = 68, GameBrownNpcNameColor = 69, GameBlackNpcNameColor = 70,
abra o arquivo creature.cpp
ache
if(g_game.getFeature(Otc::GameBlueNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0x66, 0xcc, 0xff);
mude para
if(g_game.getFeature(Otc::GameRedNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0xff, 0x00, 0x00); if(g_game.getFeature(Otc::GamePinkNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0xff, 0x6e, 0xb4); if(g_game.getFeature(Otc::GameBabyPinkNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0xff, 0xc1, 0xc1); if(g_game.getFeature(Otc::GameOrangeNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0xff, 0x7f, 0x00); if(g_game.getFeature(Otc::GameYellowNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0xff, 0xd7, 0x00); if(g_game.getFeature(Otc::GameLightGreenNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0x7c, 0xcd, 0x7c); if(g_game.getFeature(Otc::GameGreenNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0x00, 0xcd, 0x66); if(g_game.getFeature(Otc::GameLightBlueNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0x87, 0xce, 0xff); if(g_game.getFeature(Otc::GameBlueNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0x00, 0x9a, 0xcd); if(g_game.getFeature(Otc::GamePurpleNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0xab, 0x82, 0xff); if(g_game.getFeature(Otc::GameBrownNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0xcd, 0xaa, 0x7d); if(g_game.getFeature(Otc::GameBlackNpcNameColor) && isNpc() && m_healthPercent == 100 && !useGray) fillColor = Color(0x82, 0x82, 0x82);
Agora compile seu Otclient.
USANDO AS CORES NO OTCLIENT
no otclient vai em em \modules\gamelib abra o arquivo const.LUA
ache
GameEnhancedAnimations = 59 em baixo cole
GameRedNpcNameColor = 60 GamePinkNpcNameColor = 61 GameBabyPinkNpcNameColor = 62 GameOrangeNpcNameColor = 63 GameYellowNpcNameColor = 64 GameLightGreenNpcNameColor = 65 GameGreenNpcNameColor = 66 GameLightBlueNpcNameColor = 67 GamePurpleNpcNameColor = 68 GameBrownNpcNameColor = 69 GameBlackNpcNameColor = 70
agora vá em \modules\game_things abra o arquivo things.lua
ache
local version = g_game.getClientVersion() em baixo coloca a cor que deseja que os npc tenha há falei rosa lá em cima né, vamos por rosa.
g_game.enableFeature(GamePinkNpcNameColor)
*se quiser muda o ROSA pra outra cor é só muda GamePinkNpcNameColor para uma dessa ai em baixo dentro dos ()
cores:
GameRedNpcNameColor // Vermelho GamePinkNpcNameColor //Rosa GameBabyPinkNpcNameColor //Rosa bebe GameOrangeNpcNameColor //Laranja GameYellowNpcNameColor //Amarelo GameLightGreenNpcNameColor //Verde Claro GameGreenNpcNameColor //Verde Escuro GameLightBlueNpcNameColor //Azul Claro GamePurpleNpcNameColor //Roxo GameBrownNpcNameColor //Marrom GameBlackNpcNameColor //Preto feito isso, é só SALVAR. NPCs coloridos hehe
PREVIEW
ATÉ MAIS
CRÉDITOS: EU
-
KscOlvaLsk deu reputação a L3K0T em AUMENTANDO TELA DE VISÃO OTCLIENTE EM REV3884 8.60 0.4REV3884 TFS 0.4 OTC 0.6.6
OBSERVAÇÃO:
Bom galera hoje vim trazer um código de expansão de visão para o otclient alterado por mim, usado somente para rev3884 e então se você usa um tfs 0.3.6 ou tfs 1.0 não vai dar certo,
*Esse código foi alterado por mim para ser usado apenas para rev3884, procolo 8.60 e TFS 0.4 que no caso não achei e resolvi compartilhar essas alterações.
1° TUTORIAL 1 SOURCE DO SEU SERVIDOR.
Abra Protocollgame.cpp
1 Ache
((x >= myPos.x - 8 + offsetz) && (x <= myPos.x + 9 + offsetz) && //(y >= myPos.y - 6 + offsetz) && (y <= myPos.y + 7 + offsetz)); ALTERE PARA:
((x >= myPos.x - Map::maxClientViewportX + offsetz) && (x <= myPos.x + (Map::maxClientViewportX+1) + offsetz) && (y >= myPos.y - Map::maxClientViewportY + offsetz) && (y <= myPos.y + (Map::maxClientViewportY+1) + offsetz));
2 Ache:
GetMapDescription(pos.x - 8, pos.y - 6, pos.z, 18, 14, msg);
ALTERE PARA:
GetMapDescription(pos.x - Map::maxClientViewportX, pos.y - Map::maxClientViewportY, pos.z, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, msg);
3 Ache:
if(oldPos.y > newPos.y) // north, for old x { msg->put<char>(0x65); GetMapDescription(oldPos.x - 8, newPos.y - 6, newPos.z, 18, 1, msg); } else if(oldPos.y < newPos.y) // south, for old x { msg->put<char>(0x67); GetMapDescription(oldPos.x - 8, newPos.y + 7, newPos.z, 18, 1, msg); } if(oldPos.x < newPos.x) // east, [with new y] { msg->put<char>(0x66); GetMapDescription(newPos.x + 9, newPos.y - 6, newPos.z, 1, 14, msg); } else if(oldPos.x > newPos.x) // west, [with new y] { msg->put<char>(0x68); GetMapDescription(newPos.x - 8, newPos.y - 6, newPos.z, 1, 14, msg); } ALTERE PARA:
if (oldPos.y > newPos.y) { // north, for old x msg->put<char>(0x65); GetMapDescription(oldPos.x - Map::maxClientViewportX, newPos.y - Map::maxClientViewportY, newPos.z, (Map::maxClientViewportX+1)*2, 1, msg); } else if (oldPos.y < newPos.y) { // south, for old x msg->put<char>(0x67); GetMapDescription(oldPos.x - Map::maxClientViewportX, newPos.y + (Map::maxClientViewportY+1), newPos.z, (Map::maxClientViewportX+1)*2, 1, msg); } if (oldPos.x < newPos.x) { // east, [with new y] msg->put<char>(0x66); GetMapDescription(newPos.x + (Map::maxClientViewportX+1), newPos.y - Map::maxClientViewportY, newPos.z, 1, (Map::maxClientViewportY+1)*2, msg); } else if (oldPos.x > newPos.x) { // west, [with new y] msg->put<char>(0x68); GetMapDescription(newPos.x - Map::maxClientViewportX, newPos.y - Map::maxClientViewportY, newPos.z, 1, (Map::maxClientViewportY+1)*2, msg); }
4 ache
GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 5, 18, 14, 3, skip); //(floor 7 and 6 already set) GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 4, 18, 14, 4, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 3, 18, 14, 5, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 2, 18, 14, 6, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 1, 18, 14, 7, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, 0, 18, 14, 8, skip);
Altere para
GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 5, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 3, skip); //(floor 7 and 6 already set) GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 4, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 4, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 3, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 5, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 2, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 6, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 1, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 7, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, 0, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 8, skip);
5 ache
GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, oldPos.z - 3, 18, 14, 3, skip);
ALTERE PARA
GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, oldPos.z - 3, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, 3, skip);
6 ACHE
GetMapDescription(oldPos.x - 8, oldPos.y + 1 - 6, newPos.z, 1, 14, msg);
ALTERE PARA
GetMapDescription(oldPos.x - Map::maxClientViewportX, oldPos.y - (Map::maxClientViewportY-1), newPos.z, 1, (Map::maxClientViewportY+1)*2, msg);
7 ACHE
GetMapDescription(oldPos.x - 8, oldPos.y - 6, newPos.z, 18, 1, msg); ALTERE PARA
GetMapDescription(oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z, (Map::maxClientViewportX+1)*2, 1, msg);
8 Ache
GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z, 18, 14, -1, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z + 1, 18, 14, -2, skip); GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z + 2, 18, 14, -3, skip);
Altere para
GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -1, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z + 1, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -2, skip); GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z + 2, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -3, skip);
9 ache
GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z + 2, 18, 14, -3, skip);
Altere para
GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z + 2, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -3, skip);
10 ache
GetMapDescription(oldPos.x + 9, oldPos.y - 1 - 6, newPos.z, 1, 14, msg);
Altere para
GetMapDescription(oldPos.x + Map::maxClientViewportX+1, oldPos.y - (Map::maxClientViewportY+1), newPos.z, 1, ((Map::maxClientViewportY+1)*2), msg);
AGORA EM MAP.H
ache
static const int32_t maxViewportX = 11; //min value: maxClientViewportX + 1 static const int32_t maxViewportY = 11; //min value: maxClientViewportY + 1 static const int32_t maxClientViewportX = 8; static const int32_t maxClientViewportY = 6; altere para:
static const int32_t maxViewportX = 18; //min value: maxClientViewportX + 1 static const int32_t maxViewportY = 18; //min value: maxClientViewportY + 1 static const int32_t maxClientViewportX = 14; static const int32_t maxClientViewportY = 12;
Pronto agora é só compilar a source do seu servidor 8.60 rev3884
PARTE 2 OTCLIENT 0.6.6
abra o map.cpp da source do otclient
ache
void Map::resetAwareRange() { AwareRange range; range.left = 8; range.top = 6; range.bottom = 7; range.right = 9; setAwareRange(range); } ALTERE PARA
void Map::resetAwareRange() { AwareRange range; range.left = 14; //Change this to = maxClientViewportX range.top = 12; //Change this to = maxClientViewportY range.bottom = range.top+1; range.right = range.left+1; setAwareRange(range); } COMPILE A SOURCE DO OTCLIENT E PRONTO!!! ESPERO TER SANADO VÁRIAS DÚVIDAS DE AUMENTAR TELA DO OTCLIENT EM REV3884.
CRÉDITOS: Pra mim pela alterações funcionais. e pelo Flatlander por disponibilizar para tfs 0.3.6 e 1.0 pois esse está alterado pra tfs 0.4
-
KscOlvaLsk deu reputação a L3K0T em AUMENTANDO TELA DE VISÃO OTCLIENTE EM REV3884 8.60 0.4seu cliente tá compilado em modo de transparencia pelo Object Builder você pode tentar indo em data/game_things e
ache
function load() local version = g_game.getClientVersion() em baixo coloca
g_game.enableFeature(GameSpritesAlphaChannel) compile
NOTE SE TIVER VC REMOVA POIS SUA TRANSPARENCIA NÃO TÁ PEGANDO.
qria ajudar hehe
-
KscOlvaLsk recebeu reputação de L3K0T em AUMENTAR CAMPO DE VISÃO OTCLIENT?Olha tenta ver se esse tutorial e compatível com a sua source, consegui através desse tutorial https://otland.net/threads/tutorial-adding-more-tiles-to-game-window-updated-7-6-2018.228243/