Tudo que Naze postou
-
Limite de Players no Evento
muda essa function --Start for War Event function BeginWAR(cid) local player = 0 local players = {} for _, pid in ipairs(getPlayersOnline()) do if isInArea(getPlayerPosition(pid), waitingRoomFrompos, waitingRoomTopos) then player = player + 1 players[player] = pid end end if player < 1 then for _, pid in pairs(players) do doTeleportThing(pid,POS_TEMPLE) end doCreateItem(1600,1,configWar.wallPos) doCreateItem(1595,1,configWar.wallPos1) doCreateItem(1596,1,configWar.wallPos2) doCreateItem(1596,1,configWar.wallPos3) doCreateItem(1601,1,configWar.wallPos4) doCreateItem(1600,1,configWar.wallPos5) doBroadcastMessage("Evento nao pode iniciar por falta de players.",configWar.MessageType) return true end for _, pid in ipairs(getPlayersOnline()) do count = getGlobalStorageValue(1511) if isInArea(getPlayerPosition(pid), waitingRoomFrompos, waitingRoomTopos) then setGlobalStorageValue(1511,count+1) doTeleportThing(pid, {x=635,y=614,z=7,stackpos=1}, false) end end end
-
como troco senhas?
Depende da versão do mysql tente os comandos no terminal putty Entra no mySQL usando mysql Ou mysql -u root Depois pra trocar a senha do usuário root tente UPDATE mysql.user SET Password=PASSWORD("novaSenha") WHERE User="root"; Ou ALTER USER 'root'@'localhost' IDENTIFIED BY 'novaSenha'; Ou SET PASSWORD FOR 'root'@'localhost' = PASSWORD('novaSenha'); Se não conseguir talvez tenha q alterá o tipo q é salvo a senha, aí sugiro tbm criar um novo usuário e da todos privilégios a ele, se busca no Google criar usuário mysql por terminal vai encontra vários tutorial rapidos
-
Tibia 8.60 Editor
Boa, vai facilitar bastante. Obrigado.
-
Player não perde loot ao morrer (mesmo sem bless/aol/jam)
apesar de ta mal formatado nao me parece ter nenhum problema o redSkullAmulet, tenta desativa ele e testa, e fazendo o mesmo com outros.
-
Player não perde loot ao morrer (mesmo sem bless/aol/jam)
Posta tudo que está usando onDeath, onPrepareDeath
- [OTClient] Sistema de Dialogo Otpokemon
-
AutoLoot 100% Funcional
Somente nao adicionar a action no ser servidor, ou trocar essa parte: if boost(cid) then if aloot_boost[info.itemid] then doPlayerSetBalance(cid,getPlayerBalance(cid) + aloot_boost[info.itemid]) description = description.." 1 "..getItemNameById(info.itemid).." ("..aloot_boost[info.itemid].."gps no banco) +" else doPlayerAddItem(cid, info.itemid, 1) description = description.." 1 "..getItemNameById(info.itemid).." +" end por somente... doPlayerAddItem(cid, info.itemid, 1) description = description.." 1 "..getItemNameById(info.itemid).." +"
-
Script Reset Erro Exhaustion
Realmente nao vai funcionar a maioria das funções a forma que o servidor interpreta mudou, em 1.3 é orientada a objeto. Então o erro pq é a primeira verificação, mas vai dar em praticamente todas, passei meu servidor pra 1.3 a pouco tempo, e pra isso reescrevi ele todo da forma correta, sugiro fazer o mesmo ou vai fica so tendo dor de cabeça.
-
AJUDA
- (Resolvido)Como retiro o otserv todo do filezilla?
Você tem q fazer isso atravez do terminal do linux entra nele e instala zip sudo apt install zip depois zip mandando zip -r nomearquivo.zip /pasta no seu caso zip -r otserv.zip /otserv isso vai gerar um arquivo zip, como a pasta sua ta na base do linux, ele provavelmente ira pra /otserv ou para a pasta do usuario q ta logado, se tiver problemas zip a data depois a source o os arquivos solto é leve para passa. Para extrair depois é comando unzip nomedoarquivo.zip- Regen Stamina nos Trainers
https://otland.net/threads/tfs-1-2-trainer-stamina-regen.250746/- DOAÇAO
- Error Spell / Movements 0.4
spell function onCastSpell(cid, var) local cloth, health, maxhealth, summons = getCreatureOutfit(cid), getCreatureHealth(cid), getCreatureMaxHealth(cid), getCreatureSummons(cid) local MaximoSummon = 3 if(table.maxn(summons) < MaximoSummon) then local pos = getPlayerPosition(cid) local bpos = {x=pos.x+2, y = pos.y, z = pos.z} local farAwayPos = {x = 590, y = 464, z = 7} -- SUMMON 1 local Teste1 = doCreateMonster("Ghost Brook", farAwayPos) doConvinceCreature(cid, Teste1) setCreatureMaxHealth(Teste1, maxhealth) doCreatureAddHealth(Teste1, health) addEvent(function() if isCreature(Teste1) then doTeleportThing(Teste1, pos) end end, 100) addEvent(doSendMagicEffect, 100, pos, 10) return true end return true end porta local config = { delay = 275, --Intervalo de tempo entre as "transformações" da porta, em milésimos. door = {13597, 13598, 13599}, --{ID da porta fechada, ID da porta aberta pela metade, ID da porta aberta}, ids = { [2701] = { --[action_id] = { {x = 100, y = 251, z = 7}, }, }, } function onStepIn(cid, item, position, fromPosition) if config.ids[item.actionid] then for _, pos in pairs(config.ids[item.actionid]) do if getTileItemById(pos, config.door[1]).uid > 0 then for i = 1, 2 do addEvent(function() if getTileItemById(pos, i == 1 and config.door[1] or config.door[2]).uid > 0 then doTransformItem(getTileItemById(pos, i == 1 and config.door[1] or config.door[2]).uid, config.door[i + 1]) end end, i * config.delay) end end end end return true end function onStepOut(cid, item, position, fromPosition) if config.ids[item.actionid] then for _, pos in pairs(config.ids[item.actionid]) do local it = getTileItemById(pos, config.door[3]).uid if it > 0 then if getSpectators(pos, 2, 1) then return true end end end for _, pos in pairs(config.ids[item.actionid]) do if getTileItemById(pos, config.door[3]).uid > 0 then for i = 1, 2 do addEvent(function() if getTileItemById(pos, i == 1 and config.door[3] or config.door[2]).uid > 0 then doTransformItem(getTileItemById(pos, i == 1 and config.door[3] or config.door[2]).uid, config.door[i == 1 and 2 or 1]) end end, i * config.delay) end end end end return true endlocal config = { delay = 275, --Intervalo de tempo entre as "transformações" da porta, em milésimos. door = {13597, 13598, 13599}, --{ID da porta fechada, ID da porta aberta pela metade, ID da porta aberta}, ids = { [2701] = { --[action_id] = { {x = 100, y = 251, z = 7}, }, }, } function onStepIn(cid, item, position, fromPosition) if config.ids[item.actionid] then for _, pos in pairs(config.ids[item.actionid]) do if getTileItemById(pos, config.door[1]).uid > 0 then for i = 1, 2 do addEvent(function() if getTileItemById(pos, i == 1 and config.door[1] or config.door[2]).uid > 0 then doTransformItem(getTileItemById(pos, i == 1 and config.door[1] or config.door[2]).uid, config.door[i + 1]) end end, i * config.delay) end end end end return true end function onStepOut(cid, item, position, fromPosition) if config.ids[item.actionid] then for _, pos in pairs(config.ids[item.actionid]) do local it = getTileItemById(pos, config.door[3]).uid if it > 0 then if getSpectators(pos, 2, 1) then return true end end end for _, pos in pairs(config.ids[item.actionid]) do if getTileItemById(pos, config.door[3]).uid > 0 then for i = 1, 2 do addEvent(function() if getTileItemById(pos, i == 1 and config.door[3] or config.door[2]).uid > 0 then doTransformItem(getTileItemById(pos, i == 1 and config.door[3] or config.door[2]).uid, config.door[i == 1 and 2 or 1]) end end, i * config.delay) end end end end return true end- Script Reset Erro Exhaustion
ve se em sua lib/ tem algum arquivo exhaustion.lua se nao tiver algo assim ou parecido, cria e adiciona isso. exhaustion = { check = function (cid, storage) if(getPlayerFlagValue(cid, PLAYERFLAG_HASNOEXHAUSTION)) then return false end return getPlayerStorageValue(cid, storage) >= os.time(t) end, get = function (cid, storage) if(getPlayerFlagValue(cid, PLAYERFLAG_HASNOEXHAUSTION)) then return false end local exhaust = getPlayerStorageValue(cid, storage) if(exhaust > 0) then local left = exhaust - os.time(t) if(left >= 0) then return left end end return false end, set = function (cid, storage, time) setPlayerStorageValue(cid, storage, os.time(t) + time) end, make = function (cid, storage, time) local exhaust = exhaustion.get(cid, storage) if(not exhaust) then exhaustion.set(cid, storage, time) return true end return false end } exhaust = { check = function (cid, storage) if getPlayerStorageValue(cid, storage) - os.time(t) > 0 then return true end return false end, get = function (cid, storage) local exhaust = (getPlayerStorageValue(cid, storage) - os.time(t)) return exhaust end, set = function (cid, storage, time) setPlayerStorageValue(cid, storage, os.time(t) + time) end, make = function (cid, storage, time) local exhaust = exhaustion.get(cid, storage) if exhaust == 0 then exhaustion.set(cid, storage, time) return true end return false end, time = function (cid, storage) return convertTime(getPlayerStorageValue(cid, storage) - os.time()) end }- (Resolvido)Spellbook com descrição
so to com tfs 1.3 então não posso testa, mas tenta ai e me fala oq da local desc = { ["exori flam"] = "Dano do tipo 'fire' no alvo.", ["exori vis"] = "Dano do tipo 'energy' no alvo.", ["exori ice"] = "Dano do tipo 'ice' no alvo." } function onUse(cid, item, fromPosition, itemEx, toPosition) local t = {} for i = 0, getPlayerInstantSpellCount(cid) - 1 do local spell = getPlayerInstantSpellInfo(cid, i) if(spell.level ~= 0) then if(spell.manapercent > 0) then spell.mana = spell.manapercent .. "%" end table.insert(t, spell) end end table.sort(t, function(a, b) return a.level < b.level end) local text, prevLevel = "", -1 for i, spell in ipairs(t) do local line = "" if(prevLevel ~= spell.level) then if(i ~= 1) then line = "\n" end line = line .. "Spells for Level " .. spell.level .. "\n" prevLevel = spell.level end local description = desc[spell.name] or "Sem descrição." text = text .. line .. " " .. spell.words .. " - " .. spell.name .. " = "..description.." : " .. spell.mana .. "\n" end doShowTextDialog(cid, item.itemid, text) return true end- Suport Action
local lvl = 500 local entrada = { {x = 154, y = 60, z = 7}, {x = 155, y = 60, z = 7}, {x = 156, y = 60, z = 7}, {x = 157, y = 60, z = 7}, {x = 158, y = 60, z = 7} } local saida = {x = 153, y = 62, z = 7} function onUse(cid, item, fromPosition, itemEx, toPosition) local check = {} for _, k in ipairs(entrada) do local x = getTopCreature(k).uid if isPlayer(x) then if getPlayerLevel(x) > lvl then check[#check+1] = x else doPlayerSendCancel(x, "Você não tem level suficiente.") end end end for _, pid in pairs(check) do doSendMagicEffect(getPlayerPosition(pid), CONST_ME_POFF) doTeleportThing(pid, saida) doSendMagicEffect(getPlayerPosition(pid), CONST_ME_ENERGYAREA) end doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945) return true end- Sistema de !bless
- Necessidade de instruções para colocar o ot online
em confia.lua na pasta data.- Error Spell / Movements 0.4
Apenas o erro? O resto funciona normal ou apresentar problema? Os dois erro é mesmo problema, addEvent executou mas não encontrou o objeto. Se for apenas o erro é simples de tira-lo.- Não ganha Exp - Pvp-enforced
Meio confuso, o problema acontece exatamente nesses lvls? Ou a partir desse lvl? Se for tem que ta vendo se adicionou alguns script recentemente q tá gerando isso, acho difícil essa função tá com problema.- [Pedido] Experience Kill Player
Tem ctz q seu servidor não tem já essa opção no config lua, não lembro o nome dela no 1.3, mas confere no configmanager.cpp- (Resolvido)Script !mount/!unmount precisando de um adicional
Se entendi direito quer apenas q vai com addons no comando? Uma pesquisa rápida vera vários exemplos da função doSetCreatureOutfit(cid, outfit, -1), que utiliza a tabela a baixo pra pegar a outfit, so adicionar lookAddons = valor. local outfit = {lookType = 570, lookAddons = 1}- Ajuda com Site
O templete que talvez se refere é o Gesior, pode encontra vários aqui mesmo no tibiaking, e pra editar como sera apenas informações pré definida é não vai fazer usos da funções do site, vc apenas editara as pagina em html, css, talvez php, forma tradicional mesmo (notepad), não há nenhum programa pra editar visualmente que eu conheça... o layout em si é em layout.php, e as paginas tao com nomedapagina.php e seu conteúdo html fica em um $main_content = ' todo codigo da pagina ';, tem varios exemplo quando pega o site. Não manjo de edição de site então só posso te aponta a direção.- Erro no sistema de Auto Loot
O 3° erro talvez seja resolvido com essa libs Ja os dois primeiro a função, getContainerItemsInfo(getThingFromPos(position).uid) ta retornando nil, provavelmente ele não ta encontrando a uid por algum motivo, pesquisei rapidamente e alguns que vi falaram sobre loot dentro de bag. De qualquer forma autoloot por lua é bem chato...- Uso de Distro e Source
Source é em c++ se tiver a da distro que usa pode alterá-la como quiser, são separada como seu data por cada função/ação/elemento do jogo é a base/fonte de seu servidor. Recomendo a estudar c++ pra saber lê e entendê-la, começa entendendo funções simples, como são passada em lua, como elas funciona dentro do jogo. Mas ao invés de quebrar a cabeça em algo que agr vai ser muito difícil entender se não tiver um conhecimento em programação, pode procurar outra sources tem boas aqui no tk q talvez tem tudo que precisa. - (Resolvido)Como retiro o otserv todo do filezilla?
Informação Importante
Confirmação de Termo