Ir para conteúdo

lorenzo2014

Membro
  • Registro em

  • Última visita

Tudo que lorenzo2014 postou

  1. lorenzo2014 postou uma resposta no tópico em Recursos Avançados
    Tenho um script que fiz muito manual, tem como deixar ele mais automatizado, como por exemplo ao invez de digitar "case 'Leakage':" ele puxar esses valores direto do banco de dados e de uma maneira geral simplificar esse script? Arquivo muito grande e postei no Pastebin https://pastebin.com/8ftziar3
  2. lorenzo2014 postou uma resposta no tópico em Formação de Equipe
    TFS 1.2
  3. Boa tarde galera, fiz uma spell que empurra o monstro para trás, porém só funciona quando o monstro está no target, alguém pode me ajudar a colocar ela para nã utilizar o target e empurrar todos os montros que forem acertados pelo area combat? Segue o script: local combat0_Push = createCombatObject() setCombatParam(combat0_Push, COMBAT_PARAM_EFFECT, CONST_ME_POFF) setCombatParam(combat0_Push, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_FIRE) setCombatParam(combat0_Push, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat0_Push,createCombatArea({{0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 2, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 0, 0, 0}})) local dfcombat0_Push = {CONST_ANI_ARROW,0,1,0,2,0,3,0,-1,0,-2,0,-3,-1,-2,-2,-1,-3,0,-2,1,-1,2,1,2,2,1,3,0,2,-1,1,-2,1,-1,1,0,1,1,2,0,-1,0,-1,1,-2,0,-1,-1} local function RunPart(c,cid,var,dirList,dirEmitPos) local player = Player(cid) local target = getCreatureTarget(cid) local position = getCreaturePosition(cid) local fromPosition = getCreaturePosition(target) local x = ((fromPosition.x - position.x) < 0 and -1 or ((fromPosition.x - position.x) == 0 and 0 or 1)) local y = ((fromPosition.y - position.y) < 0 and -1 or ((fromPosition.y - position.y) == 0 and 0 or 1)) local toPosition = {x = fromPosition.x + x, y = fromPosition.y + y, z = fromPosition.z} if (isCreature(cid)) then doCombat(cid, c, var) if (dirList ~= nil) then local i = 2; while (i < #dirList) do doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1]) i = i + 2 local query = Tile(toPosition):queryAdd(target) if query == RETURNVALUE_NOERROR then doTeleportThing(target, toPosition, true) end end end end end function onCastSpell(cid, var) local startPos = getCreaturePosition(cid) RunPart(combat0_Push,cid,var,dfcombat0_Push,startPos) return true end
  4. lorenzo2014 postou uma resposta no tópico em Formação de Equipe
    .
  5. Não sei o que você fez, fiz isso umas 10x e não funcionava. Obrigado funcionou certinho.
  6. Boa noite, utilizo o TFS 1.2 Estou utilizando o script do Mkalo um mount system tfs 1.2, nesse sistema tem 2 funções. Essa função abaixo, ela cria o item ID 456 em uma area 3x3 na posição que o player é teleportado. function Position:createFlyFloor() for x=-1,1 do for y=-1,1 do pose = {x=self.x+x,y=self.y+y,z=self.z} local toTile = Tile(self) if not toTile or not toTile:getItems() or not toTile:getGround() then doAreaCombatHealth(0, 0, pose, 0, 0, 0, CONST_ME_NONE) Game.createItem(456, 1, pose) end end end end Já essa função abaixo, quando o player utiliza o comando !up ele remove o item 460 porem apenas na posição do player, eu queria q ele removesse na posição do player porém em uma area 3x3. function Player:flyUp() if self:isFlying() then if self:canFlyUp() then local pos = self:getPosition() local tile = Tile(pos) local itemfloor = tile:getItemById(456) if itemfloor then itemfloor:remove() end pos.z = pos.z-1 pos:createFlyFloor() self:teleportTo(pos) pos:sendMagicEffect(CONST_ME_TELEPORT) return true end return false else self:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You are not flying.") end end Alguém consegue me ajudar?
  7. lorenzo2014 postou uma resposta no tópico em Formação de Equipe
    fecha
  8. lorenzo2014 postou uma resposta no tópico em Suporte & Pedidos
    .
  9. Lançamento Pokemon Uncharted BETA. Estamos recrutando para os seguintes cargos: - Mapper - Scripter - Spriter Interessados enviar email para [email protected] com as seguintes informações Cargo: Tempo disponível: Tempo de experiência: Contato: Se quiser entrar no game e ver como esta, abaixo esta nosso site. https://www.pounc.net
  10. Boa tarde, Estou criando um código para pokemon, source TFS 0.3.6. Quando o player der trade com uma pokeball com attributo "boost" ao dar look na janela de trade aparecer o boost do pokemon, porém tenho alguns problemas, algúem pode me ajudar? std::string value; if(item->getIntegerAttribute("boost") > 0) ss << ", Boost: [" << (item->getIntegerAttribute("boost", value)) << "]"; ss << "."; Erros ao compilar note \itemattributes.h:89 candidates are: const int32_t* ItemAttributes::getIntegerAttribute(const std::string&) const \game.cpp no matching function for call to 'Item::getIntegerAttribute(const char [6], std::string&)'
  11. @topic Você Adicionou exhaust ao comprar/vender items Pode me dizer qual parte vc fez isso? queria adicionar no meu servidor
  12. Boa tarde pessoal Tenho um servidor com source TFS 0.3.6 Descobri 2 problemas que podem lagar e derrubar o servidor, para resolver precisa: Adicionar um delay nos comandos das casas Adicionar um delay para trocar outfit Utilizando o elfbot é possível derrubar o servidor. Alguém pode me ajudar?
  13. Tem alguma maneira de identifica-lo?
  14. Esse bug exite no TFS 0.3.6? Já deparei com mensagens Erro: [Error - MoveEvent::executeStep] Call stack overflor E bump servidor fechava!
  15. Talvez disponibilize sim!
  16. Boa noite, pessoal, depois de algum trabalho enfim terminei o SHOP Gesior e queria compartilhar o Show Off com vocês. Imagens: Pode ser visto no meu servidor: danera-global.com site: http://danera-global.com/?subtopic=shopsystem SHOP ITEM: SHOP MOUNT: SHOP ADDONS: SHOP GERAL:
  17. lorenzo2014 postou uma resposta no tópico em Suporte Tibia OTServer
    Boa noite, gostaria de saber se alguém tem um sistema de antidupe( verifica se o item é clonado e deleta ao iniciar o server) para TFS 1.2?
  18. Amigo, seu personagem, está em algum clan, se sim, poste aqui o npc de clan e a lib clansystem.lua
  19. Dessa forma, todos players sem premium serão teleportados quando logarem, seria preciso verificar uma storage, assim não haveria este problema.
  20. lorenzo2014 postou uma resposta no tópico em Suporte Tibia OTServer
    Tem como sim amigo, você apenas irá redirecionar seu ip numérico para seu domínio.
  21. @Orochi Elf, se você não conhece o que é uma pessoa que trabalha com Otclient, ai não posso fazer nada, aqui é uma área para recrutar membros, se você sente ameaçado por mais um server estar sendo criado e o seu não sair do papel, desculpe, mas acho que comentários como os seus não são bem vindos! Se você estudou inglês, talvez saberia do que se trata!
  22. Funcionando perfeitamente!
  23. lorenzo2014 postou uma resposta no tópico em Suporte Tibia OTServer
    Boa tarde, estou criando um NPC duel para pokemon, Rocket, esta tudo funcionando, porém para ele iniciar o duel, é preciso falar hi, duel, yes. Eu gostaria que quando o player (que tem a storage 123456) se aproximasse 5 sqm de distancia do npc, ele iniciasse o duel. Segue o script do npc. local focus = 0 local max_distance = 4 local talk_start = 0 local conv = 0 local fighting = false local challenger = 0 local pokeNpc = nil local pokeChalenger = nil local afk_limit_time = 15 -- seconds local afk_time = 0 -- don't change local battle_turn = 0 -- don't change local challenger_turn = 0 -- don't change local function doSummonGymPokemon(npc) battle_turn = battle_turn + 1 local this = npc if #getCreatureSummons(this) >= 1 or focus == 0 then return true end local it = wildRocket[math.random(1, 5)][battle_turn] pokeNpc = doSummonCreature(it.name, getThingPos(this)) local summon = getCreatureSummons(this)[1] local balleffect = pokeballs["normal"].effect if it.ball and pokeballs[it.ball] then balleffect = pokeballs[it.ball].effect end doSendMagicEffect(getThingPos(pokeNpc), balleffect) setPlayerStorageValue(pokeNpc, 990, this) setPlayerStorageValue(pokeNpc, 991, "battle") setPlayerStorageValue(this, 990, 1) addEvent(adjustWildPoke, 15, pokeNpc, it.optionalLevel) mgo = gobackmsgs[math.random(1, #gobackmsgs)].go:gsub("doka", it.name) doCreatureSay(this, mgo, 1) fighting = true end local function doWinDuel(cid, npc) local outfit = getCreatureOutfit(getThis()) local this = npc ---------------------------------------- if outfit.lookType == 605 then --verifica se o npc eh female.. ;p monster = doCreateMonster("aRocketFemale", getThingPos(this)) doRemoveCreature(this) else monster = doCreateMonster("aRocket", getThingPos(this)) doRemoveCreature(this) end ---------------------------------------- --doCloneOut(monster, outfit) addEvent(beDrunk, 100, monster) addEvent(doSummonGymPokemon, 1000, getThis()) end function onCreatureSay(cid, type, msg) local msg = string.lower(msg) if focus == cid then talk_start = os.clock() end if msgcontains(msg, 'hi') and focus == 0 and getDistanceToCreature(cid) <= 4 then focus = cid talk_start = os.clock() conv = 1 selfSay("Hello "..getCreatureName(cid)..", my name is Surge and I'm Vermilion's Gym Leader. How may I help you?") return true end if isDuelMsg(msg) and conv == 1 and focus == cid then if getPlayerItemCount(cid, gymbadges[getCreatureName(getThis())]) >= 1 then selfSay("You have already won my Thunder Badge, maybe some other day we can fight.") focus = 0 return true end if not hasPokemon(cid) then selfSay("To battle agains't a gym leader you need pokemons.") return true end selfSay("You are challenging me to a battle. It will be a "..#wildRocket.." pokemon limit battle, let's start?") conv = 2 return true end if isConfirmMsg(msg) and conv == 2 and focus == cid then challenger = focus setPlayerStorageValue(cid, 990, 1) setPlayerStorageValue(cid, 999, 1) if #getCreatureSummons(cid) >= 1 then local pk = getCreatureSummons(cid)[1] setPlayerStorageValue(pk, 990, 1) end selfSay("Yea, let's fight!") talk_start = os.clock() setPlayerStorageValue(getThis(), 990, 1) addEvent(doSummonGymPokemon, 5, getThis()) conv = 3 return true end if isNegMsg(msg) and conv == 2 and focus == cid then focus = 0 selfSay("It is better for you to refuse a battle against me!") return true end local function doRemove(npc) local it = wildRocket[math.random(1, 5)][battle_turn] local balleffect = pokeballs["normal"].effect if it.ball and pokeballs[it.ball] then balleffect = pokeballs[it.ball].effect end doSendMagicEffect(getThingPos(pokeNpc), balleffect) doRemoveCreature(pokeNpc) end if msgcontains(msg, 'bye') and focus == cid then selfSay('Bye and do your best trainer!') setPlayerStorageValue(focus, 990, -1) setPlayerStorageValue(focus, 999, -1) if #getCreatureSummons(focus) >= 1 then local pk = getCreatureSummons(focus)[1] setPlayerStorageValue(pk, 990, -1) end doSendMagicEffect(getThingPos(pokeNpc), balleffect) doRemoveCreature(pokeNpc) focus = 0 return true end end local afk_warning = false function checkPoke(player, poke) end function onThink() if focus == 0 then selfTurn(2) fighting = false challenger = 0 challenger_turn = 0 battle_turn = 0 afk_time = 0 afk_warning = false setPlayerStorageValue(getThis(), 990, -1) return true else if not isCreature(focus) then focus = 0 return true end if fighting then talk_start = os.clock() if #getCreatureSummons(challenger) >= 1 then if pokeChalenger == nil then pokeChalenger = getCreatureName(getCreatureSummons(challenger)[1]) afk_time = 0 challenger_turn = challenger_turn + 1 elseif pokeChalenger == getCreatureName(getCreatureSummons(challenger)[1]) then afk_time = 0 else afk_time = 0 challenger_turn = challenger_turn + 1 pokeChalenger = getCreatureName(getCreatureSummons(challenger)[1]) end else afk_time = afk_time + 0.5 end if afk_time > afk_limit_time then setPlayerStorageValue(focus, 990, -1) setPlayerStorageValue(focus, 999, -1) doRemoveCreature(pokeNpc) focus = 0 selfSay("I have waited too long, come back when you are ready!") return true end if not afk_warning and afk_time > afk_limit_time / 2 then selfSay("Where's your pokemon? Let's fight!") afk_warning = true end if getPlayerStorageValue(getThis(), 990) == -1 then if battle_turn >= #wildRocket then addEvent(doWinDuel, 1000, focus, getThis()) addEvent(doCreateNpc, 300000, ".aRocket", getThingPos(getThis())) setPlayerStorageValue(focus, 990, -1) focus = 0 return true end setPlayerStorageValue(getThis(), 990, 1) addEvent(doSummonGymPokemon, 1000, getThis()) end if challenger_turn >= 7 or challenger_turn > #wildRocket then selfSay("You lost our duel! Maybe some other time you'll defeat me.") setPlayerStorageValue(focus, 990, -1) focus = 0 return true end end local npcpos = getThingPos(getThis()) local focpos = getThingPos(focus) if npcpos.z ~= focpos.z then setPlayerStorageValue(focus, 990, -1) focus = 0 selfSay("Bye then.") return true end if (os.clock() - talk_start) > 30 then selfSay("Good bye and keep training!") setPlayerStorageValue(focus, 990, -1) focus = 0 end if getDistanceToCreature(focus) > max_distance then setPlayerStorageValue(focus, 990, -1) setPlayerStorageValue(focus, 999, -1) if #getCreatureSummons(focus) >= 1 then local pk = getCreatureSummons(focus)[1] setPlayerStorageValue(pk, 990, -1) end doRemoveCreature(pokeNpc) focus = 0 selfSay("You were strong enough to win this battle!") return true end local dir = doRedirectDirection(getDirectionTo(npcpos, focpos)) selfTurn(dir) end return true end ninguém?

Informação Importante

Confirmação de Termo