Postado Maio 19, 2015 10 anos Olá pessoal! Graças a ajuda que recebo dos membros do TK aqui no suporte, estou avançando bem em meu otserver que logo anunciarei no fórum, e consequentemente estou começando a entender um pouco mais de scripts heueheu, então gostaria de usar esse tópico também para agradecer a todos, e em especial ao Snowsz e luanluciano93, sou muito grato a todos que ajudam e principalmente a esses dois maninhos que respondem a maior parte dos meus tópicos Bom, o script que preciso agora é o seguinte: tenho um martelo(ID:2556) e as paredes que tiverem o tal ActionID(não entendo de ActionID, pode ser qualquer um desde que funcione) do script eu poderei quebrar.. PAREDE HORIZONTAL Martelo(ID:2556) > Use With > Stone Wall(ID:3362) com ActionID então a Stone Wall se transformará em uma parede meia quebrada, que irá diminuindo em cada martelada Primeira Martelada: ID:3362> transforma > ID:3401 Segunda Martelada: ID:3401> transforma > ID:3400 Terceira Martelada: ID:3400> transforma > ID:3648Depois de 15 segundos, ID:3648 se transforma novamente no ID:3362 PAREDE VERTICAL Martelo(ID:2556) > Use With > Stone Wall(ID:3361) com ActionID então a Stone Wall se transformará em uma parede meia quebrada, que irá diminuindo em cada martelada Primeira Martelada: ID:3361> transforma > ID:3399 Segunda Martelada: ID:3399> transforma > ID:3387 Terceira Martelada: ID:3387> transforma > ID:3648Depois de 15 segundos, ID:3648 se transforma novamente no ID:3361(ps: em qualquer um dos casos, se o player parar na segunda martelada(exemplo), a parede ficará congelada naquilo até ser totalmente destruída e voltar após 15 segundos, normal..) Com esse script, usarei de base para fazer com que outras paredes tenham a mesma função quando o ActionID for agregado à elas, então com essa base pronta, conseguirei configurar os outros com facilidade huehueh Novamente, obrigado a todos! Editado Maio 19, 2015 10 anos por biel.stocco (veja o histórico de edições)
Postado Maio 19, 2015 10 anos local walls = { -- horizontal = { [3362] = 3401, [3401] = 3400, [3400] = 3648, -- }, -- vertical = { [3361] = 3399, [3399] = 3387, [3387] = 3648, -- }, } function onUse(cid, item, toPosition, itemEx, fromPosition) if itemEx.itemid == 3387 then setPlayerStorageValue(cid, 4858, "v") else setPlayerStorageValue(cid, 4858, "h") end if walls[itemEx.itemid] ~= nil then doTransformItem(itemEx.uid, walls[itemEx.itemid] ) doSendMagicEffect(fromPosition, CONST_ME_GROUNDSHAKER) else doPlayerSendCancel(cid, "Local de uso incorreto") doSendMagicEffect(toPosition, CONST_ME_POFF) end if walls[itemEx.itemid] == 3648 and getPlayerStorageValue(cid, 4858) == "h" then addEvent(function() doRemoveItem(getTileItemById({ x = fromPosition.x, y = fromPosition.y, z = fromPosition.z}, 3648).uid) doCreateItem(3362,1,fromPosition) doSendMagicEffect(fromPosition, CONST_ME_MAGIC_RED) end, 2000) elseif walls[itemEx.itemid] == 3648 and getPlayerStorageValue(cid, 4858) == "v" then addEvent(function() doRemoveItem(getTileItemById({ x = fromPosition.x, y = fromPosition.y, z = fromPosition.z}, 3648).uid) doCreateItem(3361,1,fromPosition) doSendMagicEffect(fromPosition, CONST_ME_MAGIC_RED) end, 2000) end return true end <action itemid="2556" event="script" value="Xcripts/martelo.lua"/> Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado). Tópicos: [FAQ] BBCODE [LIB] Constant [RME] Administrando bordas. [TALK] Broadcast Editável. [TALK] Sugest. [TALK] Checkpoint. [MOVE] Pântano pegajoso. [ACTION] Piggy Bank. (Cassino). [GLOBAL] Uptime Ad. [C0DE] Consertando 'Invalid Password' [PROGRAM] Quest Maker
Postado Maio 20, 2015 10 anos Autor Desculpe a demora, só deu pra logar agora heuheu O script é funcional em ambas direções e o delay para a parede voltar é configurável, perfeito! (REP+ por isso) mas manin, isso pode ser feito em ActionID? assim apenas as paredes com o ActionID poderiam quebrar, e as que não tivessem, não quebrariam ao martelar.. estava pensando no script: (não sei se isso é possível, mas se der..)EXEMPLO VERTICAL: Ao usar MARTELO em ACTIONID - transformar em 3399 ai o resto do script segue como está, do 3399 para o 3387 e assim por diante..EXEMPLO HORIZONTAL: Ao usar MARTELO em ACTIONID - transformar em 3401 ai o resto do script segue como está, do 3401 para o 3400 e assim por diante.. Motivo: Fiz uma cidade inteira com paredes 3362 e 3361, então chega um player com o martelo e derruba todas as construções(embora elas levantem automaticamente), é meio tenso
Postado Maio 20, 2015 10 anos Faço sim, assim que eu tiver acesso à um personal computer (PC). Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado). Tópicos: [FAQ] BBCODE [LIB] Constant [RME] Administrando bordas. [TALK] Broadcast Editável. [TALK] Sugest. [TALK] Checkpoint. [MOVE] Pântano pegajoso. [ACTION] Piggy Bank. (Cassino). [GLOBAL] Uptime Ad. [C0DE] Consertando 'Invalid Password' [PROGRAM] Quest Maker
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.