Ir para conteúdo
  • Cadastre-se

(Resolvido)2 Scripts de storage, acho que é facil rep+


Ir para solução Resolvido por Yugami,

Posts Recomendados

Por favor preciso de 2 scripts 
 
1º ao o player clicar em uma pedra ele ganha 1 storage e aparece uma mensagem
2º que se o player tiver 6 storages ele é teleportado para um waypoint, e se não tiver os storages só aparece uma msg 
Link para o post
Compartilhar em outros sites

local storage = 105550 --storage
local pontos = 6 --pontos para pegar o teleport
local msg = "Custom mensagem que o player ira receber ao clicar"
local msgerror = "Mensagem caso ja pegou os 6 pontos necessarios"
	
function onUse(cid, item)
	if getPlayerStorageValue(cid, storage) < pontos then
		setPlayerStorageValue(cid, storage, getPlayerStorageValue(cid, storage) + 1)
		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg)
	else
		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msgerror)
		return true
	end
	return true
end

local storage = 105550 --storage
local pontos = 6 --pontos para pegar o teleport
local msgerror = "Mensagem caso nao tenha os 6 pontos"
local x, y, z = 160, 54, 7 --posicao para onde o player ira se teleportar
	
function onUse(cid, item)
	if getPlayerStorageValue(cid, storage) >= pontos then
		doTeleportThing(cid, x, y, z)
		doSendMagicEffect(x, y, z, 10)
	else
		doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msgerror)
		return true
	end
	return true
end

Atenciosamente,

Bruno Minervino

Link para o post
Compartilhar em outros sites

amigo valeu mais o 1º script que da 1 tipo de storage só e no caso criaria 6 copias dando storages diferentes

e o 2 iria teleportar se tivesse as 6 storages, nesse casso do teu script a pessoa poderia clicar 6 vezes ne uma pedra só e passar pelo teleport


Alguem me da uma luz ? 

Editado por matheusbrito180 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Solução

não sei se vai funciona mas tenta assim

 

1.

function onUse(cid, item, frompos, item2, topos)
local win = storage que ele vai ganha
local los = storage que ele precisa ter


if getPlayerStorageValue(cid, los) < 1 then
doPlayerSendTextMessage(cid,22,"MSG QUE VAI APARECE QUANDO ELE GANHA")
setPlayerStorageValue(cid, win, 1)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "MSG QUE VAI APARECE SE ELE JA TIVE.")
end


return TRUE
end

2.

function onUse(cid, item, frompos, item2, topos)
local storage1 = STORAGE 1
local storage2 = STORAGE 2
local storage3 = STORAGE 3
local storage4 = STORAGE 4
local storage5 = STORAGE 5
local storage6 = STORAGE 6
pos = {x=1030, y=912, z=6} -- Onde Levara se ele tivér a storage


if getPlayerStorageValue(cid, storage1) < 1 and getPlayerStorageValue(cid, storage2) < 1 and getPlayerStorageValue(cid, storage3) < 1 and getPlayerStorageValue(cid, storage4) < 1 and getPlayerStorageValue(cid, storage5) < 1 and getPlayerStorageValue(cid, storage6) < 1 then
doPlayerSendTextMessage(cid,22,"MSG Que Aparece Se Ele é TP")
doTeleportThing(cid, pos)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "MSG Que Aparece Se ele Não tem Storage")
end


return TRUE
end

 

Projeto/Serviços que desenvolvi durante esse Tempo.

[SERVIDOR] - NTO By Madara Rinnegan - Criado em 2014

Link para o post
Compartilhar em outros sites

 

não sei se vai funciona mas tenta assim

 

1.

function onUse(cid, item, frompos, item2, topos)
local win = storage que ele vai ganha
local los = storage que ele precisa ter


if getPlayerStorageValue(cid, los) < 1 then
doPlayerSendTextMessage(cid,22,"MSG QUE VAI APARECE QUANDO ELE GANHA")
setPlayerStorageValue(cid, win, 1)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "MSG QUE VAI APARECE SE ELE JA TIVE.")
end


return TRUE
end

2.

function onUse(cid, item, frompos, item2, topos)
local storage1 = STORAGE 1
local storage2 = STORAGE 2
local storage3 = STORAGE 3
local storage4 = STORAGE 4
local storage5 = STORAGE 5
local storage6 = STORAGE 6
pos = {x=1030, y=912, z=6} -- Onde Levara se ele tivér a storage


if getPlayerStorageValue(cid, storage1) < 1 and getPlayerStorageValue(cid, storage2) < 1 and getPlayerStorageValue(cid, storage3) < 1 and getPlayerStorageValue(cid, storage4) < 1 and getPlayerStorageValue(cid, storage5) < 1 and getPlayerStorageValue(cid, storage6) < 1 then
doPlayerSendTextMessage(cid,22,"MSG Que Aparece Se Ele é TP")
doTeleportThing(cid, pos)
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "MSG Que Aparece Se ele Não tem Storage")
end


return TRUE
end

 

vou testar quando chegar em casa valeu !

o 1º script oque tem isso de los ? que o player precisa ter ? só quero script pra add storage nao retirar

mesmo assim valeu rep+

 

Duvida: é pra tfs 1.0 ?

Editado por matheusbrito180 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

nao o Los é se caso ele precisa de uma storage ele ira CHECA se tem a storage pra poder clica na pedra

 

Projeto/Serviços que desenvolvi durante esse Tempo.

[SERVIDOR] - NTO By Madara Rinnegan - Criado em 2014

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 looktsx
      Salve Rapaziada tudo bom .
      queria ajuda pra cria um teleport ou uma alavanca com tempo ..
      depois do player usa o teleport ou a lavanca ele so poderá usa depois de tal determinado tempo.
       
      SERVIDOR 12.91
      Se alguem poder me ajuda vou fica grato ,
      des de ja agradeço a todos.
      ..
    • Por lango rullez
      Bom como via muita gente "nem tanta" com dúvidas, problemas etc.. Resolvi criar esse tópico para acabar com os seus problemas !
       
      ---------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------------
       
       
      Bom então vamos lá !
      ------------------------------------//--------------------------------------
       
      Pasta do seu servidor --> Data --> movements --> scripts
       
      Agora crie um arquivo .lua Renomeie com o nome de sua preferencia ! Ps: Tem que ser obrigatoriamente .LUA
      Bom no meu caso coloquei "TileLevel"
        E então cole este script dentro:   
       
       
      ------------------------------------------------------------------------------//-------------------------------------------------------------------------------------------
       
      {´~.~´} Legenda
       
      Vermelho: Level do player que irá poder passar no Teleport/tiler                                          
       
      Dourado: Posição de onde desejar colocar Teleport/tiler
       
      -------------------------------------------------------------------------------------------//-----------------------------------------------------------------------------------------------
       
      Agora salve o arquivo!
       
      -----------------------------------------------------------------//-----------------------------------------------------------------------
       
      Agora vamos para Segunda Parte !
      Me acompanhe !
      ---------------------------------------------------------------------------------------------------//---------------------------------------------------------------------------------------------------
      Vamos em:
      Pasta do seu servidor --> Data --> Movements.xml 
      Agora adicione o seguinte código/tag:
       
       
      {´~.~´} Legenda
      Roxo: É o nome do arquivo.lua que você criou na pasta Scripts
      Azul: É o level do player, tem que estar igual no script acima. Obs: Caso queria colocar level 100 é só mudar parte 250 para 100 isso vale mesma coisa na "PS" que acabei de explica embaixo \/
      -----------------------------------//------------------------------------------
      Ps:No Remeres Editor coloque no tile o actionID: 1250 ou level da sua preferencia. Quer level 100? então no tile coloque "1100"
       
      Bom espero que ajudem a todos !
       
        Créditos @vankk pelo script, que ele postou individualmente em um tópico, sem muitos detalhes.
       A TAG E AS DEMAIS COISAS FEITO POR MIM !
    • Por Nazo
      Buenas, TK!
      Um usuário pediu ajuda em um script, onde queria limitar para a quest ser feita apenas uma vez por IP, mesmo que ainda seja possível mudá-lo, resolvi postar aqui xd
       
      Execute esse código SQL no seu banco de dados MySQL, para a criação da tabela onde ficarão as storages e o IP armazenado do player:
      CREATE TABLE player_ip_storage( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, player_id INT NOT NULL, ip CHAR(15) NOT NULL, storage INT NOT NULL ); ALTER TABLE player_ip_storage ADD CONSTRAINT FK_PLAYER_ID FOREIGN KEY (player_id) REFERENCES players(id);  
      Ou caso seja SQLITE, utilize esse código:
      CREATE TABLE player_ip_storage( player_id INT NOT NULL, ip CHAR(15) NOT NULL, storage INT NOT NULL ); ALTER TABLE player_ip_storage ADD CONSTRAINT FK_PLAYER_ID FOREIGN KEY (player_id) REFERENCES players(id);  
      Crie um arquivo chamado nazo-functions.lua em data/lib e adicione o seguinte conteúdo:
      -- by Nazo (tibiaking.com) -- IP Storage System function getIpQuestStatus(cid, storage) storages = db.getResult("SELECT * FROM `player_ip_storage` WHERE `ip` = \"" .. doConvertIntegerToIp(getPlayerIp(cid)) .. "\" and `storage` = "..storage..";") if(storages:getID() ~= -1) then return false end return true end function setIpQuestStatus(cid, storage) db.executeQuery("INSERT INTO player_ip_storage(player_id, ip, storage) VALUES("..getPlayerGUID(cid)..",\""..doConvertIntegerToIp(getPlayerIp(cid)).."\","..storage..")") return true end  
      Agora, quando você tiver uma quest, adicione na verificação a função getIpQuestStatus na checagem junto, e quando finalizar a quest utilize o setIpQuestStatus, com os parâmetros cid e número da storage, porém a função só armazena que essa storage tem algo no banco de dados, ou seja, a quest já foi feita, você não armazena o valor da storage junto (como a função normal que geralmente adiciona "1" na storage).
       
      Exemplo de quest abaixo:
      -- by Nazo (tibiaking.com) config = { storage = 123123, -- storage da quest premio = {2160, 1} -- {itemid, quantia} } function onUse(cid, item, frompos, item2, toPosition) queststatus = getPlayerStorageValue(cid,config.storage) if(queststatus == -1 and getIpQuestStatus(cid, config.storage)) then -- note que eu só adicionei a função, nenhuma comparação, explicarei abaixo do código doPlayerSendTextMessage(cid,22,"Tome seu prêmio.") doPlayerAddItem(cid,config.premio[1],config.premio[2]) setPlayerStorageValue(cid,config.storage,1) setIpQuestStatus(cid,config.storage) -- função que adiciona a storage no banco de dados else doPlayerSendTextMessage(cid,22,"Você já fez esta quest.") end end  
      Explicação básica do motivo da função não possuir comparação na verificação e ficar como a seguir:
       
      if(getIpQuestStatus(cid, config.storage)) then Quando você faz um if, com uma função dentro sem comparações, ela continuará o bloco de comando apenas se o retorno da mesma for verdadeiro, assim quando você fizer a quest, e tentar novamente, o get retorna falso, e isso cancela a condição e vai para o bloco de comando do "else".
    • Por Barca Furada
      Boa noite meus caros colegas!
      Preciso de um Help!
       
       
      Quando eu coloco meu itens editados no meu xml e otb, acontece isso com os teleportes, perde todas as propriedades:
       
      No lado direito é sem meu Itemxml
      No lado Esquerdo é com meu Itemxml
       
      Como vcs pode vem ele perde a propriedade de destino!
       
      O arquivo Check File Signatures está desativados!
       
      Quando eu entro no REM com meu Itemxml, ele da essas mensagem de erro:
       
       
       
      Antes de fazer tudo isso eu No item editor, todos itens estava com essa borda vermelha, eu tinha dado reload em todos itens para o cliente OTCv8 conseguir visualizar, no primeiro momento achei que era isso que tinha acontecido para bugar meus teleportes, então eu dei reload em todos itens um por um e deixei o teleport sem dar reload, para ver se era esses o bug! e deu na mesma , quando edito o mapa para colocar novas hunt e cidade ele buga todos teleportes!
       
       
       
       
      No itemxml o teleport está com mesmo id!
       
      alguma alma bondosa para ajudar um colega?
    • Por Digoshow
      Gente e o seguinte, eu fiz uma quest com o RME, e no final da quest quero que um player de use no Bau e Catar um item, o item seria Document = ID: 952, e apos ele dar use nesse document, e liberado e certo lugar para ele passar.
      Ele faz a quest, e quando ele pega o Document e ele der use, ira sair uma mensagem assim, Parabens, Voce conseguiu Acesso Full.
      E ai ia liberar tiles para ele passa para um Hunt sempre que ele quiser, entendero?
      Tipo uma quest da vip 2, Os player que termina a quest, e liberado acesso a vip 2 !
      Alguem pode me ajudar, sim eu procurei nao como eu nao so la aquelas coisas nao consegui, eu ate tentei mais deu o erro a seguir, e ainda o script nem dava item, mais tentei mesmo assim, olhem o erro que da.
       


        Ai gente alguem pode me ajudar com esse script? Que ao da use la no bau pega o item e quando usar, voce ganha acesso a lugares novos, tipo voce usa o item, e voce podera passar nos tiles. Obrigado, REP+ .
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo