WI
pedido

3 pedidos :)

Por williamserravalle, 14 de ago. de 2015 em Scripts

28
3.3k
14 de agosto de 2015 às 17:03

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?

SkyLighS
14 de agosto de 2015 às 17:39

espere 24 horas depois da criação do tópico antes de dar um @up

14 de agosto de 2015 às 19:37

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.

14 de agosto de 2015 às 21:17

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

14 de agosto de 2015 às 22:53

Boa Noite Galera.

Foi mal ae Pelo up antes da hora.

Por favor se der vc coloca 1h:30 vlw

14 de agosto de 2015 às 23:31

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

15 de agosto de 2015 às 00:48

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 Agosto 15 por Churupetinhaa

15 de agosto de 2015 às 03:14

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 Agosto 15 por christopher17288

15 de agosto de 2015 às 10:38

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
15 de agosto de 2015 às 14:19

@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 Agosto 15 por Churupetinhaa

15 de agosto de 2015 às 23:44

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 ^^

17 de agosto de 2015 às 12:27

Bom dia irmao , fiquei muito satisfeito mesmo , vamos esperar pra ver . se nao conseguir nao tem nada nao o que conta e a tentativa de ajuda (y) vlw


@up

SkyLighS
17 de agosto de 2015 às 19:49

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

17 de agosto de 2015 às 22:28

kkk' Daí, o Kissy fez.. Eu não tive tempo, foi mal.. To trampando a vera.. :c

17 de agosto de 2015 às 23:02

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.