Ir para conteúdo

lazarocp

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Vc configuro ele pra rodar dat e spr extendido? se não fassa isso:
    1. Abra o arquivo things.lua encontrado em modules/game_things
    2. Adicione esta linha de código na função load:
    function load()
      local version = g_game.getClientVersion()
     
      g_game.enableFeature(GameSpritesU32) -- Linha Adicionada
     
      local datPath, sprPath
     
    Pronto salve o arquivo e tente entrar se ajudei da um +rep asuhaush
  2. Curtir
    Vc configuro ele pra rodar dat e spr extendido? se não fassa isso:
    1. Abra o arquivo things.lua encontrado em modules/game_things
    2. Adicione esta linha de código na função load:
    function load()
      local version = g_game.getClientVersion()
     
      g_game.enableFeature(GameSpritesU32) -- Linha Adicionada
     
      local datPath, sprPath
     
    Pronto salve o arquivo e tente entrar se ajudei da um +rep asuhaush
  3. Curtir
    lazarocp recebeu reputação de EddyHavoc em Servidor sql   
    Uma dica para otimizar seu trabalho com os xmls :
     
    Baixe o Notepad ++
     

     
    vá em arquivo e clique em "Open Folder as Workspace"
    e selecione a pasta onde eles estão.

    Aqui eu selecionei a pasta do servidor como exemplo.
  4. Gostei
    lazarocp recebeu reputação de ScpEd em Poketibia 9.60 by lazarocp   
    removido
  5. Obrigado
    lazarocp deu reputação a Bruno Carvalho em Reestruturação do Fórum   
    Olá membros do TibiaKing, realizamos diversos updates em nossa comunidade para torna-la um lugar ainda melhor para vocês usuários que aqui habitam. Este já é o segundo grande update do mês e vamos ao que interessa!
     
    MUDANÇA ESTRUTURAL
    Já faz alguns anos que não tivemos uma reestruturação global em nossa comunidade. E desta vez ela foi feita junto aos membros em uma reunião aberta feita em nosso grupo no discord.
     
    Mudanças Significativas
    Nomenclaturas Normal e Derivado passou a ser Tibia Clássico e Tibia Alternativo; A área de suporte possui um modelo de tópico a ser seguido (se o membro quiser); A Categoria Tibia King passou a se chamar Comunidade; Regras da Comunidade passou a se chamar Regras; Todo o conteúdo de Notícias foi passado para o Portal e agora tem-se prefixos para separar os temas; Atendimento Geral deixou de ser um fórum e passou a ser uma Categoria; Apresentação foi excluída; O conteúdo de Atendimento Geral foi movido para Ouvidoria e o conteúdo de Ouvidoria foi movido para Ouvidoria Privada; Criamos o fórum comércio onde os membros que tem anúncios em classificados podem criar posts (não ativo até a publicação da notícia) e temos a Lista Negra do Comércio; Criamos uma área privada onde os membros podem Denunciar fraudes no comércio; O redirecionamento para os clubes passou a estar em comunidade; A categoria OTServ passou a se chamar OTServer O fórum Geral passou a se chamar Discussão e abrange todos os meios de discussão envolvendo otservs; O fórum Geral passou a ter uma organização via prefixos (opcional); O fórum pedidos foi mesclado com o fórum Suporte; Ao invés de separar a área de suporte em seu tipo ela foi separada em Clássico e Alternativo; Os prefixos agora são para definir o tipo de suporte requerido; A categoria Aprendizagem passou a se chamar Tutorial; Todos os fóruns de tutoriais de diversas áreas de otservs foram movidos para esta categoria; Os fóruns Tutoriais de Script e Tutoriais de Programação foram mesclados em Códigos; Os fóruns de Linux em Open Tibia e Internet Compartilhada foram mesclados com Infraestrutura; Outros Tutoriais passou a se chamar Diversos; Os fóruns Normal e Derivado em Downloads passou a ter a nomenclatura adequada; Os fóruns de Tibia Alternativo passaram e ter prefixos de alguns servidores ATS comuns; Foi criado o fórum Desenvolvimento de Códigos; Todos o conteúdo envolvendo Script, Web e Programação passou a integrar desenvolvimento de códigos; O fórum é divido em Clássico e Alternativo; O conteúdo é organizado por meio de prefixos; Foi criado o fórum Concursos e Eventos; Todo o conteúdo de Concursos e Eventos de outras categorias passaram a integrar esta; As categorias de áreas específicas em OTServer foi excluída; A categoria Tibia Geral passou a ser um Clube; Tibia BOTS voltou a ser uma caregoria; Geral passou a se chamar discussão; Tudo nas categorias de Centro de Criação e Diversos passou a ser um clube; A categoria Clubes da Comunidade foi criada; Clubes da Comunidade contém os clubes mais importantes do fórum;  
    Esperamos que a nova estrutura seja mais amigável aos novos membros e traga menos confusões.
     
    ATUALIZAÇÃO DAS REGRAS GERAIS
    Tivemos algumas pequenas mudanças nas Regras Gerais, pois agora temos uma Lista Negra do Comércio e os membros podem fazer anúncios de áreas de comércio na sua assinatura.
     
    Regra 4.10. Comércio foi atualizada; 5.1. Vendas sofreu alterações.  
    Você também pode fazer a leitura novamente com o link abaixo.
    http://www.tibiaking.com/forum/forums/topic/1281-regras-gerais-do-tibiaking/
     
    Pequenas mudanças e considerações
    Além de tudo isso que já citamos, vários plugins e sistemas de nossa comunidade foram atualizados, fixamos muitos problemas que o fórum vinha apresentando, muitas mudanças vocês talvez nem irão notar (ou irão, navegando em nosso site) e realizamos diversas outras correções.
    Uma das mudanças significativas é que o tempo de espera para poder fazer uma nova busca passou a ser 10 segundos.
     
    Bom pessoal, por enquanto é isso esperamos que gostem das novidades e caso tenha alguma crítica, sugestão ou até mesmo encontre algum tipo de problema, por favor nos relate neste mesmo tópico ou entre em contato com nossa equipe que iremos resolve-lo o mais rápido possível.
     
    Atenciosamente,
    Equipe TibiaKing.
     
     
  6. Gostei
    lazarocp deu reputação a Nazo em Áreas sobre databases SQL   
    Buenas TK!
     
    Então, notei que não há áreas sobre banco de dados no fórum, coisa que é muito importante na estrutura dos servidores em geral, e que é vista como tabu ou monstro de 7 cabeças por pessoas com desconhecimento sobre (pelo menos quando eu era desinformado sobre, via como o capeta algo monstruoso).
     
    Então quero sugerir novas áreas relacionadas, tanto como tutoriais, suporte, etc.
  7. Curtir
    lazarocp recebeu reputação de otfacil em [TFS 1.2 10.99 - 11.00] LIMPO   
    Conseguir compilar em x64 apenas.
    theforgottenserver_x64.zip
  8. Curtir
    lazarocp deu reputação a EddyHavoc em [Como fazer] Modal Window TFS 1.0+   
    Funciona apenas para TFS 1.0+ e Tibia 9.7 em diante.
    Tutorial feito por Evans, traduzido e adaptado por EddyHavoc.
     
    A funcionalidade ModalWindow te permite adicionar botões, entradas de escolha e textos.
    Pode ser usada para diversas coisas, para diferentes funcionalidades, tudo que precisa é conhecimento e criatividade.

    funções do ModalWindow

    Neste tutorial não iremos nos aprofundas, mas terá exemplos de como utilizar.

    Escolhendo seu tapete gratuitamente! 



    Neste exemplo precisa de algo para acionar o script, ou seja um actionscript.
    Neste exemplo, foi usado um item simples. Você pode fazê-lo de qualquer outra maneira, isso é puramente por exemplo. 

    Construindo a janela modal e enviando para o jogador:


    ModalWindow: sendToPlayer () envia apenas a janela, quando a janela for atendida (pressione o botão, etc.) o evento onModalWindow () em CriatureScripts será acionado! 
    Tenha em mente que o jogador deve ter o evento registrado antes de enviar o ModalWindow! 

    CreatureEvent onModalWindow (): 



    Resumo
    Você deve registrar a ModalWindow como um CreatureEvent antes de enviá-la para o jogador ou então o jogador não receberá nada Você deve cancelar o registro da ModalWindow em CreatureEvent quando o jogador recebe. Dessa forma, o jogador pode receber a janela modal de forma limpa e apropriada novamente no futuro As janelas, botões e escolhas possuem IDs que você precisa definir. Isso permitirá que você verifique qual Modal Window, qual botão, que escolha o jogador selecionou em onModalWindow () Botões e escolhas são todos opcionais. Você pode ter uma Modal Window que tenha apenas botões. Você pode até ter 4 botões em vez de 2 (4 é o máximo embora). É bastante flexível. O setDefaultEnter / EscapeButton (id) leva apenas 1 parâmetro, o id do botão setDefaultEnterButton disparado ao clicar duas vezes ou a tecla Enter pressionada setDefaultEscapeButton ativado quando a tecla Escape pressionada Seja criativo! As ModalWindow abriram muitas oportunidades para os desenvolvedores criarem!  
    Código usado nestes exemplos:
    function onUse(player, item, fromPosition, itemEx, toPosition, isHotkey) player:registerEvent("ModalWindow_Tutorial") local title = "Pick your favorite color!" local message = "You get a free tapestry in the color of your choice!" local window = ModalWindow(1000, title, message) window:addButton(100, "Confirm") window:addButton(101, "Cancel") window:addChoice(1, "Red") window:addChoice(2, "Orange") window:addChoice(3, "Yellow") window:addChoice(4, "Green") window:addChoice(5, "Blue") window:addChoice(6, "Purple") window:setDefaultEnterButton(100) window:setDefaultEscapeButton(101) window:sendToPlayer(player) return true end  
    function onModalWindow(player, modalWindowId, buttonId, choiceId) player:unregisterEvent("ModalWindow_Tutorial") local tapestry = {1869, 1866, 1863, 1860, 1872, 1857} if modalWindowId == 1000 then if buttonId == 100 then player:addItem(tapestry[choiceId], 1) end end end  
    Créditos: 
    Evans
    EddyHavoc
  9. Gostei
    lazarocp deu reputação a Guilherme em Mostrando suas Hunts   
    Por: BananaFight > DragonElement
     
    Bom, como acho que todos ja viram o map do servidor de poketibia (Pxg) ele mostra icones, nomes etc no minimap, e hoje vim trazer isso para vocês
    Nome: Map Icon Descrição: Adiciona um icone no minimap Autor: Eduardo Vicente (Banana Fight) Versão 1.0
    Features: Criar Icones no minimap
    Instalação
    dentro de modules/game_minimap/minimap.lua
     
    embaixo de :
     
    function toggle() if minimapButton:isOn() then     minimapWindow:close()     minimapButton:setOn(false) else     minimapWindow:open()     minimapButton:setOn(true) end end Você adiciona a função :
    function setMonsterCave(posx, posy, posz, icon, description) local pos = {} pos.x = posx pos.y = posy pos.z = posz minimapWidget:addFlag(pos, icon, description) end function removeMonsterCave(posx, posy, posz, icon, description) local pos = {} pos.x = posx pos.y = posy pos.z = posz minimapWidget:removeFlag(pos, icon, description) end Como usar
    setMonsterCave(Posição X do map, Posição Y do map,Posição Z do map, "Nome da Imagem", "Descrição que vai aparecer") Obs: como eu usei uma função que já existe você vai te que seguir um padrão na hora de adicionar o nome da sua imagem.
    Exemplo: O nome da minha imagem é "dragonicon.png", para que eu possa usar ela no script eu tenho que adicionar essa imagem dentro da pasta "data/images/game/minimap/", e vou ter que renomear essa imagem para "flagdragonicon.png", Ai depois de ter feito isso dentro do meu script quando eu for fazer o script adicionar essa imagem eu vou fazer da seguinte maneira :
     
    setMonsterCave(32238, 32240, 7, "dragonicon", "Dragon Cave")
     
     
    Se você ainda não entendeu é da seguinte forma, você tem uma imagem com nome "test.png", você vai adiciona a imagem no lugar certo, com o nome "flagtest.png", ai dentro do script você só usa "test", pois o script já sabe que vai ter que juntar flag+nome da imagem que você adicionou+.png.
     
     
    Obs 2: Sua imagem tem que ter o fundo transparente
     
    Obs 3: quando mais transparente for a imagem, mais do map aparece e causa o efeito igual ao do PXG, do map se abrindo.
     
    Exemplo de uso :
     
    arquivo : minimap.lua
    function init() minimapButton = modules.client_topmenu.addRightGameToggleButton('minimapButton', tr('Minimap') .. ' (Ctrl+M)', '/images/topbuttons/minimap', toggle) minimapButton:setOn(true) minimapWindow = g_ui.loadUI('minimap', modules.game_interface.getRightPanel()) minimapWindow:setContentMinimumHeight(64) minimapWidget = minimapWindow:recursiveGetChildById('minimap') local gameRootPanel = modules.game_interface.getRootPanel() g_keyboard.bindKeyPress('Alt+Left', function() minimapWidget:move(1,0) end, gameRootPanel) g_keyboard.bindKeyPress('Alt+Right', function() minimapWidget:move(-1,0) end, gameRootPanel) g_keyboard.bindKeyPress('Alt+Up', function() minimapWidget:move(0,1) end, gameRootPanel) g_keyboard.bindKeyPress('Alt+Down', function() minimapWidget:move(0,-1) end, gameRootPanel) g_keyboard.bindKeyDown('Ctrl+M', toggle) g_keyboard.bindKeyDown('Ctrl+Shift+M', toggleFullMap) minimapWindow:setup() connect(g_game, {     onGameStart = online,     onGameEnd = offline, }) connect(LocalPlayer, {     onPositionChange = updateCameraPosition }) if g_game.isOnline() then     online() setMonsterCave(32239, 32240, 7, "dragon", "hihi") removeMonsterCave(32239, 32240, 7, "dragon", "hihi") end end
  10. Curtir
    lazarocp deu reputação a Medina em - TEMPLATE #01 - Fundo para client Pokemon   
    Olá pessoal, tudo tranquilo?
     
    Hoje deixo para vocês o meu primeiro trabalho feito aqui no tk, um template para fundo de client (Pokemon).
     
    Propriedades do template:

     
    O template como é:

     
    Qualquer duvida é só perguntar que eu vou ajudar
     


     
     
  11. Gostei
    lazarocp deu reputação a Soleister em Removendo o Client Version do OT Client   
    Olá jovens, vi que muitos estavam se sentindo incomodados por esse pequeno detalhe do OTC, então hoje lhes trago um pequeno tutorial no qual estarei ensinado como remover aquele pequeno quadradinho que costuma ficar no canto inferior direito do OT Client, segue abaixo uma imagem mostrando de qual quadradinho estou falando.

    Para remover é até que uma coisa que considerei simples depois que descobri, sem mais enrolação vamos começar o tutorial.
     
    Vá na pasta do seu OT Client, em seguida vá em modules>client_background, e abra o background.lua
     
    e remova as seguintes linhas
     
    clientVersionLabel = background:getChildById('clientVersionLabel') clientVersionLabel:setText(g_app.getName() .. ' ' .. g_app.getVersion() .. '\n' .. 'Rev ' .. g_app.getBuildRevision() .. ' ('.. g_app.getBuildCommit() .. ')\n' .. 'Built on ' .. g_app.getBuildDate()) if not g_game.isOnline() then addEvent(function() g_effects.fadeIn(clientVersionLabel, 1500) end) end Antes
     
    Depois
     
    Espero ter ajudado   Abraços.
  12. Gostei
    lazarocp recebeu reputação de luangop em (Resolvido)Parar função   
    Os eventos não estão encontrando a criatura para executá-los , Basta checar se existe um player e retornar falso caso não.
    Exemplo:
     
             if not player then 
              return false
             end
     
    Caso não saiba como funciona : 
     
    addEvent(function(playerid)
            local player = Player(playerid)
            
             if not player then -- verifica player
              return false
             end
     
    end, cid)
     
    Faço a checagem dessa forma  
  13. Gostei
    lazarocp recebeu reputação de WebMaster em Poketibia 9.60 by lazarocp   
    removido
  14. Gostei
    lazarocp recebeu reputação de darkladys em Poketibia 9.60 by lazarocp   
    removido
  15. Gostei
    lazarocp recebeu reputação de ledzem em Poketibia 9.60 by lazarocp   
    removido
  16. Gostei
    lazarocp recebeu reputação de ivangamer em Poketibia 9.60 by lazarocp   
    removido
  17. Gostei
    lazarocp recebeu reputação de LeoLeoB Killer em Poketibia 9.60 by lazarocp   
    removido
  18. Gostei
    lazarocp deu reputação a Kemmlly em Pet System Simples   
    Ha um tempo atrás eu procurei um Pet System bem simples pro meu servidor, e achei um muito bacana.
     
    TFS: 0.4
    Tibia: 8.6
     
    O sistema original foi postado pelo @Luquinha no tópico:
    O script funciona corretamente, eu fiz apenas algumas alterações e queria compartilhar caso vocês tenham as mesmas exigências que eu;
     
    * Ao tentar usar o PET em PZ não da mais erro na distro, sobe um efeito FAILED! no player e manda uma mensagem.
    * Agora cada PET precisa de um storage para ser usado, no meu caso, cada PET tem sua quest individual.
     
    O script modificado:
    function onUse(cid, item, frompos, item2, topos) local dolls = { [11256] = {pet = "Rat"}, [11207] = {pet = "Demon"}, [5791] = {pet = "Dragon"}, } local go = dolls[item.itemid] local summon = getCreatureSummons(cid) --------------------------------------------------- if not (getTilePzInfo(getCreaturePosition(cid))) then if #summon >= 1 then for _, pid in ipairs(summon) do doRemoveCreature(pid) doCreatureSay(cid, ""..go.pet..", Recuar!", TALKTYPE_ORANGE_1) end return true end if item.itemid == 5791 then if getPlayerStorageValue(cid, 6666) == 1 then doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) else doPlayerSendTextMessage(cid, 19, "Voce precisa da quest para usar esse PET!") doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180) end end if item.itemid == 11256 then if getPlayerStorageValue(cid, 4444) == 1 then doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) else doPlayerSendTextMessage(cid, 19, "Voce precisa da quest para usar esse PET!") doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180) end end if item.itemid == 11207 then if getPlayerStorageValue(cid, 4445) == 1 then doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) else doPlayerSendTextMessage(cid, 19, "Voce precisa fazer a quest para usar esse PET!") doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180) end end else doPlayerSendTextMessage(cid, 19, "Voce nao pode sumonar seu PET em Protect Zone!") doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180) return true end end Creditos: @Luquinha @Roksas @Kemmlly
  19. Gostei
    lazarocp recebeu reputação de lucasmourahere em Order System   
    Actions > 
    #getCreatureSummons(cid) == 0 then return true end if getCreatureSpeed(getCreatureSummons(cid)[1]) == 0 then doPlayerSendCancel(cid, "Você não pode pedir o seu pokemon para se mover agora.") return true end if getPlayerStorageValue(getCreatureSummons(cid)[1], 12) == 1 then doPlayerSendCancel(cid, "Você não pode pedir o seu pokemon para se mover agora.") return true end doPlayerSay(cid, ""..getCreatureName(getCreatureSummons(cid)[1])..", move!", 1) doChangeSpeed(getCreatureSummons(cid)[1], -getCreatureSpeed(getCreatureSummons(cid)[1])) setPlayerStorageValue(getCreatureSummons(cid)[1], 12, 1) local function move(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then if getPlayerStorageValue(getCreatureSummons(params.cid)[1], 12) == 0 then return true end if getDistanceBetween(getThingPos(getCreatureSummons(params.cid)[1]), topos) == 0 then if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then local function speeed(params) if isCreature(params.sum) then if getCreatureSpeed(params.sum) == 0 then doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum)) end end end addEvent(speeed, 600, {sum = getCreatureSummons(params.cid)[1]}) end setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0) setPlayerStorageValue(cid, etudao, -1) return true end local dire = getDirectionTo(getThingPos(getCreatureSummons(cid)[1]), params.topos) if dire >= 0 and dire <= 7 then if dire == NORTHWEST then if math.random(1,100) >= 51 then dire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = NORTH else dire = WEST end else dire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = WEST else dire = NORTH end end elseif dire == SOUTHWEST then if math.random(1,100) >= 51 then dire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = SOUTH else dire = WEST end else dire = WEST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = WEST else dire = SOUTH end end elseif dire == SOUTHEAST then if math.random(1,100) >= 51 then dire = SOUTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = SOUTH else dire = EAST end else dire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = EAST else dire = SOUTH end end elseif dire == NORTHEAST then if math.random(1,100) >= 51 then dire = NORTH if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = NORTH else dire = EAST end else dire = EAST if isWalkable(getPosByDir(getThingPos(getCreatureSummons(params.cid)[1]), dire), params.ccid, 0, 0) then dire = EAST else dire = NORTH end end end local dire = dire if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then doChangeSpeed(getCreatureSummons(params.cid)[1], getCreatureBaseSpeed(getCreatureSummons(params.cid)[1])) doPushCreature(getCreatureSummons(params.cid)[1], dire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) else doPushCreature(getCreatureSummons(params.cid)[1], dire, 1, 0) doChangeSpeed(getCreatureSummons(params.cid)[1], -getCreatureSpeed(getCreatureSummons(params.cid)[1])) end end end end end local function voltarnormal(params) if isCreature(params.cid) then if isCreature(getCreatureSummons(params.cid)[1]) then setPlayerStorageValue(cid, etudao, -1) if getCreatureSpeed(getCreatureSummons(params.cid)[1]) == 0 then local function speeed(params) if isCreature(params.sum) then if getCreatureSpeed(params.sum) == 0 then doChangeSpeed(params.sum, getCreatureBaseSpeed(params.sum)) end end end addEvent(speeed, 0, {sum = getCreatureSummons(params.cid)[1]}) end setPlayerStorageValue(getCreatureSummons(params.cid)[1], 12, 0) end end end local pois = getThingPos(item2.uid) local speed = getCreatureBaseSpeed(getCreatureSummons(cid)[1]) local temk = 1000 -(2.3 * speed) local SummonPos = getThingPos(getCreatureSummons(cid)[1]) local travelx = math.abs((topos.x) - (SummonPos.x)) local travely = math.abs((topos.y) - (SummonPos.y)) local travel = ((travelx) + (travely)) addEvent(move, 0, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid}) for i = 1, travel-1 do addEvent(move, temk*i, {cid = cid, ccid = getCreatureSummons(cid)[1], topos = pois, item2 = item2.uid}) end addEvent(voltarnormal, temk*travel, {cid = cid}) exhaustion.set(cid, etudao, travel) return true end Coloca isso na Lib
    function doPushCreature(uid,direction,distance,time) if isCreature(uid) == TRUE then local rand = (2*math.random(0,1))-1 local rand2 = math.random(-1,0) if direction == 0 then signal = {0,rand,-rand,rand,-rand,0,-1,-1,-1,0,0,0} elseif direction == 1 then signal = {1,1,1,0,0,0,0,rand,-rand,rand,-rand,0} elseif direction == 2 then signal = {0,rand,-rand,rand,-rand,0,1,1,1,0,0,0} elseif direction == 3 then signal = {-1,-1,-1,0,0,0,0,rand,-rand,rand,-rand,0} elseif direction == 4 then signal = {-1,rand2,(-rand2)-1,0,1,rand2+1,rand2,0} elseif direction == 5 then signal = {1,-rand2,-((-rand2)-1),0,1,rand2+1,rand2,0} elseif direction == 6 then signal = {-1,rand2,(-rand2)-1,0,-1,(-rand2)-1,rand2,0} else signal = {1,-rand2,-((-rand2)-1),0,-1,(-rand2)-1,rand2,0} end local pos = getThingPos(uid) nsig = #signal nvar = 0 repeat nvar = nvar+1 newpos = {x=pos.x+(signal[nvar]),y=pos.y+(signal[(nsig/2)+nvar]),z=pos.z} newtile = {x=newpos.x,y=newpos.y,z=newpos.z,stackpos=0} until getTileThingByPos(newtile).uid ~= 0 and hasProperty(getTileThingByPos(newtile).uid,3) == FALSE and queryTileAddThing(uid,newpos) == 1 or nvar == (nsig/2) if distance == nil or distance == 1 then doTeleportThing(uid,newpos,TRUE) else distance = distance-1 doTeleportThing(uid,newpos,TRUE) if time ~= nil then addEvent(doPushCreature,time,uid,direction,distance,time) else addEvent(doPushCreature,500,uid,direction,distance,500) end end end end  
  20. Gostei
    lazarocp deu reputação a AkainuGLA em Grand Line Adventures   
    Eai pessoal! Venho mostrar o trailer do jogo Grand Line Adventures, um novo jogo que lança ainda esse ano! Ele tem uma proposta totalmente diferente de qualquer servidor ja criado!
    Animações e som em todos os ataques, vozes do anime e muito mais! Quem quiser acompanhar o projeto, aqui esta o link do facebook: https://www.facebook.com/grandlineadventures/
     
  21. Gostei
    lazarocp deu reputação a Loouis em [8.54]Particle auras (Feitas por mim)   
    Bom dia, Boa tarde, Boa noite galera do tk, não sei que horas vão ver esse topico... Vamos ao que interessa
    Hoje venho divulgar à vocês umas sprites(OBD) de umas particle auras feitas por mim...(8.54)
    Downloads Disponiveis:
    - Magmar: Cor da aura: Vermelho
    - Magmar: Azul
    - Gardevoir Amarelo
    - Electabuzz: Amarelo
    - Scyther: Azul
     
    Download das sprites (Mediafire): http://www.mediafire.com/download/eotkaacjput26rh/Auras.rar
     
     
     

  22. Gostei
    lazarocp deu reputação a Orochi Elf em Catch Window v1.3   
    [MOD] Catch Window v1.3
     
    Bom.. todos conhecem a nova janela, que quando algum jogador captura um pokemon, que nunca capturou antes, abre na tela informando quantas pokebolas (PokeBalls, GreatBalls, SuperBalls e UltraBalls), o jogador gastou para capturar aquele pokemon, e mostra também quanto de experiencia o jogador ganhou por capturar aquele pokemon.
     
    Instalação.
    Por enquanto o PDA, é o único servidor que está adaptada no tópico, se alguém adaptar para outros servidores, e quiser compartilhar, será muito bem vindo. Obrigado
     
    Pokemon Dash Advanced
    Vá na pasta Lib / Catch System.lua, e procure por:
    doAddPokemonInCatchList(cid, poke) E abaixo adicione:
        CW_Count(cid, poke, typeee)     CW_Caught(cid, poke) Agora procure por:
    doIncreaseStatistics(poke, true, false) E abaixo adicione:
    CW_Count(cid, poke, typeee) Agora, vá na pasta Lib / Crie um arquivo chamado "CatchWindow_lib.lua".
    E dentro adicione -> Link Direto (PasteBin) <- Atualizado v1.3 !
     
     
    Agora baixe o arquivo"CatcherWindow.rar", e extrai-a os arquivos dentro da pasta MODS da pasta do OTClient.
     
    Editando...
     
    No arquivo que voce colocou na LIB, tem uma tabela chamada "CW_Pokes", lá voce adiciona os pokemons e os configura.
    ["bulbasaur"] = {DB_Balls = 500001, DB_PK = 900001, ID_Portrait = 11989, P_Experience = 5000}, Legenda:
     
    [NomeDoPokemon] = {DB_Balls = Numero da storage, que irá ficar salvo as balls usadas.
    DB_Pk, Numero da storage, que irá ficar salvo se o pokemon foi capturado ou não.
    ID_Portrait = Item ID do Portrait de cada pokemon
    P_Experience = A quantidade de experiencia que o jogador irá ganhar ao capturar este pokemon.}
     
    Vídeo:
    https://www.youtube.com/watch?v=9ERSelYANFY&feature=youtu.be
     
    Galera, eu estou com uma meta de conseguir 30 rep+ neste tópico, GO!
     
    Créditos: Tony Araújo (OrochiElf) 100%
    catcherWindow.rar
  23. Gostei
    lazarocp deu reputação a jerock em Remakes Pokemon Jeer   
    Moltres 
     

     
    Articuno
     

     
    Zapdos
     

  24. Gostei
    lazarocp deu reputação a Spriter Draiman em Mega Pinsir Sprite   
    Sprite Feita Por min!!
    Notas e Criticas!!
    Frente: http://prntscr.com/b82ush
    Costas: http://prntscr.com/b82uvj
  25. Gostei
    lazarocp deu reputação a Skydangerous em Corona SDK - Programming Android on Lua   
    Plataforma SDK, para criar aplicativos android, e o mais incrível você poderá usar a linguagem LUA.
    Isso ai, para aquelas pessoas que não manjam muito em JAVA, e queira explorar os aplicativos fique a vontade com a plataforma.
    Porém, é pago e até não encontrei seriais para o programa, porém existe uma versão para teste que eu estou utilizando é está funcionando perfeitamente.
    Ahhh, esqueci de dizer.. ela não apenas dá para programar aplicativos android como Ios também , sim para o Iphone.

    Preço: IOS = $199,00 = R$ 376,11
    Android = $199,00 = R$ 376,11





    Desenvolver Aplicativos 10x mais rápido.




    Aumentar dramaticamente a produtividade. Tarefas como animar objetos em OpenGL ou a criação de widgets de interface com o usuário tome apenas uma linha de código, e as mudanças são imediatamente visíveis na Simulator Corona.Você pode testar rapidamente sem longas vezes construímos.




    Mesmo código, várias lojas



    Completa para desenvolvimento em todas as plataformas, versões de sistema operacional e tamanhos de tela. Você pode escrever uma vez e construir para o iOS, Android, Kindle Fogo ou Cor Nook com o toque de um botão - Corona automaticamente dimensionar seu conteúdo através de dispositivo





    Simples e Poderosa Api's



    Fazer uso de recursos avançados usando apenas algumas linhas de código humano-amigável. Por exemplo, você pode implementar física realista em seu jogo com apenas cinco linhas! Corona facilidade de uso é o que permite que os desenvolvedores de indies para grandes estúdios para criar # 1 topo das paradas aplicativos, jogos e livros eletrônicos.




    Criando Experiências Envolventes



    Diga adeus ao bolinho-cortador apps. Quer você esteja criando aplicativos da marca, jogos graficamente ricos, ou livros eletrônicos interativos, Corona oferece tudo que você precisa ir além do ordinário. É fácil tornar seus aplicativos se comportam e exatamente como você quer.


    Corona SDK e Corona construídos aplicativos foram caracterizados em:





    Tutorial by Skydangerous


    Exemplo do Código em Lua que estava montando vendo tutorial:

    --> Add physics engine, start up the engine, and apply gravity local physics = require("physics") physics.start() physics.setGravity(0,9.8) --physics.setDrawMode("hybrid") system.activate("multitouch") --> Hide Status Bar display.setStatusBar(display.HiddenStatusBar) --> Add brackground local background = display.newImage("test.png") --> Add Balloon to stage and position local balloon = display.newImage("test1.png") balloon.x = display.contentWidth/2 physics.addBody(balloon,{bounce = 0.2, radius = 45, friction = 1.0}) --> Add Balloon 2 local balloon2 = display.newImage("test1.png") balloon2.x = balloon.x - 105 physics.addBody(balloon2,{bounce = 0.4 ,radius = 45, friction = 1.0}) --> Add Ballon 3 local balloon3 = display.newImage("test1.png") balloon3.x = balloon.x + 105 physics.addBody(balloon3,{bounce = 0.3, radius = 45, friction = 1.0}) --> Define Walls local leftWall = display.newRect(0,0,1,display.contentHeight) local rightWall = display.newRect(display.contentWidth,0,1,display.contentHeight) local ceiling = display.newRect(0,0,display.contentWidth,1) --> Turn Walls physics.addBody(leftWall,"statics",{bounce = 0.1}) physics.addBody(rightWall,"statics",{bounce = 0.1}) physics.addBody(ceiling,"statics",{bounce = 0.1}) --> Add Floor image and position local floor = display.newImage("test3.png") floor.y = display.contentHeight - floor.stageHeight/2 physics.addBody(floor, "statics", {bounce = 0.0 , friction = 1.0} ) --> Define our Touch event Listener function moveBallon(event) balloon:applyLinearImpulse(0,-0.2,event.x,event.y) end balloon:addEventListener("touch",moveBallon)

Informação Importante

Confirmação de Termo