Tudo que bellatrikz postou
-
(Resolvido)Furniture Npc
Eu uso TFS 0.4. Mas sim quando relogo o personagem o item aparece! O script do constructionkits.lua e o seguinte: local constructionKits = {[3901] = 1652, [3902] = 1658, [3903] = 1666, [3904] = 1670, [3905] = 3813, [3906] = 3817, [3907] = 3821, [3908] = 2602, [3909] = 1614, [3910] = 1615, [3911] = 1616, [3912] = 1619, [3913] = 3805, [3914] = 3807, [3915] = 1740, [3917] = 2084, [3918] = 2095, [3919] = 3809, [3920] = 3811, [3921] = 1716, [3923] = 1774, [3926] = 2080, [3927] = 2098, [3928] = 2104, [3929] = 2101, [3931] = 2105, [3932] = 1724, [3933] = 1728, [3934] = 1732, [3935] = 1775, [3936] = 3832, [3937] = 2064, [3938] = 1750} function onUse(cid, item, fromPosition, itemEx, toPosition) if getTileHouseInfo(fromPosition) == FALSE then doPlayerSendCancel(cid,"You may only construct this inside a house.") elseif fromPosition.x == CONTAINER_POSITION then doPlayerSendCancel(cid, "Put the construction kit on the floor first.") elseif constructionKits[item.itemid] ~= nil then doTransformItem(item.uid, constructionKits[item.itemid]) doSendMagicEffect(fromPosition, CONST_ME_POFF) else return FALSE end return TRUE end
-
(Resolvido)Defend the Tower event
id da cidade e o que aparece no rme certo? Obrigado pela ajuda!
-
(Resolvido)Furniture Npc
.Qual servidor ou website você utiliza como base? tibia 8.6 TFS 0.4 Qual o motivo deste tópico? Bug Está surgindo algum erro? Se sim coloque-o aqui. Quando clico no furniture package dentro da casa aparece o efeito de fumo mas o item nao aparece alguem sabe resolver? obrigado Exemplo: 22:19 You see a furniture package. It weighs 25.00 oz. It is a kit for a drawer. 22:27 You see drawers (Vol:10). ItemID: [1716]. Mas fica como parcel nao aparece o item obrigado! Segue o script que tenho! Você tem o código disponível? Se tiver publique-o aqui: local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end -- Don't forget npcHandler = npcHandler in the parameters. It is required for all StdModule functions! keywordHandler:addKeyword({'chairs'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell wooden, sofa, red cushioned, green cushioned, tusk and ivory chairs.'}) keywordHandler:addKeyword({'tables'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell big, square, round, small, stone, tusk, bamboo tables.'}) keywordHandler:addKeyword({'plants'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell pink and green flowers, also christmas trees.'}) keywordHandler:addKeyword({'furniture'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell large trunks, boxes, drawers, dressers, lockers and troughs.'}) keywordHandler:addKeyword({'more'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell coal basins, birdcages, harps, pianos, globes, clocks and lamps.'}) keywordHandler:addKeyword({'destination'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell blue, green, orange, pink, red, white and yellow tapestries.'}) keywordHandler:addKeyword({'small'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell small purple, small green, small red, small blue, small orange, small turquiose and small white pillows.'}) keywordHandler:addKeyword({'round'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell round blue, round red, round purple and round turquiose pillows.'}) keywordHandler:addKeyword({'square'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell blue, red, green and yellow pillows.'}) keywordHandler:addKeyword({'pillows'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell heart, small, sqare and round pillows.'}) keywordHandler:addKeyword({'beds'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell {green}, {red} and {yellow} {beds} for {5000}gp. I can sell you too standard bed (to remove modification)'}) npcHandler:addModule(FocusModule:new()) Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
-
(Resolvido)Defend the Tower event
.Qual servidor ou website você utiliza como base? TFS 0.4 tibia 8.6 Qual o motivo deste tópico? 20:03 [Defend The Tower] Fechou o teleporte de entrada e iniciou o evento boa sorte aos times. Quando comeca o evento ele teleporta o char para o templo de uma cidade e nao para dentro do evento alguem sabe porque? obrigado Está surgindo algum erro? Se sim coloque-o aqui. Você tem o código disponível? Se tiver publique-o aqui: -- This script is part of Defend the Towers -- Copyright (C) 2016 ChaitoSoft -- -- This program is free software: you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by -- the Free Software Foundation, either version 3 of the License, or -- (at your option) any later version. -- -- This program is distributed in the hope that it will be useful, -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -- GNU General Public License for more details. -- -- You should have received a copy of the GNU General Public License -- along with this program. If not, see <http://www.gnu.org/licenses/>. dtt = { pos = { temple_wait = {x=438, y=1138, z=7}, -- sala de espera tp_create = {x=36, y=151, z=7}, -- onde teleport de entrada sera criado }, --Configurações de abertura days_open = {1, 2, 3, 4, 5, 6, 7}, -- dias de semana que vai abrir min_players = 1, -- numero minimo de jogadores em cada time min_level = 200, -- level minimo permitido para entrar no evento wait_time = 3, -- tempo de espera para iniciar o evento, em minutos block_mc = true, -- false para permitir mcs no evento --Configuraçõe gerais delay_time = 10, -- tempo em segundos de delay ao morrer townid = {init = 1, blue = 2, red = 3}, -- init = templo da cidade, blue = templo do time azul, red = templo do time vermelho --Configurações dos premios reward_items = {6527, 6527}, bonus_time = 240, -- experiencia bonus em minutos bonus_rate = 1, -- porcentagem de experiencia bonus: 1 = 100% | 0.3 = 30% --Configuração dos monstros monster = { pos = { --Monstros do time azul a1 = {x=396, y=1138, z=6, stackpos=253}, -- Blue supreme tower a2 = {x=429, y=1107, z=6, stackpos=253}, -- Blue top tower a3 = {x=430, y=1135, z=6, stackpos=253}, -- Blue middle tower a4 = {x=429, y=1167, z=6, stackpos=253}, -- Blue bottom tower -- Monstros do time vermelho b1 = {x=477, y=1138, z=6, stackpos=253}, -- Red supreme tower b2 = {x=447, y=1107, z=6, stackpos=253}, -- Red top tower b3 = {x=445, y=1139, z=6, stackpos=253}, -- Red middle tower b4 = {x=447, y=1167, z=6, stackpos=253}, -- Red bottom tower -- Monstros buff na jungle mbuff1 = {x=440, y=1122, z=6, stackpos=253}, -- Buff sorecer and paladin 1 + 2 mbuff2 = {x=434, y=1155, z=6, stackpos=253}, -- Buff druid and knight 2 + 2 }, --------------------------------------------------- --NÃO MEXA DAQUI PRA BAIXO ----- ------------------------------------------------ name = { -- Azul a1 = "blue supreme tower", -- Base Tower a2 = "blue top tower", -- Top lane a3 = "blue middle tower", -- Middle lane a4 = "blue bottom tower", -- Bottom lane -- Vermelho b1 = "red supreme tower", -- Base Tower b2 = "red top tower", -- Top lane b3 = "red middle tower", -- Middle lane b4 = "red bottom tower", -- Bottom lane --Monstros Buff buff1 = "serpent of jungle", buff2 = "spider of jungle", }, }, --Storages alocadas storage = { win = 87771, -- GLOBAL STORAGE VENCEDOR kill_blue = 87775, -- GLobal storage frags team blue kill_red = 87776, -- GLobal storage frags team red tower_blue = 87777, -- GLobal storage towers team blue tower_red = 87778, -- GLobal storage towers team red team_blue = 9998, -- PLAYER STORAGE TIME A team_red = 9999, -- PLAYER STORAGE TIME A buffvoc1 = 7001, -- PLAYER STORAGE BUFF buffvoc2 = 7002, -- PLAYER STORAGE BUFF buffvoc3 = 7003, -- PLAYER STORAGE BUFF buffvoc4 = 7004, -- PLAYER STORAGE BUFF exp_bonus = 7005, --PLAYER STORAGE EXP BONUS delay = 7006, --PLAYER STORAGE DELAY }, msg = { win_team_blue = "[Defend The Tower] O time azul acabou de derrotar a Suprema Torre Vermelha e vencer o evento.", win_team_red = "[Defend The Tower] O time vermelho acabou de derrotar a Suprema Torre Azul e vencer o evento. ", reward = "[Defend The Tower] Seu time Venceu, voce recebeu como premio o dobro de experiencia por 4 horas automaticamente e 80 event coins, desejamos parabens.", no_reward = "[Defend The Tower] Derrota, confira as estatisticas da partida no site, desejamos mais sorte na proxima.", warning = "[Defend The Tower] Acabou de abrir, acesse o teleporte do templo principal para participar. Inicia em minutos...", start = "[Defend The Tower] Fechou o teleporte de entrada e iniciou o evento boa sorte aos times.", cancel = "[Defend The Tower] Fechou o teleporte de entrada e cancelou o evento por falta de jogadores.", outfit = "[Defend The Tower] Voce nao pode trocar de outfit durante o evento.", }, } local conditionBlue = createConditionObject(CONDITION_OUTFIT) setConditionParam(conditionBlue, CONDITION_PARAM_TICKS, -1) addOutfitCondition(conditionBlue, {lookType = 128, lookHead = 86, lookBody = 86, lookLegs = 86, lookFeet = 86}) local conditionRed = createConditionObject(CONDITION_OUTFIT) setConditionParam(conditionRed, CONDITION_PARAM_TICKS, -1) addOutfitCondition(conditionRed, {lookType = 128, lookHead = 94, lookBody = 94, lookLegs = 94, lookFeet = 94}) --Metodos set function dtt.setDelay(cid) doPlayerSetStorageValue(cid, dtt.storage.delay, os.time()+(60*dtt.delay_time)) return true end function dtt.setBuff(storTeam, voc1, voc2) local storBuff1 local storBuff2 if (voc1 == 1) and (voc2 == 3) then storBuff1 = dtt.storage.buffvoc1 storBuff2 = dtt.storage.buffvoc3 end if (voc1 == 2) and (voc2 == 4) then storBuff1 = dtt.storage.buffvoc2 storBuff2 = dtt.storage.buffvoc4 end for _, index in ipairs(dtt.getPlayersInEvent()) do if getPlayerStorageValue(index.pid, storTeam) == 1 then if (isInArray({voc1, (voc1+4), (voc1+8)}, getPlayerVocation(index.pid))) then doPlayerSetStorageValue(index.pid, storBuff1, 1) end if (isInArray({voc2, (voc2+4), (voc2+8)}, getPlayerVocation(index.pid))) then doPlayerSetStorageValue(index.pid, storBuff2, 1) end end end return true end function dtt.setBonusExp(cid) doPlayerSetStorageValue(cid, dtt.storage.exp_bonus, os.time()+(60*dtt.bonus_time)) return true end function dtt.setTeam() local tmp = 1 local result = db.getResult("SELECT * FROM `dtt_players`;") if result:getID() ~= -1 then repeat pid = tonumber(result:getDataInt("pid")) if(tmp % 2 == 0) then db.query("UPDATE `dtt_players` SET `team` = '0' WHERE `pid` = "..pid..";") tmp = (tmp+1) else db.query("UPDATE `dtt_players` SET `team` = '1' WHERE `pid` = "..pid..";") tmp = (tmp+1) end until(not result:next()) end result:free() end --Metodos GET function dtt.getPlayersInEvent() local result = db.getResult("SELECT * FROM `dtt_players`;") CACHE_PLAYERS = {} if result:getID() ~= -1 then repeat pid = tonumber(result:getDataInt("pid")) team = tonumber(result:getDataInt("team")) -- 0 = blue, 1 = red ip = tonumber(result:getDataInt("ip")) table.insert(CACHE_PLAYERS, {["pid"]=pid,["team"]=team,["ip"]=ip }) until(not result:next()) result:free() return CACHE_PLAYERS end return false end function dtt.getDelay(cid) local statsDelay = getPlayerStorageValue(cid, dtt.storage.delay) if (statsDelay - os.time() > 0) then local delay = 0 local times = dtt.delay_time doCreatureSetNoMove(cid, true) for i = times, 0, -1 do if isPlayer(cid) then addEvent(doPlayerSendCancel, delay, cid, "[Defend The Tower] Volte para a arena em "..i..".") end delay = 2000 + delay if (i == 0) and (isPlayer(cid)) then addEvent(dtt.enableMove, (delay+1000), cid) end end else return false end return true end function dtt.getBonusExp(cid) local statsBonus = getPlayerStorageValue(cid, dtt.storage.exp_bonus) return statsBonus - os.time() > 0 end --Outros métodos function dtt.enableMove(cid) doCreatureSetNoMove(cid, false) doPlayerSendCancel(cid, "[Defend The Tower] GO GO GO! seu time o aguarda.") setPlayerStorageValue(cid, dtt.storage.delay, 0) return true end function dtt.resetGlobalStorages() setGlobalStorageValue(dtt.storage.win, -1) setGlobalStorageValue(dtt.storage.kill_blue, 0) setGlobalStorageValue(dtt.storage.kill_red, 0) setGlobalStorageValue(dtt.storage.tower_blue, 0) setGlobalStorageValue(dtt.storage.tower_red, 0) print("[Defend The Tower] Todos os globais storages foram resetados...") return true end function dtt.resetPlayerStorages() if dtt.getPlayersInEvent() then for _, index in ipairs(dtt.getPlayersInEvent()) do doPlayerSetStorageValue(index.pid, dtt.storage.team_blue, 0) doPlayerSetStorageValue(index.pid, dtt.storage.team_red, 0) doPlayerSetStorageValue(index.pid, dtt.storage.buffvoc1, 0) doPlayerSetStorageValue(index.pid, dtt.storage.buffvoc2, 0) doPlayerSetStorageValue(index.pid, dtt.storage.buffvoc3, 0) doPlayerSetStorageValue(index.pid, dtt.storage.buffvoc4, 0) end print("[Defend The Tower] Todos os players storages foram resetados...") return true else print("[Defend The Tower] Tabela vazia...") end return true end function dtt.createMonsters() doSummonCreature(dtt.monster.name.a1, dtt.monster.pos.a1) doSummonCreature(dtt.monster.name.a2, dtt.monster.pos.a2) doSummonCreature(dtt.monster.name.a3, dtt.monster.pos.a3) doSummonCreature(dtt.monster.name.a4, dtt.monster.pos.a4) doSummonCreature(dtt.monster.name.b1, dtt.monster.pos.b1) doSummonCreature(dtt.monster.name.b2, dtt.monster.pos.b2) doSummonCreature(dtt.monster.name.b3, dtt.monster.pos.b3) doSummonCreature(dtt.monster.name.b4, dtt.monster.pos.b4) doSummonCreature(dtt.monster.name.buff1, dtt.monster.pos.mbuff1) doSummonCreature(dtt.monster.name.buff2, dtt.monster.pos.mbuff2) print("[Defend The Tower] Os monstros da arena battle foram sumonados...") return true end function dtt.countPlayers() local result = db.getResult("SELECT * FROM `dtt_players`;") local qntPlayers = 0 if result:getID() ~= -1 then repeat qntPlayers = (qntPlayers+1) until(not result:next()) end return qntPlayers end function dtt.trucatePlayersInEvent() local result = db.getResult("SELECT * FROM `dtt_players`;") if result:getID() ~= -1 then db.query("TRUNCATE TABLE `dtt_players`;") print("[Defend The Tower] Todos dados da tabela 'dtt_players' foram apagados...") end return true end -- FUNÇÕES PRINCIPAIS -- ABERTURA DO EVENTO function dtt.open() local time = os.date("*t") local timeopen1 = math.ceil(dtt.wait_time / 4) local timeopen2 = math.ceil(dtt.wait_time / 2) if (isInArray(dtt.days_open, time.wday)) then local tp = doCreateItem(1387, dtt.pos.tp_create) doRemoveCreature(getThingfromPos(dtt.pos.tp_create).uid) doItemSetAttribute(tp, "aid", 9801) dtt.resetGlobalStorages() dtt.trucatePlayersInEvent() dtt.removeItemsTower() doBroadcastMessage(dtt.msg.warning) addEvent(doBroadcastMessage, timeopen1*1000*60, "[Defend The Tower] - Resta(m) ".. timeopen2 .." minuto(s) para iniciar o evento!") if (timeopen2 ~= timeopen1) then addEvent(doBroadcastMessage, timeopen2*1000*60, "[Defend The Tower] - Resta(m) ".. timeopen1 .." minuto(s) para iniciar o evento!") end addEvent(dtt.start, dtt.wait_time*1000*60,nil) end return true end -- COMEÇO DO EVENTO function dtt.start() local tp = getTileItemById(dtt.pos.tp_create, 1387).uid doRemoveItem(tp) if (dtt.min_players <= dtt.countPlayers()) then dtt.createMonsters() dtt.sendPlayersToEvent() doBroadcastMessage(dtt.msg.start) else doBroadcastMessage(dtt.msg.cancel) end return true end -- FECHANDO O EVENTO function dtt.close() for _, index in ipairs(dtt.getPlayersInEvent()) do doRemoveCondition(index.pid, CONDITION_OUTFIT) doRemoveCondition(index.pid, CONDITION_INFIGHT) doPlayerSetPzLocked(index.pid, false) if (getGlobalStorageValue(dtt.storage.win) == "blue") then if (index.team == 0) then doPlayerSetTown(index.pid, dtt.townid.init) doTeleportThing(index.pid, getTownTemplePosition(dtt.townid.init)) dtt.reward(index.pid) else doPlayerSetTown(index.pid, dtt.townid.init) doTeleportThing(index.pid, getTownTemplePosition(dtt.townid.init)) doPlayerSendTextMessage(index.pid, 25, dtt.msg.no_reward) end end if (getGlobalStorageValue(dtt.storage.win) == "red") then if (index.team == 1) then doPlayerSetTown(index.pid, dtt.townid.init) doTeleportThing(index.pid, getTownTemplePosition(dtt.townid.init)) dtt.reward(index.pid) else doPlayerSetTown(index.pid, dtt.townid.init) doTeleportThing(index.pid, getTownTemplePosition(dtt.townid.init)) doPlayerSendTextMessage(index.pid, 25, dtt.msg.no_reward) end end end --- limpando storage dos jogadores dtt.resetPlayerStorages() return true end function dtt.sendPlayersToEvent() dtt.setTeam() dtt.resetPlayerStorages() for _, index in ipairs(dtt.getPlayersInEvent()) do if (index.team == 0) then doAddCondition(index.pid, conditionBlue) doPlayerSetTown(index.pid, dtt.townid.blue) doTeleportThing(index.pid, getTownTemplePosition(dtt.townid.blue)) doPlayerSetStorageValue(index.pid, dtt.storage.team_blue, 1) end if (index.team == 1) then doAddCondition(index.pid, conditionRed) doPlayerSetTown(index.pid, dtt.townid.red) doTeleportThing(index.pid, getTownTemplePosition(dtt.townid.red)) doPlayerSetStorageValue(index.pid, dtt.storage.team_red, 1) end end return true end function dtt.reward(pid) local random_item = dtt.reward_items[math.random(1, #dtt.reward_items)] doPlayerAddItem(pid, 6527, 80) dtt.setBonusExp(pid) doPlayerSendTextMessage(pid, 25, dtt.msg.reward) return true end function dtt.removeItemsTower() if (getTileItemById(dtt.monster.pos.a2, 9596).uid) then doRemoveItem(getTileItemById(dtt.monster.pos.a2, 9596).uid) doRemoveItem(getTileItemById(dtt.monster.pos.a3, 9596).uid) doRemoveItem(getTileItemById(dtt.monster.pos.a4, 9596).uid) doRemoveItem(getTileItemById(dtt.monster.pos.b2, 9596).uid) doRemoveItem(getTileItemById(dtt.monster.pos.b3, 9596).uid) doRemoveItem(getTileItemById(dtt.monster.pos.b4, 9596).uid) print("[DEFEND THE TOWERS] Items torre limpos da arena de batalha...") else print("[DEFEND THE TOWERS] Nenhum item torre na arena de batalha...") end return true end function dtt.resultBattle() local frags_blue = getGlobalStorageValue(dtt.storage.kill_blue) local frags_red = getGlobalStorageValue(dtt.storage.kill_red) local towers_blue = getGlobalStorageValue(dtt.storage.tower_blue) local towers_red = getGlobalStorageValue(dtt.storage.tower_red) local hora = os.date("%X") local data = os.date("%x") db.query("INSERT INTO `dtt_results` VALUES ('', ".. frags_blue .. ",".. frags_red ..", ".. towers_blue ..", ".. towers_red ..", ".. db.escapeString(data) ..", ".. db.escapeString(hora) ..");") return true end function dtt.warningAttack(cid, msg, storTeam) local lifePercent = 100 / (getCreatureMaxHealth(cid) / getCreatureHealth(cid)) if (lifePercent <= 100) and (lifePercent >= 99.9) then for _, index in ipairs(dtt.getPlayersInEvent()) do if getPlayerStorageValue(index.pid, storTeam) == 1 then doPlayerSendTextMessage(index.pid, 25, "[Defend The Tower] A torre "..msg.." esta sob ataque. Corra para defender!") end end end if (lifePercent <= 50) and (lifePercent >= 49.9) then for _, index in ipairs(dtt.getPlayersInEvent()) do if getPlayerStorageValue(index.pid, storTeam) == 1 then doPlayerSendTextMessage(index.pid, 25, "[Defend The Tower] A torre "..msg.." esta sob ataque. Corra para defender!") end end end if (lifePercent <= 20) and (lifePercent >= 19.9) then for _, index in ipairs(dtt.getPlayersInEvent()) do if getPlayerStorageValue(index.pid, storTeam) == 1 then doPlayerSendTextMessage(index.pid, 25, "[Defend The Tower] A torre "..msg.." esta sob ataque. Corra para defender!") end end end return true end function dtt.removeMonsters() doRemoveCreature(getThingfromPos(dtt.monster.pos.a1).uid) doRemoveCreature(getThingfromPos(dtt.monster.pos.a2).uid) doRemoveCreature(getThingfromPos(dtt.monster.pos.a3).uid) doRemoveCreature(getThingfromPos(dtt.monster.pos.a4).uid) doRemoveCreature(getThingfromPos(dtt.monster.pos.b1).uid) doRemoveCreature(getThingfromPos(dtt.monster.pos.b2).uid) doRemoveCreature(getThingfromPos(dtt.monster.pos.b3).uid) doRemoveCreature(getThingfromPos(dtt.monster.pos.b4).uid) return true end function dtt.cleanPlayer(cid) doPlayerSetTown(cid, dtt.townid.init) doTeleportThing(cid, getTownTemplePosition(dtt.townid.init)) doPlayerSetStorageValue(cid, dtt.storage.team_blue, 0) doPlayerSetStorageValue(cid, dtt.storage.team_red, 0) doPlayerSetStorageValue(cid, dtt.storage.buffvoc1, 0) doPlayerSetStorageValue(cid, dtt.storage.buffvoc2, 0) doPlayerSetStorageValue(cid, dtt.storage.buffvoc3, 0) doPlayerSetStorageValue(cid, dtt.storage.buffvoc4, 0) return true end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
-
(Resolvido)Teleport Alavanca
Mais uma vez obrigado MatteusDeli pela ajuda vlw
-
(Resolvido)Teleport Alavanca
Boas Tibia king Alguem me pode ajudar com o script listado? Gostaria de colocar outra posicao para o player digitar o comando !magic tem essa posicao aqui: if getCreaturePosition(cid).x ~= 841 or getCreaturePosition(cid).y ~= 1438 or getCreaturePosition(cid).z ~= 9 then como coloco outra posicao no mesmo script? posicao: x=842 y=1438 z=9 que eu quero colocar Obrigado! Você tem o código disponível? Se tiver publique-o aqui: function onSay(cid, words, param, channel) if getCreaturePosition(cid).x ~= 841 or getCreaturePosition(cid).y ~= 1438 or getCreaturePosition(cid).z ~= 9 then doPlayerSendTextMessage(cid,25,"You need to step in to digit this comand") doSendMagicEffect(getCreaturePosition(cid),2) return true end if isPlayer(cid) then doSendMagicEffect(getCreaturePosition(cid),2) doTeleportThing(cid,{x=841,y=1435,z=9}) doSendMagicEffect(getCreaturePosition(cid),10) doPlayerSendTextMessage(cid,25,"You have found the secret word") return true end end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
-
(Resolvido)Boosted Creature
Obrigado MatteusDeli era isso mesmo grande ajuda! Funcionou perfeitamente vlw
-
(Resolvido)Boosted Creature
Boas Pessoal do Tibia King Gostaria de adicionar um sistema de Creature boost no meu baiak 8.6 TFS 0.4 Funcionaria da seguinte forma: a cada 24h 1 monstro aleatorio iria dropar mais loot e mais xp do que o normal! Alguem tem ou me pode ajudar com esse sistema? origado pela ajuda desde ja. Algo deste genero!
-
Shopadmin Gesior!
Boas Tibia King! Alguem me pode ajudar? obrigado .Qual servidor ou website você utiliza como base? Gesior 2019 tibia 8.6 Qual o motivo deste tópico? Erro na pagina editar deletar ofertas no site Você tem o código disponível? Se tiver publique-o aqui: <?PHP if($group_id_of_acc_logged >= $config['site']['access_admin_panel']) { $offertype = $_REQUEST['offer_type']; if((empty($action)) AND (empty($offertype))) { $main_content .= '<br> <div class="TableShadowContainerRightTop" > <div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/global/content/table-shadow-rt.gif);" ></div> </div> <div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/global/content/table-shadow-rm.gif);" > <div class="TableContentContainer" > <table class="TableContent" width="100%" style="border:1px solid #faf0d7;" > <tr> <td><center><font size="5"><a href="?subtopic=shopadmin&action=addoffer">ADD SHOP OFFER</a></font></center></td> </tr> </table> </div> </div> <div class="TableShadowContainerRightTop" > <div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/global/content/table-shadow-rt.gif);" ></div> </div> <div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/global/content/table-shadow-rm.gif);" > <div class="TableContentContainer" > <table class="TableContent" width="100%" style="border:1px solid #faf0d7;" > <tr> <td><center><font size="5"><a href="?subtopic=shopadmin&action=viewoffer">EDIT/DELETE SHOP OFFER</a></font></center></td> </tr> </table> </div> </div> <div class="TableShadowContainer" > <div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/global/content/table-shadow-bm.gif);" > <div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/global/content/table-shadow-bl.gif);" ></div> <div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/global/content/table-shadow-br.gif);" ></div> </div> </div> </td> <div class="TableShadowContainerRightTop" > <div class="TableShadowRightTop" style="background-image:url('.$layout_name.'/images/global/content/table-shadow-rt.gif);" ></div> </div> <div class="TableContentAndRightShadow" style="background-image:url('.$layout_name.'/images/global/content/table-shadow-rm.gif);" > <div class="TableContentContainer" > <table class="TableContent" width="100%" style="border:1px solid #faf0d7;" > <tr> <td><center><font size="5"><a href="?subtopic=shopadmin&action=points">ADD POINTS</a></font></center></td> </tr> </table> </div> </div> <div class="TableShadowContainer" > <div class="TableBottomShadow" style="background-image:url('.$layout_name.'/images/global/content/table-shadow-bm.gif);" > <div class="TableBottomLeftShadow" style="background-image:url('.$layout_name.'/images/global/content/table-shadow-bl.gif);" ></div> <div class="TableBottomRightShadow" style="background-image:url('.$layout_name.'/images/global/content/table-shadow-br.gif);" ></div> </div> </div> </td>'; } if($action == "addoffer"){ $shop_points = stripslashes(ucwords(strtolower(trim($_REQUEST['shop_points'])))); $shop_offer_type = stripslashes(trim($_REQUEST['offer_type'])); if(empty($shop_points)) { $main_content .= '<table border="0"><tr><td align="center"><b>Select offer type:</b></td><td><table border="0" ><tr bgcolor="#505050"> <td><font color="white">Item</td><td><font color="white">Item VIP</td><td><font color="white">Container</td><td><font color="white">Pacc</td><td><font color="white">VIP Days</td><td><font color="white">Redskull</td> <td><font color="white">Unban</td><td><font color="white">Changename</td><td><font color="white">Outfit</td></tr><tr bgcolor="#D4C0A1"><form action="" method="post"> <td align="center"><input type="radio" name="offer_type" value="item" onClick="this.form.submit()"></td></lable> <td align="center"><input type="radio" name="offer_type" value="itemvip" onClick="this.form.submit()"></td></lable> <td align="center"><input type="radio" name="offer_type" value="container" onClick="this.form.submit()"></td> <td align="center"><input type="radio" name="offer_type" value="pacc" onClick="this.form.submit()"></td> <td align="center"><input type="radio" name="offer_type" value="vipdays" onClick="this.form.submit()"></td> <td align="center"><input type="radio" name="offer_type" value="redskull" onClick="this.form.submit()"></td> <td align="center"><input type="radio" name="offer_type" value="unban" onClick="this.form.submit()"></td> <td align="center"><input type="radio" name="offer_type" value="changename" onClick="this.form.submit()"></td> <td align="center"><input type="radio" name="offer_type" value="outfit" onClick="this.form.submit()"></td> </form></tr></table></td></tr>'; $main_content .= '<form action="?subtopic=shopadmin&action=addoffer&offer_type='.$shop_offer_type.'" method="post" ><table border="0"><tr> <td align="center" ><b>Points:</b></td><td><input type="textbox" name="shop_points" maxlenght="7" style="width: 70px"></td></tr>'; if($_REQUEST['offer_type'] == 'container'){ $main_content .= '<tr><td align="center" ><b>Container ID:</b></td> <td><input type="text" name="shop_itemid1" maxlenght="7" style="width: 70px" ></td></tr> <tr><td align="center" ><b>Count Container:</b></td> <td><input type="text" name="shop_count1" maxlenght="7" style="width: 70px" ></td></tr> <tr><td align="center" ><b>Item ID:</b></td> <td><input type="text" name="shop_itemid2" maxlenght="7" style="width: 70px" ></td></tr> <tr><td align="center" ><b>Count Item:</b></td> <td><input type="text" name="shop_count2" maxlenght="7" style="width: 70px" ></td></tr>'; } if($_REQUEST['offer_type'] == 'item'){ $main_content .= '<tr><td align="center"><b>Item ID:</b></td> <td><input type="text" name="shop_itemid1" maxlenght="7" style="width: 70px" ></td></tr> <tr><td align="center"><b>Item Count:</b></td> <td><input type="text" name="shop_count1" maxlenght="7" style="width: 70px" ></td></tr>'; } if($_REQUEST['offer_type'] == 'itemvip'){ $main_content .= '<tr><td align="center"><b>Item ID:</b></td> <td><input type="text" name="shop_itemid1" maxlenght="7" style="width: 70px" ></td></tr> <tr><td align="center"><b>Item Count:</b></td> <td><input type="text" name="shop_count1" maxlenght="7" style="width: 70px" ></td></tr>'; } if($_REQUEST['offer_type'] == 'pacc'){ $main_content .= '<tr><td align="center" ><b>Days:</b></td> <td><input type="text" name="shop_count1" maxlenght="7" style="width: 70px" ></td></tr>'; } if($_REQUEST['offer_type'] == 'vipdays'){ $main_content .= '<tr><td align="center" ><b>Days:</b></td> <td><input type="text" name="shop_count1" maxlenght="7" style="width: 70px" ></td></tr>'; } if($_REQUEST['offer_type'] == 'outfit') $main_content .= ' <tr><td align="center" ><b>Offer Name:</b></td> <td><select name="shop_offer_name"> <option value="Citizen">Citizen</option> <option value="Hunter">Hunter</option> <option value="Mage">Mage</option> <option value="Knight">Knight</option> <option value="Noblewoman">Noblewoman</option> <option value="Summoner">Summoner</option> <option value="Warrior">Warrior</option> <option value="Barbarian">Barbarian</option> <option value="Druid">Druid</option> <option value="Wizard">Wizard</option> <option value="Oriental">Oriental</option> <option value="Pirate">Pirate</option> <option value="Assassin">Assassin</option> <option value="Beggar">Beggar</option> <option value="Shaman">Shaman</option> <option value="Norsewoman">Norsewoman</option> <option value="Nightmare">Nightmare</option> <option value="Jester">Jester</option> <option value="Brotherhood">Brotherhood</option> <option value="Demonhunter">Demonhunter</option> <option value="Yalaharian">Yalaharian</option> <option value="Warmaster">Warmaster</option> <option value="Wayfarer">Wayfarer</option> </select></td>'; else $main_content .= ' <tr><td align="center" ><b>Offer Description:</b></td> <td ><textarea name="shop_offer_description" rows="2" cols="35"></textarea></td></tr> <tr><td align="center" ><b>Offer Name:</b></td> <td><input type="text" name="shop_offer_name" maxlenght="40" style="width: 200px" ></td></tr>'; $main_content .= ' </table> <input name="submit" type="submit" value="Submit" /></form> <form action="?subtopic=shopadmin&action=addoffer" method="post" > <input name="submit" type="submit" value="Reset" /></form>'; $main_content .= '<form action="?subtopic=shopadmin" method="post" ><input name="submit" type="submit" value="Back" title="Back"/></form>'; } else { $shop_points = stripslashes(trim($_POST['shop_points'])); $shop_offer_type = stripslashes(trim($_REQUEST['offer_type'])); $shop_itemid1 = stripslashes(trim($_POST['shop_itemid1'])); $shop_count1 = stripslashes(trim($_POST['shop_count1'])); $shop_itemid2 = stripslashes(trim($_POST['shop_itemid2'])); $shop_count2 = stripslashes(trim($_POST['shop_count2'])); $shop_offer_description = stripslashes(trim($_POST['shop_offer_description'])); $shop_offer_name = stripslashes(trim($_POST['shop_offer_name'])); $SQL->query('INSERT INTO `z_shop_offer` (id, points, itemid1, count1, itemid2, count2, offer_type, offer_description, offer_name, pid) VALUES (NULL, '.$SQL->quote($shop_points).', '.$SQL->quote($shop_itemid1).', '.$SQL->quote($shop_count1).', '.$SQL->quote($shop_itemid2).', '.$SQL->quote($shop_count2).', '.$SQL->quote($shop_offer_type).', '.$SQL->quote($shop_offer_description).', '.$SQL->quote($shop_offer_name).', 0)'); $main_content .= '<center><h2><font color="red">Added to Shop:</font></h2></center><hr/> <tr><td align="center" ><b>Points:</b></td> <td>'.$shop_points.'</td></tr><br>'; if($shop_offer_type == 'container'){ $main_content .= '<tr><td align="center" ><b>Container ID:</b></td> <td>'.$shop_itemid1.'</td></tr><br> <tr><td align="center" ><b>Count Container:</b></td> <td>'.$shop_count1.'</td></tr><br> <tr><td align="center" ><b> Item ID (in Container):</b></td> <td>'.$shop_itemid2.'</td></tr><br> <tr><td align="center" ><b>Count Item (in Container):</b></td> <td>'.$shop_count2.'</td></tr><br>'; } if ($shop_offer_type == 'item'){ $main_content .= '<tr><td align="center" ><b>Item ID:</b></td> <td>'.$shop_itemid1.'</td></tr><br> <tr><td align="center" ><b>Count Item:</b></td> <td>'.$shop_count1.'</td></tr><br>'; } if ($shop_offer_type == 'itemvip'){ $main_content .= '<tr><td align="center" ><b>Item ID:</b></td> <td>'.$shop_itemid1.'</td></tr><br> <tr><td align="center" ><b>Count Item:</b></td> <td>'.$shop_count1.'</td></tr><br>'; } if ($shop_offer_type == 'pacc'){ $main_content .= '<tr><td align="center" ><b>Days:</b></td> <td>'.$shop_count1.'</td></tr><br>'; } if ($shop_offer_type == 'vipdays'){ $main_content .= '<tr><td align="center" ><b>Days:</b></td> <td>'.$shop_count1.'</td></tr><br>'; } $main_content .= '<tr><td align="center" ><b>Offer Type:</b></td> <td>'.$shop_offer_type.'</td></tr><br> <tr><td align="center" ><b>Offer Description:</b></td> <td>'.$shop_offer_description.'</td></tr><br> <tr><td align="center" ><b>Offer Name:</b></td> <td>'.$shop_offer_name.'</td></tr> <br><form action="?subtopic=shopadmin&action=addoffer" method="post" ><input name="submit" type="submit" value="Back" title="Back"/></form>'; } } if($action == "viewoffer") { $items = simplexml_load_file($config['site']['server_path'].'/data/items/items.xml') or die('<b>Could not load items!</b>'); foreach($items->item as $v) $itemList[(int)$v['id']] = $v['name']; $order = array("id" => "id", "points" => "points", "offer_type" => "offer_type", "itemid1" => "itemid1", "itemid2" => "itemid2"); $main_content .= '<center><table width="550"><tr BGCOLOR="#505050"><td width="5"><font color="white"><a href="index.php?subtopic=shopadmin&action=viewoffer&order=' . getOrder($order, 'order', 'id') . '" class=white>ID:</td><td width="5"><font color="white"><a href="index.php?subtopic=shopadmin&action=viewoffer&order=' . getOrder($order, 'order', 'points') . '" class=white>Points:</td><td width="7"> <font color="white"><a href="index.php?subtopic=shopadmin&action=viewoffer&order=' . getOrder($order, 'order', 'itemid1') . '" class=white>Item ID:</td><td width="5"><font color="white">Count:</td><td width="7"><center><font color="white"><a href="index.php?subtopic=shopadmin&action=viewoffer&order=' . getOrder($order, 'order', 'itemid2') . '" class=white>Container ID:</center></td><td width="5"><font color="white">Count:</td><td width="7"><font color="white"><a href="index.php?subtopic=shopadmin&action=viewoffer&order=' . getOrder($order, 'order', 'offer_type') . '" class=white>Offer Type:</td> <td width="85"><font color="white">Offer Description:</td><td width="30"><font color="white">Offer Name:</td><td width="30"></td></tr>'; $shopoffers = $SQL->query('SELECT id, points, itemid1, count1, itemid2, count2, offer_type, offer_description, offer_name, pid FROM z_shop_offer ' . makeOrder($order, 'order', 'id')); foreach($shopoffers as $shop) { $main_content .= '</B><tr BGCOLOR="#D4C0A1"><td align="center">'.$shop['id'].'<td align="center">'.$shop['points'].'</td>'; if($shop['itemid1'] == "0") { $main_content .= '<td align="center">'.$shop['itemid1'].'<br></td>'; } else { $main_content .= '<td align="center">'.$shop['itemid1'].'<br>(' . $itemList[(int)$shop['itemid1']] . ')</td>'; } $main_content .= '<td align="center">'.$shop['count1'].'</td>'; if($shop['itemid2'] == "0") { $main_content .= '<td align="center">'.$shop['itemid2'].'</td>'; } else { $main_content .= '<td align="center">'.$shop['itemid2'].'<br>(' . $itemList[(int)$shop['itemid2']] . ')</td>'; } $main_content .= '<td align="center">'.$shop['count2'].'</td><td align="center">'.$shop['offer_type'].'</td><td align="left">'.$shop['offer_description'].'</td><td align="left">'.$shop['offer_name'].'</td>'; $main_content .= '<td align="center"><a href="?subtopic=shopadmin&action=editoffer&id='.$shop['id'].'"><img src="'.$layout_name.'/images/news/edit_news.png" border="0"></a><br><br><a href="?subtopic=shopadmin&action=deleteoffer&id='.$shop['id'].'"><img src="'.$layout_name.'/images/news/delete_news.png" border="0"></a></td>'; } $main_content .= '</td></tr></TABLE><br><form action="?subtopic=shopadmin" method="post" ><input name="submit" type="submit" value="Back" title="Back"/></form>'; } if($action == "deleteoffer") { $id = (int) $_REQUEST['id']; $SQL->query('DELETE FROM z_shop_offer WHERE id = '.$id.' LIMIT 1;'); $main_content .= '<center>Shop offer has been deleted.</center><br><center><form action="?subtopic=shopadmin&action=viewoffer" method="post" ><input name="submit" type="submit" value="Back" title="Back"/></form></center>'; } if($action == "editoffer") { $id = (int) $_REQUEST['id']; $shopoffers = $SQL->query('SELECT * FROM z_shop_offer WHERE id = '.$id.' LIMIT 1;'); foreach($shopoffers as $shop) { $main_content .= '<form action="?subtopic=shopadmin&action=edited&id='.$id.'" method="post" ><table border="0"><tr><td align="center" ><b>Points:</b></td> <td><input type="textbox" name="shop_points" maxlenght="7" value="'.$shop['points'].'" style="width: 70px"></td></tr>'; if($shop['offer_type'] == 'container'){ $main_content .= '<tr><td align="center" ><b>Container ID:</b></td> <td><input type="text" name="shop_itemid1" maxlenght="7" value="'.$shop['itemid1'].'" style="width: 70px" ></td></tr> <tr><td align="center" ><b>Count Container:</b></td> <td><input type="text" name="shop_count1" maxlenght="7" value="'.$shop['count1'].'" style="width: 70px" ></td></tr> <tr><td align="center" ><b>Item ID:</b></td> <td><input type="text" name="shop_itemid2" maxlenght="7" value="'.$shop['itemid2'].'" style="width: 70px" ></td></tr> <tr><td align="center" ><b>Count Item:</b></td> <td><input type="text" name="shop_count2" maxlenght="7" value="'.$shop['count2'].'" style="width: 70px" ></td></tr>'; } if($shop['offer_type'] == 'item'){ $main_content .= '<tr><td align="center"><b>Item ID:</b></td> <td><input type="text" name="shop_itemid1" maxlenght="7" value="'.$shop['itemid1'].'" style="width: 70px" ></td></tr> <tr><td align="center"><b>Item Count:</b></td> <td><input type="text" name="shop_count1" maxlenght="7" value="'.$shop['count1'].'" style="width: 70px" ></td></tr>'; } if($shop['offer_type'] == 'itemvip'){ $main_content .= '<tr><td align="center"><b>Item ID:</b></td> <td><input type="text" name="shop_itemid1" maxlenght="7" value="'.$shop['itemid1'].'" style="width: 70px" ></td></tr> <tr><td align="center"><b>Item Count:</b></td> <td><input type="text" name="shop_count1" maxlenght="7" value="'.$shop['count1'].'" style="width: 70px" ></td></tr>'; } if($shop['offer_type'] == 'pacc'){ $main_content .= '<tr><td align="center" ><b>Days:</b></td> <td><input type="text" name="shop_count1" maxlenght="7" style="width: 70px" ></td></tr>'; } if($shop['offer_type'] == 'vipdays'){ $main_content .= '<tr><td align="center" ><b>Days:</b></td> <td><input type="text" name="shop_count1" maxlenght="7" style="width: 70px" ></td></tr>'; } $main_content .= '<tr><td align="center" ><b>Offer Type:</b></td> <td><input type="text" name="shop_offer_type" value="'.$shop['offer_type'].'" maxlenght="40" style="width: 200px" ></td></tr> <tr><td align="center" ><b>Offer Description:</b></td> <td ><textarea name="shop_offer_description" rows="2" cols="35">'.$shop['offer_description'].'</textarea></td></tr> <tr><td align="center" ><b>Offer Name:</b></td> <td><input type="text" name="shop_offer_name" value="'.$shop['offer_name'].'" maxlenght="40" style="width: 200px" ></td></tr> <tr><td><input name="submit" type="submit" value="Submit" /></form></td><td></td></tr></table>'; $main_content .= '<form action="?subtopic=shopadmin&action=viewoffer" method="post" ><input name="submit" type="submit" value="Back" title="Back"/></form>'; } } if($action == "edited") { $id = (int) $_REQUEST['id']; $shop_points = stripslashes(trim($_POST['shop_points'])); $shop_offer_type = stripslashes(trim($_POST['shop_offer_type'])); $shop_itemid1 = stripslashes(trim($_POST['shop_itemid1'])); $shop_count1 = stripslashes(trim($_POST['shop_count1'])); $shop_itemid2 = stripslashes(trim($_POST['shop_itemid2'])); $shop_count2 = stripslashes(trim($_POST['shop_count2'])); $shop_offer_description = stripslashes(trim($_POST['shop_offer_description'])); $shop_offer_name = stripslashes(trim($_POST['shop_offer_name'])); $SQL->query('UPDATE `z_shop_offer` SET `points` = '.$shop_points.', `itemid1` = '.$SQL->quote($shop_itemid1).', `count1` = '.$SQL->quote($shop_count1).', `itemid2` = '.$SQL->quote($shop_itemid2).', `count2` = '.$SQL->quote($shop_count2).', `offer_type` = '.$SQL->quote($shop_offer_type).', `offer_description` = '.$SQL->quote($shop_offer_description).', `offer_name` = '.$SQL->quote($shop_offer_name).' WHERE `id` = '.$id.';'); $main_content .= '<b><center>Shop offer successfully edited.</b><br><br><form action="?subtopic=shopadmin&action=viewoffer" method="post" ><input name="submit" type="submit" value="Back" title="Back"/></form><meta http-equiv="refresh" content="1;url=/?subtopic=shopadmin&action=viewoffer" />'; } if($action == "points") { $player = stripslashes(ucwords(strtolower(trim($_REQUEST['character'])))); $points = $_POST['points']; if(empty($player)) { $main_content .= '<form action="?subtopic=shopadmin&action=points" method="post"><B>Enter Character Name:</B><input type="textbox" name="character"><br> <B>Enter Points Amount:</B><input type="textbox" name="points"><br><br><input type="submit" value="Submit"> </form></center><form action="?subtopic=shopadmin" method="post" ><input name="submit" type="submit" value="Back" title="Back"/></form>'; } else { $player_data = $SQL->query("SELECT * FROM `players` WHERE `name` = '".$player."';")->fetch(); $SQL->query("UPDATE `accounts` SET `premium_points` = `premium_points` + '".$points."' WHERE `id` = '".$player_data['account_id']."'"); $SQL->query("UPDATE `accounts` SET `backup_points` = `backup_points` + '".$points."' WHERE `id` = '".$player_data['account_id']."'"); $main_content .= '<b><center>'.$points.' Premium Points added to the account of <i>'.$player.'</i> !</b></center><br> <form action="?subtopic=shopadmin" method="post" ><input name="submit" type="submit" value="Back" title="Back"/></form>'; } } } else { $main_content .= 'Sorry, you have not the rights to access this page.'; } ?> Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
-
(Resolvido)Cast System
Sim utilizei o cast que vem com o TFS 0.4 FUNCIONA todos os comandos mas quando tento entrar com mc para assistir nao entra! Sera por ter encryptionType = "sha1"? melhor deixar plain? obrigado
-
(Resolvido)Cast System
.Qual servidor ou website você utiliza como base? TFS 0.4 baiak 8.6 Qual o motivo deste tópico? CAST SYSTEM nao funciona corretamente Está surgindo algum erro? Se sim coloque-o aqui. quando aperto enter para assistir simplesmente da erro de nome da conta e password! Você tem o código disponível? Se tiver publique-o aqui: Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
-
(Resolvido)criar conta no site e 1/1
Desculpe reviver este topico mas tenho um problema com o meu ot. Quando coloco deleted = 1 nas samples quando vou criar conta pelo site todos os characters criados ficam como deleted e quando crio account pelo account manager do jogo nao consigo entrar no site. Pode me ajudar por favor?
-
Cast System
Ola galera do tibia king, meu problema e o seguinte. Eu tenho no meu ot server versao 8.6 TFS 0.4 o sistema de Cast mas quando tento entrar para assistir da o erro Invalid account name or password. Mesmo o account manager quando tento entrar com 1/1 nao funciona alguem me poderia ajudar? Obrigado
-
Magias de cura nao funcionam
agora quando aperto enter para assistir da erro invalid account name or password
-
Magias de cura nao funcionam
tentei adicionar esse sistema o meu tambem e TFS 0.4 e aparece esse erro: data/talkactions/scripts/cast.lua:9: attempt to call global 'doPlayerSetCastState' (a nil value)
-
Magias de cura nao funcionam
sabe como posso implementar esse sistema de cast da TFS 0.4 no meu servidor passo a passo?
-
Magias de cura nao funcionam
Eu usei esse sistema aqui tudo certinho pode ver se tem erros? obrigado
-
Magias de cura nao funcionam
tirei essas 3 linhas e o cast funciona na mesma e as magias voltaram a funcionar! <event type="attack" name="castAttack" event="script" value="castSys.lua"/> <event type="statschange" name="castHits" event="script" value="castSys.lua"/> <event type="logout" name="castLogout" event="script" value="castSys.lua"/> o cast funciona porem se eu remover essas 3 linhas o espectador consegue atacar o player <event type="attack" name="castAttack" event="script" value="castSys.lua"/> <event type="statschange" name="castHits" event="script" value="castSys.lua"/> <event type="logout" name="castLogout" event="script" value="castSys.lua"/> ESSE E O SCRIPT QUE USO --[[ Perfect Cast System 1.0 by Roksas ]]-- function onSay(cid, words, param) local player = getPlayerByName(param) if not isInArray({"list", "exit", "off", "on"}, param) and not param or param == "" then doSendMagicEffect(getThingPos(cid), 2) doPlayerSendTextMessage(cid, 20, "Enter the name of the player, which you want to cast in parameters.") return true end if param == "on" then if getPlayerStorageValue(cid, 10359) >= 1 then doSendMagicEffect(getThingPos(cid), 2) doPlayerSendTextMessage(cid, 20, "Your Cast System is already running ONLINE!") return true end castOn(cid) doSendMagicEffect(getThingPos(cid), 39) doPlayerSendTextMessage(cid, 20, "You have activated your Cast System, now others can cast you, to disable this feature, use the parameter '!cast off'.") return true end if param == "off" then if getPlayerStorageValue(cid, 10359) < 1 then doSendMagicEffect(getThingPos(cid), 2) doPlayerSendTextMessage(cid, 20, "Your Cast System is already OFFLINE!") return true end castOff(cid) doSendMagicEffect(getThingPos(cid), 39) doPlayerSendTextMessage(cid, 20, "You have disabled your Cast System, from now on no one can watch you, unless you turn on the Cast, using the parameter '!cast on'.") return true end if param == "exit" then if getPlayerStorageValue(cid, 12269) < 1 then doSendMagicEffect(getThingPos(cid), 2) doPlayerSendTextMessage(cid, 20, "You no are casting players.") return true end cancelCast(cid) doSendMagicEffect(getThingPos(cid), 39) doPlayerSendTextMessage(cid, 20, "You stopped casting, use the parameter '!cast list' to see who can be casted.") return true end if param == "list" then if #whoCasted() < 1 then doSendMagicEffect(getThingPos(cid), 2) doPlayerSendTextMessage(cid, 20, "At this time, no player can be casted, try again later.") return true end doPlayerSendTextMessage(cid, 20, "Players can be casteds:\n\n") for k, v in ipairs(whoCasted()) do doPlayerSendTextMessage(cid, 20, " - "..getCreatureName(v).."") end return true end if not isPlayer(player) then doSendMagicEffect(getThingPos(cid), 2) doPlayerSendTextMessage(cid, 20, "This player is offline or does not exist. Use the parameter '!cast list' to see who can be casted.") return true end if getPlayerStorageValue(player, 10359) < 1 then doSendMagicEffect(getThingPos(cid), 2) doPlayerSendTextMessage(cid, 20, "You can only cast one person with the Cast System is activated, use the parameter '!cast list' to see who can be assisted.") return true end if getPlayerStorageValue(cid, 10359) >= 1 then doSendMagicEffect(getThingPos(cid), 2) doPlayerSendTextMessage(cid, 20, "To cast a player, you must first disable your Cast System using the parameter '!cast off'.") return true end if not getTileInfo(getThingPos(cid)).protection then return doPlayerSendTextMessage(cid, 20, "You need enter in Protection Zone to use the Cast System.") and true end setPlayerStorageValue(cid, 12269, 1) castPlayer(cid, player) doSendMagicEffect(getThingPos(cid), 39) doPlayerSendTextMessage(cid, 20, "You are casting the player "..getCreatureName(player)..", to exit just use the command '!cast exit'.") doPlayerSendTextMessage(player, 20, "You are casted by "..getCreatureName(cid).." player to disable your Cast, simply use the parameter '!cast off'.") return true end function cancelCast(uid) mayNotMove(uid, false) doCreatureSetHideHealth(uid, false) setPlayerStorageValue(uid, 12269, -1) doRemoveCondition(uid, CONDITION_OUTFIT) return doTeleportThing(uid, getTownTemplePosition(getPlayerTown(uid))) or doTeleportThing(uid, getPlayerMasterPos(uid)) and true end function castOn(uid) return setPlayerStorageValue(uid, 10359, 1) and true end function castOff(uid) return setPlayerStorageValue(uid, 10359, -1) and true end function castPlayer(uid, player) if not isPlayer(player) then cancelCast(uid) return true end if getPlayerStorageValue(player, 10359) < 1 then cancelCast(uid) return true end if getPlayerStorageValue(uid, 12269) < 1 then cancelCast(uid) return true end mayNotMove(uid, true) doSetItemOutfit(uid, 1934, -1) doCreatureSetHideHealth(uid, true) doTeleportThing(uid, getThingPos(player)) return addEvent(castPlayer, 1 * 1000, uid, player) and true end function whoCasted() local casteds = {} for _, pid in ipairs(getPlayersOnline()) do if getPlayerStorageValue(pid, 10359) >= 1 then table.insert(casteds, pid) end end return #casteds > 0 and casteds or {} end
-
Magias de cura nao funcionam
Ja sei qual foi o problema eu coloquei sistema de cast. Sabe como posso colocar o sistema de cast sem interfefir com as magias de cura? <event type="attack" name="castAttack" event="script" value="castSys.lua"/> <event type="statschange" name="castHits" event="script" value="castSys.lua"/> <event type="logout" name="castLogout" event="script" value="castSys.lua"/>