-
Total de itens
318 -
Registro em
-
Última visita
-
Dias Ganhos
5
Histórico de Reputação
-
Noninhouh recebeu reputação de tutuzeera em [Tutorial] Ajustando andar diagonal
Bom, vou mostrar a vocês como editar o andar diagonal no otclient da maneira que vocês preferirem...
Atualmente, creio que quando você anda diagonalmente, tem um delay até que você possa andar novamente. Vou ensinar tirar esse delay, e deixar a velocidade ao gosto de vocês.
Em creature.cpp do server, procure pela linha:
if(std::abs(newPos.x - oldPos.x) >= 1 && std::abs(newPos.y - oldPos.y) >= 1) lastStepCost = 3; Esse lastStepCost será a velocidade que o player terá ao andar diagonalmente, em relação a velocidade de quando ele anda em uma direção reta, por exemplo, um player que demora 1 segundo para andar 1 sqm, demoraria 3 segundos para andar diagonalmente. Edite esse valor ao seu gosto!
Em creature.cpp do client, procure as linhas que tem isso:
getStepDuration(true) E deixe assim:
getStepDuration()
Agora procure por:
float factor = 3; if(g_game.getClientVersion() <= 810) factor = 2; Apague essa parte
Logo mais abaixo tem:
if(!ignoreDiagonal && (m_lastStepDirection == Otc::NorthWest || m_lastStepDirection == Otc::NorthEast || m_lastStepDirection == Otc::SouthWest || m_lastStepDirection == Otc::SouthEast)) interval *= factor; Em factor, deixe o mesmo valor que você deixou em lastStepCost no servidor.
Agora em localplayer.cpp no client, novamente procure por:
getStepDuration(true) E troque por:
getStepDuration()
Pronto, seu personagem andará diagonalmente mais suave, e com a velocidade que você escolheu.
-
Noninhouh recebeu reputação de BrunooMaciell em Potion System - Igual PxG
Bom, vim trazer a vocês o sistema de potion igual ao da pxg...
Gostaria de falar que peguei esse sistema do servidor PDA e so mudei umas coisinhas pra ele healar o pokemon do mesmo jeito que o da pxg
Actions/scripts/potion.lua:
Actions/actions.xml:
OBS: Consertem os id's dos items e as cores do animated text.
Creditos:
Slicer, Brun123, eu e qm ajudo fazer o sistema original do PDA
-
Noninhouh recebeu reputação de Dann123 em [Tutorial] Ajustando andar diagonal
Bom, vou mostrar a vocês como editar o andar diagonal no otclient da maneira que vocês preferirem...
Atualmente, creio que quando você anda diagonalmente, tem um delay até que você possa andar novamente. Vou ensinar tirar esse delay, e deixar a velocidade ao gosto de vocês.
Em creature.cpp do server, procure pela linha:
if(std::abs(newPos.x - oldPos.x) >= 1 && std::abs(newPos.y - oldPos.y) >= 1) lastStepCost = 3; Esse lastStepCost será a velocidade que o player terá ao andar diagonalmente, em relação a velocidade de quando ele anda em uma direção reta, por exemplo, um player que demora 1 segundo para andar 1 sqm, demoraria 3 segundos para andar diagonalmente. Edite esse valor ao seu gosto!
Em creature.cpp do client, procure as linhas que tem isso:
getStepDuration(true) E deixe assim:
getStepDuration()
Agora procure por:
float factor = 3; if(g_game.getClientVersion() <= 810) factor = 2; Apague essa parte
Logo mais abaixo tem:
if(!ignoreDiagonal && (m_lastStepDirection == Otc::NorthWest || m_lastStepDirection == Otc::NorthEast || m_lastStepDirection == Otc::SouthWest || m_lastStepDirection == Otc::SouthEast)) interval *= factor; Em factor, deixe o mesmo valor que você deixou em lastStepCost no servidor.
Agora em localplayer.cpp no client, novamente procure por:
getStepDuration(true) E troque por:
getStepDuration()
Pronto, seu personagem andará diagonalmente mais suave, e com a velocidade que você escolheu.
-
Noninhouh recebeu reputação de gabrielzika em [Tutorial] Ajustando andar diagonal
Bom, vou mostrar a vocês como editar o andar diagonal no otclient da maneira que vocês preferirem...
Atualmente, creio que quando você anda diagonalmente, tem um delay até que você possa andar novamente. Vou ensinar tirar esse delay, e deixar a velocidade ao gosto de vocês.
Em creature.cpp do server, procure pela linha:
if(std::abs(newPos.x - oldPos.x) >= 1 && std::abs(newPos.y - oldPos.y) >= 1) lastStepCost = 3; Esse lastStepCost será a velocidade que o player terá ao andar diagonalmente, em relação a velocidade de quando ele anda em uma direção reta, por exemplo, um player que demora 1 segundo para andar 1 sqm, demoraria 3 segundos para andar diagonalmente. Edite esse valor ao seu gosto!
Em creature.cpp do client, procure as linhas que tem isso:
getStepDuration(true) E deixe assim:
getStepDuration()
Agora procure por:
float factor = 3; if(g_game.getClientVersion() <= 810) factor = 2; Apague essa parte
Logo mais abaixo tem:
if(!ignoreDiagonal && (m_lastStepDirection == Otc::NorthWest || m_lastStepDirection == Otc::NorthEast || m_lastStepDirection == Otc::SouthWest || m_lastStepDirection == Otc::SouthEast)) interval *= factor; Em factor, deixe o mesmo valor que você deixou em lastStepCost no servidor.
Agora em localplayer.cpp no client, novamente procure por:
getStepDuration(true) E troque por:
getStepDuration()
Pronto, seu personagem andará diagonalmente mais suave, e com a velocidade que você escolheu.
-
Noninhouh recebeu reputação de Drakopoulos em [Tutorial] Ajustando andar diagonal
Bom, vou mostrar a vocês como editar o andar diagonal no otclient da maneira que vocês preferirem...
Atualmente, creio que quando você anda diagonalmente, tem um delay até que você possa andar novamente. Vou ensinar tirar esse delay, e deixar a velocidade ao gosto de vocês.
Em creature.cpp do server, procure pela linha:
if(std::abs(newPos.x - oldPos.x) >= 1 && std::abs(newPos.y - oldPos.y) >= 1) lastStepCost = 3; Esse lastStepCost será a velocidade que o player terá ao andar diagonalmente, em relação a velocidade de quando ele anda em uma direção reta, por exemplo, um player que demora 1 segundo para andar 1 sqm, demoraria 3 segundos para andar diagonalmente. Edite esse valor ao seu gosto!
Em creature.cpp do client, procure as linhas que tem isso:
getStepDuration(true) E deixe assim:
getStepDuration()
Agora procure por:
float factor = 3; if(g_game.getClientVersion() <= 810) factor = 2; Apague essa parte
Logo mais abaixo tem:
if(!ignoreDiagonal && (m_lastStepDirection == Otc::NorthWest || m_lastStepDirection == Otc::NorthEast || m_lastStepDirection == Otc::SouthWest || m_lastStepDirection == Otc::SouthEast)) interval *= factor; Em factor, deixe o mesmo valor que você deixou em lastStepCost no servidor.
Agora em localplayer.cpp no client, novamente procure por:
getStepDuration(true) E troque por:
getStepDuration()
Pronto, seu personagem andará diagonalmente mais suave, e com a velocidade que você escolheu.
-
Noninhouh recebeu reputação de Frenvius em [Tutorial] Ajustando andar diagonal
Bom, vou mostrar a vocês como editar o andar diagonal no otclient da maneira que vocês preferirem...
Atualmente, creio que quando você anda diagonalmente, tem um delay até que você possa andar novamente. Vou ensinar tirar esse delay, e deixar a velocidade ao gosto de vocês.
Em creature.cpp do server, procure pela linha:
if(std::abs(newPos.x - oldPos.x) >= 1 && std::abs(newPos.y - oldPos.y) >= 1) lastStepCost = 3; Esse lastStepCost será a velocidade que o player terá ao andar diagonalmente, em relação a velocidade de quando ele anda em uma direção reta, por exemplo, um player que demora 1 segundo para andar 1 sqm, demoraria 3 segundos para andar diagonalmente. Edite esse valor ao seu gosto!
Em creature.cpp do client, procure as linhas que tem isso:
getStepDuration(true) E deixe assim:
getStepDuration()
Agora procure por:
float factor = 3; if(g_game.getClientVersion() <= 810) factor = 2; Apague essa parte
Logo mais abaixo tem:
if(!ignoreDiagonal && (m_lastStepDirection == Otc::NorthWest || m_lastStepDirection == Otc::NorthEast || m_lastStepDirection == Otc::SouthWest || m_lastStepDirection == Otc::SouthEast)) interval *= factor; Em factor, deixe o mesmo valor que você deixou em lastStepCost no servidor.
Agora em localplayer.cpp no client, novamente procure por:
getStepDuration(true) E troque por:
getStepDuration()
Pronto, seu personagem andará diagonalmente mais suave, e com a velocidade que você escolheu.
-
Noninhouh recebeu reputação de nociam em [Tutorial] Ajustando andar diagonal
Bom, vou mostrar a vocês como editar o andar diagonal no otclient da maneira que vocês preferirem...
Atualmente, creio que quando você anda diagonalmente, tem um delay até que você possa andar novamente. Vou ensinar tirar esse delay, e deixar a velocidade ao gosto de vocês.
Em creature.cpp do server, procure pela linha:
if(std::abs(newPos.x - oldPos.x) >= 1 && std::abs(newPos.y - oldPos.y) >= 1) lastStepCost = 3; Esse lastStepCost será a velocidade que o player terá ao andar diagonalmente, em relação a velocidade de quando ele anda em uma direção reta, por exemplo, um player que demora 1 segundo para andar 1 sqm, demoraria 3 segundos para andar diagonalmente. Edite esse valor ao seu gosto!
Em creature.cpp do client, procure as linhas que tem isso:
getStepDuration(true) E deixe assim:
getStepDuration()
Agora procure por:
float factor = 3; if(g_game.getClientVersion() <= 810) factor = 2; Apague essa parte
Logo mais abaixo tem:
if(!ignoreDiagonal && (m_lastStepDirection == Otc::NorthWest || m_lastStepDirection == Otc::NorthEast || m_lastStepDirection == Otc::SouthWest || m_lastStepDirection == Otc::SouthEast)) interval *= factor; Em factor, deixe o mesmo valor que você deixou em lastStepCost no servidor.
Agora em localplayer.cpp no client, novamente procure por:
getStepDuration(true) E troque por:
getStepDuration()
Pronto, seu personagem andará diagonalmente mais suave, e com a velocidade que você escolheu.
-
Noninhouh recebeu reputação de Ryukiimaru em [Tutorial] Ajustando andar diagonal
Bom, vou mostrar a vocês como editar o andar diagonal no otclient da maneira que vocês preferirem...
Atualmente, creio que quando você anda diagonalmente, tem um delay até que você possa andar novamente. Vou ensinar tirar esse delay, e deixar a velocidade ao gosto de vocês.
Em creature.cpp do server, procure pela linha:
if(std::abs(newPos.x - oldPos.x) >= 1 && std::abs(newPos.y - oldPos.y) >= 1) lastStepCost = 3; Esse lastStepCost será a velocidade que o player terá ao andar diagonalmente, em relação a velocidade de quando ele anda em uma direção reta, por exemplo, um player que demora 1 segundo para andar 1 sqm, demoraria 3 segundos para andar diagonalmente. Edite esse valor ao seu gosto!
Em creature.cpp do client, procure as linhas que tem isso:
getStepDuration(true) E deixe assim:
getStepDuration()
Agora procure por:
float factor = 3; if(g_game.getClientVersion() <= 810) factor = 2; Apague essa parte
Logo mais abaixo tem:
if(!ignoreDiagonal && (m_lastStepDirection == Otc::NorthWest || m_lastStepDirection == Otc::NorthEast || m_lastStepDirection == Otc::SouthWest || m_lastStepDirection == Otc::SouthEast)) interval *= factor; Em factor, deixe o mesmo valor que você deixou em lastStepCost no servidor.
Agora em localplayer.cpp no client, novamente procure por:
getStepDuration(true) E troque por:
getStepDuration()
Pronto, seu personagem andará diagonalmente mais suave, e com a velocidade que você escolheu.
-
Noninhouh recebeu reputação de FlamesAdmin em [Tutorial] Ajustando andar diagonal
Bom, vou mostrar a vocês como editar o andar diagonal no otclient da maneira que vocês preferirem...
Atualmente, creio que quando você anda diagonalmente, tem um delay até que você possa andar novamente. Vou ensinar tirar esse delay, e deixar a velocidade ao gosto de vocês.
Em creature.cpp do server, procure pela linha:
if(std::abs(newPos.x - oldPos.x) >= 1 && std::abs(newPos.y - oldPos.y) >= 1) lastStepCost = 3; Esse lastStepCost será a velocidade que o player terá ao andar diagonalmente, em relação a velocidade de quando ele anda em uma direção reta, por exemplo, um player que demora 1 segundo para andar 1 sqm, demoraria 3 segundos para andar diagonalmente. Edite esse valor ao seu gosto!
Em creature.cpp do client, procure as linhas que tem isso:
getStepDuration(true) E deixe assim:
getStepDuration()
Agora procure por:
float factor = 3; if(g_game.getClientVersion() <= 810) factor = 2; Apague essa parte
Logo mais abaixo tem:
if(!ignoreDiagonal && (m_lastStepDirection == Otc::NorthWest || m_lastStepDirection == Otc::NorthEast || m_lastStepDirection == Otc::SouthWest || m_lastStepDirection == Otc::SouthEast)) interval *= factor; Em factor, deixe o mesmo valor que você deixou em lastStepCost no servidor.
Agora em localplayer.cpp no client, novamente procure por:
getStepDuration(true) E troque por:
getStepDuration()
Pronto, seu personagem andará diagonalmente mais suave, e com a velocidade que você escolheu.
-
Noninhouh recebeu reputação de kttallan em [Tutorial] Ajustando andar diagonal
Bom, vou mostrar a vocês como editar o andar diagonal no otclient da maneira que vocês preferirem...
Atualmente, creio que quando você anda diagonalmente, tem um delay até que você possa andar novamente. Vou ensinar tirar esse delay, e deixar a velocidade ao gosto de vocês.
Em creature.cpp do server, procure pela linha:
if(std::abs(newPos.x - oldPos.x) >= 1 && std::abs(newPos.y - oldPos.y) >= 1) lastStepCost = 3; Esse lastStepCost será a velocidade que o player terá ao andar diagonalmente, em relação a velocidade de quando ele anda em uma direção reta, por exemplo, um player que demora 1 segundo para andar 1 sqm, demoraria 3 segundos para andar diagonalmente. Edite esse valor ao seu gosto!
Em creature.cpp do client, procure as linhas que tem isso:
getStepDuration(true) E deixe assim:
getStepDuration()
Agora procure por:
float factor = 3; if(g_game.getClientVersion() <= 810) factor = 2; Apague essa parte
Logo mais abaixo tem:
if(!ignoreDiagonal && (m_lastStepDirection == Otc::NorthWest || m_lastStepDirection == Otc::NorthEast || m_lastStepDirection == Otc::SouthWest || m_lastStepDirection == Otc::SouthEast)) interval *= factor; Em factor, deixe o mesmo valor que você deixou em lastStepCost no servidor.
Agora em localplayer.cpp no client, novamente procure por:
getStepDuration(true) E troque por:
getStepDuration()
Pronto, seu personagem andará diagonalmente mais suave, e com a velocidade que você escolheu.
-
Noninhouh deu reputação a KyoGron em Limitar quantidade de mensagens em cima do player
Olá pessoal, bom não costumo postar nessa area, mas como eu estive futucando esses dias um pouco em OTClient e sou um pouco curioso, acabei descobrindo umas coisas bem legais =)
statictext.cpp procure por:
else if(m_messages.size() > 10) { m_messages.pop_front(); m_updateEvent->cancel(); m_updateEvent = nullptr; } Explicação:
O Número 10 representa a quantidade de mensagens máximas que irá aparecer em cima do player, No caso se eu colocar o valor 1, irá aparecer no máximo 2 mensagens acima do player (Como acontece no OTCliente da PxG) então fica por conta de quem quiser fazer as alterações escolher a quantidade máxima.
-
Noninhouh deu reputação a Refe em Adicionando mais tiles a visão do jogador!
Hoje eu vim ensinar como aumenta a "tela" de jogo do OTCLIENT
(Desculpe o merchant, era a unica imagem que eu tinha salvo)
Testado em : 0.3.6pl1, Pode funcionar em 1.0 com alterações pequenas.
Em protocolgame.cpp ache:
return ((x >= myPos.x - 8 + offsetz) && (x <= myPos.x + 9 + offsetz) && (y >= myPos.y - 6 + offsetz) && (y <= myPos.gety + 7 + offsetz)); e troque por:
return ((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)); Agora, continuando em protocolgame.cpp ache:
GetMapDescription(pos.x - 8, pos.y - 6, pos.z, 18, 14, msg); E troque por:
GetMapDescription(pos.x - Map::maxClientViewportX, pos.y - Map::maxClientViewportY, pos.z, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, msg); Continuando em protocolgame.cpp ache a função:
void ProtocolGame::sendMoveCreature(const Creature* creature, const Tile* newTile, const Position& newPos, uint32_t newStackpos, const Tile* oldTile, const Position& oldPos, uint32_t oldStackpos, bool teleport) Dentro da função encontre:
A parte que começa em if (oldPos.y > newPos.y) { e Termina em GetMapDescription(newPos.x - 8, newPos.y - 6, newPos.z, 1, 14, msg); } e troque por:
if (oldPos.y > newPos.y) { // north, for old x msg->AddByte(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->AddByte(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->AddByte(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->AddByte(0x68); GetMapDescription(newPos.x - Map::maxClientViewportX, newPos.y - Map::maxClientViewportY, newPos.z, 1, (Map::maxClientViewportY+1)*2, msg); Agora ache:
if(newPos.z == 7) { int32_t skip = -1; 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); Depedendo da Source, a parte será assim:
Por:
if(newPos.z == 7) //going to surface { int32_t skip = -1; 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); Agora ache:
else if(newPos.z > 7) { int32_t skip = -1; GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, oldPos.getZ() - 3, 18, 14, 3, skip); Depedendo da source será assim:
Por:
else if(newPos.z > 7) //underground, going one floor up (still underground) { int32_t skip = -1; GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, oldPos.z - 3, (Map::maxClientViewportX+1), (Map::maxClientViewportY+1)*2, 3, skip); Agora ache:
//moving up a floor up makes us out of sync //west msg->AddByte(0x68); GetMapDescription(oldPos.x - 8, oldPos.y - 5, newPos.z, 1, 14, msg); //north msg->AddByte(0x65); GetMapDescription(oldPos.x - 8, oldPos.y - 6, newPos.z, 18, 1, msg); E troque por:
//moving up a floor up makes us out of sync //west msg->AddByte(0x68); GetMapDescription(oldPos.x - Map::maxClientViewportX, oldPos.y - (Map::maxClientViewportY-1), newPos.z, 1, (Map::maxClientViewportY+1)*2, msg); //north msg->AddByte(0x65); GetMapDescription(oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z, (Map::maxClientViewportX+1)*2, 1, msg); Agora ache:
if(newPos.z == 8) { int32_t skip = -1; 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); Dependendo da source poderá ser:
e troque por:
if(newPos.z == 8) { int32_t skip = -1; 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); Agora ache:
else if(newPos.z > oldPos.z && newPos.z > 8 && newPos.z < 14) { int32_t skip = -1; GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, newPos.z + 2, 18, 14, -3, skip); Depedendo da source pode ser assim:
E troque por:
else if(newPos.z > oldPos.z && newPos.z > 8 && newPos.z < 14) { int32_t skip = -1; GetFloorDescription(msg, oldPos.x - Map::maxClientViewportX, oldPos.y - Map::maxClientViewportY, newPos.z + 2, (Map::maxClientViewportX+1)*2, (Map::maxClientViewportY+1)*2, -3, skip); Agora em map.h edite essa parte como quiser:
static const int32_t maxViewportX = 11; //min: maxClientViewportX + 1 static const int32_t maxViewportY = 11; //min value: maxClientViewportY + 1 static const int32_t maxClientViewportX = 8; static const int32_t maxClientViewportY = 6; O modo de Edição é assim:
Agora em map.cpp do OTCLIENT
Ache:
void Map::resetAwareRange() { AwareRange range; range.left = 8; range.top = 6; range.bottom = 7; range.right = 9; setAwareRange(range); } Troque por:
{ AwareRange range; range.left = 8; //Valor que colocou em maxClientViewportX range.top = 6; //Valor que colocou em maxClientViewportY range.bottom = range.top+1; range.right = range.left+1; setAwareRange(range); } Créditos:
Flatlander - OTLAND - Criação
Ceetros - Tradução
Agora vamos deixar o OTCLIENT lindão.
Troque tudo de modules/game_interface/interface.lua (na pasta do OTCLIENT)
por:
http://pastebin.com/tH7qyreW
(para o tutorial não ficar muito grande botei no pastebin, já que o spoiler tá bugando)
Creditos dessa parte:
Edubart (Criador do OTCLIENT)
Ceetros
Caso tenha ajudado, dê um rep+
-
Noninhouh deu reputação a Refe em creature:soltaMagia("name") PARA TFS 1.x
Olá, hoje eu vim postar a função
creature:soltaMagia("nomedamagia")
Para o TFS 1.X.
Bom, eu estou fazendo um Poketibia com base no TFS 1.3 e vou postar essa função para quem quiser seguir o mesmo.
Segue um exemplo de uso:
Em LUASCRIPT.CPP
Abaixo de
registerMethod("Player", "addExperience", LuaScriptInterface::luaPlayerAddExperience); Adicione:
registerMethod("Creature", "soltaMagia", LuaScriptInterface::luaSoltaMagia); Logo abaixo da função:
int LuaScriptInterface::luaCreatureGetEvents(lua_State* L) Adicione:
int LuaScriptInterface::luaSoltaMagia(lua_State* L) { //creature:soltaMagia("name") const std::string& spellName = getString(L, 2); if(Creature* creature = getUserdata<Creature>(L, 1)) { InstantSpell* spell = g_spells->getInstantSpellByName(spellName); if(!spell) { lua_pushboolean(L, false); return 1; } Creature* target = creature->getAttackedCreature(); if(target) spell->castSpell(creature, target); else spell->castSpell(creature, creature); lua_pushboolean(L, true); } else { lua_pushboolean(L, false); } return 1; } Em luascript.h registre:
static int luaSoltaMagia(lua_State* L);
static int luaSoltaMagia(lua_State* L); Agora é só compilar a proveitar
-
Noninhouh recebeu reputação de Dann123 em [Encerrado] {Pedido} !service
Testei saporra mil vezes ate que consegui fazer kkkkkkk:
<talkaction words="!service" event="script" value="NOMEDOTEUARKIVO.lua"/>
OBS: Em vermelho vc põe qt vai custar para falar, no caso ali tah 1kk pra server de tibia, se for server de pokemon vc deixa assim 100000000, que no caso tb é 1kk, so que no server de poke
Em azul vc coloca ah msg que o player vai receber se ele não tiver o dinheiro
-
Noninhouh recebeu reputação de Drk Shadow em [Encerrado] [PEDIDO]Ball que não pega certos pokemons
http://www.xtibia.com/forum/topic/221148-restricao-de-catch/
-
Noninhouh recebeu reputação de Deadpool em [PDA] New Poketele
Bom, muitas pessoas estavam tentando colocar para o pokemon se teleportar igual ao PxG, 5 sqm's na vertical ou 7 sqm's na horizontal
Mas, o poketele q jah vem no PDA, ele so teleporta o poke com um valor unico, ou seja, se for 5 na horizontal tera de ser 5 na vertical, ou set for 7 na horizontal, 7 na vertical, e assim sucessivamente...
Esse poketele aki q eu so fiz uma pekenininininina modificação, faz ele teleporta o poke q nem o dah PxG
Bom, se o seu poketele jah esta funcionando, apenas substitua o script por este:
Caso keira trocar, so mudar em maxx ou maxy
----------------------------------------------------------
Essa tag, é apenas se o seu poketele não estiver ativo:
OBS: é pra substituir os scripts acima pelos seus!!
OBS²: caso keira trocar o effect, muda nas duas partes 'doSendMagicEffect(getThingPos(cid), 211)'
-
Noninhouh recebeu reputação de Ryukiimaru em [Show Off] Barra Skill - baseada na pxg
@Zeref
eu to fazendo isso pro meu server...
E eu acho que não dah pra descompilar akeles negoço dah pxg u.u
eu tava lendo um topico, e alguem falava que 'parece' que o edubart fez um codificador proprio pra ele shauhsuahs
mais sl, não tenhu certeza =/
-------- EDIT
u.u não resisti, tive que posta haushauhsu
lock system no cp
-
Noninhouh recebeu reputação de Ryukiimaru em [Show Off] Barra Skill - baseada na pxg
Bom, como o xtibia tah todo bugado, e eu n consegui abrir um novo show off, acabei achando melhor postar aki mrm...
Meu butão de Guild!
só possui 2 unicos bug que dpois eu tiro u.u
quando vc não tem guild e aperta algum dakeles botões ele acaba falando o comando no meio do nada u.u
e como o comando (!nick player, nick) não coloca o nick no look do player do server PDA, eu achei melhor tira-lo =/
--------
agr gogo adicionar:
Check Guild
-
Noninhouh recebeu reputação de Drk Shadow em [DxP] Exclusivo Poketibia OpenSource
sdds eu nos creditos pelo client
-
Noninhouh recebeu reputação de SamueLGuedes em [PDA] New Poketele
Bom, muitas pessoas estavam tentando colocar para o pokemon se teleportar igual ao PxG, 5 sqm's na vertical ou 7 sqm's na horizontal
Mas, o poketele q jah vem no PDA, ele so teleporta o poke com um valor unico, ou seja, se for 5 na horizontal tera de ser 5 na vertical, ou set for 7 na horizontal, 7 na vertical, e assim sucessivamente...
Esse poketele aki q eu so fiz uma pekenininininina modificação, faz ele teleporta o poke q nem o dah PxG
Bom, se o seu poketele jah esta funcionando, apenas substitua o script por este:
Caso keira trocar, so mudar em maxx ou maxy
----------------------------------------------------------
Essa tag, é apenas se o seu poketele não estiver ativo:
OBS: é pra substituir os scripts acima pelos seus!!
OBS²: caso keira trocar o effect, muda nas duas partes 'doSendMagicEffect(getThingPos(cid), 211)'
-
Noninhouh recebeu reputação de Loouis em [PDA] New Poketele
Bom, muitas pessoas estavam tentando colocar para o pokemon se teleportar igual ao PxG, 5 sqm's na vertical ou 7 sqm's na horizontal
Mas, o poketele q jah vem no PDA, ele so teleporta o poke com um valor unico, ou seja, se for 5 na horizontal tera de ser 5 na vertical, ou set for 7 na horizontal, 7 na vertical, e assim sucessivamente...
Esse poketele aki q eu so fiz uma pekenininininina modificação, faz ele teleporta o poke q nem o dah PxG
Bom, se o seu poketele jah esta funcionando, apenas substitua o script por este:
Caso keira trocar, so mudar em maxx ou maxy
----------------------------------------------------------
Essa tag, é apenas se o seu poketele não estiver ativo:
OBS: é pra substituir os scripts acima pelos seus!!
OBS²: caso keira trocar o effect, muda nas duas partes 'doSendMagicEffect(getThingPos(cid), 211)'
-
Noninhouh deu reputação a jeerenato em Show Off Jeer Pokémon Perspective 45º
Golduck
Victreebel
Steelix
( Vaporeon / Jolteon )
Venusaur
Charmander (SmokeScreen)
Charmander (Scratch)
Exeggutor Psychic
Bulbasaur (Take Down)
Venusaur (Take Down)
-
Noninhouh recebeu reputação de victorjgp em CoolDown Bar do Ditto
passa a função ae de qd o ditto copia o pokemon, e de quando vc solta um poke pra fora da ball q eu tento ageitar pra vc
-
Noninhouh recebeu reputação de Aberos em Diminuir Função
tenta fazer com for i = x, não tenho crtza nenhuma pq n sei se isso pega os locais blabla =...
-
Noninhouh recebeu reputação de Jeffer000 em [Duvida] ProgressBar OtCliente para PokeDex
dash v6...
tenta fazer assim po:
local maximum = 200 hpBar = poke:recursiveGetChildById("hpBar") hpBar:setPercent(hpValue) hpBar:setValue(hpValue, 0, maximum)
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.