wougoplex 27 Postado Dezembro 2, 2016 Share Postado Dezembro 2, 2016 Preciso de um script que quando o player da use no bau ele faz uma animação tipo o bau de adventure da pxg Ajudaria eu e mais umonte de gente Link para o comentário Compartilhar em outros sites More sharing options...
1 zipter98 1101 Postado Dezembro 6, 2016 Share Postado Dezembro 6, 2016 Naquela parte da tabela, troque: targetItem = {target = 2711, newid = {17207, 17208, 17209, 17210, 17211, 17212}} por: targetItem = {target = 2711, newid = {17207, 17208, 17209, 17210, 17211, 17212}, transformBack = {17213, 17214, 17215, 2711}} Em transformBack, você configura, na ordem de transformação, o ID dos itens que fazem parte do crescimento da árvore. Depois, troque: doReturnItemsWithDelay(toPos, ProfessionId[getPlayerProfessionId(cid)].targetItem.target, 60) por: doReturnItemsWithDelay(toPos, ProfessionId[getPlayerProfessionId(cid)].targetItem.transformBack, 20, 1) 20 é o intervalo, em segundos, entre cada transformação. Na lib, troque: function doReturnItemsWithDelay(toPosition, itemid, times) local function doReturnItem(itemposition,oldid) local pos = getThingfromPos(itemposition) doTransformItem(pos.uid,oldid) doSetItemText(pos.uid, getItemNameById(oldid)) end addEvent(doReturnItem, times * 1000,toPosition, itemid)end por: function doReturnItemsWithDelay(toPosition, ids, time_interval, i) if i > #ids then return true end addEvent(function() local item = getThingfromPos(toPosition).uid doTransformItem(item, ids[i]) addEvent(doReturnItemsWithDelay, time_interval * 1000, toPosition, ids, time_interval, i + 1) end, time_interval * 1000)end Link para o comentário Compartilhar em outros sites More sharing options...
0 DuuhCarvalho 327 Postado Dezembro 2, 2016 Share Postado Dezembro 2, 2016 2 horas atrás, wougoplex disse: Preciso de um script que quando o player da use no bau ele faz uma animação tipo o bau de adventure da pxg Ajudaria eu e mais umonte de gente faz uma animação onde ? explica mais detalhado Link para o comentário Compartilhar em outros sites More sharing options...
0 wougoplex 27 Postado Dezembro 2, 2016 Autor Share Postado Dezembro 2, 2016 Agora, DuuhCarvalho disse: faz uma animação onde ? explica mais detalhado Seria Assim que nem no video No final quando ele abre o bau Link para o comentário Compartilhar em outros sites More sharing options...
0 wougoplex 27 Postado Dezembro 4, 2016 Autor Share Postado Dezembro 4, 2016 up Link para o comentário Compartilhar em outros sites More sharing options...
0 zipter98 1101 Postado Dezembro 4, 2016 Share Postado Dezembro 4, 2016 Pelo que notei, há uma transformação de item: o baú fechado, visivelmente, se transforma no aberto. Poderia me confirmar se essa animação dele se abrindo faz parte do segundo item (o baú aberto)? Link para o comentário Compartilhar em outros sites More sharing options...
0 wougoplex 27 Postado Dezembro 5, 2016 Autor Share Postado Dezembro 5, 2016 8 horas atrás, zipter98 disse: Pelo que notei, há uma transformação de item: o baú fechado, visivelmente, se transforma no aberto. Poderia me confirmar se essa animação dele se abrindo faz parte do segundo item (o baú aberto)? Ele tem tipo 5 que nem o da porta da pxg ela vai se abrindo com vc chega perto mais ja o bau ele vai abrir quando vc clickar Os item sao assim Link para o comentário Compartilhar em outros sites More sharing options...
0 zipter98 1101 Postado Dezembro 5, 2016 Share Postado Dezembro 5, 2016 Seria algo assim? local ids = {19225, 19226, 19227, 19228, 19229, 19230, 19231, 19232}function onUse(cid, item) for i = 1, #ids do addEvent(doTransformItem, i * 100, item.uid, ids[i]) end return trueend A tag do código de premiação do baú seria algo do tipo: <action itemid="19232" event="script" value="código_de_premiação.lua"/> Link para o comentário Compartilhar em outros sites More sharing options...
0 Josegvb 87 Postado Dezembro 5, 2016 Share Postado Dezembro 5, 2016 3 horas atrás, zipter98 disse: Seria algo assim? local ids = {19225, 19226, 19227, 19228, 19229, 19230, 19231, 19232}function onUse(cid, item) for i = 1, #ids do addEvent(doTransformItem, i * 100, item.uid, ids[i]) end return trueend A tag do código de premiação do baú seria algo do tipo: <action itemid="19232" event="script" value="código_de_premiação.lua"/> poderia me dar 1 mao? é o com esse msm script mas pra a proffisao, queria q quando usar o item da proffisao stylist (2553), adventurer (11454) , Teacher (11455) no NEWID (Item que é transformado depois de cortado no caso do stylist} fizer esse efeito de se transformar em varios items aki o script action: Spoiler -- Sistema de profissão -- Desenvolvido por Gabriel Lucena (Drazyn1291/BielLucena1291) --Tag: <action itemid="ITEMID;ITEMID;ITEMID;ITEMID" event="script" value="ProfessionAction.lua"/>- function onUse(cid, item, fromPosition, itemEx, toPosition) if not isCreature(itemEx.uid) then if not (getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1) then if ProfessionId[getPlayerProfessionId(cid)] then cont = false name = "" for i = 1, #ProfessionId do if item.itemid == ProfessionId.CollectItemId and i == getPlayerProfessionId(cid) then cont = true else if item.itemid == ProfessionId.CollectItemId then name = ProfessionId.name end end end if cont then if ProfessionId[getPlayerProfessionId(cid)].targetItem.target == itemEx.itemid then toPos = getThingPosition(itemEx.uid) fromPos = getCreaturePosition(cid) if getDistanceBetween(fromPos, toPos) <= 1 then if getDirectionTo(fromPos, toPos) == getCreatureLookDirection(cid) then quantItem = math.random(1, ProfessionLib.quantMax) doCreatureSetNoMove(cid, true) if getPlayerSex(cid) == 1 then lp = ProfessionId[getPlayerProfessionId(cid)].looktypeM else lp = ProfessionId[getPlayerProfessionId(cid)].looktypeF end doSetCreatureOutfit(cid, {lookType = lp}, -1) -- getCreatureLookDirection(cid) addEvent(function() doRemoveCondition(cid, CONDITION_OUTFIT) doCreatureSetNoMove(cid, false) doTransformItem(getThingFromPos(toPos).uid, ProfessionId[getPlayerProfessionId(cid)].targetItem.newid) doReturnItemsWithDelay(toPos, ProfessionId[getPlayerProfessionId(cid)].targetItem.target, 15) doPlayerAddItem(cid, ProfessionId[getPlayerProfessionId(cid)].CollectItem, quantItem) doPlayerSendTextMessage(cid, 27, "Você recebeu "..quantItem.."x "..getItemNameById(ProfessionId[getPlayerProfessionId(cid)].CollectItem).." por fazer essa ação!") end, ProfessionLib.OutfitTime*1000) else doPlayerSendCancel(cid, "Você percisa ficar de frente para esse item!") end else doPlayerSendCancel(cid, "Você precisa está na frente do item!") end else doPlayerSendCancel(cid, "Você não pode usar esse item aqui!") end else doPlayerSendCancel(cid, "Você precisa ser "..name.." para usar esse item!") end else doPlayerSendCancel(cid, "Você não tem nenhuma profissão!") end else doPlayerSendCancel(cid, "Você não pode usar esse item enquanto estiver montado!") end else doPlayerSendCancel(cid, "Você não pode usar esse item aqui!") end return true end Lib Spoiler -- Sistema de profissão -- Desenvolvido por Gabriel Lucena (Drazyn1291/BielLucena1291) e GOD Vitor. -- Geral ProfessionLib = { geral_sto = 123123, -- Não mecha OutfitTime = 8, -- Tempo em que dura a outfit NeedVip = true, -- Se precisa de vip para mudar/virar a profissão CostToChange = 125, -- Quantidade do itemid abaixo que vai ser usado para mudar de profissão itemid = 2160, -- Item que vai ser usado para mudar de profissão quantMax = 3, -- Quantidade máxima } ProfessionId = { --[4] = {name = Proffision Name, looktypeM = LookType male (Coletando item), looktypeF = LookType Female, CollectItemId = Item que coleta (Ex: Machado do stylist), CollectItem = Item Que é coletado (Madeira do stylist), targetItem = {target = Item Alvo (Arvore do Stylist), newid = Item que é transformado depois de cortado}}, [1] = {name = "Stylist", looktypeM = 2387, looktypeF = 2388, CollectItemId = 2553, CollectItem = 5901, targetItem = {target = 2711, newid = 8786}}, [2] = {name = "Engineer", looktypeM = 2091, looktypeF = 2092, CollectItemId = 13327, CollectItem = 8309, targetItem = {target = 1480, newid = 7660}}, [3] = {name = "Adventurer", looktypeM = 2264, looktypeF = 2265, CollectItemId = 11454, CollectItem = 13075, targetItem = {target = 2706, newid = 2741}}, [4] = {name = "Teacher", looktypeM = 2260, looktypeF = 2261, CollectItemId = 11455, CollectItem = 13075, targetItem = {target = 2706, newid = 2741}}, } -- NPC de troca SellStylist = { --{id = ID, toDo = {{id, quant}, {id, quant}}} [1] = {id = 7866, quant = 1, level = 50, toDo = {{2666, 45}, {5901, 475}}}, [2] = {id = 7868, quant = 1, level = 80, toDo = {{12148, 15}, {5901, 580}}}, } SellEnginner = { --{id = ID, toDo = {{id, quant}, {id, quant}}} [1] = {id = 2174, quant = 100, level = 10, toDo = {{2177, 10}, {2160, 2}}}, [2] = {id = 2175, quant = 10, level = 10, toDo = {{2179, 2}, {2160, 3}}}, } SellAdventurer = { --{id = ID, toDo = {{id, quant}, {id, quant}}} [1] = {id = 2174, quant = 100, level = 10, toDo = {{2177, 10}, {2160, 2}}}, [2] = {id = 2175, quant = 10, level = 10, toDo = {{2179, 2}, {2160, 3}}}, } SellTeacher = { --{id = ID, toDo = {{id, quant}, {id, quant}}} [1] = {id = 2174, quant = 100, level = 10, toDo = {{2177, 10}, {2160, 2}}}, [2] = {id = 2175, quant = 10, level = 10, toDo = {{2179, 2}, {2160, 3}}}, } -- Functions function canEnterInProfession(cid) if ProfessionLib.NeedVip and not isPremium(cid) then return false end return true end function existProfession(profName) cont = false for i = 1, #ProfessionId do if not cont then if ProfessionId.name == profName then cont = true end end end return cont end function hasProfession(cid) if ProfessionId[getPlayerProfessionId(cid)] then return true end return false end function existProfession(profName) cont = false for i = 1, #ProfessionId do if not cont then if ProfessionId.name == profName then cont = true end end end return cont end function getProfessionIdByName(profName) for i = 1, #ProfessionId do if ProfessionId.name == profName then return i end end end function doChangeProfession(cid, id, check) if ProfessionLib.NeedVip and not isPremium(cid) then return false end if check then if hasProfession(cid) then return false else if ProfessionId[id] or id == 0 then setPlayerStorageValue(cid, ProfessionLib.geral_sto, id) doPlayerAddItem(cid, ProfessionId[id].CollectItemId, 1) else return false end end else if ProfessionId[id] or id == 0 then setPlayerStorageValue(cid, ProfessionLib.geral_sto, id) doPlayerAddItem(cid, ProfessionId[id].CollectItemId, 1) else return false end end end function getPlayerProfessionId(cid) return getPlayerStorageValue(cid, ProfessionLib.geral_sto) end function getProfessionName(cid) if hasProfession(cid) then return ProfessionId[getPlayerProfessionId(cid)].name end return "" end function doReturnItemsWithDelay(toPosition, itemid, times) local function doReturnItem(itemposition,oldid) local pos = getThingfromPos(itemposition) doTransformItem(pos.uid,oldid) doSetItemText(pos.uid, getItemNameById(oldid)) end addEvent(doReturnItem, times * 1000,toPosition, itemid) end function doConcatTable(itemsss, sep1, sep2) str = "" if #itemsss > 0 then for i = 1, #itemsss do if #itemsss > 1 then if i ~= #itemsss then if i ~= 1 then str = str..sep1..itemsss else str = str..itemsss end else str = str..sep2..itemsss end else str = itemsss end end end return str end Link para o comentário Compartilhar em outros sites More sharing options...
0 zipter98 1101 Postado Dezembro 5, 2016 Share Postado Dezembro 5, 2016 Troque a linha que você destacou por essa: local ids = ProfessionId[getPlayerProfessionId(cid)].targetItem.newidfor i = 1, #ids do addEvent(doTransformItem, i * 100, getThingFromPos(toPos).uid, ids[i])end Agora, na lib, você deve substituir na tabela de profissões o valor newid por uma tabela contendo os itens da transformação. Por exemplo: targetItem = {target = 2706, newid = {2741, xxx, xxx, ...}} Link para o comentário Compartilhar em outros sites More sharing options...
0 wougoplex 27 Postado Dezembro 5, 2016 Autor Share Postado Dezembro 5, 2016 8 horas atrás, zipter98 disse: Troque a linha que você destacou por essa: local ids = ProfessionId[getPlayerProfessionId(cid)].targetItem.newidfor i = 1, #ids do addEvent(doTransformItem, i * 100, getThingFromPos(toPos).uid, ids[i])end Agora, na lib, você deve substituir na tabela de profissões o valor newid por uma tabela contendo os itens da transformação. Por exemplo: targetItem = {target = 2706, newid = {2741, xxx, xxx, ...}} n entedi Link para o comentário Compartilhar em outros sites More sharing options...
0 zipter98 1101 Postado Dezembro 5, 2016 Share Postado Dezembro 5, 2016 (editado) Isso que você citou é minha resolução para o pedido do Josegvb. Para o seu, é a seguinte: 20 horas atrás, zipter98 disse: Seria algo assim? local ids = {19225, 19226, 19227, 19228, 19229, 19230, 19231, 19232}function onUse(cid, item) for i = 1, #ids do addEvent(doTransformItem, i * 100, item.uid, ids[i]) end return trueend A tag do código de premiação do baú seria algo do tipo: <action itemid="19232" event="script" value="código_de_premiação.lua"/> Editado Dezembro 5, 2016 por zipter98 Link para o comentário Compartilhar em outros sites More sharing options...
0 wougoplex 27 Postado Dezembro 5, 2016 Autor Share Postado Dezembro 5, 2016 9 horas atrás, zipter98 disse: Troque a linha que você destacou por essa: local ids = ProfessionId[getPlayerProfessionId(cid)].targetItem.newidfor i = 1, #ids do addEvent(doTransformItem, i * 100, getThingFromPos(toPos).uid, ids[i])end Agora, na lib, você deve substituir na tabela de profissões o valor newid por uma tabela contendo os itens da transformação. Por exemplo: targetItem = {target = 2706, newid = {2741, xxx, xxx, ...}} [05/12/2016 21:40:52] [Error - Action Interface] [05/12/2016 21:40:52] In a timer event called from: [05/12/2016 21:40:52] data/actions/scripts/Tesouro Bau.lua:onUse [05/12/2016 21:40:52] Description: [05/12/2016 21:40:52] (luaDoTransformItem) Item not found Link para o comentário Compartilhar em outros sites More sharing options...
0 zipter98 1101 Postado Dezembro 5, 2016 Share Postado Dezembro 5, 2016 (editado) Já irei testar o código e editar este comentário. PS: O código que você citou acima não é o que escrevi para você, como já disse antes. Editado Dezembro 5, 2016 por zipter98 Link para o comentário Compartilhar em outros sites More sharing options...
0 Josegvb 87 Postado Dezembro 5, 2016 Share Postado Dezembro 5, 2016 (editado) 23 minutos atrás, wougoplex disse: n entedi ele adaptou pra min ^^ 9 horas atrás, zipter98 disse: Troque a linha que você destacou por essa: local ids = ProfessionId[getPlayerProfessionId(cid)].targetItem.newidfor i = 1, #ids do addEvent(doTransformItem, i * 100, getThingFromPos(toPos).uid, ids[i])end Agora, na lib, você deve substituir na tabela de profissões o valor newid por uma tabela contendo os itens da transformação. Por exemplo: targetItem = {target = 2706, newid = {2741, xxx, xxx, ...}} targetItem = {target = 2711, newid = 17207, 17208, 17209, 17210, 17211,17212} [05/12/2016 19:47:53] [Error - Action Interface] [05/12/2016 19:47:53] In a timer event called from: [05/12/2016 19:47:53] data/actions/scripts/ProfessionAction.lua:onUse [05/12/2016 19:47:53] Description: [05/12/2016 19:47:53] data/actions/scripts/ProfessionAction.lua:39: attempt to get length of local 'ids' (a number value) [05/12/2016 19:47:53] stack traceback: [05/12/2016 19:47:53] data/actions/scripts/ProfessionAction.lua:39: in function <data/actions/scripts/ProfessionAction.lua:35> Spoiler -- Sistema de profissão -- Desenvolvido por Gabriel Lucena (Drazyn1291/BielLucena1291) --Tag: <action itemid="ITEMID;ITEMID;ITEMID;ITEMID" event="script" value="ProfessionAction.lua"/>- function onUse(cid, item, fromPosition, itemEx, item2, toPosition) if not isCreature(itemEx.uid) then if not (getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue(cid, 17001) >= 1) then if ProfessionId[getPlayerProfessionId(cid)] then cont = false name = "" for i = 1, #ProfessionId do if item.itemid == ProfessionId.CollectItemId and i == getPlayerProfessionId(cid) then cont = true else if item.itemid == ProfessionId.CollectItemId then name = ProfessionId.name end end end if cont then if ProfessionId[getPlayerProfessionId(cid)].targetItem.target == itemEx.itemid then toPos = getThingPosition(itemEx.uid) fromPos = getCreaturePosition(cid) if getDistanceBetween(fromPos, toPos) <= 1 then if getDirectionTo(fromPos, toPos) == getCreatureLookDirection(cid) then quantItem = math.random(1, ProfessionLib.quantMax) doCreatureSetNoMove(cid, true) if getPlayerSex(cid) == 1 then lp = ProfessionId[getPlayerProfessionId(cid)].looktypeM else lp = ProfessionId[getPlayerProfessionId(cid)].looktypeF end doSetCreatureOutfit(cid, {lookType = lp, lookHead = getCreatureOutfit(cid).lookHead, lookBody = getCreatureOutfit(cid).lookBody, lookLegs = getCreatureOutfit(cid).lookLegs, lookFeet = getCreatureOutfit(cid).lookFeet}, -1) -- getCreatureLookDirection(cid) addEvent(function() doRemoveCondition(cid, CONDITION_OUTFIT) doCreatureSetNoMove(cid, false) local ids = ProfessionId[getPlayerProfessionId(cid)].targetItem.newid for i = 1, #ids do addEvent(doTransformItem, i * 100, getThingFromPos(toPos).uid, ids) end doReturnItemsWithDelay(toPos, ProfessionId[getPlayerProfessionId(cid)].targetItem.target, 60) doPlayerAddItem(cid, ProfessionId[getPlayerProfessionId(cid)].CollectItem, quantItem) doPlayerSendTextMessage(cid, 27, "Você recebeu "..quantItem.."x "..getItemNameById(ProfessionId[getPlayerProfessionId(cid)].CollectItem).." por fazer essa ação!") end, ProfessionLib.OutfitTime*1000) else doPlayerSendCancel(cid, "Você percisa ficar de frente para esse item!") end else doPlayerSendCancel(cid, "Você precisa está na frente do item!") end else doPlayerSendCancel(cid, "Você não pode usar esse item aqui!") end else doPlayerSendCancel(cid, "Você precisa ser "..name.." para usar esse item!") end else doPlayerSendCancel(cid, "Você não tem nenhuma profissão!") end else doPlayerSendCancel(cid, "Você não pode usar esse item enquanto estiver montado!") end else doPlayerSendCancel(cid, "Você não pode usar esse item aqui!") end return true end O erro acontece logo q ele termina de cortar q é quando o item deberia de virar esse, tb pelo q vi só no final tb queria ver se poderia modificar 1 pouco o script pra eles ir se tornando logo q ele usa o pick neles pq do jeito q esta paresce q a transformaçao só ira começar quando ele termina Editado Dezembro 5, 2016 por Josegvb Link para o comentário Compartilhar em outros sites More sharing options...
0 wougoplex 27 Postado Dezembro 5, 2016 Autor Share Postado Dezembro 5, 2016 Agora, zipter98 disse: Já irei testar o código e editar este comentário. PS: O código que você citou acima não é o que escrevi para você, como já disse antes. Eu usei o 1 codigo que vc enviou Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
wougoplex 27
Preciso de um script que quando o player da use no bau ele faz uma animação tipo o bau de adventure da pxg
Ajudaria eu e mais umonte de gente
Link para o comentário
Compartilhar em outros sites
24 respostass a esta questão
Posts Recomendados