não entendi direito o que você quer, tem como explicar melhor? ai tentarei ajudar '-'
info
Grupo: Colaborador
Registrado: 27/12/10
Posts: 271
Reputação: +87
Gênero: Masculino

info
Grupo: Campones
Registrado: 01/01/11
Posts: 39
Reputação: +8
Char no Tibia: Nao tenho

Tipo é assim , tem no meu servidor o comando !quiz que é esse script ai , e a qualquer pessoa pode usar este comando em qualquer lugar , dai eu queria que só pudesse usar este comando em lugar determinado, sakou ?
info
Grupo: Artesão
Registrado: 27/03/10
Posts: 112
Reputação: +108
Gênero: Masculino
Char no Tibia: Ny Uchiha

Ah eu não pensei em nenhum jeito de fazer isso , + deve ter sim.
+ eu fiz desse jeito aqui , e acho que vai combinar + ( talvez seja ate oque vc quer )
Exemplo: Ele foi feito realmente pra um Quiz Show , ow seja soh da pra usar o script em 1 determinado tile , que vc pode colocar atras de um balcao , mesa sei la.
Vamos la::
Primeiro substitui esse seu script por esse aqui:
--[[
Script feito por Medargo
Storage value utilizado: 9845
]]--
function onSay(cid, words, param, channel)
local perg = {
"10+10=1000, isso é verdade? Responda da seguinte maneira: '!quiz sim/não' apenas com 'sim' ou 'não'",
"O Estados Unidos é um pais? Responda da seguinte maneira: '!quiz sim/não' apenas com 'sim' ou 'não'",
"Michael Jackson esta prestes a fazer uma turnê? Responda da seguinte maneira: '!question sim/não' apenas com 'sim' ou 'não'",
"Newton descobriu a gravidade com uma maça? Responda da seguinte maneira: '!quiz sim/não' apenas com 'sim' ou 'não'",
"Ajudantes também são players?: '!quiz sim/não' apenas com 'sim' ou 'não'",
"O bixo Lord Vampire é o mais forte do servidor?: '!quiz sim/não' apenas com 'sim' ou 'não'",
"Se alguém não atender ao sistema de ant-bot é banido do servidor?: '!quiz sim/não' apenas com 'sim' ou 'não'",
}
local resp = {"não", "sim", "não", "sim" , "sim", "não", "não"}
if param == '' then
if getPlayerStorageValue(cid, 9845) == -1 then
if getPlayerStorageValue(cid, 15000) == 1 then
questionid = math.random(1,#perg)
question = perg[questionid]
doPlayerSendTextMessage(cid, 19, question)
setPlayerStorageValue(cid, 9845, 1)
else
doPlayerSendTextMessage(cid, 18, "Você tem que estar no programa para usar esse comando.")
end
else
doPlayerSendCancel(cid,'Você ja possui uma pergunta em mãos, use !quiz reset para resetar o sistema.')
end
elseif param ~= '' then
if getPlayerStorageValue(cid, 9845) == 1 then
if getPlayerStorageValue(cid, 15000) == 1 then
if param ~= 'reset' then
if param == 'sim' or param == 'não' then
if param == resp[questionid] then
doPlayerSendTextMessage(cid, 27, "CORRETO, Sistema resetado!")
setPlayerStorageValue(cid, 9845, -1)
doPlayerAddItem(cid, 2160,1)
questionid = nil
question = nil
else
doPlayerSendTextMessage(cid, 18, "ERRADO, Sistema resetado!")
setPlayerStorageValue(cid, 9845, -1)
questionid = nil
question = nil
end
else
doPlayerSendTextMessage(cid, 18, "Use 'sim' ou 'não' para responder!")
end
else
doPlayerSendTextMessage(cid, 19, "Sistema resetado, pode pegar outra questão.")
setPlayerStorageValue(cid, 9845, -1)
questionid = nil
question = nil
end
else
doPlayerSendTextMessage(cid, 18, "Você tem que estar no programa para usar esse comando.'")
end
else
doPlayerSendTextMessage(cid, 18, "Você não possui pergunta em mãos, para conseguir uma, use '!quiz''")
end
end
return true
end
Esta com as suas perguntas. , agora vem a parte do Tile.
Data/Movements/Script crie 1 arquivo LUA chamado "Tilequiz" e adicione isso dentro:
local time = 10
local pos = {x = 160, y = 54, z = 7} -- Coordenadas do chao
local function SayText(cid)
if isCreature(cid) == TRUE then
doSendMagicEffect(pos, 55)
month = addEvent(SayText, time * 1000 / 2, cid)
end
end
function onStepOut(cid, item, frompos, topos)
setPlayerStorageValue(cid, 15000, -1)
month = addEvent(SayText, time * 1000, cid)
return TRUE
end
function onStepIn(cid, item, frompos, topos)
setPlayerStorageValue(cid, 15000, 1)
stopEvent(month)
return TRUE
end
Agora em Movements.xml adicione essa Linha:
<movevent event="StepIn" actionid="28000" script="tilequiz.lua" /> <movevent event="StepOut" actionid="28000" script="tilequiz.lua" />
Agora vou explicar a parte do tile:
local pos = {x = 160, y = 54, z = 7} -- Coordenadas do chao : Aqui vc coloca onde o player tem que estar para poder usar o comando.
setPlayerStorageValue(cid, 15000, -1) e setPlayerStorageValue(cid, 15000, 1) : Storages que adiciona e remove para o seu script do QUIZ pega no lugar certo.
E no movements.xml
<movevent event="StepIn" actionid="28000" e <movevent event="StepOut" actionid="28000" são os IDs que vc tera que adicionar no Chão que o player vai pisar ( o mesmo que vc colocou na parte LOCAL POS )
Espero que funcione e que vc goste =)
Ah quando o player sai de cima do tile , começa a fazer um efeito de uma flexinha mostrando o tile onde tem que pisar , ao pisar no tile o efeito para..
Para mudar o intervalo do effect mude essa parte:
local time = 10
info
Grupo: Campones
Registrado: 01/01/11
Posts: 39
Reputação: +8
Char no Tibia: Nao tenho

é infelizmente não funcionou mais ganho rep+ por tentar ajudar
info
Grupo: Artesão
Registrado: 27/03/10
Posts: 112
Reputação: +108
Gênero: Masculino
Char no Tibia: Ny Uchiha

o>O
tem que funcionar , aqui funciono ![]()
Qual a versão do seu ot?
olha la em movements.xml se esta tipo EVENTO= script sei la algo assim , ve se eh igual a linha que eu timandei.
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

Só fazer a checagem da posição com stackpos 253, não precisa de script em movevents.
Faz a checagem com o for pra fazer a area 4x4.
Editado Abril 25 por Demonbholder
info
Grupo: Artesão
Registrado: 27/03/10
Posts: 112
Reputação: +108
Gênero: Masculino
Char no Tibia: Ny Uchiha

Sim , acho que da certo sim , nem pensei nisso =/
Daria para editar essa parte para pegar um area grande ( como ele diz la em cima )
Ow teria que colocar varias Pos?
info
Grupo: Campones
Registrado: 01/01/11
Posts: 39
Reputação: +8
Char no Tibia: Nao tenho

a podia ser uma area grande também de uns 4x4 tile ;p
info
Grupo: Conde
Registrado: 09/09/09
Posts: 528
Reputação: +424
Char no Tibia: Emekalo Makalo

