Ir para conteúdo
  • 0

Ao Deslonga com x Item usa-lo autimaticamente


Tiagone

Pergunta

gostaria de 1 Script que funciona-se da seguinte forma,se caso o Player sai do jogo com 1 Determinado item,e depois entrar novamente,o Item que estava em sua bag seria automaticamente usado sem nem ao menos o Player da Use no item,no caso seria o item 320 até o 329 entretanto bastaria o Player ter 1 dos 10 Items para poder se usado,se caso o Player tivése + de 1 dos 10 Items,o Script usaria 1 após o otro.

ID dos Items 320,321,322,323,324,325,326,327,328,329,no caso tem 10 Items aqui o Player teria que ter pelo menos 1 Item dos 10 que esta citado aqui.
Editado por Tiagone
Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Claro.

 

local items = {
    {itemid, vocation_id, outfit},     --{ID_do_item, vocação, outfit},
    {itemid, vocation_id, outfit},
    {itemid, vocation_id, outfit},
    --etc
}
function onLogin(cid)
    for _, item in pairs(items) do
        if getPlayerItemCount(cid, item[1]) > 0 then
            doPlayerRemoveItem(cid, item[1], 1)
            doPlayerSetVocation(cid, item[2])
            doPlayerAddOutfit(cid, item[3], 1)
            break
        end
    end
    return true
end
Link para o comentário
Compartilhar em outros sites

  • 0

não deu pra entender quase nada, mais vê se é isso.

 

Quando o player deslogar e depois logar você quer que o item que ele tenha bag seja usado automaticamente sem ter a necessidade de dar use.

Link para o comentário
Compartilhar em outros sites

  • 0

@Tiagone: Nada contra erros gramaticais nem afins, mas estava impossível entender oque você queria wtf.gif . Tente redigir de maneira sucinta e direta para evitar a interpretação errada por outro usuários do fórum.

 

 

@Tópico: Creio que a versão que está trabalhando deve ser 8.6 (versão do seu servidor ou TFS 0.4). Vou procurar a respeito.


não deu pra entender quase nada, mais vê se é isso.

 

Quando o player deslogar e depois logar você quer que o item que ele tenha bag seja usado automaticamente sem ter a necessidade de dar use.

 

@Kissy: É oque aparenta ser. Na verdade seria melhor uma função que adiciona um storageID no jogador quando ele logar. Assim, em todo login poderia ser verificado se essa condição é aceita. Já a respeito de usar o item quando realizar login, seria necessário checar se o jogador obtém o item e depois implementar a função de removê-lo. Parece ser simples.

Link para o comentário
Compartilhar em outros sites

  • 0

não sei se expliquei melhor mais dei 1 arrumadinha ai no topico e colokei 1 exemplo

Mesmo assim continuo sem entender.

Tente ser mais claro para podermos ajudá-lo.

Link para o comentário
Compartilhar em outros sites

  • 0

eu entendi, caso o jogador logue e tenha algum desse item da lista, o item é usado automaticamente(como se fosse um action) e remove o item.

 

mas se ele tiver todos os itens dessa lista, vai usar todos?? ou 1 por vez??

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, pelo que eu entendi é que quando ele logar e o player tiver item x, ele deve "usar" automaticamente removendo o item e dar outro.

 

Se for isso mesmo, basta ir em data/creaturescripts/creaturescripts.xml e adicionar a seguinte tag:

<event type="login" name="Recompensa" script="recompensa.lua"/>
Agora em data/creaturescripts/script crie um arquivo chamado recompensa.lua com o seguinte conteúdo:

local config = {320, 321, 322, 323, 324, 325, 326, 327, 328, 329}

function onLogin(cid)
	for _, i in pairs(config) do
		doPlayerRemoveItem(cid, config[i], 1)
	end
	return true
end
Link para o comentário
Compartilhar em outros sites

  • 0

1) Crie um arquivo no seguinte diretório:

 

>> Pasta_do_Seu_OT/data/creaturescripts/scripts

Com o seguinte nome: remover_itens_login.lua

 

2) Adicione o seguinte código-fonte no arquivo vazio, como segue abaixo:

-- Créditos: dev_w4rlt (XTibia[nadio]  e um fórum que não merece ser citado[warlt])
-- Meu projeto: http://loe.ucoz.com/

