Ir para conteúdo
  • Cadastre-se

[AJUDA] Como criar uma quest com 3 baus ?


Posts Recomendados

Bom pessoal, estou configurando um poketibia ! Mas eu queria saber como criar uma quest que tenha 3 baus para o player escolher e que ao escolher 1 venha um pokemon e os itens. Podem me ajudar ?

 

tumblr_n1ik2mgkYO1rluzljo1_500.gif

Link para o post
Compartilhar em outros sites

Bom não sou muito bom com scripter mais vou tentar te ajudar meu jovem para fazer isso você tem que fazer apenas algumas coisas

vou usar como exemplo Moltres/Articuno/Zapdos

Vai em data/action/scripts/quests

Crie um baumoltres.lua

cole essa script dentro

\/ \/ \/ \/            \/ \/ 

local btype = "normal"
local pokemon = "Moltres"
 
local storage = 8549214 -- storage
 
 
function onUse(cid, item, frompos, item2, topos)
if pokemon == "" then return true end
if getPlayerStorageValue(cid, storage) <= 0 then
addPokeToPlayer(cid, pokemon, 0, nil, btype)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce pegou seu "..pokemon.."!!")
doSendMagicEffect(getThingPos(cid), 29)
doSendMagicEffect(getThingPos(cid), 27)
doSendMagicEffect(getThingPos(cid), 29)
setPlayerStorageValue(cid, storage, 1)
else
doPlayerSendCancel(cid, "Você já pegou seu Pokémon")
end
return TRUE
end
//////////////////////////////////////////////////////////////////////////////////////////////////
Agora faça mesma coisa com outro pokemon
Crie um arquivo.lua exemplo bauzapdos.lua
local btype = "normal"
local pokemon = "Zapdos"
 
local storage = 8549214 -- storage
 
 
function onUse(cid, item, frompos, item2, topos)
if pokemon == "" then return true end
if getPlayerStorageValue(cid, storage) <= 0 then
addPokeToPlayer(cid, pokemon, 0, nil, btype)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce pegou seu "..pokemon.."!!")
doSendMagicEffect(getThingPos(cid), 29)
doSendMagicEffect(getThingPos(cid), 27)
doSendMagicEffect(getThingPos(cid), 29)
setPlayerStorageValue(cid, storage, 1)
else
doPlayerSendCancel(cid, "Você já pegou seu Pokémon")
end
return TRUE
end
/////////////////////////////////////////////////////
Agora mesma coisa com o outro 
crie arquivo.lua exemplo bauarticuno.lua
local btype = "normal"
local pokemon = "Articuno"
 
local storage = 8549214 -- storage
 
 
function onUse(cid, item, frompos, item2, topos)
if pokemon == "" then return true end
if getPlayerStorageValue(cid, storage) <= 0 then
addPokeToPlayer(cid, pokemon, 0, nil, btype)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Voce pegou seu "..pokemon.."!!")
doSendMagicEffect(getThingPos(cid), 29)
doSendMagicEffect(getThingPos(cid), 27)
doSendMagicEffect(getThingPos(cid), 29)
setPlayerStorageValue(cid, storage, 1)
else
doPlayerSendCancel(cid, "Você já pegou seu Pokémon")
end
return TRUE
end
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Agora vai em data/action/action.xml registra essas tag la dentro 
<action actionid="9006" event="script" value="quests/bauzapdos.lua"/>
<action actionid="9007" event="script" value="quests/baumoltres.lua"/>
<action actionid="9008" event="script" value="quests/bauarticuno.lua"/>
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Configurando a scripter
em vermelho nome do pokemon
azul mensagem que vai aparecer quando player pegar poke
verde mensagem quando o player que ja tenha feito a quest vai aparecer
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
Configurando a tag
 vermelho seria a action id que você iria por no bau
Azul você coloca o nome do arquivo.lua que você criou pode ter outro nome você modifica somente na scripter :D
 
:LOL:   :LOL:   :LOL:    :LOL:  :LOL:   Da rep+
Link para o post
Compartilhar em outros sites

Não deu certo, eu tento abrir o bau e não acontece nada ! Mas valeu a tentativa, REP+ !!!

 

tumblr_n1ik2mgkYO1rluzljo1_500.gif

Link para o post
Compartilhar em outros sites

