Ir para conteúdo

Featured Replies

Postado

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

Postado

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.

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo