Ir para conteúdo
  • 0

[Pedido] Tile Que O Player Só Passa Se Tiver Tal Storage.


Janmix

Pergunta

3 respostass a esta questão

Posts Recomendados

  • 0

como estou começando na area de script vamos lah:

 

Em Data/Actions/Scripts Crie 1 arquivo.lua copie qualquer arquivo dentro do script coloque ISSO:

 

events = {}

config = {

sit = {hp = 5, mana = 5},

outfit = {lookType = 3},

storage = 21211

}

function onSay(cid, words, param, channel)

setPlayerStorageValue(cid, config.storage, getPlayerStorageValue(cid, config.storage) == -1 and 1 or -1)

doCreatureSetNoMove(cid, getPlayerStorageValue(cid, config.storage) == 1 and true or false)

if getPlayerStorageValue(cid, config.storage) == 1 then

doPlayerSay(cid, "Ufa, Relaxando")

doSetCreatureOutfit(cid, config.outfit, -1)

doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYAREA)

doSitRelax(cid, config.sit)

else

doPlayerSay(cid, "você ficou em pé")

doRemoveCondition(cid, CONDITION_OUTFIT)

stopEvent(events[getPlayerGUID(cid)])

end

return true

end

function doSitRelax(cid, formula)

if not isCreature(cid) then return LUA_ERROR end

doCreatureAddHealth(cid, formula.hp)

doCreatureAddMana(cid, formula.mana)

doSendMagicEffect(getCreaturePosition(cid), CONST_ME_HOLYAREA)

events[getPlayerGUID(cid)] = addEvent(doSitRelax, 5000, cid, formula)

end

 

Em Actions.XML

 

<action ID="Coloque Uma Id que não exista ainda" Script="nome do arquivo.lua">

 

Acho que funciona

Link para o comentário
Compartilhar em outros sites

  • 0

data\movements

function onStepIn(cid, item, pos)
teleport1 ={x=154, y=43, z=7}
if isPlayer(cid) then
local storage = 15420 -- coloca storage aqui
if item.actionid == storage then
vip = getPlayerStorageValue(cid,storage)
if vip == -1 then
doPlayerSendCancel(cid,"frases")
doTeleportThing(cid,teleport1)
else
end
end
end
end

Editado por notle2012
Link para o comentário
Compartilhar em outros sites

  • 0

@notle2012

 

Caramba notle, que bagunça você fez nesse script .-.

 

@Topic

 

movements.xml:

 

<movevent type="StepIn" actionid="6320" script="storagetile.lua"/>
<movevent type="StepIn" actionid="6321" script="storagetile.lua"/>

 

storagetile.lua:

 

function onStepIn(cid, item, position, fromPosition)

local tiles = { -- Action id / Storage, Valor

[6320] = {storage = 7654, valor = 1},

[6321] = {storage = 7654, valor = 2},

}

local t = tiles[item.actionid]

 

if getPlayerStorageValue(cid, t.storage) < t.valor then

doTeleportThing(cid, fromPosition)

doPlayerPopupFYI(cid, "You can't pass.") return true

end

return true

end

 

 

OBS: Pra cada novo tile, adicione outra tag com action id diferente e acrescente uma linha na tabela tiles (em vermelho) no script.

Editado por LuckOake
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...