data action script se cria um arquivo.lua e coloca isso dentro

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
if item.uid == 6000 then
stor = getPlayerStorageValue(cid,3543)
if stor == -1 then
doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Você achou uma Fire Stone")
doPlayerAddItem(cid,11447,1)
setPlayerStorageValue(cid,3543,1)
else
doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Você Já pegou um dos 3 items.")
end
elseif item.uid == 6001 then
stor = getPlayerStorageValue(cid,3543)
if stor == -1 then
doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Você Achou uma Water Stone")
doPlayerAddItem(cid,11442,1)
setPlayerStorageValue(cid,3543,1)
else
doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Você Já pegou um dos 3 items.")
end
elseif item.uid == 6002 then
stor = getPlayerStorageValue(cid,3543)
if stor == -1 then
doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "VocÊ achou uma Leaf Stone")
doPlayerAddItem(cid,11441,1)
setPlayerStorageValue(cid,3543,1)
else
doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Você Já pegou um dos 3 items.")
end
elseif item.uid == 1988 then
stor = getPlayerStorageValue(cid,3543)
if stor == -1 then
doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a VIP Sword.")
doPlayerAddItem(cid,8931,1)
setPlayerStorageValue(cid,3543,1)
else
doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.")
end
elseif item.uid == 1989 then
stor = getPlayerStorageValue(cid,3543)
if stor == -1 then
doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a VIP Star.")
doPlayerAddItem(cid,7366,1)
setPlayerStorageValue(cid,3543,1)
else
doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.")
end
end
return true
end

 
 
tag do xml coloca
<action uniqueid="6000" script="firststone.lua" />

nos bau  pelo rme se coloca unique

6000

6001

6002

 

em diante essa script peguei da base de um otserv de tibia normal para fazer a quest da first stone e necessario voce comfigurar mais duvidas eu estou aqui

Editado por Valakinhas (veja o histórico de edições)

 

 

Link para o post
Compartilhar em outros sites

disculpa mais o modo mais facil vai ter que ser assim vamos la base TFS 0.3.6

 

 

data action script crie um arquivo.lua

renomeie para Caterpie

function onUse(cid, item, frompos, item2, topos)
local zub = {x=850,y=1077,z=5}
local cat = {x=852,y=1077,z=5}
local pid = {x=854,y=1077,z=5}
local pox = getPlayerPosition(cid)
 
if getPlayerStorageValue(cid, 54842) ~= 1 then
local health = 350
local maxhealth = 350
local description = "Contains a Bulbasaur."
local poke1 = "This is Bulbasaur's pokeball. HP = ["..health.."/"..maxhealth.."]"
item = doCreateItemEx(2219)
doItemSetAttribute(item, "poke", poke1)
doItemSetAttribute(item, "nome", "Bulbasaur")
doItemSetAttribute(item, "description", description)
doPlayerAddItemEx(cid, item, true)
doTransformItem(item, 2222)
doPlayerSendTextMessage(cid, 27, "Voce pegou um pokemon.")
doPlayerSendTextMessage(cid, 27, "Nao esqueca de usar a Pokedex para descobrir mais sobre pokemons na sua jornada!")
doPlayerAddExp(cid, 130)
doSendMagicEffect(pox, 21)
doPlayerAddSoul(cid, 1)
setPlayerStorageValue(cid, 54842, 1)
else
doPlayerSendTextMessage(cid, 27, "Voce ja pegou o pokemon.")
end
return TRUE
end

segundo okemon crie um arquivo chamado rattata.lua

function onUse(cid, item, frompos, item2, topos)
local rat = {x=175,y=435,z=7}
local cat = {x=852,y=1077,z=5}
local pid = {x=854,y=1077,z=5}
local pox = getPlayerPosition(cid)
 
if getPlayerStorageValue(cid, 54842) ~= 1 then
local health = 350
local maxhealth = 350
local description = "Contains a Charmander."
local poke1 = "This is Charmander's pokeball. HP = ["..health.."/"..maxhealth.."]"
item = doCreateItemEx(2219)
doItemSetAttribute(item, "poke", poke1)
doItemSetAttribute(item, "nome", "Charmander")
doItemSetAttribute(item, "description", description)
 
doPlayerAddItemEx(cid, item, true)
doTransformItem(item, 2222)
doPlayerSendTextMessage(cid, 27, "Voce pegou um pokemon.")
doPlayerSendTextMessage(cid, 27, "Nao esqueca de usar a Pokedex para descobrir mais sobre pokemons na sua jornada!")
doPlayerAddExp(cid, 130)
doSendMagicEffect(pox, 21)
doPlayerAddSoul(cid, 1)
setPlayerStorageValue(cid, 54842, 1)
else
doPlayerSendTextMessage(cid, 27, "Voce ja pegou o pokemon.")
end
return TRUE
end

