Ir para conteúdo

Featured Replies

Postado

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 :D

 

 

 

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:3648
Depois 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:3648
Depois 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 por biel.stocco (veja o histórico de edições)

Resolvido por Caronte

Ir para solução
  • Respostas 9
  • Visualizações 701
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • local walls = { -- horizontal = { [3362] = 3401, [3401] = 3400, [3400] = 3648, -- }, -- vertical = {

  • De acordo como você pediu anteriormente, aí está: local walls = { -- horizontal = { [3362] = 3401, [3401] = 3400, [3400] = 3648,

Postado

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:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Postado
  • 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

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:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo