Ir para conteúdo

OWeen

Membro
  • Registro em

  • Última visita

Tudo que OWeen postou

  1. pokemon.lua pokemon.otmod pokemon.otui
  2. No SQLSTUDIO um programa que parece uma pena
  3. Control_T.bmp
  4. Alguém tem ou sabe como adicionar um Smeargle System que pegue 100% no DarkXPoke? O que tenho aqui até pega mas as habilidades que o Smeargle copia não causam dano... Quem tiver.... Agradeço!!!
  5. então eu dei uma adaptada mas n mudou muita coisa, eu estava com o mesmo erro com o Elemtental Hands do Hitmonchan a Skill não estava causando dano descobri que o problema era nas funçoes mas no caso do Smeargle mesmo eu alterando não esta pegando '-'
  6. Sim ja esta tudo la configuradinho só a skill que não esta causando dano mesmo
  7. Então essa ai ta na pasta LIB do server o arquivo chama DUEL SYSTEM.... como eu configuro no creaturescript? o evento onkill?
  8. Então galera!! Seguinte o erro aqui é quando você derrota o pokemon do cara que esta duelando com você ele não conta Tipo você derrota o pokemon mas não aparece a mensagem POKEDOWN! como se eu não tivesse derrotado o poke isso vale se ele derrotar também o seu ja tentei mudar muitas coisas aqui e não consegui a solução!!! --lose, deslogar, render e perder por tempo duelTable = { targetName = 55000, pokeballsCount = 55001, giveUP = 55002, infoBalls = 55003, wins = 55004, loses = 55005, isInDuel = 55006, timeToPuch = 60, acceptedDuel = 55007 } function alertToPuchPokeball(p1, lose) if not isCreature(p1) then return true end if not lose then doSendMsg(p1, "Você tem 1 minuto para puxar um pokemon ou perderar o duelo.") addEvent(alertToPuchPokeball, duelTable.timeToPuch * 1000, p1, true) else if #getCreatureSummons(p1) <= 0 then local p2 = getPlayerByName(getPlayerAdvers(p1)) doWin(p2) doLoser(p1) doSendMsg(p2, "O jogador " .. getCreatureName(p1) .. ", expirou o tempo de espera do duelo e você ganhou.") end end end function checkGiveUp(cid) if getPlayerStorageValue(cid, duelTable.giveUP) >= 1 and getCreatureSkullType(cid) == SKULL_WHITE then --- player 1 desistiu/puxou poke/ poke morreu antes comecar o duel local p2 = getPlayerByName(getPlayerAdvers(cid)) doWin(p2) doGiveUP(cid) end end function isInDuel(p1) if not isCreature(p1) then return true end if getPlayerStorageValue(p1, duelTable.isInDuel) >= 1 then return true end return false end function CanAttackerInDuel(p1, p2) if not isCreature(p1) or not isCreature(p2) then return true end if getPlayerStorageValue(p1, duelTable.isInDuel) >= 1 and getPlayerAdvers(p1) == getCreatureName(p2) and getPlayerAdvers(p2) == getCreatureName(p1) then return true end return false end function CanAttackerInFree(p1, p2) if not isCreature(p1) or not isCreature(p2) then return true end if getPlayerStorageValue(p1, 321321) >= 1 and getPlayerStorageValue(p2, 321321) >= 1 then return true end return false end function doRemoveCountPokemon(p1) if not isCreature(p1) then return true end setPlayerStorageValue(p1, duelTable.pokeballsCount, getPlayerStorageValue(p1, duelTable.pokeballsCount) -1) doSendAnimatedText(getThingPos(p1), "POKEDOWN!", 215) -- corzinha if getPokemonsCount(p1) == 0 then local p2 = getPlayerByName(getPlayerAdvers(p1)) doWin(p2) doLoser(p1) doLoogoutInDuel(p1) else alertToPuchPokeball(p1, false) end end function doLoogoutInDuel(p1) if not isCreature(p1) then return true end local p2 = getPlayerByName(getPlayerAdvers(p1)) doEreaseDuel(p1) if not p2 then return true elseif not isInDuel(p1) and isCreature(p2) then doEreaseDuel(p2) end if getCreatureSkullType(p1) == SKULL_WHITE then doWin(p2) doGiveUP(p1) end end function doWin(p1) if not isCreature(p1) then return true end doSendAnimatedText(getThingPos(p1), "WIN!", 215) setPlayerStorageValue(p2, duelTable.wins, getPlayerStorageValue(p1, duelTable.wins) +1) doSendMsg(p1, "Voce ganhou o duelo.") doEreaseDuel(p1) end function doGiveUP(p1) if not isCreature(p1) then return true end doSendAnimatedText(getThingPos(p1), "GIVE UP!", COLOR_WATER) setPlayerStorageValue(p1, duelTable.loses, getPlayerStorageValue(p1, duelTable.loses) +1) doSendMsg(p1, "Voce desistiu o duelo.") doEreaseDuel(p1) end function doLoser(p1) if not isCreature(p1) then return true end doSendAnimatedText(getThingPos(p1), "LOSER!", 180) setPlayerStorageValue(p1, duelTable.loses, getPlayerStorageValue(p1, duelTable.loses) +1) doSendMsg(p1, "Voce perdeu o duelo.") doEreaseDuel(p1) end function getPokemonsCount(p1) return getPlayerStorageValue(p1, duelTable.pokeballsCount) end function getPlayerAdvers(cid) return getPlayerStorageValue(cid, duelTable.targetName) end function doIniteDuel(p1, p2, pokeballsCount) -- checar as pokebolas if not isCreature(p1) or not isCreature(p2) then return true end if #getLivePokeballs(p1, getPlayerSlotItem(p1, 3).uid, true) < pokeballsCount then doSendMsg(p1, "Você não tem a quantidade de pokemon exigida para este duelo.") return true end if #getCreatureSummons(p1) <= 0 then doSendMsg(p1, "Puxe um pokemon para invitar o jogador (" .. getCreatureName(p2) .. ").") return true end if getCreatureSkullType(p1) == SKULL_WHITE then doSendMsg(p1, "Você já está em um duel.") return true elseif getCreatureSkullType(p1) == 1 then doSendMsg(p1, "Você já convidou um player. Aguarde a reposta dele.") return true elseif getCreatureSkullType(p1) == 2 then doSendMsg(p1, "Você já foi convidou para um duel.") return true end if getCreatureSkullType(p2) == SKULL_WHITE then doSendMsg(p1, "Este player já está em um duel.") return true elseif getCreatureSkullType(p2) == 1 then doSendMsg(p1, "Este player está convidando um player para duel.") return true elseif getCreatureSkullType(p2) == 2 then doSendMsg(p1, "Este player já foi convidando para um duel.") return true end if getTileInfo(getThingPos(getCreatureSummons(p1)[1])).protection then doSendMsg(p1, "Retire seu pokemon da pz para convidar alguem para o duel.") return true end if getTileInfo(getThingPos(p1)).protection then doSendMsg(p1, "Saia da pz para convidar alguem para o duel.") return true end if getDistanceBetween(getThingPos(p2), getThingPos(p1)) > 3 then doSendMsg(p1, "Chegue mais perto de seu adversário.") return true end setPlayerStorageValue(p1, duelTable.targetName, getPlayerName(p2)) setPlayerStorageValue(p1, duelTable.infoBalls, pokeballsCount) setPlayerStorageValue(p2, duelTable.targetName, getPlayerName(p1)) local balls = pokeballsCount .. " pokeball" .. (pokeballsCount > 1 and "s" or "") doCreatureSetSkullType(p1, 1) doCreatureSetSkullType(p2, 2) doSendMsg(p1, "O jogador (" .. getCreatureName(p2) .. ") foi convidado para o duelo de ".. balls ..". Aguarde a resposta.") doSendMsg(p2, "O jogador (" .. getCreatureName(p1) .. ") lhe convidou para um duelo de ".. balls ..".") doSendMsg(p2, "Você tem 15 segundos para aceitar o duelo.") end function isInvitedDuel(p1, p2) if not isCreature(p1) or not isCreature(p2) then return true end if getPlayerAdvers(p1) == getCreatureName(p2) then return true end return false end function acceptDuel(p1, p2, pokeballsCount) if not isCreature(p1) or not isCreature(p2) then return true end if #getLivePokeballs(p1, getPlayerSlotItem(p1, 3).uid, true) < pokeballsCount then doSendMsg(p1, "Você não tem a quantidade de pokemon exigida para este duelo.") doNotAcceotedDuel(p1, p2) return true elseif #getLivePokeballs(p2, getPlayerSlotItem(p2, 3).uid, true) < pokeballsCount then doSendMsg(p2, "Você não tem a quantidade de pokemon exigida para este duelo.") doNotAcceotedDuel(p2, p1) return true end if #getCreatureSummons(p1) <= 0 then doNotAcceotedDuel(p1, p2) return true elseif #getCreatureSummons(p2) <= 0 then doNotAcceotedDuel(p2, p1) return true end setPlayerStorageValue(p1, duelTable.pokeballsCount, pokeballsCount) -- quantidade de pokeballs setPlayerStorageValue(p2, duelTable.pokeballsCount, pokeballsCount) -- quantidade de pokeballs setPlayerStorageValue(p1, duelTable.isInDuel, 1) -- quantidade de pokeballs setPlayerStorageValue(p2, duelTable.isInDuel, 1) -- quantidade de pokeballs doSendAnimatedText(getThingPos(p1), "START!", 215) doSendAnimatedText(getThingPos(p2), "START!", 215) setPlayerStorageValue(p1, duelTable.giveUP, 0) setPlayerStorageValue(p2, duelTable.giveUP, 0) end function doPantinNoDuel(p1, p2, pokeballsCount, count) if not isCreature(p1) or not isCreature(p2) then return true end if not isInvitedDuel(p1, p2) then return true end if #getLivePokeballs(p1, getPlayerSlotItem(p1, 3).uid, true) < pokeballsCount then doSendMsg(p1, "Você não tem a quantidade de pokemon exigida para este duelo.") return true end if getCreatureSkullType(p1) ~= SKULL_WHITE and #getCreatureSummons(p1) <= 0 then doSendMsg(p1, "Puxe um pokemon para aceitar o jogador (" .. getCreatureName(p2) .. ").") return true end if getTileInfo(getThingPos(p1)).protection then doSendMsg(p1, "Saia da pz para convidar alguem para o duel.") return true end if getTileInfo(getThingPos(getCreatureSummons(p1)[1])).protection then doSendMsg(p1, "Retire seu pokemon da pz para aceitar este duel.") return true end if getDistanceBetween(getThingPos(p2), getThingPos(p1)) > 3 then doSendMsg(p1, "Chege mais perto de seu adversário.") return true end if count == 0 then acceptDuel(p1, p2, pokeballsCount) return true end setPlayerStorageValue(p1, duelTable.acceptedDuel, 1) setPlayerStorageValue(p2, duelTable.acceptedDuel, 1) doSendAnimatedText(getThingPos(p1), count.."!", 215) doSendAnimatedText(getThingPos(p2), count.."!", 215) setPlayerStorageValue(p1, duelTable.giveUP, 1) setPlayerStorageValue(p2, duelTable.giveUP, 1) addEvent(doPantinNoDuel, 1000, p1, p2, pokeballsCount, count-1) doCreatureSetSkullType(p1, SKULL_WHITE) doCreatureSetSkullType(p2, SKULL_WHITE) end function doNotAcceotedDuel(p1, p2) if not isCreature(p1) or not isCreature(p2) then return true end --if getPlayerStorageValue(p1, duelTable.acceptedDuel) == 0 or getPlayerStorageValue(p2, duelTable.acceptedDuel) == 0 then return true end -- caso o duelo acabe antes dacontagem de tempo de por poke pra fora if getPlayerStorageValue(p1, duelTable.acceptedDuel) >= 1 and getPlayerStorageValue(p2, duelTable.acceptedDuel) >= 1 then return true end if getCreatureSkullType(p1) ~= 1 then return true end doEreaseDuel(p1) doEreaseDuel(p2) doSendMsg(p1, "O player (" .. getCreatureName(p2) .. ") não aceitou o duelo.") doSendMsg(p2, "Duelo cancelado.") doCreatureSetSkullType(p1, 0) doCreatureSetSkullType(p2, 0) end function doEreaseDuel(p1) setPlayerStorageValue(p1, duelTable.acceptedDuel, 0) setPlayerStorageValue(p1, duelTable.pokeballsCount, 0) -- quantidade de pokeballs setPlayerStorageValue(p1, duelTable.targetName, 0) -- quantidade de pokeballs setPlayerStorageValue(p1, duelTable.giveUP, 0) setPlayerStorageValue(p1, duelTable.isInDuel, 0) doCreatureSetSkullType(p1, SKULL_NONE) doCreatureSetSkullType(p1, SKULL_NONE) end
  9. Sim é na source... provavelmente quando a fizeram esqueceram de configurar os basicos e quanto ao seu erro provavelmente voce esta esquecendo de trocar o ID voce tem que ver o ID do seu player no caso tem que olhar qual é o numero do seu char o numero 1 normalmente é o account manager... queria te ajudar no skype mas o PC aki é muito fraquinho qualquer coisa ele trava ai complica
  10. Então o DXP tem um bug nos itens que ainda não descobri como resolver ele não da ao player o pack de itens inicias Isso que te ensinei é uma maneira de colocar os itens manualmente se quiser add novos players voce vai ter que colocar os itens na conta dele, em outras palavras voce vai ter que repetir o processo todo e no numero do ID voce coloca o numero que esta la na aba Players é o mesmo processo que voce fez para add para seu char a única mudança e que voce vai mudar o player id
  11. o mudar o numero do account ID por exemplo o Account Mannager é 1 e provavelmente sua acc account 2 para outro player só refazer o processo e mudar o numero da account ID q ja era
  12. Nn dizia a area do post hehe a talkaction eu ja muidei e funfou perfeito VLW a ajuda mano
  13. Eu fiquei em duvida sobre onde colocar isso... MB
  14. então seguinte ele não dá ao player os itens iniciais devido a um erro para abrir o inventario voce tem que abrir o SQL STudio abrir o arquivo SQL do servidor procurar na opção Player_item e add os itens inicias manualmente Abra o Editor de account va em DATABASE ADD DATABASE Clique numa pastinha na lateral da barra branca na aba de ADD DATABASE selecione o arquivo SQL do seu servidor depois vai em DATABASE Connect Va em Tables Procure player_itens va em data na aba que abriu e add os codigos la ID - SID - PID - Item - Count 1 101 1 2120 1 1 102 2 2580 1 1 103 3 1987 1 1 104 4 2550 1 1 105 5 1988 1 1 106 6 2382 1 1 107 7 11989 1 as ID dos itens Iniciais são essas está sem o poke.info OBS: Você abre a opção e vai em DATA ID = Player ID Para saber qual é a ID do seu char basta olhar em players e depois DATA na segunda linha vai ter ID é só olhar o numero que esta antes do nome do seu char SID = é a ordem do numero deixe como está PID = é em qual parte do SET Item que esta por exemplo cabeça, pé, mão... Aconselho a colocar o numero que deixei... Item = é a ID do item que vai estar no local marcado no PID, as que deixei aí são o KIT Inicial Count = quantidade daquele item, tambem aconselho deixar os que marquei Apos colocar esse itens tem 2 passos a se completar 1° - Em ATRIBUTES não pode ser NULL, para arrumar basta dar um duplo clique con o botão esquerdo que ele ira abrir uma aba, simplesmente desmarque a opção NULL 2° - Você precisa salvar as alterações, ao lado do sinal de +, voce ira achar um V e um X Onde V salva e X cancela opos fazer isso basta logar sua acc OBS 2 o Char não pode estar logado se não o SQL nao salva as mudanças Espero ter ajudado!! Se não tem o SQL Edittor vou deixar download aki Account_Editor.exe
  15. Então pessoal seguinte... Fiz umas modificações no meus sistema de Cash Check, esta funcionando normal, mas tem um porém, está sendo possível checar o Cash de outros players. E para se usar o comando, você tem que colocar o nome do personagem. O que eu quero é remover isso Exemplo para se usar o comando !q Nick do Player Quero apenas remover isso pra que fique assim: !q E Então mostrar o gold do seu personagem Na imagem eu usei o comando colocando o nome do personagem! Alguém sabe como corrigir? Deixei a Script para que vejam!! Din Check.bmp money.lua
  16. OWeen postou uma resposta no tópico em Suporte Tibia OTServer
    VLW FERA ERA ISSO QUE EU PRECISAVA!!
  17. então amigo no TFS não mostra o erro usa a habilidade normalmente só não causa o dano se fala do sistema usado foi este
  18. Então... seguinte estou com o system do Smeargle System do PXG esta funcionando perfeitamente exceto em uma coisa, ao usar as habilidades que selecionei elas não causam dano nenhum no alvo... Skills que copiei: Restore Psy Pulse Electric Storm Sing Healarea Psyusion Meteor Mash Draco Meteor São essas as skills nenhuma delas causa dano... As unicas que estão funcionando são: Restore --> Esta curando normal Sing ---> Esta colocando pra dormir Healarea ---> Esta curando normal Acabei de descobrir que o mesmo problema acontece na Skill Metronome como ambas são ligadas acredito que se resolver o metronome o Sketch ira funcionar.
  19. OWeen postou uma resposta no tópico em Suporte Tibia OTServer
    como eu faço para adicionar os novos itens que eu criei? eu criei itens novos suas sprites ja estão colocadas mas não sei a ID correta do item. Ex: Dollar Note 2160---> essa a id no xml no item que eu criei se eu colocar o id que da na spr esta errado... to confuso e acho que deixei o topico confuso tambem eu quero saber como eu coloco o ID correto no item.xml
  20. OWeen postou uma resposta no tópico em Suporte OTServer Derivados
    Alguém tem as sprites do PXG descompilada na ultima versão? se tiver pode me enviar pra que eu finalize meu projeto!!
  21. Galera seguinte.... eu estou com um client aqui que nao aceita as sprites que eu modifiquei, nao sei se e formato ou algo do tipo, caso eu altere as sprites com o dat do client ele buga tudo e como se embaralhasse os efeitos e imagens o servidor e o PokeEvolution que possue como base o DarkXPoke eu amei o client e tudo que ha nele. Caso eu use o client descompilado as alteraçoes funcuionam normal mas esta com alguns erros como por exemplo nao aparece a funçao de expshare e leave party ja tentei trocar na pasta game Interface mas nao muda em nd pelo contrario so piora HELP-ME Please DESCULPA SE O TOPICO ESTA NA AREA ERRADA SOU MUITO NOVATO AQUI
  22. valeu manoo deu certinho aqui
  23. Ja entrei em varios topicos mas todos estao com o link quebrado ou da erro alguem me ajuda ai com o RME preciso para editar meu ot de Poke
  24. Mano ótimo mas estou com um problema... quando vou pegar o cadáver aparece a seguinte mensagem "You cannot use this object" e no meu TFS é o 0.3.6 se eu deixar assim ["[Edo Tensei] Madara] = {hp = 50000, maxhp = 50000, corpse = 2936, chance = 100}, ["[Edo Tensei] Sasuke] = {hp = 50000, maxhp = 50000, corpse = 2806, chance = 100}, ["[Edo Tensei] Deidara] = {hp = 50000, maxhp = 50000, corpse = 2879, chance = 100} Ocorre um erro aparece está mensagem [13/01/2017 11:57:52] [Error - LuaScriptInterface::loadFile] data/actions/scripts/edocatch.lua:3: unfinished string near '"[Edo Tensei] Madara] = {hp = 50000, maxhp = 50000, corpse = 2936, chance = 100},' [13/01/2017 11:57:52] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/edocatch.lua) [13/01/2017 11:57:52] data/actions/scripts/edocatch.lua:3: unfinished string near '"[Edo Tensei] Madara] = {hp = 50000, maxhp = 50000, corpse = 2936, chance = 100},' O que me recomenda fazer?

Informação Importante

Confirmação de Termo