MO

Problema Com Script

Por monroll, 30 de jul. de 2010 em Scripts

script
4
1.6k
monrollM
30 de julho de 2010 às 14:52

Bom... é pra eu fazer um script em thais que era o seguinte:

 

1º= O player tinha que ficar em um lugar específico de frente pra uma parede de pedra.

2º= O player falaria algo do tipo, abra ou abre, e a parede desapareceria.

3º= No Quadrado logo depois da parede o player passaria e a parede aparecia denovo não deixando o player voltar.

 

Eu tava tentando fazer isso só que acontece que eu não sou muito bom... xp

 

eu tinha tentado por uma coisa tipo

 

GetPlayerPosition(cid)

If playerpos = (x=******, y=******, z=*)

if PlayerSay(cid, abra) then

DoRemoveItem(...<-seria o actionid, 1) <--- acho que ta completamente errado =/, mais acho que é algo parecido.

end

 

end

 

Eu não puis a função aí pq não tenho certeza de qual seria=/.

 

 

Não vem tira com a minha cara tbm só pq eu não sei isso. ¬¬

Editado Julho 30 por monroll

VodkartV
30 de julho de 2010 às 17:30

olá...

 

aqui está

 

 

talkactions/script

 

abraa.lua

local config = {
       Time1 = 11, -- Para ele não dizer novamente sempre coloque 1 segundo a mais que do time
       storage = 11458, -- Não mexa aqui!  
time = 10, -- tempo em segundos que será criada a parede
pos = {x=180,y=57,z=7}, -- posição da parede que ira sumir
paredeid = 2703 -- id da parede
}




function onSay(cid, words, param, channel)

function criar() 
doCreateItem(config.paredeid, 1, config.pos) 
       end

local players = getPlayersOnline()
local parede = getTileItemById(config.pos, config.paredeid)
local pos,area = getCreaturePosition(cid)
local x = 151 
local y = 51
local z = 7 


       if      (pos.z == z) and 
               (pos.x == x) and 
               (pos.y == y) then 
if words == '!abra' then
if parede then
if (getPlayerStorageValue(cid, config.storage) <= os.time()) then 
doRemoveItem(parede.uid, 1)
for _, pid in ipairs(players) do
setPlayerStorageValue(pid, config.storage, os.time()+config.Time1) 
end
addEvent(criar, config.time*1000)
else
doPlayerSendCancel(cid, "espere  "..config.Time1.." seconds para a parede ser criada novamente.")
return TRUE
end
end
end
end
end 

 

talkactions.xml

        <talkaction words="!abra" script="abraa.lua"/>

Editado Julho 30 por Vodkart

monrollM
31 de julho de 2010 às 15:54

nuss baguin complicado...

Vlw memo hein. Agradeço mto.

LorDzL
01 de agosto de 2010 às 13:43

Dúvida sanada,

Tópico movido.

 

Abraços