Ir para conteúdo
  • 0

Pedido De Script


Tedescoo

Pergunta

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 :

 

--[[

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

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

 

 

 

quem me ajudar ganhara +rep , e quem tiver dúvidas pergunte aqui , que eu responderei...

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

12 respostass a esta questão

Posts Recomendados

  • 0

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 ?

Link para o comentário
Compartilhar em outros sites

  • 0

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

 

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

o>O

tem que funcionar , aqui funciono o.O

 

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.

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

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?

Link para o comentário
Compartilhar em outros sites

  • 0

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 por MatheusMkalo
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...