local script_config = {

	msg_type_id = MESSAGE_EVENT_ADVANCE;
	effect_type = CONST_ME_MORTAREA;
	
	msg_notification_done = "Os itens foram utilizados com êxito.";
	msg_notification_wrong = "Nada aconteceu! Para utilizar os itens ao realizar login obtenha todos os 10.";

	-- Modifique os valores abaixo para os respectivos IDs de itens desejado.
	
	item_um = ID_ITEM_UM;
	item_dois = ID_ITEM_DOIS;
	item_tres = ID_ITEM_TRES;
	item_quatro = ID_ITEM_QUATRO;
	item_cinco = ID_ITEM_CINCO;
	item_seis = ID_ITEM_SEIS;
	item_sete = ID_ITEM_SETE;
	item_oito = ID_ITEM_OITO;
	item_nove = ID_ITEM_NOVE;
	item_dez = ID_ITEM_DEZ;
	
	-- Se desejar adicionar, por exemplo, um décimo primeiro item adicione no fina do parâmetro if a condição "&& doPlayerRemoveItem(cid,item_onze,quantity)".
	-- Lembre-se de adicionar "item_onze" na lista para que a função que você requer seja adicionada com êxito!
	
	quantity = 1, -- Essa quantidade é geral para todos os 10 itens.
	
}

function onLogin(cid)

	if doPlayerRemoveItem(cid,item_um,quantity) && doPlayerRemoveItem(cid,item_dois,quantity) && doPlayerRemoveItem(cid,item_tres,quantity) &&  doPlayerRemoveItem(cid,item_quatro,quantity) && doPlayerRemoveItem(cid,item_cinco,quantity) && doPlayerRemoveItem(cid,item_seis,quantity) &&  doPlayerRemoveItem(cid,item_sete,quantity) && doPlayerRemoveItem(cid,item_oito,quantity) && doPlayerRemoveItem(cid,item_nove,quantity) && doPlayerRemoveItem(cid,item_dez,quantity) then
	
		-- Notificação ao jogador quando obtém todos os 10 itens.
	
		doSendMagicEffect(getPlayerPosition(cid), effect_type)
		doPlayerSendTextMessage(cid, script_config.msg_type_id, script_config.msg_notification)
	
	else
		
		-- Noticiação ao jogador que não possui todos os 10 itens.
		
		doPlayerSendTextMessage(cid, script_config.msg_type_id, script_config.msg_notification_wrong)
	
	end
end

3) Feito isso abra o arquivo login.lua que também se encontra no mesmo diretório que você acabou de criar o arquivo remover_itens_login.lua.

 

4) Com o arquivo login.lua aberto procure por:

 

>> registerCreatureEvent(cid, "

5) Após encontrar essa tag adicione abaixo dela o seguinte parâmetro:

registerCreatureEvent(cid, "RemoverItens")

6) Feito isso vá no arquivo creaturescripts.xml e adicione o seguinte parâmetro:

<event type="login" name="RemoverItens" script="remover_itens_login.lua"/>

Espero ter ajudado, boa sorte.

Editado por nadio
Link para o comentário
Compartilhar em outros sites

  • 0

não deu pra entender quase nada, mais vê se é isso.

 

Quando o player deslogar e depois logar você quer que o item que ele tenha bag seja usado automaticamente sem ter a necessidade de dar use.

na verdade é desse msm geito que o Kissy falo kk

 

OBS:desculpe meus erro de Portugues mais é que quando tou com pressa,acabo abreviando tudo e tambem vai 1's erro de Portugues até pq,msm com erro você vão sabe oq significa :D

 

eu entendi, caso o jogador logue e tenha algum desse item da lista, o item é usado automaticamente(como se fosse um action) e remove o item.

 

mas se ele tiver todos os itens dessa lista, vai usar todos?? ou 1 por vez??

 

vai usar 1 por vez sim Vodkart

 

1) Crie um arquivo no seguinte diretório:

 

>> Pasta_do_Seu_OT/data/creaturescripts/scripts

Com o seguinte nome: remover_itens_login.lua

 

2) Adicione o seguinte código-fonte no arquivo vazio, como segue abaixo:

-- Créditos: dev_w4rlt (XTibia[nadio]  e um fórum que não merece ser citado[warlt])
-- Meu projeto: http://loe.ucoz.com/
 
