Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Boa noite a todos !

 

venho até voces para pedir ajuda em 3 scripts, que na verdade não é ajuda e sim um pedido pois não manjo quase nada em scripts...

 

Obs : a base que estou usando eh o TFS 0.3.6 ( 8.54 version )

 

Preciso desses scripts :

1- box que ao clicar, dara uma vocação aleatória ao player, magias e itens ( sendo todas da vocação sorteada exemplo : tem 3 classes, barbaro, arqueiro e thief, ao clicar no bau aparece a mensagem voce pegou o kit de thief, ai ele ganha a vocação, o addon, magias e itens de thief ).

 

2- ao usar certa combinação de itens, ela muda a outfit automaticamente, e ao tirar alguma parte do set, ela sai automaticamente.Se pudesse colocar mesmo que fosse por peças individuais, eu mesmo farias as sprites de cada item em cada addon, so preciso desta script mesmo

 

3- preciso de npc's que dao skins e magias para o player e depois de um tempo suma, e depois de x horas ele apareça novamente em outro lugar configurado. sempre rotacionando nas posiçoes demarcadas

Link para o post
Compartilhar em outros sites

Bom, eu não sei como é adicionado skills, visto que tenho experiência apenas com poketibia. Eu suponho que seja por storage.

Lembrando que não testei nenhum código.

 

Primeiro pedido:

 

actions/scripts

nome_arquivo.lua

local voc = {
[1] = {name = "Thief", vocationID = 7,
	item = {
	[1] = {id = 3210, qnt = 1},
	[2] = {id = 8923, qnt = 15},
	},
	skills = {
	[1] = {sto = 16503},
	[2] = {sto = 16504},
	}
},
[2] = {name = "Bárbaro", vocationID = 2,
	item = {
	[1] = {id = 3210, qnt = 1},
	[2] = {id = 8923, qnt = 15},
	},
	skills = {
	[1] = {sto = 16503},
	[2] = {sto = 16504},
	}
},
[3] = {name = "Arqueiro", vocationID = 3,
	item = {
	[1] = {id = 3210, qnt = 1},
	[2] = {id = 8923, qnt = 15},
	},
	skills = {
	[1] = {storage = 16503},
	[2] = {storage = 16504},
	}
},
-- "Um número maior que o outro] = {name = "Nome da vocation", vocationID = ID da vocation,
	-- item = {
	-- [Um número maior que o outro] = {id = ID do item, qnt = quantidade},
	-- }
	-- skills = {
	-- [Um número maior que o outro] = {storage = storage da skill},
	-- }
}

function onUse(cid, item, frompos, item2, topos)
	local vocRandom = math.random (1, #voc)
	doPlayerSetVocation (cid, voc[vocRandom].vocationID)
	
	for i = 1, #voc[vocRandom].item do
		doPlayerAddItem (cid, voc[vocRandom].item[i].id, voc[vocRandom].item[i].qnt)
	end
	doPlayerSendTextMessage (cid, 19, "You received your "..voc[vocRandom].name.." kit!")
	
	for i = 1, #voc[vocRandom].skills do
		setPlayerStorageValue (cid, voc[vocRandom].skills[i].storage, 1)
	end
    
	doRemoveItem(item.uid, 1)
return true 
end

 

XML:

<action itemid="ID do item" event="script" value="nome_arquivo.lua"/>

 

Segundo pedido:

 

creaturescripts/scripts

nome_arquivo.lua

local set = {
[1] = {1328, "CONST_SLOT_HEAD"},
[2] = {6742, "CONST_SLOT_ARMOR"},
[3] = {4567, "CONST_SLOT_RIGHT"}, -- Bow/Sword/...
[4] = {9874, "CONST_SLOT_LEFT"}, -- Shield/Book/...
[5] = {6455, "CONST_SLOT_LEGS"},
[6] = {7894, "CONST_SLOT_FEET"},
-- [Um número maior que o outro] = {item ID, slot},
}

local outfit = {lookType = 30 , lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0} -- looktype que ele vai transformar.

local function countSlotItem (cid)
	local countSlot = 0
	
	for i = 1, #set do
		if (getPlayerSlotItem (cid, set[i][2]).itemid == set[i][1]) or (set[i][2] == "CONST_SLOT_LEFT" and getPlayerSlotItem (cid, CONST_SLOT_RIGHT).itemid == set[i][1]) or (set[i][2] == "CONST_SLOT_RIGHT" and getPlayerSlotItem (cid, CONST_SLOT_LEFT).itemid == set[i][1]) then
			countSlot = countSlot + 1
		end
	end
return countSlot
end

function onThink(creature, interval)
	if isPlayer (cid) then
		if getPlayerSlotItem (cid, CONST_SLOT_HEAD) == set[1][1] then
			local count = countSlotItem (cid)
			
			if count == #set then
				doSetCreatureOutfit (cid, outfit, -1)
			elseif getCreatureOutfit (cid).looktype == outfit.looktype then
				doRemoveCondition (cid, CONDITION_OUTFIT)
			end
		end
	end
return true
end

 

XML:

 <event type="think" name="itemOutfit" event="script" value="nome_arquivo.lua"/>

 

em login.lua, adicione:

registerCreatureEvent(cid, "itemOutfit")

 

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

Não dou suporte via PM, crie um tópico caso tenha dúvidas.

Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.

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 LeoTK
      Salve galera neste tópico irei postar algumas prints do mapa do servidor para quem queira acompanhar e quem sabe até utilizar de inspiração para mapear o seu NTO.
       
      #Att 11/08/2022

       
       
       
       
      Konoha (Em Desenvolvimento)
       
       
       
       
    • Por DiigooMix
      Como o título já diz, será que alguém possui sprite do hitto e se possível as transformações dele?
    • Por OmegaZero
      Olá gostaria que alguém me ajudasse com uma "scripting" não sei se é pela mesma, seria o seguinte uma determinada arma teria a chance de dar double hit e não sei oque fazer alguem poderia ajudar?

      OBS:não sei se é o local correto se não for mova, desculpe
    • Por Madarasenju
      Olá galera do Tibia King, queria por uns npc's no meu server que não tem função de trade nem nada do tipo, queria que eles só andassem como enfeite, Rep+ Pra quem me ajudar... grato desde já.
    • Por SilenceRoot
      A magia é assim o você usa a a magia e ela ficará ativado por 10 segundos, até que o inimigo lance a primeira magia ou todos de uma vez, quando ele lançar a primeira magia, ele não lhe acertará ou seja esquivando dela, e logo em seguida será teletransportado aleatoriamente ao redor do inimigo que usou.
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo