
Tudo que Chriistian postou
-
(Ajuda) Zombie Event - Error
Não funcionou: OnTimer O script nem começa com esse OnTimer, com o OnTime ele funciona, só que fica reportando que não acha os tiles do evento sendo que está configurado certinho e ele continua funcionando normal só que como eu disse ele fica reportando o erro que não acha os tiles e laga todo o servidor. UP ! Alguém pode ajudar ? UP
- [Ajuda] Versão
-
(Ajuda) Zombie Event - Error
Fala galerinha do TK, estou com um problema no script Zombie Event aqui do forum, a seguir vocês podem ver o erro e o script que está dando o erro, tentei arrumar mais não obtive sucesso, será que alguém aqui do forum poderia me ajudar ? Console Error: TFS 0.4 Script: local config = { semana_mes = "semana", days = {1,2,3,4,5,6,7}, -- Dia das semanas que irá acontecer o evento goblet = 5805, -- Troféu que vai pro vencedor do evento rewards = {2195, 5808, 2160}, -- Recompensas. moneyReward = {2160, 30, 1},-- {moneyId, quantidade, usar}1 pra usar 0 pra não usar} playerCount = 2001, -- Storage dos players que entram e sai do evento zombieCount = 2002, -- Storage do zombie do event teleportActionId = 2008, -- Action ID do teleport teleportPosition = {x = 301, y = 267, z = 15, stackpos = 1}, -- Onde o teleport é criado teleportToPosition = {x = 1061, y = 47, z = 6}, -- Pra onde será teleportado teleportId = 1387, -- ID do teleporte timeToStartEvent = 2, -- Minutos que o portal irá ficar aberto até os player entrarem timeBetweenSpawns = 20, -- Segundos dps do evento ser startado começarem a aparecer os zombie zombieName = "walker zombie", -- Nome do zombie sumonado playersNeededToStartEvent = 3, -- Players necessários pro evento ser iniciado -- Area que o zumbi vai spawnar fromPosition = {x=1029, y=28, z=6}, -- top de fromPosition até toPosition = {x=1099, y=112, z=6} -- em baixo toPostion } function onTime() local time = os.date("*t") if (config.semana_mes == "semana" and isInArray(config.days,time.wday)) or (config.semana_mes == "mes" and isInArray(config.days,time.day)) or config.semana_mes == "" then local tp = doCreateTeleport(config.teleportId, config.teleportToPosition, config.teleportPosition) doItemSetAttribute(tp, "aid", config.teleportActionId) doBroadcastMessage("Zombie event starting in " .. config.timeToStartEvent .. " minutes! The teleport will be closed when the event start!", MESSAGE_STATUS_WARNING) setGlobalStorageValue(config.playerCount, 0) setGlobalStorageValue(config.zombieCount, 0) addEvent(startEvent, config.timeToStartEvent * 1000 * 60) end return TRUE end function startEvent() local fromp, top = config.fromPosition, config.toPosition if getGlobalStorageValue(config.playerCount) >= config.playersNeededToStartEvent then addEvent(spawnZombie, config.timeBetweenSpawns * 1000) doBroadcastMessage("Good luck in the zombie event people! The teleport has closed!", MESSAGE_STATUS_WARNING) for x = fromp.x, top.x do for y = fromp.y, top.y do for z = fromp.z, top.z do areapos = {x = x, y = y, z = z, stackpos = 253} getPlayers = getThingfromPos(areapos) if isPlayer(getPlayers.uid) then doPlayerSendTextMessage(getPlayers.uid, MESSAGE_EVENT_ADVANCE, "The first zombie will spawn in " .. config.timeBetweenSpawns .. " seconds! Good luck!") pvgaylord() end end end end else doBroadcastMessage("The Zombie event could not start because of to few players participating.\n At least " .. config.playersNeededToStartEvent .. " players is needed!", MESSAGE_STATUS_WARNING) for x = fromp.x, top.x do for y = fromp.y, top.y do for z = fromp.z, top.z do areapos = {x = x, y = y, z = z, stackpos = 253} getPlayers = getThingfromPos(areapos) if isPlayer(getPlayers.uid) then doTeleportThing(getPlayers.uid, getTownTemplePosition(getPlayerTown(getPlayers.uid)), false) doSendMagicEffect(getPlayerPosition(getPlayers.uid), CONST_ME_TELEPORT) end end end end end end function spawnZombie() if getGlobalStorageValue(config.playerCount) >= 2 then pos = {x = math.random(config.fromPosition.x, config.toPosition.x), y = math.random(config.fromPosition.y, config.toPosition.y), z = math.random(config.fromPosition.z, config.toPosition.z)} doSummonCreature(config.zombieName, pos) doSendMagicEffect(pos, CONST_ME_MORTAREA) setGlobalStorageValue(config.zombieCount, getGlobalStorageValue(config.zombieCount)+1) doBroadcastMessage("A zombie has spawned! There is currently " .. getGlobalStorageValue(config.zombieCount) .. " zombies in the zombie event!", MESSAGE_STATUS_CONSOLE_RED) addEvent(spawnZombie, config.timeBetweenSpawns * 1000) else local fromp, top = config.fromPosition, config.toPosition for x = fromp.x, top.x do for y = fromp.y, top.y do for z = fromp.z, top.z do areapos = {x = x, y = y, z = z, stackpos = 253} cid = getThingfromPos(areapos).uid if isPlayer(cid) then doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)), false) doBroadcastMessage(getCreatureName(cid)..' has survived at zombie event!') for _,items in ipairs(config.rewards) do doPlayerAddItem(cid, items, 1) end if config.moneyReward[3] == 1 then doPlayerAddItem(cid, config.moneyReward[1], config.moneyReward[2]) end doBroadcastMessage(getPlayerName(cid) .. " won the Zombie event! Congratulations!", MESSAGE_STATUS_WARNING) local goblet = doPlayerAddItem(cid, config.goblet, 1) doItemSetAttribute(goblet, "description", "Awarded to " .. getPlayerName(cid) .. " for winning the Zombie event.") elseif isMonster(cid) then doRemoveCreature(cid) end end end end end end function pvgaylord() local fromp, top, p, m = config.fromPosition, config.toPosition, 0, 0 for x = fromp.x, top.x do for y = fromp.y, top.y do for z = fromp.z, top.z do local areapos = {x = x, y = y, z = z, stackpos = 253} local cid = getThingfromPos(areapos).uid if isPlayer(cid) then p = p+1 elseif isMonster(cid) then m = m+1 end end end end if p ~= getGlobalStorageValue(config.playerCount) then setGlobalStorageValue(config.playerCount, p) end if p < 2 then return true end addEvent(pvgaylord,100,nil) end
- { Show Off } E-Baiak RPG
-
Um Help por favor
Se usa o IP que aparece no NO-IP, porem tenho uma má noticia para você. Também sou usuário de internet Via Rádio e não tem como abrir nada, a torre que manda o sinal para os clientes tem o IP fixo dela e todos os clientes usam o mesmo, não sei se já aconteceu com você, mais ja tentou baixar algum arquivo em um site de upload e se deparou com a mensagem que seu IP ta bloqueado por ter baixado muitos arquivos durante um curto tempo e você não baixou nada ? PS: Contate a empresa que lhe oferece esse serviço, lá eles podem te ajudar talvez mudando seu plano, mais tente se informar antes.
-
{ Show Off } E-Baiak RPG
Valeu o apoio galera, em breve estarei postando mais fotos e mostrando alguns sisteminhas adicionados. Pensando no seriado The Walking Dead PLEASE SEASON SIX resolvi criar um bairro de uma cidade real para o evento Zombie, não estava muito contente com os que existem e não fazer o maior sentido, bom aqui está: Ps: Lembrando que algumas partes podem sofrer alterações.
-
Pequeno Vilarejo
- Como o Bruno disse, a ideia foi boa, com um pouco de estudo e pratica você pode melhorar. - Procure ver alguns tutoriais de nature e evite randomizar muito essas arvores digamos "coloridas" se precisar de ajuda em algo só mandar PM quando eu estiver com um tempinho livre, posso lhe ajudar.
-
Dicas incio de um projeto
- Use as sources do TFS que deseja e os arquivos que vem com ele como base, se vai começar do zero nada melhor do que algo organizado. Você mesmo já respondeu sua pergunta.
-
{ Show Off } E-Baiak RPG
Hoje trago para vocês mais algumas imagens do projeto e alguns sistemas que podem ser encontrado aqui no forum, implementamos em nosso servidor devido a qualidade do conteúdo que foi disponibilizado por alguns membros aqui da comunidade. Venho trabalhando nele a pouco tempo então ainda falta algumas coisinhas para se fazer, mais podem ter certeza que sairá do papel e ficara online para todos jogarem ! Bom todo mundo que joga Otserver sempre jogou o mapa Yurots Baiak, então decidi fazer um remake no mapa do mesmo, deixando o mais bonito e jogável para todos com grandes sistemas, quests etc... Veja algumas imagens e sistemas abaixo:
-
Geração de merda!
https://www.youtube.com/watch?v=opeETnB8m8w
-
Topico Fechado !
Qual TFS você está usando ? (tfs0.4, tfs1.0, tfs1.1)
-
Ebaiak - Retro Server
- Obrigado a todos que estão apoiando o projeto, isso significa muito para nós. Bom, vamos ao que interessa, hoje trago para vocês mais algumas imagens do projeto e alguns sistemas que podem ser encontrado aqui no forum, implementamos em nosso servidor devido a qualidade do conteúdo que foi disponibilizado por alguns membros aqui da comunidade.
-
YGO-PRO! - Yu-gi-oh Online!
Achei legal, pra quem gosta de Yu-gi-oh é maneiro porém sou mais jogar um Hearth Stone
-
(Resolvido)(Ajuda) Remover Stone
Agora funcionou muito obrigado, teria como só adicionar para a alavanca fazer a animação ? Quando do use e remove a pedra a alavanca continua no ID 1945 não muda pro 1946 e claro, fazer ela retornar depois que for criada a pedra pro 1945 ?
-
(Resolvido)(Ajuda) Remover Stone
Quando a pedra retorna depois de 30 segundos a alavanca não pode ser mais movimentada, ou seja a pedra retornando, não da pra tirar mais ela.
-
(Resolvido)(Ajuda) Remover Stone
Resumindo: Quero colocar pra quando o player der use na alavanca e a pedra sumir, ele só possa dar use depois que a pedra voltar. Se conseguir me ajudar serei muiito grato, sou iniciante nessa parte de script, você é o mesmo Summ da otland ?
-
(Resolvido)(Ajuda) Remover Stone
Fala galerinha, aqui estou eu novamente pedindo ajuda porque sei que vocês sempre me ajudam. Bom vamos lá, tenho o seguinte script que quando eu do use na alavanca ele tira a pedra do lugar e a pedra volta depois de algum tempo, porém tem um erro e estou com uma duvida que não sei solucionar o problema, que é... Bug: Player da use na alavanca 2x na primeira ele remove a pedra na segunda a alavanca ela cria outra pedra ou seja quando ele deu use 2 vezes na alavanca ele bugou o script, daqui alguns segundos vai ser criada uma pedra em cima da que foi recriada quando ele deu use pela 2x. Solução: A ajuda que eu queria era pra por um exhaust até a pedra voltar ao lugar depois que foi retirada, ou bloquear que a alavanca seja usada enquanto a pedra não for recriada novamente. Script: function onUse(cid, item, toPosition) tempo = 1000 rock1pos = {x=722, y=499, z=12, stackpos=1} -- Posição da Pedra getrock1 = getThingfromPos(rock1pos) UniID = 23560 -- UniqueID que vai ser adicionado na alavanca rockID = 1304 -- ID da pedra if item.uid == UniID and item.itemid == 1945 and getrock1.itemid == rockID then doRemoveItem(getrock1.uid, 1) doTransformItem(item.uid, item.itemid+1) doSendMagicEffect(rock1pos, 2) addEvent(doCreateItem, (30*1000), rockID, 1, rock1pos) elseif item.uid == UniID and item.itemid == 1946 then doCreateItem(rockID, 1, rock1pos) doTransformItem(item.uid,item.itemid-1) doSendMagicEffect(rock1pos, 13) end return TRUE end
-
(Resolvido)(Pedido) Remover Chest após pegar recompensa.
Obrigado cara, funcionou certinho. Só tive que trocar o : doTeleportThing(cid, config.destino) E inverter de lugar com o: doRemoveItem(item.uid, 1) Ficando: local config = { storage = 27364, exhauststorage = 20932, destino = {x = 251, y = 253, z = 6}, days = { ["Monday"] = {itemid = 2160, count = 15, storagevalue = 8}, ["Tuesday"] = {itemid = 2160, count = 20, storagevalue = 9}, ["Wednesday"] = {itemid = 6570, count = 1, storagevalue = 10}, ["Thursday"] = {itemid = 6570, count = 1, storagevalue = 11}, ["Friday"] = {itemid = 6570, count = 1, storagevalue = 12}, ["Saturday"] = {itemid = 6570, count = 1, storagevalue = 13}, ["Sunday"] = {itemid = 2160, count = 10, storagevalue = 14} } } function onUse(cid, item, fromPosition, itemEx, toPosition) local x = config.days[os.date("%A",os.time())] if(getPlayerStorageValue(cid, config.storage) == x.storagevalue and exhaustion.check(cid, config.exhauststorage)) then return doPlayerSendCancel(cid, "The chest is empty, come back tomorrow for a new reward.") end local info = getItemInfo(x.itemid) if(x.count > 1) then text = x.count .. " " .. info.plural else text = info.article .. " " .. info.name end local itm = doCreateItemEx(x.itemid, x.count) if(doPlayerAddItemEx(cid, itm, false) ~= RETURNVALUE_NOERROR) then doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) text = "You have found a reward weighing " .. getItemWeight(itm) .. " oz. It is too heavy or you have not enough space." else text = "You have received " .. text .. "." setPlayerStorageValue(cid, config.storage, x.storagevalue) exhaustion.set(cid, config.exhauststorage, 24*60*60) doRemoveItem(item.uid, 1) doTeleportThing(cid, config.destino) end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, text) return true end Me ajudou muito, marcado como melhor resposta e reputado !
-
(Resolvido)(Pedido) Remover Chest após pegar recompensa.
Fala galerinha, como o pessoal aqui da seção tem me ajudado muito vim fazer mais um pedido. Tenho uma quest e quero que após o player pegar a recompensa o baú some e o player e jogado para um destino. Aqui está o script, alguém poderiam me ajudar a adicionar essas duas funções ? local config = { storage = 27364, exhauststorage = 20932, days = { ["Monday"] = {itemid = 2160, count = 15, storagevalue = 8}, ["Tuesday"] = {itemid = 2160, count = 20, storagevalue = 9}, ["Wednesday"] = {itemid = 6570, count = 1, storagevalue = 10}, ["Thursday"] = {itemid = 6570, count = 1, storagevalue = 11}, ["Friday"] = {itemid = 6570, count = 1, storagevalue = 12}, ["Saturday"] = {itemid = 6570, count = 1, storagevalue = 13}, ["Sunday"] = {itemid = 2160, count = 10, storagevalue = 14} } } function onUse(cid, item, fromPosition, itemEx, toPosition) local x = config.days[os.date("%A",os.time())] if(getPlayerStorageValue(cid, config.storage) == x.storagevalue and exhaustion.check(cid, config.exhauststorage)) then return doPlayerSendCancel(cid, "The chest is empty, come back tomorrow for a new reward.") end local info = getItemInfo(x.itemid) if(x.count > 1) then text = x.count .. " " .. info.plural else text = info.article .. " " .. info.name end local item = doCreateItemEx(x.itemid, x.count) if(doPlayerAddItemEx(cid, item, false) ~= RETURNVALUE_NOERROR) then doSendMagicEffect(getThingPos(cid), CONST_ME_POFF) text = "You have found a reward weighing " .. getItemWeight(item) .. " oz. It is too heavy or you have not enough space." else text = "You have received " .. text .. "." setPlayerStorageValue(cid, config.storage, x.storagevalue) exhaustion.set(cid, config.exhauststorage, 24*60*60) end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, text) return true end
-
(Resolvido)(Pedido) Teleport
@lucasromero Funcionou perfeitamente, muito obrigado ! Depois de um bom tempo pesquisando resolvi pedir ajuda e você me salvou hehe
-
(Resolvido)(Pedido) Teleport
- Fala pessoal, estou aqui novamente e dessa vez ficaria muiito grato em ser ajudado ! - Vamos ao que interessa, alguém poderia me ajudar com um script em que o player só pode entrar no teleport uma vez por dia ? Ex: Eu acabei de entrar no teleport hoje segunda feira as, quando eu sair só poderei entrar novamente no mesmo na terça feira.
-
Fui expulso do colégio hoje :/
"Lendas jamais voltam pois são apenas lendas. eu, eu sou real."
-
As modas do tibia...
Saudades Empire Server, saudades dessa época na minha opinião foi a melhor de todas e duvido muito voltar.
-
(Pedido) Event Start Teleport Countdown
Fez sim: addEvent(doSendAnimatedText, t, Enfim, esquece esse script que eu coloquei ai, alguém poderia me ajudar ? a fazer como eu disse nos posts acima ?
-
(Pedido) Event Start Teleport Countdown
@xWhiteWolf Esse T, é a mensagem que vai mandar que seria local time, t = 10 * 60, 0 Ou seja, quando começar a mandar ele vai começar contando com 10 minutos, o que eu queria era que contasse o dia inteiro, por exemplo abri o evento agora 23:00 o teleport foi criado e tudo mais dentro de 1 minuto esse teleport vai sumir (script do evento faz isso) e logo após ele sumir esse script de countdown entra em ação e começa a contagem denovo até as 23:00 do próximo dia que é quando o evento abre novamente.