function onSay(cid, words, param)
--[[
Script feito por Medargo
Storage value utilizado: 9845
]]--
local perg = {
"10+10=1000, isso é verdade? Responda da seguinte maneira: '!quiz sim/não' apenas com 'sim' ou 'não'",
"O Estados Unidos é um pais? Responda da seguinte maneira: '!quiz sim/não' apenas com 'sim' ou 'não'",
"Michael Jackson esta prestes a fazer uma turnê? Responda da seguinte maneira: '!question sim/não' apenas com 'sim' ou 'não'",
"Newton descobriu a gravidade com uma maça? Responda da seguinte maneira: '!quiz sim/não' apenas com 'sim' ou 'não'",
"Ajudantes também são players?: '!quiz sim/não' apenas com 'sim' ou 'não'",
"O bixo Lord Vampire é o mais forte do servidor?: '!quiz sim/não' apenas com 'sim' ou 'não'",
"Se alguém não atender ao sistema de ant-bot é banido do servidor?: '!quiz sim/não' apenas com 'sim' ou 'não'",
}
local resp = {"não", "sim", "não", "sim" , "sim", "não", "não"}
local area = { ---- Area.
{1,1,1,1},
{1,1,1,1},
{1,1,1,1},
{1,1,1,1},
}
function tableEquals(t1, t2, s) -- function by MatheusMkalo
for i,x in pairs(not s and t1 or t2) do
if (s and t1[i] ~= x or t2[i] ~= x) then
s = false
break
end
end
return s == "end" and true or s == true and tableEquals(t1, t2, "end") or s == nil and tableEquals(t1, t2, true) or false
end
local extpos = {x=187, y=300, z=7} -- Posicao do primeiro sqm << /\ da area.
local status = false
for i,x in pairs(area) do
for s, z in pairs(x) do
local creature = getCreaturePosition(cid)
if tableEquals({x=creature.x, y=creature.y, z=creature.z}, {x=extpos.x+s-1, y=extpos.y+i-1, z=extpos.z}) then
status = true
end
end
end
if not status then
return doPlayerSendCancel(cid, "Voce precisa estar na area correta.")
end
if param == '' then
if getPlayerStorageValue(cid, 9845) == -1 then
questionid = math.random(1,#perg)
question = perg[questionid]
doPlayerSendTextMessage(cid, 19, question)
setPlayerStorageValue(cid, 9845, 1)
else
doPlayerSendTextMessage(cid, 18, "Você ja possui uma pergunta em mãos, use '!quiz reset' para resetar o sistema")
end
elseif param ~= '' then
if getPlayerStorageValue(cid, 9845) == 1 then
if param ~= 'reset' then
if param == 'sim' or param == 'não' then
if param == resp[questionid] then
doPlayerSendTextMessage(cid, 27, "CORRETO, Sistema resetado!")
setPlayerStorageValue(cid, 9845, -1)
doPlayerAddItem(cid, 2160,1)
questionid = nil
question = nil
else
doPlayerSendTextMessage(cid, 18, "ERRADO, Sistema resetado!")
setPlayerStorageValue(cid, 9845, -1)
questionid = nil
question = nil
end
else
doPlayerSendTextMessage(cid, 18, "Use 'sim' ou 'não' para responder!")
end
else
doPlayerSendTextMessage(cid, 19, "Sistema resetado, pode pegar outra questão.")
setPlayerStorageValue(cid, 9845, -1)
questionid = nil
question = nil
end
else
doPlayerSendTextMessage(cid, 18, "Você não possui pergunta em mãos, para conseguir uma, use '!quiz''")
end
end
return TRUE
end
Configuraçao facil flws.
Editado Abril 25 por MatheusMkalo
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

Mkalo fica tirando a oportunidade de script fáceis para os iniciantes néééé. Ahuahuahau, brincadeira, se funcionar não esqueça de reportar.
info
Grupo: Campones
Registrado: 01/01/11
Posts: 39
Reputação: +8
Char no Tibia: Nao tenho

Funfo mais eu queria de outro jeito(inovar) , mas já falei com ele no msn.
Então pode fexar !






info
Grupo: Campones
Registrado: 01/01/11
Posts: 39
Reputação: +8
Char no Tibia: Nao tenho
Olá galera , preciso de um script que o player/god/cm/gm qualquer pessoa não possa usar um comando em qualquer lugar , ele só pode usar o comando em um determinado lugar , tipo eu quero que a pessoa possa usar o quiz só em um determinado lugar e qnd ele terminar de usar o comando ele é teleportado para o templo. o script do quiz é esse :
quem me ajudar ganhara +rep , e quem tiver dúvidas pergunte aqui , que eu responderei...
Editado Abril 24 por Psycho123