Ir para conteúdo

Wakon

Héroi
  • Registro em

  • Última visita

Tudo que Wakon postou

  1. Em "Data/movements/scripts" copie e cole um arquivo .lua e renomeie para tilestor.lua, apague tudo e cole isso: local config = { storage = 2765, efeito = 12 } function onStepIn(cid, item, pos) if not isPlayer(cid) then return true end if getPlayerStorageValue(cid, config.storage) < 1 then doSendMagicEffect(pos, config.efeito) setPlayerStorageValue(cid, config.storage, 1) end end Em "Data/movements" abra o movements.xml e adicione a tag: <movevent type="StepIn" actionid="2498" event="script" value="tilestor.lua"/> Ai tu coloca a actionid no piso que você quer que ganhe a storage.
  2. Criei um pra ti, mais ao invés de abrir a porta, ele te teleporta para frente dela. function onUse(cid, item, topos) local config = { storage = 2799, -- Storage da porta. item = 2598 -- Item necessário para passar. } if getPlayerStorageValue(cid, config.storage) > 0 then return doPlayerSendTextMessage(cid, 25, "You can not pass again.") end if getPlayerItemCount(cid, config.item) <= 0 then return doPlayerSendTextMessage(cid, 25, "You do not have the item needed to pass.") end pos = getPlayerPosition(cid) if pos.x == topos.x then if pos.y < topos.y then pos.y = topos.y + 1 else pos.y = topos.y - 1 end elseif pos.y == topos.y then if pos.x < topos.x then pos.x = topos.x + 1 else pos.x = topos.x - 1 end else doPlayerSendTextMessage(cid,22,'Stand in front of the door.') doSendMagicEffect(topos,13) return true end setPlayerStorageValue(cid, config.storage, 1) doTeleportThing(cid,pos) doSendMagicEffect(topos,12) doPlayerRemoveItem(cid, config.item, 1) doPlayerSendTextMessage(cid, 25, "Good Luck.") return true end Criei assim, por que fiquei pensando, mesmo se o cara já tiver passado na porta, se alguém abrir a porta, ele vai passar lá de boa, a não ser que use 1 movement stepIn. Se assim não der certo pra você, me avise que eu tento criar da maneira exata que você pediu.
  3. Wakon postou uma resposta no tópico em Suporte Tibia OTServer
    Tu colocou o script de movements?
  4. Provavelmente sim, faz alguns testes depois de instalar
  5. Vá no config.lua e procure por freepremium, se não estiver marcado é por que seu sistema é de premium mesmo. Ai é só usar o script que te passei, sobre os erros se você ler os outros comentários verá que já foi arrumado. O ultimo bug que o membro mencionou é por que tem que salvar o server antes de reiniciar, creio eu.
  6. Wakon postou uma resposta no tópico em Suporte Tibia OTServer
    A distro é a compilação das sources, quando você compila as sources vira o executável, ai você precisa das dll's e dos outros arquivos do servidor, só com a distro não dá pra abrir um servidor... Source é as funções do seu servidor, não tem um "mapa" nela. Tu pode pegar 1 servidor baiak/global e criar 1 mapa do 0 no RME, não há necessidade de modificar a source, a não ser que queira adicionar uma nova função no servidor. Depois que tu criar o mapa no RME, você salva na pasta world do servidor e muda o config.lua para ler ele, procure por mapName = "seumapa.otbm", as vezes pode ser assim também: mapName = seumapa, sem o otbm e as ""...
  7. Wakon postou uma resposta no tópico em Suporte Tibia OTServer
    Pelo RME creio que não seja possivel, mais você pode usar um editor de .DAT e .SPR, ai você extrai as sprites. Object Builder: http://www.tibiaking.com/forum/topic/30624-object-builder/
  8. local config = { days = 30, maxDays = 360, removeItem = true -- Remover ao usar. [ True para remover / False para não remover!] } function onUse(cid, item, fromPosition) if(getPlayerPremiumDays(cid) > config.maxDays) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You can not buy more than " .. config.days + config.maxDays .. " days of Premium Account.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) return TRUE end if config.removeItem then doRemoveItem(item.uid) end doPlayerAddPremiumDays(cid, config.days) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You won " .. config.days .. " days of premium account.") doSendMagicEffect(getPlayerPosition(cid), 12) return true end
  9. Qual o seu sistema de VIP? Se for apenas premium account tem esse script do Matheus: http://www.tibiaking.com/forum/topic/2623-creaturescript-ganhar-3-dias-de-premium-ao-logar-pela-primeira-vez/
  10. Você pode baixar o Object Builder e pegar a sprite do próprio OTPokémon, baixe o cliente deles, abra com o Object Builder, procure a sprite e export ela. Ai você abre o seu Client no Object Builder e importa a sprite no lugar da bike. Object Builder: http://www.tibiaking.com/forum/topic/30624-object-builder/ Para exportar é simples, após abrir o .dat e o .spr do OTPokémon no Object Builder, procure a Bike deles, clique com o botão direito, depois exporte como obd. Para importar você abre o seu .dat e o seu .spr e procura a sua Bike, depois é só clicar com o direito e dar replace usando o arquivo .obd que você exportou do OTPokemon.
  11. Basta substituir a sprite do seu cliente, não há necessidade de criar uma nova.
  12. Em "Data/talkactions/scripts" adicione o script changesex.lua: function onSay(cid, words, param) local b = string.explode(param, ",") if param == "" then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Command param is required.") end if b[2] == null then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Missing sex.") end -- Para usar /sex nomedoplayer,0 [0 = Female, 1 = Male] local god = getPlayerName(cid) local i = getPlayerByName(b[1]) if isPlayer(i) == TRUE then doPlayerSetSex(i, b[2]) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"O sexo do jogador foi alterado.") doPlayerSendTextMessage(i, 25, "Seu sexo foi alterado pelo adminstrador, "..god..".") doSendMagicEffect(getPlayerPosition(i), 13) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"O jogador nao esta online ou nao existe.") end return true end Em "Data/talkactions" abra o talkactions.xml e adicione: <talkaction log="yes" words="/sex" access="5" event="script" value="changesex.lua"/> Para usar é só dizer /sex Wakon, 0 (Sendo 0 = Female e 1 = Male)
  13. Como eu disse é só procurar no fórum que deve ter, eu nunca mexi com sources em pokétibia então não posso sair te mandando qual quer 1 que possa prejudicar você... Sobre compilar tem uns tutoriais, acho que funciona pra poketibia normalmente: http://www.tibiaking.com/forum/topic/33548-dev-c-compilando-tfs-no-windows/- Windows DEV C++ http://www.tibiaking.com/forum/topic/2400-compilando-os-tfs-036-e-021/- Linux e windows. Achei alguns servidores com open source, se quiser testar: http://www.tibiaking.com/forum/topic/33821-pok%C3%A9mon-dash-v6-open-source/?hl=%2Bpokemon+%2Bdash+%2Bopen+%2Bsource http://www.tibiaking.com/forum/topic/44386-pokemon-dash-advanced-pda-sources-2015/?hl=%20pokemon%20%20dash%20%20open%20%20source
  14. As sources vem de cada servidor, alguns liberam outros não, aquele executável que você abre o servidor é a compilação das sources. De uma procurada no fórum, deve ter alguma source de Pokémon mais cuidado na hora de compilar e executar, faça sempre 1 backup!
  15. Wakon postou uma resposta no tópico em Suporte Tibia OTServer
    Esse é para entrar no PvP, não? Você disse que coloca 1 action no teleporte de PvP, veja qual é o script que está nessa action. E tava pensando aqui, provavelmente esse teleport do PvP é editado no RME mesmo pois ele deve ser configurado para voltar a TownID do player, faz assim: Abre o RME clica em "Map/Edit Towns", ai você seleciona a cidade e muda a posição do templo em Temple Position!
  16. Wakon postou uma resposta no tópico em Suporte Tibia OTServer
    Passa o script do teleport.
  17. Creio que seja apenas nas sources do servidor!
  18. Tentei fazer por array mais tava complicado, ai fiz assim: Em "Data/movements/scripts" copie e cole 1 arquivo .lua e renomeie para tilestor.lua, apague e coloque isso: local config = { storage1 = 25091, storage2 = 25092, storage3 = 25093, } function onStepIn(cid, item, position, fromPosition) if getPlayerStorageValue(cid, config.storage1) <= 0 then doPlayerSendCancel(cid, "You have not completed the first mission.") doTeleportThing(cid, fromPosition) doSendMagicEffect(position, 12) elseif getPlayerStorageValue(cid, config.storage2) <= 0 then doPlayerSendCancel(cid, "You have not completed the second mission.") doTeleportThing(cid, fromPosition) doSendMagicEffect(position, 12) elseif getPlayerStorageValue(cid, config.storage3) <= 0 then doPlayerSendCancel(cid, "You have not completed the third mission.") doTeleportThing(cid, fromPosition) doSendMagicEffect(position, 12) -- Fim da ultima missão. else doPlayerSendCancel(cid, "You accessed the prohibited area.") doSendMagicEffect(position, 13) end return true end Em "Data/movements" abra o movements.xml e adicione essa tag: <movevent type="StepIn" actionid="1242" event="script" value="tilestor.lua"/> Ai você coloca a Action ID nos locais desejados! Então ele só pode passar se a storage 1, 2 e 3 for maior que 1, no caso tem que completar 3 missões. Pra você adicionar mais é o seguinte: Coloque a storage no config, só copiar e mudar o nome para storage4 ou storage5 e assim vai. Para adicionar a função você coloca depois do -- Fim da ultima missão. e antes do else. elseif getPlayerStorageValue(cid, config.storage3) <= 0 then doPlayerSendCancel(cid, "You have not completed the third mission.") doTeleportThing(cid, fromPosition) doSendMagicEffect(position, 12) Ai é só mudar o nome que você colocou lá em cima em storage e mudar o texto para o nome da missão. Espero que ajude, vou tentar facilitar mais pra você e se conseguir edito aqui.
  19. Tenta assim: local config = { stamina = 2520, -- Stamina do player ao usar o item, 2520 = Full stamina! ti = 12*3600, -- Tempo para usar em horas. temp = 5 -- Tempo para kikar após usar o item. } function onUse(cid, item, fromPos, itemEx, toPos) local st = 25090 if getTilePzInfo(getPlayerPosition(cid)) == false then return doPlayerSendTextMessage(cid, 25, "You need to be in protection zone.") end if getPlayerStamina(cid) >= config.stamina then return doPlayerSendTextMessage(cid, 25, "Your stamina is already full.") end if getPlayerStorageValue(cid, st) > os.time() then doPlayerSendTextMessage(cid, 25, "You need wait " .. getPlayerStorageValue(cid, st) - os.time() .. ' second' .. (getPlayerStorageValue(cid, st) - os.time() == 1 and "" or "s") .. " to use this item again.") return true else doPlayerSendTextMessage(cid, 25, "His stamina was renewed, you will be kicked in "..config.temp.." seconds to update the character.") doPlayerSetStamina(cid, config.stamina) doRemoveItem(item.uid, 1) setPlayerStorageValue(cid, st, os.time() + config.ti) addEvent(doRemoveCreature, config.temp*1000, cid, true) return true end return true end Quanto ao ultimo pedido, não sei como fazer x.x
  20. É só criar o cliente 8.60 normalmente, porém você vai ter que passar o client para os jogadores se não vai dar debug neles! Tipo, não precisa criar 1 8.60 que rode novas sprites, mesmo sendo sprites da versão 10.x ele vai rodar elas normalmente. Desculpe a demora para responder.
  21. Valeu cara Obrigado pela critica Kimoszin, vou fazer o possível para melhorar e trazer mais conteúdo para o fórum
  22. Obrigado por aprovar, não é um comando MUITO util por funcionar apenas com players online mais da pro gasto. Também adicionei outra função nele, assim que eu ligar a outra maquina eu atualizo .
  23. Wakon postou uma resposta no tópico em Ouvidoria
    Ata, se for assim tudo bem, não tinha pensado nisso, obrigado por explicar.
  24. Você pode pegar o OTClient e editar ao seu gosto, é meio complicado mais é só pesquisar/estudar que você consegue http://www.tibiaking.com/forum/topic/34344-otclient-067-1071/
  25. Abriu o programa do NO-IP e ativou o ip do seu servidor? Sua internet é compartilhada? Se sim, já liberou as portas do roteador/modem? Também pode tentar liberar as portas do firewall.

Informação Importante

Confirmação de Termo