Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 06/09/18 em todas áreas

  1. Download Clients 11+ IP 127.0.0.1

    Nerivalhs reagiu a JZDJ por uma resposta no tópico

    1 ponto
    Olá galera do TK. Hoje eu trago vários clientes de Tibia 11+ com IP 127.0.0.1. Vi que alguns usuários não estão conseguindo algumas versões 11 então resolvi postar aqui. Estou disponibilizando o EXECUTÁVEL DO CLIENTE. Para que funcione é só colocar na pasta BIN da versão correspondente. Também disponibilizei a pasta completa compactada. Vamos ao que interessa. Tibia 11.43.5504 127.0.0.1-11.43.5504.exe SCAN do cliente Pasta completa: Tibia 11.43.5504.rar SCAN pasta completa Tibia 11.44.5516 127.0.0.1-11.44.5516.exe SCAN do cliente Pasta completa: Tibia 11.44.5516.rar SCAN pasta completa Tibia 11.46.5556 127.0.0.1-11.46.5556.exe SCAN do cliente Pasta completa: Tibia 11.46.5556.rar SCAN pasta completa Tibia 11.47.5640 127.0.0.1-11.47.5640.exe SCAN do cliente Pasta completa: Tibia_11_47.5640.rar SCAN pasta completa Tibia 11.47.5674 127.0.0.1-11.47.5674.exe SCAN do cliente Pasta completa: Tibia_11_47.5674.rar SCAN pasta completa Tibia 11.48.5712 127.0.0.1-11.48.5712.exe SCAN do cliente Pasta completa: Tibia_11_48.5712.rar SCAN pasta completa Tibia 11.48.5753 127.0.0.1-11.48.5753.exe SCAN do cliente Pasta completa: Tibia_11_48.5753.rar SCAN pasta completa Tibia 11.49.5813 127.0.0.1-11.49.5813.exe SCAN do cliente Pasta completa: Tibia_11_49.5813.rar SCAN pasta completa Tibia 11.49.5884 127.0.0.1-11.49.5884.exe SCAN do cliente Pasta completa: Tibia_11_49.5884.rar SCAN pasta completa Tibia 11.49.5921 127.0.0.1-11.49.5921.exe SCAN do cliente Pasta completa: Tibia_11_49.5921.rar SCAN pasta completa Tibia 11.49.5983 127.0.0.1-11.49.5983.exe SCAN do cliente Pasta completa: Tibia_11_49.5983.rar SCAN pasta completa Tibia 11.49.6018 127.0.0.1-11.49.6018.exe SCAN do cliente Pasta completa: Tibia 11.49.6018.rar SCAN pasta completa Tibia 11.49.6030 127.0.0.1-11.49.6030.exe SCAN do cliente Tibia 11.49.6030.rar SCAN pasta completa Tibia 11.50.6055 127.0.0.1-11.50.6055.exe SCAN do cliente Tibia 11.50.6055.rar SCAN pasta completa Tibia 11.51.6099 127.0.0.1-11.51.6099.exe SCAN do cliente Tibia 11.51.6099.rar SCAN pasta completa Tibia 11.52.6104 127.0.0.1-11.52.6104.exe SCAN do cliente Tibia 11.52.6104.rar SCAN pasta completa Tibia 11.55.6239 127.0.0.1-11.55.6239.exe SCAN do cliente Tibia 11.55.6239.rar SCAN pasta completa Tibia 11.56.6239 127.0.0.1-11.56.6239.exe SCAN do cliente Tibia 11.56.6239.rar SCAN pasta completa Tibia 11.57.6239 127.0.0.1-11.57.6239.exe SCAN do cliente Tibia 11.57.6239.rar SCAN pasta completa Tibia 11.58.6239 127.0.0.1-11.58.6239.exe SCAN do cliente Tibia 11.58.6239.rar SCAN pasta completa Tibia 11.58.6239 ATUALIZADO 127.0.0.1-11_58.6239.exe ATUALIZADO SCAN do cliente Tibia 11.58.6239 ATUALIZADO.rar SCAN pasta completa Tibia 11.59.6424 127.0.0.1-11.59.6424.exe SCAN do cliente Tibia 11.59.6424.rar SCAN pasta completa Tibia 11.60.6457 127.0.0.1-11.60.6457.exe SCAN do cliente Tibia 11.60.6457.rar SCAN pasta completa Tibia 11.65.6492 127.0.0.1-11.65.6492.exe SCAN do cliente Tibia 11.65.6492.rar SCAN pasta completa Tibia 11.65.6507 127.0.0.1-11.65.6507.exe SCAN do cliente Tibia 11.65.6507.rar SCAN pasta completa Tibia 11.66.6516 127.0.0.1-11.66.6516.exe SCAN do cliente Tibia 11.66.6516.rar SCAN pasta completa Tibia 11.70.6535 127.0.0.1-11.70.6535.exe SCAN do cliente Tibia 11.70.6535.rar SCAN pasta completa Tibia 11.70.6543 127.0.0.1-11.70.6543.rar SCAN do cliente Tibia 11.70.6543.rar SCAN pasta completa Tibia 11.70.6548 127.0.0.1-11.70.6548.rar SCAN do cliente Tibia 11.70.6548.rar SCAN pasta completa Tibia 11.70.6555 127.0.0.1-11.70.6555.rar SCAN do cliente Tibia 11.70.6555.rar SCAN pasta completa Espero que eu tenha ajudado. Créditos: A Cip pelos clientes e a mim por ter alterado os ips nos mesmos. REP+ é sempre bom e não dói. Abraços. ATT , Jaurez/JZDJ
  2. GesiorACC 2019 8.60 UPDATE 29/06/2019

    wiz444 reagiu a Natanael Beckman por uma resposta no tópico

    1 ponto
    Atualização de 29/06/2019. Olá meus amigos, essa é a minha última contribuição free que faço na área de OTserver, fiz uma atualização bem completa do Gesior comparando com os que existem disponíveis, não vou falar muito pois grande parte já conhecem... Vou apenas posta algumas imagem das mudanças feitas. Sempre gostei de evoluir e de oferecer aos demais uma facilidade de obter um material grátis e de qualidade, nunca utilizei meu pouco conhecimento para prejudicar os demais, pelo o contrario sempre foi na intenção de ajudar e se em algum momento falhei, falhei inconscientemente. - Foi mudado algumas imagens de layout para renovar a estrutura. - Server Info + Most Power Ful Guilds na mesma estrura. - Create Account exigindo senhas com letras minusculas, maiúsculas e números, fortalecendo a segurança do seu cliente e dificultando futuras dores de cabeças. - Adicionado o mecanismo que identifica os valores de Premuim Points e Backup Points. - Algumas mudanças de layout. - Nome do player abaixo linkado. - Adicionado um Box de doação, com a intenção apenas de complementar o layout enriquecendo a pagina. - Fixado o bug edit town, e melhorado o layout. - Characters.php refeito, nesta imagem é uma visão de uma conta com access admin. - Visão normal. - Inventário completo. - Guilds com visão ampliada. - Detalhes... - Novo SHOP com as estrutura de layout melhorada e modernizada. - Sem BUGs lembre-se do CTRL + F5 para atualizar os cookies nesta pagina. - Detalhes... - Detalhes... - Detalhes... - Histórico do SHOP... DOWNLOAD SITE SHOP.LUA XAMPP 1.7.3 DATABASE LIMPA MYSQL DATABASE COMPLETA MYSQL TUTORIAIS ÚTEIS E COMPATÍVEIS PARA O SITE: PAGSEGURO AUTOMATICO SHOPGUILD BACKUP_POINTS SISTEMA VIP_TIME Créditos: Gesior.pl(WEBMaster) Felipe Monteiro(WEBMaster, WEBDesigner) Natanael Beckman(WEBNada) Nailan (WEBMaster) Ivens Pontes (WEBMaster) Marcio Porto (WEBMaster) Danyel Varejão (Programmer LUA, C++)
  3. tibia1000.exeOTXGlobal Full [CLIENTS COMPATÍVEIS] 10.00, 11.00 e 11.02 [DOWNLOAD] BAIXEM: https://www.mediafire.com/?5yx8gj1at7569o3 Tibia 10: tibia1000.exe REPORTEM no Topico. [SCAN] https://www.virustotal.com/pt/file/f692b85dd979da4cb7348d94c18d250c785860f9909aaa06084332c1873c8b19/analysis/ [FEATURES] NEW DEPOT, NEW SPAWN, NEW CAST SYSTEM, NEW NPC SYSTEM VIA BANK BALANCE, NEW CRITICAL BOOST SYSTEM, NEW POTIONS, REWARD SYSTEM, PREY SYSTEM, IMBUING, WRAP, NEW BLESS, STORE. [MAPA] FULL GLOBAL MAP WITH OTHERWORLD - OTXServer Malucooo TODAS CIDADES E NOVAS AREAS TODAS QUESTS FUNCIONANDO! BASE ORIGINAL: [CONTATO] SKYPE: [email protected] EMAIL: [email protected] [Créditos] Tfs 1.3 Developers -Zbizu - Pitis91 - MatheusMkalo - Gesior - Lundrial - M4G0 - Charles - Fish04k - Printer - Djarek - Ninjalulz - Slavidodo - Thexamx - Socket2810 - Ciroc -Absolute - Gordonbay - Mitsuig - Alissonfgp - Gunz - Bruno Minervino - Comedinha -Hirako - Maya - Mattyx14 – Darkjav - Viking Tibia.
  4. 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+
  5. (Resolvido)Hospedar site tibia

    adolfbig reagiu a Skydrowz por uma resposta no tópico

    1 ponto
    Não... Primeiro você compra o domínio para o seu site, depois direciona sua VPS ao mesmo. Geralmente o direcionamento é feito pela própria empresa responsável pela sua VPS. Crie um ticket de suporte no site que hosteia sua VPS e peça para que redirecionem sua VPS ao seu domínio. Eles vão pedir sua conta e senha(pode confiar, eu mesmo já fiz) da GoDaddy para poder configurar alguns dados e pronto, sua VPS vai ser redirecionada.
  6. 1 ponto
    local runningEvents ={} function removeParalizy(cid) if not isPlayer(cid) then return end if getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid ~= 12692 then return end if not getCreatureCondition(cid, CONDITION_PARALYZE) then return end doRemoveCondition(cid, CONDITION_PARALYZE) runningEvents[cid] = addEvent(removeParalizy, 1000, cid) return true end function onEquip(cid, item, slot) removeParalizy(cid) return true end function onDeEquip(cid, item, slot) stopEvent(runningEvents[cid]) if runningEvents[cid] then runningEvents[cid] = nil end return true end
  7. 1 ponto
    @exchange Então, olha no accountmanagement.php, na linha 936+. $player->setLevel(8); $player->setMagLevel(4); $player->setHealth(150); $player->setHealthMax(150); $player->setMana(150); $player->setManaMax(150); Ele está colocando manualmente, se quiser tentar pegar do Sample, bota o seguinte: Troca isso: $player->setLevel(8); Por isso: $player->setLevel($char_to_copy->getLevel()); Faça isso para todos os atributos que tu queira pegar do sample, só mudar o getLevel pela função equivalente.
  8. Error MoveEvent executeEquip Call stack overflow

    mullino reagiu a Reds por uma resposta no tópico

    1 ponto
    nao sei muito desse lua error, mas trocando por (return false) deve fazer a mesma coisa stack overflow significa que o código entra em um loop infinito, ai eu apaguei a parte que causava esse loop que era: addEvent(Paralizy, 1*100, cid)
  9. 1 ponto
    Bom pessoal, esse é um script bem simples, mas eu gosto da ideia dele, e não consegui encontrar por aí. É uma boa solução pra quando você quer summonar monstros numa quest, e se tiver vários players não ficará summonando monstros várias vezes. Esse script está sendo usado ao dar use num chest, mas está a seu critério onde utilizar. monstersToCreate = { [1] = { name = 'Lost Berserker', position = {x = 1034, y = 1425, z = 15} }, [2] = { name = 'Lost Thrower', position = {x = 1028, y = 1424, z = 15} }, [3] = { name = 'Lost Basher', position = {x = 1034, y = 1427, z = 15} }, [4] = { name = 'Lost Thrower', position = {x = 1040, y = 1423, z = 15} }, [5] = { name = 'Lost Husher', position = {x = 1030, y = 1430, z = 15} }, [6] = { name = 'Lost Husher', position = {x = 1038, y = 1429, z = 15} } } function onUse (player, item, param) if item:getActionId() == 45016 then if player:getStorageValue(45016) == -1 then player:addItem(2517, 1) -- shield of honour player:addItem(2502, 1) -- dwarven helmet local currentMonsters = Game.getStorageValue(45016) if currentMonsters then for v = 1, #currentMonsters do local monsterId = currentMonsters[v] local isMonsterAlive = Monster(monsterId) if not isMonsterAlive then local createdMonster = Game.createMonster(monstersToCreate[v].name, monstersToCreate[v].position) currentMonsters[v] = createdMonster:getId() end end Game.setStorageValue(45016, currentMonsters) else local createdMonsters = {} for i = 1, #monstersToCreate do local createdMonster = Game.createMonster(monstersToCreate[i].name, monstersToCreate[i].position) table.insert(createdMonsters, createdMonster:getId()) end Game.setStorageValue(45016, createdMonsters) end player:setStorageValue(45016, 1) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You've got a reward.") else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "You've already got your reward.") end end return true end actions.xml: <action actionid="45016" script="seu_script.lua" /> Se alguém quiser aprimorar o script, sinta-se à vontade ?
  10. (Resolvido)Ajuda Dodge Ne Items

    mullino reagiu a Reds por uma resposta no tópico

    1 ponto
    apaga isso: setItemDodgePercent(itemEx.uid, atual + (math.random(upgrade[level+1].min,upgrade[level+1].max))/10)doItemSetAttribute(itemEx.uid,'name', getItemNameById(itemEx.itemid)..' +'..(level+1)) e coloca isso: local porcentagem = atual + (math.random(upgrade[level+1].min,upgrade[level+1].max))/10 setItemDodgePercent(itemEx.uid, porcentagem)doItemSetAttribute(itemEx.uid,'name', getItemNameById(itemEx.itemid)..' +'..(porcentagem)) olhei bem por cima o código, se n der me avisa
  11. [Pedido] Item de Bless

    mullino reagiu a Adm Evolution por uma resposta no tópico

    1 ponto
    @FlavioHulk Utilizei outro código, não postei por questão de tempo mesmo mas segue ai: ESSE SCRIPT FUNCIONA DA SEGUINTE FORMA: APÓS VOCÊ USAR O ITEM ELE SERÁ REMOVIDO, PORÉM O PERSONAGEM QUE VOCÊ UTILIZAR NÃO IRÁ NECESSITAR NUNCA MAIS DE BLESS. TORNANDO AUTOMÁTICO. VÁ ATÉ: ACTION/SCRIPTS CRIE UM ARQUIVO .LUA Abra o arquivo e cole o seguinte código: local efeito = {27,28, 29,79} function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, 89210) == 1 then doPlayerSendTextMessage(cid,22,"You already used this book!") else doPlayerSendTextMessage(cid,22,"Congratulations! From now, you will be blessed automatically.") setPlayerStorageValue(cid, 89210, 1) doRemoveItem(item.uid, 1) doSendMagicEffect(getThingPos(cid), efeito[math.random(#efeito)]) end end Logo após ter feito isso vá até actions.xml E adicione a Tag: <action itemid="IDDOITEMDESEJADO" event="script" value="actionbless.lua"/> Feito isso vá até CREATURESCRIPTS/SCRIPTS CRIE UM ARQUIVO .LUA E adicione o seguinte código: local cfg = { message = "You have been blessed automatically!", bless = {1, 2, 3, 4, 5}, efeito = {27,28, 29,79} } function onLogin(cid) for i = 1, #cfg.bless do if getPlayerStorageValue(cid, 89210) == 1 and getPlayerBlessing(cid, i) then doPlayerSendTextMessage(cid,22, "You are blessed!") return true end if getPlayerStorageValue(cid, 89210) == 1 then doPlayerAddBlessing(cid, i) doPlayerSendTextMessage(cid,22,cfg.message) doSendMagicEffect(getThingPos(cid), cfg.efeito[math.random(#cfg.efeito)]) end end return true end Logo após ter feito isso vá até creaturescripts.xml E adicione a Tag: <event type="login" name="blesscheck" event="script" value="blesscheck.lua"/> Em seguida vá até login.lua ainda em CREATURESCRIPTS/SCRIPTS/LOGIN.LUA e registre o seguinte evento: registerCreatureEvent(cid, "checkbless") O CRIADOR DO SCRIPT NÃO FUI EU, APENAS PEGUEI EM ALGUM SITE QUE PERDI SUA FONTE, ESPERO TER AJUDADO ALGUÉM E OBRIGADO QUEM AJUDOU.
  12. Video Aula - Aprenda ser um scripter.

    victor8082 reagiu a thalia por uma resposta no tópico

    1 ponto
    Bom galera, tudo certo? XD Então galera, como todo mundo me pedia ajuda com scripts, decidir criar um canal no youtube focado bastante em como se tornar um script, no canal vai ter videos ensinando "scriptar" e como interpretar um script... enfim! Se inscrevam no canal e ajude a divulga-lo galera! muito obrigado a sua atenção, aqui vai o link do canal junto com o primeiro vídeo! Canal: http://www.youtube.com/user/NWEnsina #1 Vídeo - OT Scripting #1 - function onUse, if/else. Explicando Script #1 - Talkaction trocar 1kk por X [TK] Site/Blog: http://www.nwensina.blogspot.com.br OT Scripting #2 - Function onUse, itemEx e Positions + funções [NW] youtube.com/watch?v=SzR43PZO10I PS: O TK não permiti mais que 2 links de mídia mas é só copiar e colar no navegador (:
  13. [Pedido] Item de Bless

    Adm Evolution reagiu a pepsimano por uma resposta no tópico

    1 ponto
    tfs?
  14. (Resolvido)Atrasar dano da SPELL

    Mark Coder reagiu a Storm por uma resposta no tópico

    1 ponto
    local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, 3, -2, 4) function onCastSpell(cid, var) local time = 1 -- Segundos de atraso local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+2, y=getThingPosition(getCreatureTarget(cid)).y+1, z=getThingPosition(getCreatureTarget(cid)).z} local position2 = {x=getThingPosition(getCreatureTarget(cid)).x+2, y=getThingPosition(getCreatureTarget(cid)).y+3, z=getThingPosition(getCreatureTarget(cid)).z} local parameters = { cid = cid, var = var, combat1 = combat1 } addEvent(doSendMagicEffect, 850, position2, 107) addEvent(doSendMagicEffect, 25, position1, 106) addEvent(doCombat, time * 1000 , cid, combat, var) return true end
  15. (Resolvido)Atrasar dano da SPELL

    Mark Coder reagiu a Skydrowz por uma resposta no tópico

    1 ponto
    local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, 3, -2, 4) function onCastSpell(cid, var) local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+2, y=getThingPosition(getCreatureTarget(cid)).y+1, z=getThingPosition(getCreatureTarget(cid)).z} local position2 = {x=getThingPosition(getCreatureTarget(cid)).x+2, y=getThingPosition(getCreatureTarget(cid)).y+3, z=getThingPosition(getCreatureTarget(cid)).z} local parameters = { cid = cid, var = var, combat1 = combat1 } addEvent(doSendMagicEffect, 850, position2, 107) addEvent(doSendMagicEffect, 25, position1, 106) return doCombat(cid, combat, var) end Você já está atrasando as animações?
  16. [Pedido] Item de Bless

    Adm Evolution reagiu a luiz.marsilio por uma resposta no tópico

    1 ponto
    config = { id = ITEM_ID -- id do item } function onPrepareDeath(creature, killer) if not creature:isPlayer() then return true end if creature:getItemCount(config.id) >= 1 then for i = 1, 5 do creature:addBlessing(i) end creature:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Você morreu com bless.") else creature:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Você morreu sem bless.") end return true end Para TFS 1.2. Não testei.
  17. [NEW] - Ajude a construir o melhor OTServer

    Nogard reagiu a Heyron por uma resposta no tópico

    1 ponto
    Esse negócio de deixar opinião é algo muito relativo. As opiniões são diversas, cada jogador tem seu gosto por determinado tipo de servidor. Oque você tem que fazer, é criar um servidor para o "público x", aquele que você tem certeza que é muito procurado e jogado.
  18. (Resolvido)(Resolvido) RSA key ajudem!

    Andersen96 reagiu a robi123 por uma resposta no tópico

    1 ponto
    Aonde que eu baixo isso e coloca para poder compilar? @Comedinha eu consegui resolver este problema baixando este arquivo... meu sistema é 64bits.. https://sourceforge.net/projects/openssl/?source=typ_redirect Ai coloquei ele dentro da pasta do DEV c++
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo