totonho18 18 Postado Dezembro 11, 2013 Share Postado Dezembro 11, 2013 (editado) Olá galera,sou eu de novo com meu segundo script,esse tenho certeza que vai ajudar muito mais que o ultimo. Explicando: É um script de quest,que da um BP com itens dentro,quantos itens você quiser. OBS:Aqui no forum achei um script desse de quest de multiplos itens,porém encontrei alguns erros nele,ele era assim,você clicava no chest,e ganhava uma bp com itens dentro,até aí tudo bem,mas se você clicasse outra vez no chest,você ganhava outra BP vazia,isso fazia uma bagunça,isso ocorreu porque a BP que regia a Action era uma bp "independente" ou seja uma bp sem codificação,não existia um storage nela,aí o player podia dropar a bp infinitas x,porém a bp vinha vazia... créditos 50% meu que montei e corrigi o erro e 50% do criador que não sei quem é! Vá na pasta data/actions/scripts crie um arquivo.lua e o renomeie para "multichest.lua" sem as aspas! cole a seguinte função: function onUse(cid, item, frompos, item2, topos) if item.uid == 7778 then queststatus = getPlayerStorageValue(cid,7778) if queststatus == -1 then doPlayerSendTextMessage(cid,22,"Voce Ganhou um Tera Set!.") local bp = doPlayerAddItem(cid, 1991, 1) -- doAddContainerItem(bp, 7884, 1) doAddContainerItem(bp, 7903, 1) doAddContainerItem(bp, 7885, 2) doAddContainerItem(bp, 7887, 1) setPlayerStorageValue(cid,7778,1) else doPlayerSendTextMessage(cid,22,"It is empty.") end else return 0 end return 1 end Modifique a seu gosto salve e feche! tem essa forma aqui também! function onUse(cid, item, frompos, item2, topos) local items = { [7884] = 1, --Tabela, para facilitar a configuração. Configuração: [id do item] = quantida [7903] = 1, [7885] = 2, [7887] = 1, } if item.uid == 7778 then queststatus = getPlayerStorageValue(cid,7778) if queststatus == -1 then doPlayerSendTextMessage(cid, 22, "Voce Ganhou um Tera Set!.") local bp = doPlayerAddItem(cid, 1991, 1) for a, b in pairs(items) do --looping da tabela items: a = id do item, b = quantidade. Esse "a" generaliza todos os IDs; já "b", todas as quantidades (e seus respectivos items). for i = 1, b do --looping: sem esse looping, a quantidade seria sempre 1. doAddContainerItem(bp, a, 1) --Sendo a = ids configurados na tabela items; esse 1 foi alterado no looping acima, para ter como valor a quantidade "b". end end setPlayerStorageValue(cid,7778,1) else doPlayerSendTextMessage(cid, 22, "It is empty.") end else return 0 end return 1 end qualquer uma das 2 funções que você usar vai dar certo,a diferença é que a de baixo tem tabela,OBS o meu script é o primeiro,esse segundo é do zipter98 créditos pra ele. Use a que você achar mais fácil,as 2 tem a msm função. Agora na pasta data/actions/actions.xml cole essa tag: <action uniqueid="7778" script="multichest.lua" /> salve e feche,e dps no map editor coloque o unique id 7778 no item que você quiser,não precisa ser um chest,pode ser numa statue,num tile,numa wall,qualquer coisa que possa ser add um unique id,Certo? O que você precisa saber? Primeira linha= não meche Segunda linha = Unique id coloque o que você quiser desde q n exista no seu serv Terceira linha = Storage coloque o que você quiser que ainda n exista quarta linha = n meche nela quinta linha = msg que vai receber ao clicar no chest sexta linha = id da bp que vai ser dropada com os itens dentro apartir da sexta linha = os itens que estarão dentro da bp setPlayerStorageValue(cid,7778,1) = é o storage que o player vai ganhar, lembre-se dos prefixos, "Set" = Ganhar "get"=Checar não mecha nos else,nos return e nos end,se n vai dar zebra. doPlayerSendTextMessage(cid,22,"It is empty.") esse é a msg que o player vai receber quando concluir LEIA IMPORTANTE= É interessante você colocar um storage diferente do Uid,porque se você colocar um tile ou uma door pra abrir se o player tiver concluido a quest,com o uid igual ao storage vai bugar,nesse caso é legal colocar o uid diferente do storage.. Muito obrigado por ler,critique! comente! elogie! mas n deixe de se manifestar sua opinião é o que me move e inspira! Editado Dezembro 12, 2013 por Totonho18 VictorTasquin reagiu a isso 1 Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados