Ir para conteúdo
  • Cadastre-se

(Resolvido)Script Quest para Dbo


Ir para solução Resolvido por Yan Liima,

Posts Recomendados

  • Moderador

Alguém poderia desenvolver um script de quest que comporte inúmeras quests num só script pfv?

 

 

Meu Curso sobre Programação para OTServer

Programando OTServer

 

Peça o seu script! Entre agora mesmo no grupo

Developing

 

Conteúdos:

 

Discord: Belmont#7352

Não esqueça do REP+ :)     

Link para o post
Compartilhar em outros sites
52 minutos atrás, Phineasz disse:

Alguém poderia desenvolver um script de quest que comporte inúmeras quests num só script pfv?

 

 

 

--[[Script By ~Mathias Kenfi]]--

local config = {
	["Primeira Quest"] = {aid = 40000, premio = {2160,1}, str = 160000},
	["Segunda Quest"] = {aid = 40001, premio = {2159,1}, str = 160001}
}


function onUse(cid, item, frompos, item2, topos)

	for index, quest in pairs(config) do
		if item.aid == quest.aid then
			if getPlayerStorageValue(cid, quest.str) ~= 1 then
				doPlayerSendTextMessage(cid,22,"Você cumpriu a "..index.." e ganhou "..quest.premio[2].." "..string.lower(getItemNameById(quest.premio[1])))
				doPlayerAddItem(cid,quest.premio[1],quest.premio[2])
				setPlayerStorageValue(cid,quest.str,1)
			else
				doPlayerSendTextMessage(cid,22,"Você já cumpriu a "..index)
			end
		end
	end
	return true
end 

 

Editado por Joaovettor (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Moderador

@Joaovettor Como eu configuro? Só é colocar o \/ no bau como Action Id? Esse spr é pra colocar onde?

aid = 40000

Meu Curso sobre Programação para OTServer

Programando OTServer

 

Peça o seu script! Entre agora mesmo no grupo

Developing

 

Conteúdos:

 

Discord: Belmont#7352

Não esqueça do REP+ :)     

Link para o post
Compartilhar em outros sites
4 minutos atrás, Phineasz disse:

@Joaovettor Como eu configuro? Só é colocar o \/ no bau como Action Id? Esse spr é pra colocar onde?


aid = 40000

 

local config = {
	["Primeira Quest"] = {aid = 40000, premio = {2160,1}, str = 160000},
	["Segunda Quest"] = {aid = 40001, premio = {2159,1}, str = 160001}

aid é o ACTIONID que você vai colocar no baú, str é a storage da quest. Em premio você coloca o ID e a quantidade {ID, Quantidade} dos itens que vão ganhar na quest

Link para o post
Compartilhar em outros sites
  • Moderador

@Joaovettor Sem exito, assim que eu clico no baú, ele é aberto e não ganho o item

image.png.ffb8b0de11124fd0c465d15046f9f955.png

 

O script ficou assim, mudei só os ids praticamente

Spoiler

--[[Script By ~Mathias Kenfi]]--

local config = {
    ["Yama"] = {aid = 40000, premio = {2160,1}, str = 160000},
    ["Yama"] = {aid = 40001, premio = {2159,1}, str = 160001},
    ["Yama"] = {aid = 40002, premio = {2159,1}, str = 160002},
    ["Yama"] = {aid = 40003, premio = {2159,1}, str = 160003}
}

function onUse(cid, item, frompos, item2, topos)

    for index, quest in pairs(config) do
        if item.aid == quest.aid then
            if getPlayerStorageValue(cid, quest.str) ~= 1 then
                doPlayerSendTextMessage(cid,22,"Você cumpriu a "..index.." e ganhou "..quest.premio[2].." "..string.lower(getItemNameById(quest.premio[1])))
                doPlayerAddItem(cid,quest.premio[1],quest.premio[2])
                setPlayerStorageValue(cid,quest.str,1)
            else
                doPlayerSendTextMessage(cid,22,"Você já cumpriu a "..index)
            end
        end
    end
    return true
end

 

Edit: ESQUECE, FALTA DE ATENÇÃO MINHA, agora que eu vi

Não está funcionando mesmo não, coloquei o aid no lugar certo, e tá dando a mesma coisa

Meu Curso sobre Programação para OTServer

Programando OTServer

 

Peça o seu script! Entre agora mesmo no grupo

Developing

 

Conteúdos:

 

Discord: Belmont#7352

Não esqueça do REP+ :)     

