Ir para conteúdo
  • Cadastre-se

(Resolvido)Incrementar função ao script e 2 pedido


Ir para solução Resolvido por Crypter,

Posts Recomendados

Tendo esse seguinte script abaixo, se possível incrementar, mais uma coluna "de charges" para que eu use  aols, etc... e ao usar essa mesma action, teleportar para X posição, e quando chegar nessa X posição, sai um effect e ganha uma storage.

 

--[numeração] = {id = ID DO ITEM, count = QUANTIDADE DO ITEM, c = CHANCE,  char = charges}

 

local items =
{ 
--[numeração] = {id = ID DO ITEM, count = QUANTIDADE DO ITEM, c = CHANCE}
  [1]={id=8884, count=1, c=10}, -- item 1
  [2]={id=8890, count=1, c=10}, -- item 2
  [3]={id=8888, count=1, c=10}, -- item 3
  [4]={id=8905, count=1, c=10}, -- item 4
  [5]={id=10511, count=1, c=10}, -- item 5
  [6]={id=10515, count=1, c=10}, -- item 6
  [7]={id=10514, count=1, c=10}, -- item 7
  [8]={id=10139, count=1, c=10}, -- item 8
  [9]={id=10719, count=1, c=10}, -- item 9
  [10]={id=12608, count=75, c=10}, -- item 9
}

function getRandomItem(t)
  local i = math.random(1, #t)
  i = t[i]
  if math.random(1, 100) <= i.c then
    return i
  end
  
  return getRandomItem(t)
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
  local i = getRandomItem(items)
  doPlayerAddItem(cid, i.id, i.count)
  doSendAnimatedText(getPlayerPosition(cid), "Magic Box!", TEXTCOLOR_YELLOW)
  doPlayerSendTextMessage(cid, 27, "You opened a chest event and won "..i.count.."x "..getItemNameById(i.id)..(i.count > 1 and "s" or "")..".")
  doRemoveItem(item.uid, 1)
return true
end

 

Pedido de 2 scripts:

 

1 -  Uma action Ao clicar na porta, (contendo um actionid), você é teleportado para uma posição X, e terá 15 segundos para fazer uma ação, após esse tempo, é teleportado para outra posição, mas, se tiver uma X storage temporária, ele não é teleportado.

 

2 - Movements que remove uma storage.

 

Editado por JcA (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Solução
local items =
{
--[numeração] = {id = ID DO ITEM, count = QUANTIDADE DO ITEM, c = CHANCE}
  [1]={id=8884, count=1, c=10}, -- item 1
  [2]={id=8890, count=1, c=10}, -- item 2
  [3]={id=8888, count=1, c=10}, -- item 3
  [4]={id=8905, count=1, c=10}, -- item 4
  [5]={id=10511, count=1, c=10}, -- item 5
  [6]={id=10515, count=1, c=10}, -- item 6
  [7]={id=10514, count=1, c=10}, -- item 7
  [8]={id=10139, count=1, c=10}, -- item 8
  [9]={id=10719, count=1, c=10}, -- item 9
  [10]={id=12608, count=75, c=10}, -- item 9
}

function getRandomItem(t)
  local i = math.random(1, #t)
  i = t[i]
  if math.random(1, 100) <= i.c then
    return i
  end
 
  return getRandomItem(t)
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local i = getRandomItem(items)
    local effect = 1
    local Pos =  {x = 1, y = 1, z = 7}
    local PlayerPos = {x = getPlayerPosition(cid).x + 0, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z}
    local stor = 98543
 
    if getPlayerStorageValue(cid,stor) == -1 then
        doPlayerAddItem(cid, i.id, i.count)
        doTeleportThing(cid, Pos)
        doSendMagicEffect(PlayerPos,effect)
        doSendAnimatedText(getPlayerPosition(cid), "Magic Box!", TEXTCOLOR_YELLOW)
        doPlayerSendTextMessage(cid, 27, "You opened a chest event and won "..i.count.."x "..getItemNameById(i.id)..(i.count > 1 and "s" or "")..".")
        doRemoveItem(item.uid, 1)
        setPlayerStorageValue(cid,stor,1)
    else
        doPlayerSendTextMessage(cid,25,"The chest event is empty.")
    end
return true
end

Movements

 

function onStepIn(cid, item, pos)
local stor = x

    if getPlayerStorageValue(cid,stor) > 1 then
        doPlayerSendCancel(cid,"Removido")
        setPlayerStorageValue(cid,stor,0)        
    end
end

Editado por DboExplorer (veja o histórico de edições)

 

Te ajudei ?? Que tal fazer uma contribuição ?

Doar

Link para o post
Compartilhar em outros sites
8 minutos atrás, DboExplorer disse:

 


local items =
{
--[numeração] = {id = ID DO ITEM, count = QUANTIDADE DO ITEM, c = CHANCE}
  [1]={id=8884, count=1, c=10}, -- item 1
  [2]={id=8890, count=1, c=10}, -- item 2
  [3]={id=8888, count=1, c=10}, -- item 3
  [4]={id=8905, count=1, c=10}, -- item 4
  [5]={id=10511, count=1, c=10}, -- item 5
  [6]={id=10515, count=1, c=10}, -- item 6
  [7]={id=10514, count=1, c=10}, -- item 7
  [8]={id=10139, count=1, c=10}, -- item 8
  [9]={id=10719, count=1, c=10}, -- item 9
  [10]={id=12608, count=75, c=10}, -- item 9
}

function getRandomItem(t)
  local i = math.random(1, #t)
  i = t[i]
  if math.random(1, 100) <= i.c then
    return i
  end
 
  return getRandomItem(t)
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
    local i = getRandomItem(items)
    local effect = 1
    local PlayerPos = {x = getPlayerPosition(cid).x + 0, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z}
    local stor = 98543
 
    if getPlayerStorageValue(cid,stor) == -1 then
        doPlayerAddItem(cid, i.id, i.count)
        doTeleportThing(cid, Pos)
        doSendMagicEffect(PlayerPos,effect)
        doSendAnimatedText(getPlayerPosition(cid), "Magic Box!", TEXTCOLOR_YELLOW)
        doPlayerSendTextMessage(cid, 27, "You opened a chest event and won "..i.count.."x "..getItemNameById(i.id)..(i.count > 1 and "s" or "")..".")
        doRemoveItem(item.uid, 1)
        setPlayerStorageValue(cid,stor,1)
    else
        doPlayerSendTextMessage(cid,25,"The chest event is empty.")
    end
return true
end

 

Movements

 

 


function onStepIn(cid, item, pos)
local stor = x

    if getPlayerStorageValue(cid,stor) > 1 then
        doPlayerSendCancel(cid,"Removido")
        setPlayerStorageValue(cid,stor,0)        
    end
end

 

 

Onde eu configuro essa action para ir para determinada posição?

Editado por JcA (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
27 minutos atrás, JcA disse:

 

Onde eu configuro essa action para ir para determinada posição?

 

Editado

 

Te ajudei ?? Que tal fazer uma contribuição ?

Doar

Link para o post
Compartilhar em outros sites
14 horas atrás, DboExplorer disse:

Editado

 

Consegui com esse Movements, e a Action esta perfeita, agr:

 

function onStepIn(cid)
if isPlayer(cid) then
setPlayerStorageValue(cid, 98543, -1)
doSendAnimatedText(getPlayerPosition(cid), "Boa Sorte!", TEXTCOLOR_YELLOW)
end
return true
end

 

 

E esse outro script para porta, tem como?

Editado por JcA (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo