Postado Agosto 28, 2017 7 anos BOA NOITE PRECISO DE ALGUNS SCRIPTS NO MEU PROJETO PARA FICAR BACANA A JOGABILIDADE E O RPG ENVOLVENTE. 1° SCRIPT LEVEL MINIMO PARA ABRIR O BUEIRO GOSTARIA QUE NO MEU SERVIDOR, UM PLAYER LEVEL 9 NÃO CONSIGA ENTRAR NO BUEIRO POIS ELE ESTA MUITO FRACO. CASO ELE TENTASSE APARECIA UMA MENSAGEM DIZENDO QUE O PERSONAGEM É FRACO, SÓ PODERIA ENTRAR NO BUEIRO ALGUÉM QUE ESTEJA LEVEL 10. 2° SCRIPT LOOT COMPLEXO EXEMPLO: UM MONSTRO X DROPA UMA PLATE ARMOR E UMA BRASS ARMOR, MEU PEDIDO É QUE, SE CAIR A PLATE ARMOR, NÃO VAI CAIR A BRASS ARMOR E SE CAIR A BRASS ARMOR, NÃO VAI CAIR A PLATE ARMOR. 3° SCRIPT QUEST ALEATÓRIA GOSTARIA DE UMA QUEST CUJO O BAU SEJA UM CORPO MORTO, E NELE PODERIA VIR VÁRIOS PRÊMIOS, UM CHAPÉU, UMA LEGS, UM ESCUDO E ETC. NO MOMENTO É SÓ ISSO. OBRIGADO GALERA :D PRECISAREI DE MAIS SCRIPTS, CASO QUERIA ENTRAR EM CONTATO COMIGO SKYPE: DANILO.PIERASSO FACEBOOK: DANILO.PIERASSO BJS
Postado Agosto 29, 2017 7 anos 2 axu quase impossivel ja o 3 e so pega escript de qual quer outra quest renomear e muda a storage e a action
Postado Agosto 29, 2017 7 anos 1º Script Crie um arquivo em actions/scripts: bueirolevel.lua Mostrar conteúdo oculto local level = 9 -- level mínimo para entrar function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerLevel(cid) < level then return doPlayerSendCancel(cid, "Você ainda está fraco. Volte quando estiver level " .. level .. ".") end end Em actions.xml: <action actionid="ACTIONID_DO_BUEIRO" script="bueirolevel.lua" /> 2º Script Crie um arquivo em creaturescripts/scripts: checkloot.lua Mostrar conteúdo oculto local t = {1111, 2222} -- coloque o id da brass armor, id da mpa function onDeath(cid, corpse, deathList) local pos = getCreaturePosition(cid) addEvent(notLootTogether,1,pos,t) return true end function notLootTogether(pos, table) local check = false for i = 0, 255 do pos.stackpos = i tile = getTileThingByPos(pos) if tile.uid > 0 and isCorpse(tile.uid) then check = true break end end if check == true then local items = getContainerItems(tile.uid) local toRemove = {} function count(T) local count = 0 for _ in pairs(T) do count = count + 1 end return count end for i, x in pairs(items) do if isInArray(table, tonumber(x.itemid)) then toRemove[count(toRemove) + 1] = x.uid end if count(toRemove) == #table then doRemoveItem(toRemove[math.random(1,#toRemove)]) return true end end end end function getContainerItems(containeruid) local items = {} local containers = {} if type(getContainerSize(containeruid)) ~= "number" then return false end for slot = 0, getContainerSize(containeruid)-1 do local item = getContainerItem(containeruid, slot) if item.itemid == 0 then break end if isContainer(item.uid) then table.insert(containers, item.uid) end table.insert(items, item) end if #containers > 0 then for i,x in ipairs(getContainerItems(containers[1])) do table.insert(items, x) end table.remove(containers, 1) end return items end Adicione a tag no creaturescripts.xml: <event type="death" name="CheckLoot" event="script" value="checkloot.lua"/> No arquivo do monstro que você quer que remova uma das armors coloque, antes de </monster>, o seguinte: <script> <event name="CheckLoot"/> </script> Lembrando que ainda aparecerá a mensagem dos dois itens para o player, mas um será removido do loot. 3º Script Crie um arquivo em actions/scripts: corpserandom.lua Mostrar conteúdo oculto local items = {1111, 2222, 3333, 4444} -- edite os ids dos itens function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, 19782) ~= -1 then return doPlayerSendCancel(cid, "Você já recebeu o item.") end rand = math.random(1, #items) doCreatureSay(cid, "Você ganhou um " .. getItemNameById(items[rand]) .. "!", TALKTYPE_ORANGE_1) doPlayerAddItem(cid, items[rand], 1) setPlayerStorageValue(cid, 19782, 1) end Adicione a tag em actions.xml: <action actionid="ACTIONID_DO_CORPO" script="corpserandom.lua" /> Contato: Email: dwarfer@sapo.pt Discord: Dwarfer#2715
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.