Tudo que Reds postou
-
SD Modificada
São os parâmetros que você passa para calcular o dano, tem a fórmula simplificada que é com 4 parametros. Esses são os padrões da SD, mas você pode modificar. Aqui tem um tutorial explicando como funcionam essas fórmulas:
-
(Resolvido)Ajuda Rank Reset DB
local displayoutput = {"Level","Magic Level","Fist Fighting","Club Fighting","Sword Fighting","Axe Fighting","Distance Fighting","Shielding", "Resets"} local itemtype = {9969,9933,5896,8929,8932,7388,8849,8906,2580, xxxx} function onSay(cid, words, param) number = 1 param = string.lower(param) skilllist = "" command = TRUE if param == "level" then display = 1 elseif param == "magic" then display = 2 elseif param == "club" then id = 1 display = 4 elseif param == "sword" then id = 2 display = 5 elseif param == "axe" then id = 3 display = 6 elseif param == "distance" then id = 4 display = 7 elseif param == "shield" then id = 5 display = 8 elseif param == "resets" then display = 9 else error = 'Highscore Commands:\n\n!rank level\n!rank magic\n!rank fist\n!rank club\n!rank sword\n!rank axe\n!rank distance\n!rank shield\n' doShowTextDialog(cid, 5958, error) command = FALSE end if command ~= FALSE then if display == 1 then local player = db.getResult("SELECT `name`, `level` FROM `players` WHERE group_id < '2' ORDER BY `level` DESC LIMIT 50;") if(player:getID() ~= -1) then while (true) do local name = player:getDataString("name") local level = player:getDataInt("level") skilllist = skilllist.. "\n#"..string.format("%5s",number.." "..name.." - "..level) number = number + 1 if not(player:next()) then break end end player:free() end elseif display == 2 then local player = db.getResult("SELECT `name`, `maglevel` FROM `players` WHERE group_id < '2' ORDER BY `maglevel` DESC LIMIT 50;") if(player:getID() ~= -1) then while (true) do local name = player:getDataString("name") local maglevel = player:getDataInt("maglevel") skilllist = skilllist.. "\n#"..string.format("%5s",number.." "..name.." - "..maglevel) if not(player:next()) then break end number = number + 1 end end player:free() elseif display == 9 then local player = db.getResult("SELECT 'name', 'resets' FROM 'players' WHERE group_id < '2' ORDER BY 'resets' DESC LIMIT 50;") if(player:getID() ~= -1) then while (true) do local name = player:getDataString("name") local resets = player:getDataInt("resets") skilllist = skilllist.. "\n#"..string.format("%5s",number.." "..name.." - "..resets) if not(player:next()) then break end number = number + 1 end end player:free() else local skills = db.getResult("SELECT `player_id`, `value`, `skillid` FROM `player_skills` WHERE `skillid` = "..id.." ORDER BY `value` DESC;") while (true) do local GUID = skills:getDataInt("player_id") local value = skills:getDataInt("value") local skillid = skills:getDataInt("skillid") local player = db.getResult("SELECT `name` FROM `players` WHERE `id` = "..GUID.." and group_id < '2' ") if(player:getID() ~= -1) then local name = player:getDataString("name") skilllist = skilllist.. "\n#"..string.format("%5s",number.." "..name.." - "..value) number = number + 1 player:free() end if number > 50 then break end if not(skills:next()) then break end end skills:free() end dialog = ""..displayoutput[display].." Highscores: \n "..skilllist.."" doShowTextDialog(cid, itemtype[display], dialog) end end só configura o item que você quer que apareça no lugar de xxxx
-
Tile Que Da Outfit e Remove Ao Sair (Ajuda)
local config = { [1] = 113, -- [Vocation] = 71 = Roupa [2] = 114, -- Naruto } function onStepIn(cid, item, pos) setPlayerStorageValue(cid, 29102901, getCreatureOutfit(cid).looktype) if (config[getPlayerVocation(cid)]) then doCreatureChangeOutfit (cid, {lookType = config[getPlayerVocation(cid)]}) elseif (config[getPlayerVocation(cid)]) then doCreatureChangeOutfit (cid, {lookType = config[getPlayerVocation(cid)]}) end doSendMagicEffect(getThingPos(cid), 2) doSendAnimatedText(getPlayerPosition(cid),"Que Frio!", math.random(01,255)) return true end function onStepOut(cid, item, position, fromPosition) local oldOutfit = getPlayerStorageValue(cid, 29102901) doCreatureChangeOutfit (cid, {lookType = oldOutfit}) return true end testa ai
-
(Resolvido)Itens de outra versão no 8.60
Sim, para isso você precisa conseguir alterar seu .spr e seu .dat, aqui no tibiaking tem vários tutoriais sobre isso. Como esse:
-
(Resolvido)Ajuda Rank Reset DB
É a query que mandei, quando eu chegar em casa eu arrumo no código caso minguem tenha feito
-
Tile Que Da Outfit e Remove Ao Sair (Ajuda)
Eu faço quando estiver em casa, é só salvar em storages a outfit e cores do cara e usar um stepOut
-
Nova função na página da Equipe
Você ja tem algo que salva os comandos?
-
Tile Que Da Outfit e Remove Ao Sair (Ajuda)
Voce quer que volte a que ele tava antes?
-
(Resolvido)Ajuda Rank Reset DB
Como você quer mostrar o ranking? No site? A query é +- assim: SELECT name, resets FROM player s WHERE ORDERBY reset DESC limit X. onde x é o número de resultados que vc quer buscar
-
(Resolvido)[Ajuda] Bug de atacar SD no ar
Coloca para precisar target no spells.xml Dependendo a versão do seu server vai ser target="true" Ou needTarget="true" Olha em alguma outra spell
-
SD Modificada
Math.random(0,4), ele retorna um número aleatório entre 0 e 4, e caso esse número seja 1 o combo é feito. Caso queira 50% deve ser math.random(1,2) ou (0,1) por exemplo que já funciona
-
SD Modificada
Hoje estou trazendo um script bem simples, mas que é muito divertido.. Uma modificação no script da SD, mas que você pode utilizar em alguma outra rune/spell. O que eu fiz foi modificar para a SD ter uma chance de dar "double hit", nesse caso 20%. Para fazer isso é bem simples, altere o código da sua SD para: Lembro que foi um dos primeiros que consegui fazer sozinho e que na época me trouxe muita alegria, hoje quando abri para fazer o tópico, consegui perceber o quanto evoluí. E é claro que essa já é a versão refatorada. Testado em TFS 0.4
-
1° Script Ajuda
tudo depende do que você for fazer, mas sim pode ser bem básico.. não estou mais acessando o discord
-
1° Script Ajuda
eu tinha os mesmos problemas que você, fazia algumas coisas no chute até dar certo.. estou montando algumas aulas para o pessoal iniciante como você.. em lua a palavra THEN vai vir depois de um if, um if é utilizado para verificar se determinada condição é verdadeira, caso for verdadeira ele executa o código dentro do IF o == significa que o valor da esquerda deve ser exatamente igual ao da direita, caso sejam iguais o código dentro do if é executado exemplo: val = 5 -- atribui o valor 5 à variável val if (val == 5) then -- caso val seja igual a 5, ele irá executar o código aqui dentro end -- esse end ta dizendo que os códigos de dentro do if terminam return true, é o retorno de algum script, mas para você entender bem (e também o que a maioria das vezes acontece em códigos "nativos" do tibia) vou dar o seguinte exemplo: troca um return true de uma spell qualquer para return false, ela vai ser impedida de ser executada.. enfim, tenta aprender sobre lógica, pode ser em outra linguagem, tipo python ou C, assim você vai entender melhor as estruturas de um código, if, for, funções e etc.. depois que souber o básico recomendo esse site: https://www.urionlinejudge.com.br/judge/pt/login, ele possui diversas questoes de lógica dos mais diversos niveis.. tem também um fórum que geralmente o pessoal ajuda caso tenha alguma dúvida sobre lógica.. pode me mandar msg no privado com dúvidas do tibia ou de lógica que eu te ajudo
-
Estou com problema para colocar meu OT on
aqui na minha cidade, não adianta liberar no roteador, vai ser liberado somente depois de ligar para a empresa e solicitar
-
[AJUDA] Player nasce no lugar errado
seu servidor armazena os dados a partir de um banco de dados, ou é feito através de arquivos xml?
-
[AJUDA] Player nasce no lugar errado
Talvez isso no lua seja apenas para characters criados no acc manager, se não me engano por site, ele usa os personagens: Druid Sample Sorcerer Sample Knight Sample Paladin Sample Para definir os atributos do novo personagem. Tenta editar a posição desses, pode ser direto no banco e testar
-
(Resolvido)Item no chão sumir apos tempo.
Ops, nem vi que ele tinha respondido, naquela parte do script que vc pegava a position, não existia cid. Note que nesse script se você mover o item pro lado ele deixa de sumir
-
Erro CreatureScripts Ajuda
não lembro como é a sintaxe, tenta getMonsterInfo('demon') getMonsterInfo("demon") getMonsterInfo(demon) acho que os 2 primeiros funcionam
-
Transform TFS 0.4
quer que seja feito no estilo magia? pode especificar os atributos?
-
Erro CreatureScripts Ajuda
debuga esse código, aparentemente o erro está nas primeiras linhas, verifica se essa função aqui ta funcionando: getCreatureName(target) tenta passar um nome fixo nessa: getMonsterInfo para ver se funciona, também aproveita e verifica se ele tem .experience..
-
Ajuda para converters NPC
<parameter key="message_greet" value="Olá |PLAYERNAME|. eu tenho uma {história} para te contar." /> -- aqui voce configura a frease ao falar hi if msgcontains(msg, 'história') or msgcontains(msg, "História") then -- aqui historia é a palavra que o jogador diz return selfSay("Olá, eu sou filha da lendária Bulbi, a salvadora da cidade de Small Vile. Minha mãe morreu aos 76 anos e foi enterrada no antigo cemitério da cidade, com sua espada.", cid) -- no parametro do selfSay a resposta do npc, ai é só vc copiar esse bloco e por quantas palavras quiser end <?xml version="1.0" encoding="ISO-8859-1"?> <npc name="Tara" script="tara.lua" floorchange="0" walkradius="2"> <health now="150" max="150"/> <look type="142" head="73" body="87" legs="10" feet="29" addons="0"/> <parameters> <parameter key="message_greet" value="Olá |PLAYERNAME|. eu tenho uma {história} para te contar." /> </parameters> </npc> local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid ----------------------------------------------------------------- if msgcontains(msg, 'história') or msgcontains(msg, "História") then return selfSay("Olá, eu sou filha da lendária Bulbi, a salvadora da cidade de Small Vile. Minha mãe morreu aos 76 anos e foi enterrada no antigo cemitério da cidade, com sua espada.", cid) end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
-
(Resolvido)Item no chão sumir apos tempo.
local time = 15 function removeTp(pos) local item = getTileItemById(pos, 7632) if item.uid > 0 then return doRemoveItem(item.uid, 1) end end function onDeath(cid, corpse, killers) local monsters = { [""] = 15, [""] = 15, [""] = 13, } local effect = monsters[getCreatureName(cid)] or 53 doSendMagicEffect(getThingPos(cid), effect) doCreateItem(7632,1,getThingPos(cid)) addEvent(removeTp, time*1000, getThingPos(cid)) return true end testa ai
-
Attack speed - 2018
Claro
-
(Resolvido)[ juda ] Dano Da Wand Por Magic Level
ele usa as defesas do alvo para calcular, mas não sei se funciona para fórmulas de min/max, teria que testar