LE
pedido

Addon e Mount doll Para Iniciantes TFS 1.2 AJUDA URGENTE

Por leonardo macedo, 12 de dez. de 2015 em Scripts

8
1.5k
13 de dezembro de 2015 às 17:09

Boa tarde galerinha do XTibia, preciso de uma ajuda urgente de vocês, preciso de um script em que um player que acaba de entrar no server clique no baú e ganhe um addon e uma Mount doll.

Exemplo:

Addon: Citizen Full

Mount: Donkey


@up

Lucas CPL
13 de dezembro de 2015 às 21:56

Tente assim:

Vai em actions/scripts e cria um arquivo.lua nele coloque isso:

local confi = {
	hasStorage = {
		storage = 1231 -- storage livre do seu servidor
	},
	mountDoll = {
		sistema = "item", -- se é por item ou da direto a mount  [item / mount]
		itemid = 9971, -- id ou nome (caso de nome usar aspas, exemplo:  "mount doll" ) da mount doll
		--- usar caso for dar direto a mount, sem o item
		mountID = 70 -- id da mount no mounts.xml
	},
	addon = {
		idMale = 128, -- id do outfit male
		idFemale = 136, -- id do outfit female
		addons = 3 -- 1 = 1º addon, 2 º segundo addon, 3º todos os addons
	}
}

local storage = confi.hasStorage
local addon = confi.addon
local mount = confi.mountDoll

local function addValores(player)
	if mount.sistema:lower() == "item" then
		player:addItem(ItemType(mount.itemid):getId(),1)
	elseif mount.sistema:lower() == "mount" then
		if player:hasMount(mount.mountID) then
			player:sendCancelMessage('Você já possui essa montaria')
		else
			player:addMount(mount.mountID)
		end
	else
		print(">> ERROR ".. mount.sistema .." SEM VALOR, USE item OU mount")
		player:getPosition():sendMagicEffect(CONST_ME_POFF)
		player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, 'Ocorreu um erro, reporte a um gamemaster ID: 144.')
		return true
	end
	player:addOutfit(addon.idMale)
	player:addOutfit(addon.idFemale)
	player:addOutfitAddon(addon.idMale, addon.addons)
	player:addOutfitAddon(addon.idFemale, addon.addons)
	player:getPosition():sendMagicEffect(CONST_ME_FIREWORK_BLUE)
	player:setStorageValue(storage.storage,1)
end

function onUse(player, item, fromPosition, target, toPosition, isHotkey)
	if player:getStorageValue(storage.storage) <= 0 then
		addValores(player)
	else
		player:sendCancelMessage('Você já usou esse chest.')
	end
	return true
end

Caso alguém reportar o erro 144, foi provavelmente um nome que vc colocou errado no sistema.

 

em actions.xml

Se for actionid use essa tag:

	<action actionid="ACTION LIVRE DO SE SERVIDOR" script="SUA SCRIPT.lua" />

se for uniqueid use essa:

	<action uniqueid="UMA UID LIVRE DO SEU SERVIDOR" script="SUA SCRIPT.lua" />

LEMBRANDO DE COLOCAR O ACTION ID OU UNIQUE ID NO BAÚ DA CHEST.

para usar so quem logou pela primeira vez no servidor, coloque isso em seu login.lua que fica em creatuscripts:

 

procure por isso:

	if player:getLastLoginSaved() <= 0 then
		loginStr = loginStr .. " Please choose your outfit."
		player:sendOutfitWindow()
	else

dps do else coloque isso:

	player:setStorageValue(AQUI_VC_POEM_A_STG_QUE_USOU_NO_SCRIPT,1)

/\ NO CASO DESSA PARTE:

	hasStorage = {
		storage = 1231 -- storage livre do seu servidor
	},

(pensei em colocar direto na script, porem a distro ja da um update no lastlogin automaticamente)

14 de dezembro de 2015 às 23:14

eu clico no bau e fala voce ja usou essa quest

Lucas CPL
14 de dezembro de 2015 às 23:44

Você colocou a parte do login?

como so para quem logar na primeira vez?

 

se sim, remova

15 de dezembro de 2015 às 23:02

Você colocou a parte do login?

como so para quem logar na primeira vez?

 

se sim, remova

Removi mais fala a mesma coisa

Você já usou essa chest.

Se puder me adicionar no skype, é leozinho_firmeza

Editado Dezembro 15 por Leonardo Macedo

Lucas CPL
15 de dezembro de 2015 às 23:09
Melhor resposta

Removi mais fala a mesma coisa

Você já usou essa chest.

Se puder me adicionar no skype, é leozinho_firmeza

Você tentou com o mesmo char que tentou anteriormente?

Se sim, seta a storage dele em 0 e testa ai

15 de dezembro de 2015 às 23:27

Obrigado Funcionou

LumusL
21 de dezembro de 2015 às 11:33

Tópico Movido
Este tópico foi movido de "OTServSuporte OTServSuporte Scripting"
para "OTServSuporte OTServSuporte ScriptingPedidos e dúvidas resolvidos - Scripting".