3 arquivo renomeie para Weedle.lua

function onUse(cid, item, frompos, item2, topos)
local zub = {x=850,y=1077,z=5}
local odd = {x=852,y=1077,z=5}
local pid = {x=854,y=1077,z=5}
local pox = getPlayerPosition(cid)
 
if getPlayerStorageValue(cid, 54842) ~= 1 then
local health = 350
local maxhealth = 350
local description = "Contains a Squirtle."
local poke1 = "This is Squirtle's pokeball. HP = ["..health.."/"..maxhealth.."]"
item = doCreateItemEx(2219)
doItemSetAttribute(item, "poke", poke1)
doItemSetAttribute(item, "nome", "Squirtle")
doItemSetAttribute(item, "description", description)
doPlayerAddItemEx(cid, item, true)
doTransformItem(item, 2222)
doPlayerSendTextMessage(cid, 27, "Voce pegou um pokemon.")
doPlayerSendTextMessage(cid, 27, "Nao esqueca de usar a Pokedex para descobrir mais sobre pokemons na sua jornada!")
doPlayerAddExp(cid, 130)
doSendMagicEffect(pox, 21)
doPlayerAddSoul(cid, 1)
setPlayerStorageValue(cid, 54842, 1)
else
doPlayerSendTextMessage(cid, 27, "Voce ja pegou o pokemon.")
end
return TRUE
end

 
 
 

 

 

 

no xml se coloca essas tag,   

<action uniqueid="2000" event="script" value="caterpie.lua"/>
<action uniqueid="1000" event="script" value="rattata.lua"/>
<action uniqueid="3000" event="script" value="weedle.lua"/>
 
depois no mapa editor se vai nos bau e coloca unique 2000      1000    e 3000 em cada bau diferente
 
para muda o pokemon que ganha basta voce abri o rattata.lua Ex
oq tiver dentro do rattata.lua se procura todos os nome rattata que tiver dentro e renomeie para outro nome de pokemon Exemplo de rattata se muda para Squirtle entre outros

 

 

Link para o post
Compartilhar em outros sites

Valeu ai ! Ja resolvi, REP+ Valakinhas, valeu mesmo !

 

