Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 12/04/17 em todas áreas

  1. [Link Quebrado]Pokémon Mythology

    Hrod reagiu a SrP1kachu por uma resposta no tópico

    1 ponto
    Bom tava com um projetinho a um tempo atras mas como eu resolvi parar com ele resolvi trazer aqui pra vcs. Sim tem a maioria das coisas que a DXP tem porem tem bastante bugs removidos, o servidor fica online sem algum tipo de queda. esta estavel para por online alem de ter um mapa unico tem um cliente lido d+ meu orgulho huahuahua mais em fim vamos ao que interessa • Informações Basicas • • Duel System. • Nick System. • Autoloot System. • Block Respaw System. • Mega Evolução Ssystem. • Auto Stacking System. • Player passa por dentro de outros Players(Não sei o nome deste sistema kk). • Ditto Memory System. • Player pode usar potions, revive, soltar poke andando sem parar. • Limite de efeitos aumentados nas sources até 380(Podendo aumentar muito mais) • Transparência. • Cliente criptografado(Acompanha OBD único para o cliente). • Sistemas básicos como fly, ride, surf, order etc. • Held System(Não tem todos, falta fazer alguns, ja tem o x-luck). • Fishing trocando o outfit automaticamente. • Icone System. • Varias Pokeballs novas. • Task System. • Guild System. • NPC dialogo E muito+, não testei o servidor todo. podem ter sistemas no server que eu esqueci de colocar aqui na lista. Tem mais coisas mas não me lembro ao certo de tudo que eu coloquei ;-; </3 • Bugs • Irei postar os que eu sei, podem haver mais. • Gym System não esta funcionando. • O famoso bug do autoloot '- • Pokemons da 3 geração todos arrumados porem pode dar revive mesmo com ele pra fora da ball • scizor ao ser chamado de volta pra ball fica com o icon de shiny scizor • Alguns erros no cliente que faz dar umas speed pra frente Que eu saiba e só isso mas provavelmente tenha mais que eu não estou ciente :C • Prints • Não queria ter que postar meu projeto mas como Minha Propia equipe esta ameaçando a fazer isso tai pra vcs :C • Dowload • scan : https://www.virustotal.com/#/file-analysis/Yjg0MTM2YmRkNjZkNmRjNDJhODgxMThlOWFjZmM2YmM6MTUwMzI3MzI0Mg== servidor+sources+cliente : https://mega.nz/#!sIJ1nATJ!cEXaqXdkW0iXWnFeklNpa9yRS0y9exoRDkM-WBnpACo Senha : domviniciusbr • Créditos • •CipSoft •Nintendo •TFS Team •Dark X Poke •PXG •Tom Lukz (Smix) •Allan Harlen (Kttallan/lordsorte) •Eduardo Meskita (FuuinFake) •Noninhouh •Tony Araujo •Taiger/Dudu •Drakopoulos •Justiceiro751 •Vinicius Clel (Walox) •Vinicius FT (K95) •DeadPool •Marshmello E a todos que tiveram alguma participação em sistemas, server, site, cliente etc. Se estiver faltando algo como créditos, má formatação etc, por favor me avisem, é meu primeiro post de server.
  2. Adicionando Tiles a janela de jogo!

    RebornX reagiu a Refe por uma resposta no tópico

    1 ponto
    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. Agora ache e troque: return ((x >= myPos.x - 8 + offsetz) && (x <= myPos.x + 9 + offsetz) && (y >= myPos.y - 6 + offsetz) && (y <= myPos.gety + 7 + offsetz)); 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 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); Agora em 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) Troque: 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); } 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: 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); 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: else if (newPos.z > 7) { int32_t skip = -1; GetFloorDescription(msg, oldPos.x - 8, oldPos.y - 6, oldPos.getZ() - 3, 18, 14, 3, skip); 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); Troque: //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); 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 troque: 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: 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); 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 troque: 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: 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); 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 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; Observação: O modo de Edição é assim: static const int32_t maxViewportX = 11; //Minimo: maxClientViewportX + 1 static const int32_t maxViewportY = 11; //Minimo: maxClientViewportY + 1 static const int32_t maxClientViewportX = 8; static const int32_t maxClientViewportY = 6; Ou seja, se você por 10 em maxClientViewportX você tem que por no minimo 12 em maxClientViewportX eu sei que ali diz +1, só que aqui não deu certo 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+
  3. 1 ponto
    Tá bem bagunçado isso aí carinha, na verdade não ia funcionar nada rsrsr. Testa assim: lib Em creaturescripts/scripts, crie um arquivo.lua: No login.lua, registre o evento: player:registerEvent("tptile_modal") No creaturescripts.xml, adicione a tag: <event type="modalwindow" name="tptile_modal" script="NOMEDOARQUIVO.lua"/> Em movements/scripts, crie um arquivo.lua (ou substitua pelo que tem dentro do arquivo que você já possui): No movements.xml, adicione a tag: <movevent event="StepIn" actionid="ACTION_ID_DO_PISO" script="NOMEDOARQUIVO.lua" />
  4. PUO - OPEN BETA COMEÇOU!

    Heyron reagiu a Neophyte por uma resposta no tópico

    1 ponto
    Obrigado! Os primeiros dias foram instáveis, mas agora já estamos conseguindo um período grande de horas sem cair. Se for jogar, manda uma Salve para "Neophyte" ingame! Abs.
  5. eu nao tinha visto isso aqui no forum ainda pra 0.36. Bom conteúdo :D
  6. BUG NA DISTRO - Unknown event name

    ftsystem reagiu a Noob II por uma resposta no tópico

    1 ponto
    Isso é uma tag em algum xml dos pokémons do seu servidor, abra o notepad++, aperte ctrl+f e clique na aba localizar em arquivos, em localizar você coloca a palavra removewall3 e em pasta você seleciona a do seu servidor e só apertar em localizar todos agora dps que achar você dar duplo clique na linha e remove.
  7. [Wono 1.2] World of Naruto Online

    JJJ reagiu a GBs por uma resposta no tópico

    1 ponto
    Olha, eu vou compilar uma tfs 0.3.6 pra vc, mas vc tem q tar ciente, que vai dar varios erros. Mas vai funcionar ----------------------- edit Ai, so baixar e abrir, qualquer erro manda print Baixar
  8. 1 ponto
    Crie um arquivo chamado Jax.lua na pasta data/npc/scripts e cole isso local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end local items = { item1 = {2346, 2349}, -- item1 item que será pedido e que será dado na primeira troca item2 = {2033, 15515} -- item2 item que será pedido e que será dado na segunda troca } local counts = { count1 = {1, 1}, -- count1 quantidade que será pedido e que será dado na primeira troca count2 = {10, 1} -- count2 quantidade que será pedido e que será dado na segunda troca } function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'blue note') then if getPlayerItemCount(cid, items.item1[1]) >= counts.count1[1] then doPlayerRemoveItem(cid, items.item1[1], counts.count1[1]) doPlayerAddItem(cid, items.item1[2], counts.count1[2]) selfSay('You just swap '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..' for '.. counts.count1[2] ..' '.. getItemNameById(items.item1[2]) ..'.', cid) else selfSay('You need '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..'.', cid) end elseif msgcontains(msg, 'bar of gold') then if getPlayerItemCount(cid, items.item2[1]) >= counts.count2[1] then doPlayerRemoveItem(cid, items.item2[1], counts.count2[1]) doPlayerAddItem(cid, items.item2[2], counts.count2[2]) selfSay('You just swap '.. counts.count2[1] ..' '.. getItemNameById(items.item2[1]) ..' for '.. counts.count2[2] ..' '.. getItemNameById(items.item2[2]) ..'.', cid) else selfSay('You need '.. counts.count2[1] ..' '.. getItemNameById(items.item2[1]) ..'.', cid) end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Crie um arquivo chamado Jax.xml na pasta data/npc e cole isso <?xml version="1.0" encoding="UTF-8"?> <npc name="Jax" script="Jax.lua" walkinterval="2000" floorchange="0"> <health now="150" max="150" /> <look type="134" head="57" body="59" legs="40" feet="76" corpse="2212" /> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|. Do not want to make an exchange? I have {blue note} and {bar of gold}." /> <parameter key="message_farewell" value="Bye bye!" /> </parameters> </npc> Testado e está 100% funcional Att. Giovani Rodrigo
  9. Ad

    Cat reagiu a quemtuacha por uma resposta no tópico

    0 pontos
    isso enche muito o saco, nunca mais vou alugar maquinas da servercore.
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo