Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Boa noite seus lindos :wow:

 

Eu to aqui montando meu servidor e me deparei com uma coisa que eu nem sei fazer por ser mapper.

Scripts e sprites eu tou ferrado, ai eu recorro voces, mas meu mapa ta iradooo.

 

O caso eh o seguinte, eu preciso de um The Oracle que teleporte a vocation escolhida para um respectivo local ...

O cara vai la, escolhe por exemplo sorcerer, logo apos fala que ele sera teleportado para o local dos sorcerer e ele diz yes

Mesma coisa com Knight, ele escolhe ser Knight no the Oracle e o npc fala que ele sera movido para o Quartel dos Knights ...

Eu tentei mesclar umas scripts que faziam isso mas deu merda, nao sei mesmo, se tiver como me ajudar, vai ser bem legal ...

 

Oq pega tambem que ele tem que ganhar a vocation e ser teleportado na mesma hora, pq pode ocorrer dele escolher uma vocacao e ficar na ilha, ele tem que falar a vocation e ja ser teleportado para o local respectivo da sua vocation ... Amo voces! VlW!!

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

Conheça agora os planos e preços da TKS Host.

Qualidade e Preço Justo!

 

www.tkshost.com

Link para o post
Compartilhar em outros sites

Resumindo: cada vocação teria seu próprio destino é isso?

 

@This life is filled with hurt

When happiness doesn't work

Trust me and take my hand

When the lights go out you will understand

Link para o post
Compartilhar em outros sites
40 minutos atrás, login12 disse:

Resumindo: cada vocação teria seu próprio destino é isso?

Isso ai =]

Conheça agora os planos e preços da TKS Host.

Qualidade e Preço Justo!

 

www.tkshost.com

Link para o post
Compartilhar em outros sites
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

local vocation = {}
local town = {}
local destination = {}

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end

local function greetCallback(cid)
	local level = getPlayerLevel(cid)
	if level < 8 then
		npcHandler:say("CHILD! COME BACK WHEN YOU HAVE GROWN UP!", cid)
		return false
	elseif level > 8 then
		npcHandler:say(getCreatureName(cid) .. ", I CAN'T LET YOU LEAVE - YOU ARE TOO STRONG ALREADY! YOU CAN ONLY LEAVE WITH LEVEL 8 OR LOWER.", cid)
		return false
	elseif getPlayerVocation(cid) > 0 then
		npcHandler:say("YOU ALREADY HAVE A VOCATION!", cid)
		return false
	end
	return true
end

local function creatureSayCallback(cid, type, msg)
	if not npcHandler:isFocused(cid) then
		return false
	elseif msgcontains(msg, "yes") and npcHandler.topic[cid] == 0 then
		npcHandler:say("Your initial destination {Kaytan Island}, you will become stronger.", cid)
		npcHandler.topic[cid] = 1
	elseif npcHandler.topic[cid] == 1 then
		if msgcontains(msg, "kaytan island") then
			town[cid] = 2
			destination[cid] = {x = 159, y = 387, z = 6}
			npcHandler:say("You have to choose your vocation.: {KNIGHT}, {PALADIN}, {SORCERER}, OR {DRUID}?", cid)
			npcHandler.topic[cid] = 2
		else
			npcHandler:say("What you want?", cid)
		end
	elseif npcHandler.topic[cid] == 2 then
		if msgcontains(msg, "sorcerer") then
			npcHandler:say("A SORCERER! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!", cid)
			npcHandler.topic[cid] = 3
			vocation[cid] = 1
		elseif msgcontains(msg, "druid") then
			npcHandler:say("A DRUID! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!", cid)
			npcHandler.topic[cid] = 3
			vocation[cid] = 2
		elseif msgcontains(msg, "paladin") then
			npcHandler:say("A PALADIN! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!", cid)
			npcHandler.topic[cid] = 3
			vocation[cid] = 3
		elseif msgcontains(msg, "knight") then
			npcHandler:say("A KNIGHT! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!", cid)
			npcHandler.topic[cid] = 3
			vocation[cid] = 4
		else
			npcHandler:say("{KNIGHT}, {PALADIN}, {SORCERER}, OR {DRUID}?", cid)
		end
	elseif npcHandler.topic[cid] == 3 then
		if msgcontains(msg, "yes") then
			npcHandler:say("SO BE IT!", cid)
			doPlayerSetVocation(cid, vocation[cid])
			doPlayerSetTown(cid, town[cid])
			local destination = destination[cid]
			npcHandler:releaseFocus(cid)
			doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
			doTeleportThing(cid, destination)
			doSendMagicEffect(destination, CONST_ME_TELEPORT)
		else
			npcHandler:say("THEN WHAT? {KNIGHT}, {PALADIN}, {SORCERER}, OR {DRUID}?", cid)
			npcHandler.topic[cid] = 2
		end
	end
	return true
end

local function onAddFocus(cid)
	town[cid] = 0
	vocation[cid] = 0
	destination[cid] = 0
end

local function onReleaseFocus(cid)
	town[cid] = nil
	vocation[cid] = nil
	destination[cid] = nil
end

npcHandler:setCallback(CALLBACK_ONADDFOCUS, onAddFocus)
npcHandler:setCallback(CALLBACK_ONRELEASEFOCUS, onReleaseFocus)

npcHandler:setCallback(CALLBACK_GREET, greetCallback)
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Aquela parte ali na qual fala Kaytan Island que eu queria que nao existisse, e que fosse substutuida por uma nova coordenada de acordo com a vocation que o jogador escolher na hora.

  •  
     

Conheça agora os planos e preços da TKS Host.

Qualidade e Preço Justo!

 

www.tkshost.com

Link para o post
Compartilhar em outros sites

Eu ia fazer com tabelas (vetores), mas fiz com pressa se funcionar nos podemos adaptar para vetores, para ficar mais facil a edição... por hora teste isso:

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

local vocation = {}
local town = {}
local destination = {}

function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end

local function greetCallback(cid)
	local level = getPlayerLevel(cid)
	if level < 8 then
		npcHandler:say("CHILD! COME BACK WHEN YOU HAVE GROWN UP!", cid)
		return false
	elseif level > 8 then
		npcHandler:say(getCreatureName(cid) .. ", I CAN'T LET YOU LEAVE - YOU ARE TOO STRONG ALREADY! YOU CAN ONLY LEAVE WITH LEVEL 8 OR LOWER.", cid)
		return false
	elseif getPlayerVocation(cid) > 0 then
		npcHandler:say("YOU ALREADY HAVE A VOCATION!", cid)
		return false
	end
	return true
end

local function creatureSayCallback(cid, type, msg)

	if not npcHandler:isFocused(cid) then
		return false
	elseif msgcontains(msg, "yes") and npcHandler.topic[cid] == 0 then
			npcHandler:say("You have to choose your vocation.: {KNIGHT}, {PALADIN}, {SORCERER}, OR {DRUID}?", cid)
			npcHandler.topic[cid] = 1
	elseif msgcontains(msg, "no") and npcHandler.topic[cid] == 0 then
			npcHandler:say("What you want?", cid)
	elseif npcHandler.topic[cid] == 1 then
		if msgcontains(msg, "sorcerer") then
			npcHandler:say("A SORCERER! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!", cid)
			npcHandler.topic[cid] = 2
			vocation[cid] = 1
			town[cid] = 2 -- Edite aqui o ID town da vocação sorcerer
			destination[cid] = {x = 159, y = 387, z = 6} -- Edite aqui o destino da vocação sorcerer
		elseif msgcontains(msg, "druid") then
			npcHandler:say("A DRUID! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!", cid)
			npcHandler.topic[cid] = 3
			vocation[cid] = 2
			town[cid] = 2 -- Edite aqui o ID town da vocação druid
			destination[cid] = {x = 159, y = 387, z = 6} -- Edite aqui o destino da vocação druid
		elseif msgcontains(msg, "paladin") then
			npcHandler:say("A PALADIN! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!", cid)
			npcHandler.topic[cid] = 4
			vocation[cid] = 3
			town[cid] = 2 -- Edite aqui o ID town da vocação paladin
			destination[cid] = {x = 159, y = 387, z = 6} -- Edite aqui o destino da vocação paladin			
		elseif msgcontains(msg, "knight") then
			npcHandler:say("A KNIGHT! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!", cid)
			npcHandler.topic[cid] = 5
			vocation[cid] = 4
			town[cid] = 2 -- Edite aqui o ID town da vocação knight
			destination[cid] = {x = 159, y = 387, z = 6} -- Edite aqui o destino da vocação knight		
		else
			npcHandler:say("{KNIGHT}, {PALADIN}, {SORCERER}, OR {DRUID}?", cid)
		end
	elseif npcHandler.topic[cid] == 2 or npcHandler.topic[cid] == 3 or npcHandler.topic[cid] == 4 or npcHandler.topic[cid] == 5 then
		if msgcontains(msg, "yes") then
			npcHandler:say("SO BE IT!", cid)
			doPlayerSetVocation(cid, vocation[cid])
			doPlayerSetTown(cid, town[cid])
			local destination = destination[cid]
			npcHandler:releaseFocus(cid)
			doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
			doTeleportThing(cid, destination)
			doSendMagicEffect(destination, CONST_ME_TELEPORT)
		else
			npcHandler:say("THEN WHAT? {KNIGHT}, {PALADIN}, {SORCERER}, OR {DRUID}?", cid)
			npcHandler.topic[cid] = 1
		end
	else
		npcHandler:say("What you want?", cid)
	end
	return true
end

local function onAddFocus(cid)
	town[cid] = 0
	vocation[cid] = 0
	destination[cid] = 0
end

local function onReleaseFocus(cid)
	town[cid] = nil
	vocation[cid] = nil
	destination[cid] = nil
end

npcHandler:setCallback(CALLBACK_ONADDFOCUS, onAddFocus)
npcHandler:setCallback(CALLBACK_ONRELEASEFOCUS, onReleaseFocus)

npcHandler:setCallback(CALLBACK_GREET, greetCallback)
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

 

Desculpe a demora!

Eu não testei.

Leia o codigo, está comentado as partes que você deve editar com o TOWN e DESTINATION que cada vocação deve ir.

Poste aqui o resultado.

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

 

@This life is filled with hurt

When happiness doesn't work

Trust me and take my hand

When the lights go out you will understand

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 Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo