Solutions
-
Eduardo Carvalho's post in (Resolvido)erro global events was marked as the answerTem algumas distro que o globalevents é por milissegundos , e outras por segundos..
Creio que a sua antiga era por segundos, e a atual por milissegundos, então aumente o tempo de cada script que está em globalevents.xml
-
Eduardo Carvalho's post in (Resolvido)AJUDA com SCRIPT DE QUEST, MANDAR MSG PARA TODO O SERVER was marked as the answerops, falta de atenção minha , testa ae agora..
function onUse(cid, item, fromPosition, itemEx, toPosition) if item.uid == 6411 then if getPlayerStorageValue(cid, 6411) <= 0 then doBroadcastMessage("O Jogador "..getCreatureName(cid).." completou a Anihilator 4.", MESSAGE_STATUS_CONSOLE_ORANGE) doPlayerAddItem(cid,9693,1) doPlayerAddItem(cid,2160,1) setPlayerStorageValue(cid,6411,1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você já ganhou seu bonus.") end end return true end -
Eduardo Carvalho's post in (Resolvido)spells de teleporte was marked as the answerTa ae mano..
o conteúdo dos tópicos são o mesmo.
http://www.tibiaking.com/forum/topic/35546-dois-tipo-de-spell-que-teleporta/
-
Eduardo Carvalho's post in (Resolvido)[ERRO] SCRIPT was marked as the answeré só remover essa parte de todos os monsters que a tenha :
<script> <event name="KillingInTheNameOf"/> </script> faz isso ! Não lembro todos os monstros que tem , é só procurar.
Creio que todos os monster que tem o nome no script tem o registro.
é só excluir
-
Eduardo Carvalho's post in (Resolvido)pedido ao teleporta sumonando monstro was marked as the answerlocal monsters = { [1] = "Demon", [2] = "Hydra", [3] = "Ferumbras", [4] = "Wolf", [5] = "Orc", [6] = "Dragon", [7] = "Orshabaal", [8] = "Rat" } local pos = {x= 162, y= 45, z= 7} -- posição para onde o player é teleportado. local time = 4 -- Tempo em minutos para alguem entrar no tile novamente. local storage = 123645 function onStepIn(cid, item, position, fromPosition) if isPlayer(cid) then if getGlobalStorageValue(storage) - os.time() <= 0 then doTeleportThing(cid, pos) doSendMagicEffect(pos, 10) for i = 1, #monsters do local posL = getClosestFreeTile(cid, pos, false) doCreateMonster(monsters[i], posL) end setGlobalStorageValue(storage, os.time() + time * 60) else doPlayerSendCancel(cid, "Tem alguem no lugar, espere "..time.." Minuto's") doTeleportThing(cid, fromPosition, true) doSendMagicEffect(getThingPos(cid), 12) end end return true end <movevent type="StepIn" uniqueid="14480" event="script" value="NomeDoArquivo.lua"/> Em monsters você troca os nomes dos monsters, para os monsters desejado.
coloquei um tempo para entrar outro player novamente, para não fica criando vários monsters.
-
Eduardo Carvalho's post in (Resolvido)addEvent Send magic effect Alguém sabe? was marked as the answerfunction onUse(cid, item, frompos, item2, topos) local pausa = 30*1*1000 -- (1000 = 1 segundos) Tempo que o script durará local texto = "Você dobrou sua Experiencia por 30 minutos" -- Texto que irá receber ao usar a potion. textofinal = "Acabou o potion de Experiencia." -- Texto que irá receber quando o efeito da potion acabar. local exp = 2 -- O quanto que você quer que dobre sua experiencia, por exemplo 2 é 2x as rates do seu server. expfinal = 1 --Não mude, isso é para a experiencia voltar ao normal. local limitedeuso = 49015 local tempo = 1*1*1000 local textofinal1 = "Você já esta sob efeito da pot de experiência espere o efeito acabar." local timeEffect = 31 -- tempo em segundos que o efeito vai apareceer no player, 31 = 30 segundos. sempre coloque 1 segundo a mais. function effect() if isPlayer(cid) then local pos = getCreaturePosition(cid) doSendMagicEffect(pos, 35) end end if item.itemid == 9930 and (getPlayerStorageValue(cid, limitedeuso) - os.time() <= 0) then doRemoveItem(item.uid,1) doPlayerSetExperienceRate(cid,exp) doSendMagicEffect(frompos,13) setPlayerStorageValue(cid, limitedeuso, os.time() + 30) doPlayerSendTextMessage(cid,22,texto) a = 1 while a ~= timeEffect do addEvent(effect, a * 1000) a = a + 1 end elseif item.itemid == 9930 and (getPlayerStorageValue(cid, limitedeuso) - os.time() > 0) then doPlayerSendTextMessage(cid,22,textofinal1) end return true end lembrado que dessa maneira se o player logar o efeito não sairá novamente, até que o mesmo der use denovo.
-
Eduardo Carvalho's post in (Resolvido)[erro] Pq o storage desse script não esta setando devolta? was marked as the answerpara setar a storage com tempo..
Exemplo :
if getPlayerStorageValue(cid, XXXX) - os.time() <= 0 then ... setPlayerStorageValue(cid, XXXX, os.time() + 2 * 60) else doPlayerSendCancel(cid, "Você só pode ... a cada 2 minutos.") end a storage é setada por 2 minutos.
para setar uma storage você usar :
setPlayerStorageValue(cid, XXXX, 1) Correto ? com os.time() só oq muda é o valor para qual será setada...
os.time() + TIME (por padrão é segundos) os.time() + 10 (a storage será setada por 10 segundos) os.time() + 10 * 60 (a storage será setada por 10 minutos) -
Eduardo Carvalho's post in (Resolvido)[GLOBALEVENTS] Teleport automático was marked as the answer<globalevent name="NomeDoEvento" interval="14400000" event="script" value="NomeDoArquivo.lua"/> Script :
function onThink(interval, lastExecution, thinkInterval) local eventName = "Zombie" local posCrete = {x= 1, y= 2, z=3} local posTeleport = {x= 1, y= 2, z= 3} local time = 5 local tpId = 1387 function removeTp() local tp = getTileItemById(posCreate, tpId) doRemoveItem(tp.uid, 1) doSendMagicEffect(posCreate, 2) doBroadcastMessage("O Teleport para o Evento "..eventName.." se fechou.") return true end doCreateTeleport(tpId, posTeleport, posCreate) doBroadcastMessage("O Teleport Para o Evento "..eventName.." foi aberto, e será fechado em "..time.." Minuto(s).") addEvent(removeTp, time * 60) addEvent(doBroadcastMessage, time*100*60, "O portal do evento foi fexado. Próximo evento em 2 horas.") return true end No caso o evento será aberto á cada 4 hrs. O evento começa pela primeira vez depois de 4 horas que o servidor estiver online.
Se não for isso que procura , explica ae..
-
Eduardo Carvalho's post in (Resolvido)ajuda com vip was marked as the answerfunction onSay(cid, words, param) if getTilePzInfo(getCreaturePosition(cid)) == FALSE then return doPlayerSendCancel(cid, "Você precisa está em área protegida para utilizar este comando.") end if(words == "!buyvip10") then if getPlayerItemCount(cid, 9971) >= 5 then doPlayerAddPremiumDays(cid, 10) doPlayerRemoveItem(cid, 9971, 5) doPlayerSendTextMessage(cid, 22, "Parabéns você comprou 10 dias de vip com sucesso.") else doPlayerSendCancel(cid, "Você não possui a quantidade necessária para comprar.") end elseif (words == "!buyvip30") then if getPlayerItemCount(cid, 9971) >= 5 then doPlayerAddPremiumDays(cid, 30) doPlayerRemoveItem(cid, 9971, 5) doPlayerSendTextMessage(cid, 22, "Parabéns você comprou 30 dias de vip com sucesso.") else doPlayerSendCancel(cid, "Você não possui a quantidade necessária para comprar.") end end return true end