Ir para conteúdo
  • 0

Pedido Script globalsave~


alesson jhones

Pergunta

olá preciso de uma ajudinha aqui ;) ( Errei no titulo não tem nada a ver com global save xd )

 

1# Sacrificio

o código seria dessa forma~

 

pos1

pos2

pos3

teleport

 

 

na pos1,2,3, é necessario colocar 1 corpo ex: " orc "

em um lugar vai ter um teleporte, onde só é possivel entrar enquando houver os corpse nas pos1,2,3~

se o corpo secar, não é permitido entrar~

 

 

eae alguém consegue ?

 

 

porfavor testar o codigo em 8.6

aguardo~

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

10 respostass a esta questão

Posts Recomendados

  • 0

Abra a pasta data/movements/scripts e crie um arquivo chamado corpsetile.lua

Adicione o script:

local stor = 4040
local corpseid = 5966
local pos1 = {x=111, y=222, z=333}
local pos2 = {x=112, y=223, z=334}
local pos3 = {x=113, y=224, z=335}

function onStepIn(cid, item, frompos, moveitem, tileitem, position)
if isCorpse(getTileItemById(corpseid, pos1).uid) and isCorpse(getTileItemById(corpseid, pos2).uid) and isCorpse(getTileItemById(corpseid, pos3).uid) then
setPlayerStorageValue(cid, stor, 1)
else
doPlayerSendCancel(cid, "Você não pode entrar no teleport.")
return false
end
return true
end

function onStepOut(cid, item, frompos)
if getPlayerStorageValue(cid, stor) >= 1 then
setPlayerStorageValue(cid, stor, 0)
end
return true
end

 

Agora na pasta data/movements abra o arquivo movements.xml

Adicione as tags:

<movevent type="StepIn" actionid="4040" event="script" value="corpsetile.lua"/>
<movevent type="StepOut" actionid="4040" event="script" value="corpsetile.lua"/>

Configure local stor pelo ID da Storage do Script, local corpseid pelo ID do corpse que será necessário estar nas positions e pos1/pos2/pos3 com as positions x/y/z que os corpses deveram estar para o player poder entrar no teleport.

PS: Adicione a ActionID 4040 no piso em que o teleport está.

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

  • 0

Abra a pasta data/movements/scripts e crie um arquivo chamado corpsetile.lua

Adicione o script:

local stor = 4040
local corpseid = 5966
local pos1 = {x=111, y=222, z=333}
local pos2 = {x=112, y=223, z=334}
local pos3 = {x=113, y=224, z=335}

function onStepIn(cid, item, frompos, moveitem, tileitem, position)
if isCorpse(corpseid, pos1) and isCorpse(corpseid, pos2) and isCorpse(corpseid, pos3) then
setPlayerStorageValue(cid, stor, 1)
else
doPlayerSendCancel(cid, "Você não pode entrar no teleport.")
return false
end
end

function onStepOut(cid, item, frompos)
if getPlayerStorageValue(cid, stor) >= 1 then
setPlayerStorageValue(cid, stor, 0)
return true
end
end

Agora na pasta data/movements abra o arquivo movements.xml

Adicione as tags:

<movevent type="StepIn" actionid="4040" event="script" value="corpsetile.lua"/>
<movevent type="StepOut" actionid="4040" event="script" value="corpsetile.lua"/>

Configure local stor pelo ID da Storage do Script, local corpseid pelo ID do corpse que será necessário estar nas positions e pos1/pos2/pos3 com as positions x/y/z que os corpses deveram estar para o player poder entrar no teleport.

PS: Adicione a ActionID 4040 no piso em que o teleport está.

 

Amigo, só uma correçãozinha, o isCorpse recebe como parâmetro o uid de um item.

 


local stor = 4040
local corpseid = 5966
local pos1 = {x=111, y=222, z=333}
local pos2 = {x=112, y=223, z=334}
local pos3 = {x=113, y=224, z=335}


-- isCorpse(uid)

function onStepIn(cid, item, frompos, moveitem, tileitem, position)
  if isCorpse(getTileItemById(corpseid, pos1).uid) and isCorpse(getTileItemById(corpseid, pos2).uid) and isCorpse(getTileItemById(corpseid, pos3).uid) then
  setPlayerStorageValue(cid, stor, 1)
  else
  doPlayerSendCancel(cid, "Você não pode entrar no teleport.")
  return false
  end

  return true
end

function onStepOut(cid, item, frompos)
  if getPlayerStorageValue(cid, stor) >= 1 then
  setPlayerStorageValue(cid, stor, 0)
  end
  return true
end

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

  • 0

pensei que ia pegar mas aprensentou um erro no distro ~

 

[Error - MoveEvents INterface]

data/movements/scripts/corpsetile.lua:onStepIn

Description:

attampt to index a number value

stack traceback

[C]: in function 'getTileItemById'

data/movements/scripts/corpsetile.lua:9: in function <data/movemetns/scripts/corpsetile.lua:8

 

 

alguma ideia ?

 

 

no teleport add action 4040 com a pos de teste 160, 54, 7

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

  • 0

Use este script, está correto:

local stor = 4040
local corpseid = 5966
local pos1 = {x=111, y=222, z=333}
local pos2 = {x=112, y=223, z=334}
local pos3 = {x=113, y=224, z=335}
function onStepIn(cid, item, frompos, moveitem, tileitem, position)
if isCorpse(getTileItemById(corpseid, pos1).uid) and isCorpse(getTileItemById(corpseid, pos2).uid) and isCorpse(getTileItemById(corpseid, pos3).uid) then
setPlayerStorageValue(cid, stor, 1)
else
doPlayerSendCancel(cid, "Você não pode entrar no teleport.")
return false
end
return true
end
function onStepOut(cid, item, frompos)
if getPlayerStorageValue(cid, stor) >= 1 then
setPlayerStorageValue(cid, stor, 0)
end
return true
end

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...