
Tudo que Wakon postou
-
(Resolvido)[PEDIDO] Script de piso.
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.
-
(Resolvido)Porta que só abre com certo Item (Pokemon)
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.
-
Item Tranforma em Donater
Tu colocou o script de movements?
-
player começa com 3 dias de vip
Provavelmente sim, faz alguns testes depois de instalar
-
player começa com 3 dias de vip
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.
-
Sobre distro e source.
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 ""...
-
RME - Extraindo imagens
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/
-
(Resolvido)Ajuda com script premium
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
-
player começa com 3 dias de vip
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/
-
(Resolvido)Ajuda com Bike - Como mudar outfit
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.
- (Resolvido)Ajuda com Bike - Como mudar outfit
-
(Resolvido)Comando para troca de sexo do player
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)
-
Script House [Onde está?]
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
-
Script House [Onde está?]
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!
-
Ajuda com PvP Tile.
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!
- Ajuda com PvP Tile.
-
Script House [Onde está?]
Creio que seja apenas nas sources do servidor!
-
(Resolvido)Passar no piso so se tiver x x x Storagens, Poder colocar +de 1 Storage
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.
-
(Resolvido)Stamina Potion
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
-
Como criar cliente funcional pro servidor?
É 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.
- Adicionar/remover premium por comando!
- Adicionar/remover premium por comando!
- Sugestão!
-
(Resolvido)Otc Otpokemon
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/
-
[Duvida]Como botar o No-Ip como host?
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.