Link para o post
Compartilhar em outros sites
18 minutos atrás, Phineasz disse:

@Joaovettor Sem exito, assim que eu clico no baú, ele é aberto e não ganho o item

image.png.ffb8b0de11124fd0c465d15046f9f955.png

 

O script ficou assim, mudei só os ids praticamente

  Mostrar conteúdo oculto


--[[Script By ~Mathias Kenfi]]--

local config = {
    ["Yama"] = {aid = 40000, premio = {2160,1}, str = 160000},
    ["Yama"] = {aid = 40001, premio = {2159,1}, str = 160001},
    ["Yama"] = {aid = 40002, premio = {2159,1}, str = 160002},
    ["Yama"] = {aid = 40003, premio = {2159,1}, str = 160003}
}

function onUse(cid, item, frompos, item2, topos)

    for index, quest in pairs(config) do
        if item.aid == quest.aid then
            if getPlayerStorageValue(cid, quest.str) ~= 1 then
                doPlayerSendTextMessage(cid,22,"Você cumpriu a "..index.." e ganhou "..quest.premio[2].." "..string.lower(getItemNameById(quest.premio[1])))
                doPlayerAddItem(cid,quest.premio[1],quest.premio[2])
                setPlayerStorageValue(cid,quest.str,1)
            else
                doPlayerSendTextMessage(cid,22,"Você já cumpriu a "..index)
            end
        end
    end
    return true
end

 

Edit: ESQUECE, FALTA DE ATENÇÃO MINHA, agora que eu vi

Não está funcionando mesmo não, coloquei o aid no lugar certo, e tá dando a mesma coisa

 

Tente trocar tudo por uid

if item.aid == quest.aid then

Mude para:

if item.uid == quest.aid then

Em actions.xml coloque uniqueid e tente.

 

E me diz qual a versão da sua distro

Link para o post
Compartilhar em outros sites
  • Moderador

@Joaovettor Uso TFS 0.4, não funcionou não, eu preciso colocar o item também dentro do baú? Ou o script já faz isso?

@Vodkart @Yan Liima @Movie Podem ajudar aqui pfv?

Meu Curso sobre Programação para OTServer

Programando OTServer

 

Peça o seu script! Entre agora mesmo no grupo

Developing

 

Conteúdos:

 

Discord: Belmont#7352

Não esqueça do REP+ :)     

Link para o post
Compartilhar em outros sites
  • Solução

Ta certo a script do rapaz, só troca o aid por uid.

 

TAG:

<action uniqueid="40000-40001" event="script" value="quest.lua"/>

Script:

local config = {
	["Primeira Quest"] = {uid = 40000, premio = {2160,1}, str = 160000},
	["Segunda Quest"] = {uid = 40001, premio = {2159,1}, str = 160001}
}


function onUse(cid, item, frompos, item2, topos)

	for index, quest in pairs(config) do
		if item.uid == quest.uid then
			if getPlayerStorageValue(cid, quest.str) ~= 1 then
				doPlayerSendTextMessage(cid,22,"Você cumpriu a "..index.." e ganhou "..quest.premio[2].." "..string.lower(getItemNameById(quest.premio[1])))
				doPlayerAddItem(cid,quest.premio[1],quest.premio[2])
				setPlayerStorageValue(cid,quest.str,1)
			else
				doPlayerSendTextMessage(cid,22,"Você já cumpriu a "..index)
			end
		end
	end
	return true
end 

 

════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═══╗

Te Ajudei? Rep + e ficamos Quits

166420979_logoyanliimaornight.png.33f822b8970081a5b3646e85dbfd5934.png

Precisando de ajuda?

discord.png.1ecd188791d0141f74d99db371a2e0a4.png.890d5a38d7bcde75543c72b624a65de1.pngDiscord: Yan Liima #3702

Programador Júnior de LUA, PHP e JavaScript

Juntos somos lendas, separados somos Mitos!

╚══════════════════════════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═════════════════════════════╝

Link para o post
Compartilhar em outros sites
  • Moderador

@Yan Liima Agora deu certo, rep+ pros dois, vllw mesmo

Só uma dúvida, se eu quiser adicionar uma bp e colocar item dentro, como eu faria isso?

Meu Curso sobre Programação para OTServer

Programando OTServer

 

Peça o seu script! Entre agora mesmo no grupo

Developing

 

Conteúdos:

 

Discord: Belmont#7352

Não esqueça do REP+ :)     

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo