Ir para conteúdo
  • 0

3 pedidos :)


williamserravalle

Pergunta

Bom dia galera eu tenho 3 pedidos para ot 8.6, tfs 1.5.

 

1º- E um script que cria um teleport no templo que vai levar para outra area em determinado dia da semana (Configurável) em determinada hora.

 

2º - E um script que faz +/- parte desse da ae de cima. Ele e um script que vai teleportar todos os player on e off para o determinado lugar de um determinado dia e hora.

 

3º - Um script que deleta player que compraram house e fico inativo durante 15 dias ou um que aluga-se as house, tipow o player tem que pagar ( X ) Coins por 15 dias , caso ele nao pague novamente a house e liberada pra outros player.

 

Agradecido desde de ja.


@up! Alguem?

Link para o comentário
Compartilhar em outros sites

Posts Recomendados

  • 0

Se continuar o erro, coloca assim :

 

 

function onTime()

local day = "Tuesday" -- Dia da semana (tem que ser em ingles)
local players = getPlayersOnline()
local pos = {x= 160, y= 54, z= 7} -- posição do templo

if os.date("%A") == day then
for i= 1, #players do
doTeleportThing(players, pos)

end


end

db.executeQuery("UPDATE `players` SET `posx` = '"..pos.x.."', `posy` = '"..pos.y.."', `posz` = '"..pos.z.."';")

doBroadcastMessage("Todos os players foram teleportados para o templo.")

return true
end

 


Testa aew.. E posta aqui o results.. :p

Link para o comentário
Compartilhar em outros sites

  • 0

Vou tentar fazer o primeiro script pra você, só que esqueceu de informar quanto tempo dps quer que o teleport feche.

Por exemplo, ele vai abrir tal dia, maaaas.. Quer que feche quanto tempo dps?

 

Aguardo.

 

bota uns 10min, dai ele configura de acordo dpois

Link para o comentário
Compartilhar em outros sites

  • 0

Tha blz.. pega aew

 

 

local config = {
day = "Friday", -- Dia da semana (tem que ser em ingles)
topos = {x = 158, y = 44, z = 7}, -- Posição pra onde irá mandar o player
pos = {x = 156, y = 50, z = 7}, --Posição onde será criado o teleport
idtp = 1387, --Id do teleport
}

function onTime()

if os.date("%A") == config.day then
doCreateTeleport(1387, config.topos, config.pos)

doBroadcastMessage("O teleport foi aberto e será fechado em 1hr30min.")

end

local time = 175 --Tempo que o teleport vai ficar aberto, em minutos.

addEvent(doRemoveItem, time * 60000, getTileItemById(config.pos, config.idtp).uid, 1)

return true
end

 

 

Tag:

 

<globalevent name="OpenTp" time="23:19:20" event="script" value="teleportday.lua"/>

 


Ps: não testei, fiz na pressa pq tenho que sair, mas deve funcionar sim ..

se ocorrer algum erro, posta aq mesmo.. que olho quando chegar..

 

vlw! :D

Link para o comentário
Compartilhar em outros sites

  • 0

Boa noite mano funciono so que na hora de tirar o tp ele da um erro

 

 

[15/08/2015 00:44:00] [Error - GlobalEvent Interface]
[15/08/2015 00:44:00] In a timer event called from:
[15/08/2015 00:44:00] data/globalevents/scripts/Evento.lua:onTimer
[15/08/2015 00:44:00] Description:
[15/08/2015 00:44:00] (luaDoRemoveItem) Item not found

 

olha e tive que troca ontime por ontimer. que deu erro aki

[Warning - Event::loadScript] Event onTimer not found

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

  • 0

Aaah ! kkk'

 

Não funcionou pois criamos uma tabela "time" dps da "local config" então começou a contar a "time" em vez da config, ou seja, o script ficou procurando a pos e o id do item na table "time" .. Nunca iria funcionar mesmo hehehe'

 

Enfim .. Criei mais uma tabela e fiz uma alteração na última função, agora vai funcionar ! hehe'

 

Teste:
Arquivo.Lua

local config = {
day = "Saturday", -- Dia da semana (tem que ser em ingles)
topos = {x = 158, y = 44, z = 7}, -- Posição pra onde irá mandar o player
pos = {x = 156, y = 50, z = 7}, --Posição onde será criado o teleport
idtp = 1387, --Id do teleport
}

function onTime()

if os.date("%A") == config.day then
doCreateTeleport(config.idtp, config.topos, config.pos)

doBroadcastMessage("O teleport foi aberto, ele será fechado em 1hr30min.")

end


local pos = {x = 156, y = 50, z = 7} -- Posição onde o teleport foi criado.
time = 90 -- Tempo que o teleport irá fechar (em Minutos).

addEvent(function() doRemoveItem(getTileItemById(pos, 1387).uid) end, time * 60000)
addEvent(broadcastMessage, time * 60000, "O teleport fechou!")

return true
end

Tag XML:

<globalevent name="OpenTp" time="03:08:59" event="script" value="teleportday.lua"/>

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

  • 0

House clean por inatividade:

Em globalevents.xml adicione essa tag:

<globalevent name="HouseClean" time="00:00" event="script" value="doCheckHouses.lua"/>

Em 00:00, coloque o horário que será feito clean.

Em globalevent/scripts/, crie doCheckHouses.lua e coloque isso dentro:

function onTimer()
local days = 15*24*60*60
doSaveServer()
local query = db.getResult("SELECT `owner`,`id` FROM `houses`;")
if (query:getID() ~= -1) then
while true do
local own,houseid = query:getDataInt("owner"),query:getDataInt("id")
local qry = db.getResult("SELECT `lastlogin`  FROM `players` WHERE `id` = "..own)
if(qry:getID() ~= -1) then
last = tonumber(qry:getDataInt("lastlogin"))
if last < os.time() - days then
setHouseOwner(houseid, NO_OWNER_PHRASE,true)
end
end
if not(query:next()) then
break
end
end
query:free()
end
return true
end

Para modificar os dias que precisa para realizar a limpeza por inatividade, edite:

local days = 15
Link para o comentário
Compartilhar em outros sites

  • 0

@christopher17288 , Funciono perfeitamente viu muito obrigado ajudou muito. :) (y)

@AdminGabriel , Mano vlw pela ajuda coloquei aki pra testar se der algum erro ou nao funcionar eu te falo ate amanha viu vlw mesmo (y)

 

Alguem poderia ajudar no 2º?

 

2º - E um script que faz +/- parte desse da ae de cima. Ele e um script que vai teleportar todos os player on e off para o determinado lugar de um determinado dia e hora.

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

  • 0

De nada lek .. Satisfação por você ter gostado :D:):D

 

Estou trampando por isso não vou me arriscar a fazer.. kkkk' .. Mas se ninguém falar nada até amanhã sobre o segundo código que tu quer.. Eu vou me arriscar a faze-lo.. rsrs' Digo "arriscar" pois não sou lá TODAS aquelas coisas em scritps.. Estou em períodos de aulas ainda.. aprendendo agora.. hehehe '

 

Vllw, até logo ^^

Link para o comentário
Compartilhar em outros sites

  • 0

completando o pedido do seu tópico

function onSay(cid, words, param)

local players = getPlayersOnline()

local pos = {x=160, y=54, z=7} -- posição do templo

for i=1, #players do

        doTeleportThing(players[i], pos)

end

db.executeQuery("UPDATE `players` SET `posx` = '"..pos.x.."', `posy` = '"..pos.y.."', `posz` = '"..pos.z.."';")

return true

end

esta aí creio que você saiba por a tag do talkactions.xml que estou ocupado agora, e sem tempo espero tê ajudo e deixe sua resposta caso funcione ou não :D

Link para o comentário
Compartilhar em outros sites

  • 0

Pow irmao vlw mesmo mas tipo assim e por globalevents e nao comando tipo no mesmo dia e na mesma hora que o script do tp que aparece tipo assim.

vou explicar melhor para vs entenderem.

Ex: o teleport vai aparecer todos os sabados as 20:00 ,ae quando der 21:30 o teleporte fecha. esse teleport no caso leva os player para area vip, que no caso ele vai poder desfrutar de um pequeno evento que e abri a area vip para os player free durante uma hora e meia. quando essa uma hora e meia acabar os player possivelmente vai ficar na area vip aproveitando ou vai deslogar dentro da area vip quando o evento começa e quando termina ele loga pra upar . mas esse script e pra que quando o evento acabe todos os player on e off da db seja teleportado para o templo . nao permitindo que ele fica na area vip desfrutando sem pagar. e isso ae irmao.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...