local script_config = {
 
msg_type_id = MESSAGE_EVENT_ADVANCE;
effect_type = CONST_ME_MORTAREA;
 
msg_notification_done = "Os itens foram utilizados com êxito.";
msg_notification_wrong = "Nada aconteceu! Para utilizar os itens ao realizar login obtenha todos os 10.";
 
-- Modifique os valores abaixo para os respectivos IDs de itens desejado.
 
item_um = ID_ITEM_UM;
item_dois = ID_ITEM_DOIS;
item_tres = ID_ITEM_TRES;
item_quatro = ID_ITEM_QUATRO;
item_cinco = ID_ITEM_CINCO;
item_seis = ID_ITEM_SEIS;
item_sete = ID_ITEM_SETE;
item_oito = ID_ITEM_OITO;
item_nove = ID_ITEM_NOVE;
item_dez = ID_ITEM_DEZ;
 
-- Se desejar adicionar, por exemplo, um décimo primeiro item adicione no fina do parâmetro if a condição "&& doPlayerRemoveItem(cid,item_onze,quantity)".
-- Lembre-se de adicionar "item_onze" na lista para que a função que você requer seja adicionada com êxito!
 
quantity = 1, -- Essa quantidade é geral para todos os 10 itens.
 
}
 
function onLogin(cid)
 
if doPlayerRemoveItem(cid,item_um,quantity) && doPlayerRemoveItem(cid,item_dois,quantity) && doPlayerRemoveItem(cid,item_tres,quantity) &&  doPlayerRemoveItem(cid,item_quatro,quantity) && doPlayerRemoveItem(cid,item_cinco,quantity) && doPlayerRemoveItem(cid,item_seis,quantity) &&  doPlayerRemoveItem(cid,item_sete,quantity) && doPlayerRemoveItem(cid,item_oito,quantity) && doPlayerRemoveItem(cid,item_nove,quantity) && doPlayerRemoveItem(cid,item_dez,quantity) then
 
-- Notificação ao jogador quando obtém todos os 10 itens.
 
doSendMagicEffect(getPlayerPosition(cid), effect_type)
doPlayerSendTextMessage(cid, script_config.msg_type_id, script_config.msg_notification)
 
else
 
-- Noticiação ao jogador que não possui todos os 10 itens.
 
doPlayerSendTextMessage(cid, script_config.msg_type_id, script_config.msg_notification_wrong)
 
end
end
3) Feito isso abra o arquivo login.lua que também se encontra no mesmo diretório que você acabou de criar o arquivo remover_itens_login.lua.

 

4) Com o arquivo login.lua aberto procure por:

 

>> registerCreatureEvent(cid, "

5) Após encontrar essa tag adicione abaixo dela o seguinte parâmetro:

registerCreatureEvent(cid, "RemoverItens")
6) Feito isso vá no arquivo creaturescripts.xml e adicione o seguinte parâmetro:

<event type="login" name="RemoverItens" script="remover_itens_login.lua"/>
Espero ter ajudado, boa sorte.

no caso o Player teria que ter 1 dos 10 Items para ser Usado. do msm geito que o Kissy e o Vodkart citarão acima.

Editado por Tiagone
Link para o comentário
Compartilhar em outros sites

  • 0

sim entretanto ali esta adicionando no caso eu não quero que adicione só quero que ele use o Item se caso o player tivér.

 

no caso o item que eu fis ja é removido se for usado,então a unica parte que preciso é 1 Script que fassa ser Ultilizado automaticamente quando o player tiver o determinado item só isso msm

Link para o comentário
Compartilhar em outros sites

  • 0

Não há nenhuma função, pelo menos padrão no TFS, que execute uma action. Logo, seria de grande ajuda se você informasse o que o item deveria fazer.

Link para o comentário
Compartilhar em outros sites

  • 0

sim entretanto ali esta adicionando no caso eu não quero que adicione só quero que ele use o Item se caso o player tivér.

 

no caso o item que eu fis ja é removido se for usado,então a unica parte que preciso é 1 Script que fassa ser Ultilizado automaticamente quando o player tiver o determinado item só isso msm

local config = {320, 321, 322, 323, 324, 325, 326, 327, 328, 329}

function onLogin(cid)
	for _, i in pairs(config) do
		doPlayerRemoveItem(cid, config[i], 1)
	end
	return true
end
Com esse script, assim que o player logar ele irá remover todos os items
Link para o comentário
Compartilhar em outros sites

  • 0

então basicamente é pro meu Shop pq tipo no shop meu a Vocation tem que ser por Scroll entretanto,eu gostaria que ao compra ela ja adiciona-se a vocation no Player,ou seja o Item meu ele iria da 1 vocation e o Outfit da vocation

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...