tumblr_n1ik2mgkYO1rluzljo1_500.gif

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Doria Louro
      Olá nobre senhores, tudo bem com vocês?
      Servidor: TFS 0.3.6
      Cliente:    8.60
       
      Estou com a seguinte ideia, criar conjuntos de equipamentos em meu servidor, que aumente os atributos do player ao utilizar o conjunto/set completo, exemplo:

       
      Um exemplo dos itens contidos no meu itens.xml:
      <item id="2487" article="a" name="warrior armor"> <attribute key="weight" value="9000" /> <attribute key="armor" value="13" /> <attribute key="skillSword" value="1" /> <attribute key="skillAxe" value="1" /> <attribute key="skillClub" value="1" /> <attribute key="slotType" value="body" /> <attribute key="healthGain" value="2" /> <attribute key="healthTicks" value="3000" /> <attribute key="description" value="+2 HP every 3s, Sale value: $5000" /> </item>  
      Em meu movements.xml:
      <movevent type="Equip" itemid="2487" level="30" slot="armor" event="function" value="onEquipItem"> <vocation id="8" /> </movevent> <movevent type="DeEquip" itemid="2487" slot="armor" event="function" value="onDeEquipItem" />  
      Entretanto eu fico limitado aos eventos de Equip default, se eu altero para meu script full_set.lua:
      <movevent type="Equip" itemid="2487" level="30" slot="armor" event="script" value="full_set.lua"> <vocation id="8" /> </movevent>  
      Executando meu script  eu perco os atributos contidos no itens.xml, tais como o aumento de skill, ganho de HP por segundo e também qualquer vocação pode utilizar o equipamento.
       
      Simplificando, é possível utilizar os recursos padrões de Equip do movements e adicionar um/mais scripts personalizáveis sem perder as funcionalidades da function onEquipItem?
      Meu objetivo é quanto mais partes do set o jogador possuir, mais bônus ele obterá, um exemplo:
       
      Warrior Set
      [2 peças] - Aumenta em 100 HP total
      [4 peças] - Aumenta em 2 shielding
       
      Eu tenho uma ideia de colocar essa verificação no creaturescripts, entretanto não gostaria de tomar esse rumo pois acredito que poderia sobrecarregar meu servidor com as verificações por thing.
      Efetuei consultas pela internet e geralmente o pessoa que tem essa duvida utiliza itens que não tem status, tipo um ring, no meu caso é diferente.
       
      Possível solução: Seria utilizar o código Equip padrão no meu script e depois aplicar meu código, entretanto eu não encontrei em nenhum local esse script de Equip,
       
      Quem puder me ajudar eu ficaria eternamente grato já que esse é um sistema chave no meu projeto, agradeço desde já
    • Por Mathwsz
      Bom galera, estou trazendo um script de fusão que funciona assim:
      Explicação: É necessário de 7 itens, na qual você coloca em tal coordenada e aperte a alavanca, sendo assim formando um item na qual você deseja em tal lugar configurado.
      Exemplo: Você pode fazer 7 bosses na qual dropa tals itens "Parecidos" e formando um item raro de sua escolha, ou como preferir.. Vamos ao script!
       
      Em Data/Actions/Scripts crie um arquivo chamado fusaoitens.lua e adicione isto dentro:
       
       
      Agora, em Data/Actions.xml adicione o seguinte:
       
      <action uniqueid="9900" script="fusaoitens.lua" /> E no seu RemeresMapEditor , pegue sua alavanca, vai em Propriedades e adicione o UniqueID 9900 nele! 
      PRONTO! Agora configure e divirta-se! Obs: Caso lhe ajudei, da um REP+ Aí !
    • Por Imperius
      Tinha visto isso no servidor do MegaTibia / Kaldrox e achei bem interessante.
       
      Todos os tópicos que encontrei sobre o assunto de alterar a cor das mensagens dos GMs, CMs e ADM no channel Help para vermelho, falavam que tinham que fazer uma configuração na própria source do servidor.
       
      Fiz uma gambiarra que funciona, sem a necessidade de mexer na source do servidor e de utilizar comandos para isso. Testei somente em TFS 0.4 e funciona tranquilamente.
       
      segue abaixo como configurar em seu otserver:
       
      data > talkactions > scripts > crie um arquivo chamado gmsayred.lua e cole o código abaixo:
       
      function onSay(cid, words, param, channel) if channel == CHANNEL_HELP then for _, pid in ipairs(getPlayersOnline()) do doPlayerSendChannelMessage(pid, '', "".. getCreatureName(cid) .. ": ".. words, TALKTYPE_CHANNEL_R1, CHANNEL_HELP) end return true end end  
      em talkactions.xml cole a tag abaixo:

       
      <!-- Gamemasters --> <talkaction default="yes" filter="quotation" logged="no" access="3" event="script" value="gmsayred.lua"/>    
      e pronto! Agora é só enviar alguma mensagem no Help que a mensagem ficará em vermelho.
       

       
    • Por Maniaco
      Salve TibiaKing!!! TFS 0.4 . 8.60
       
      Estou implementando o Sistema do @WooX de Cave Exlusiva

      Link:
       
      Porem estou com um problema seguindo o tutorial completo dele acabo tendo um retorno de erro na Distro! E ja que o mesmo nao entra no forum deis de 14/01! Venho solicitar ajuda de vocês!
      Caso alguem tenha o Discord Dele Favor me Passe  
      Vamos lá!
      Erro:
       
      Script :
       
      Lib
       
       
      Print Rme:
       
       
      Lembrando que nao esta funcionando em geral, Acrédito que eu tenha pulado algo ou deixado passar despercebido!
      Espero que alguem consiga me ajudar vlw!
    • Por Maniaco
      Boa Tarde TibiaKing!!!
       
      Bom estou precisando arrumar um script, não deve ser muito difícil !! (pra quem sabe  !)
      Quem poder ajudar já agradeço.
       
      Resumindo apartir do momento que falo Travel, Yes para o npc ele me teleporta para posicao inicial me transformando(LookType) e precisa me levar até o destino final. (posFinal)
      até ai tudo bem problema que ele comeca a funcionar e me leva para lugar aleatorio e fica parado lá imovel. ( não da erro na Distro ) Apenas fico parado na LookType de barco.
       
      Uso tfs 0.4 8.60
       
      local posis = {
      --[pos do npc] = {pos inicial, pos final},
      [{x = 115, y = 143, z = 10}] = {posIni = {x = 114, y = 134, z = 10}, posFinal = {x = 76, y = 134, z = 10}},
      [{x = 74, y = 132, z = 10}] = {posIni = {x = 76, y = 134, z = 10}, posFinal = {x = 95, y = 147, z = 10}},
      }
       
       é um NPC
       
       
      .LUA DO NPC
       
      LIB - TRAVEL.LUA
       
       
       
      ,XML
       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo