Tudo que HexusAlphos postou
-
Bloquear armadura nos slots
e uma boa solução kkkkkk eu tava usando pelo meio "rude" de ser pelo item editor só como uma imensa gambiarra, mas acho que esse script vai resolver meu problema. Já que é pra um sistema de set de armadura que serão "lendárias" no servidor com uma chance baixa de drop dos seus respectivos bosses. O boss dropa um bracelete e ao dar use nesse bracelete, a armadura completa se equipa no personagem (igual existe em ots de cdz com sistema de urna) OBS: Podem colocar como problema solucionado!!!
-
Bloquear armadura nos slots
Ah, eu esqueci de falar que consegui arrumar. Era só eu pensar um pouco, mas no dia eu tava já com cabeça lotada kkkkkkkk Bom, o pedido era pra deixar os itens incapazes de serem movidos assim que surgissem nos slots, ai eu só editei os itens com o editor e coloquei a característica de não ser movido, ai resolveu meu problema
-
Bloquear armadura nos slots
.Qual servidor ou website você utiliza como base? tfs 0.4, tibia 8.6 Qual o motivo deste tópico? Ajuda em um script Você tem o código disponível? Se tiver publique-o aqui: local function setBagAttribute(cid, item, set) if (not item.uid) then return false end if (not doRemoveItem(item.uid, 1)) then return false end local item = doPlayerAddItem(cid, item.itemid) doItemSetAttribute(item, "description", (set==1 and "[there is no armor here]" or "[here contains an armor]")) return doItemSetAttribute(item, "used", set) end function onUse(cid, item, frompos, item2, topos) local itemids = { [1] = 2498, -- cabeça [4] = 2492, --- armor [5] = 2470, --- legs [6] = 2520, -- esquerda [7] = 7404, -- direita [8] = 2643 --boots } local storage = 73182 --- storage que vai ser usada pra salvar se o player já usou ou não local outfit = 351 -- outfit que vai dar if (getItemAttribute(item.uid, "used") == 1) then for v,k in pairs(itemids) do if (getPlayerItemCount(cid, k) <= 0) then return doPlayerSendTextMessage(cid, 27, "Precisa ter todos os itens para voltar a ser um bracelete!") end end for v,k in pairs(itemids) do doPlayerRemoveItem(cid, k, 1) end setPlayerStorageValue(cid, storage, 0) doRemoveCondition(cid, CONDITION_OUTFIT) return setBagAttribute(cid, item, 0) end for v,k in pairs(itemids) do doPlayerAddItem(cid, k, 1) end setPlayerStorageValue(cid, storage, 1) doSetCreatureOutfit(cid, {lookType = outfit}, -1) doPlayerSendTextMessage(cid, 27, "Armadura de ucto foi colocada!") return setBagAttribute(cid, item, 1) end Eu tenho esse script (logo a cima) e gostaria de saber como eu faria para que os itens fiquem bloqueados em seus slots até que se use o bracelete de novo. Exemplo: Da use no bracelete e o set é equipado, mas caso tente jogar uma parte do set no chão ou trocar, ele não sai, até dar use no bracelete novamente
-
Item untradeable unsellable
alguém tem algo parecido que possa disponibilizar? Um script que faz um certo item ser incapaz de dar trade ou vender, ficando na bag do personagem por storage ou algo semelhante.
-
Weapon damage por skill (sword, club, axe e etc)
Pra weapo eu vi, eu só n encontrei a do teu post das spells e talz. Vou tentar colocar os dois no servidor e talz
-
Weapon damage por skill (sword, club, axe e etc)
só uma dúvida antes de eu fazer qualquer coisa onde que instala esse script? Na source ou em alguma pasta do servidor? Se for em alguma pasta, qual pasta?
-
Weapon damage por skill (sword, club, axe e etc)
O que precisaria ser mudado pra adaptar? Já é um adianto grande ter com spell e talz
-
Weapon damage por skill (sword, club, axe e etc)
tem algum modo de fazer as armas dar dano baseado nas skills. Exemplo: A cada 10 de sword skill aumentar em x% o dano com aquele tipo de arma. Caso alguém tenha algo parecido e possa disponibilizar, ficarei muito grato
-
Ajuda com source (skills)
8.60 (tfs 0.4) Eu gostaria de ajuda na source, algum tutorial de como retirar skills do client. Essas skills (pic em baixo) Gostaria de retirar axe fighting dessa lista resumidamente.
-
Magias que usam vida ao invés de mana
Queria saber se existe um meio de magias usarem vida ao invés da mana. Tô pensando em uma classe nova, porém com um diferencial que seria usar a própria vida para usar magias e etc.
-
sistema de patente/titulo
Tenho um scripting (mais precisamente um mod) de elo que recebe de acordo com seu frag. Queria saber se teria como adicionar bônus de acordo com o titulo que a pessoa tem. Exemplo: Titulo Calamidade +5 de ML Titulo Lord Demônio +10 de ML e etc Segue o código ai em baixo: <?xml version = "1.0" encoding = "UTF-8"?> <mod name = "Military Ranks" version = "1.0" author = "Teckman" enabled = "yes"> <config name = "ranks"><![CDATA[ titles = { [5] = "F", [10] = "E", [15] = "D", [20] = "C", [30] = "C+", [40] = "C++", [55] = "B", [70] = "B+", [90] = "B++", [110] = "A", [150] = "A+", [200] = "A++", [300] = "S", [350] = "SS", [400] = "SSS", [500] = "Nacional", [600] = "Continental", [700] = "Mundial", [800] = "Catastrofe", [900] = "Demon Lord", [950] = "Great Demon Lord", [1000] = "Ragnarok" } fragsStorage = 600 ]]></config> <event type = "look" name = "ranksLook" event = "script"><![CDATA[ domodlib("ranks") function onLook(cid, thing, position, lookDistance) if(isPlayer(thing.uid)) then local rank = {rank = "Insignificante", frags = 0} for k, v in pairs(titles) do if(math.max(0, getPlayerStorageValue(thing.uid, fragsStorage)) > k - 1) then if(k - 1 > rank.frags) then rank.rank, rank.frags = v, k - 1 end end end doPlayerSetSpecialDescription(thing.uid, "\n Rank: " .. rank.rank) end return true end ]]></event> <event type = "kill" name = "ranksKill" event = "script"><![CDATA[ domodlib("ranks") function onKill(cid, target) if(isPlayer(target)) then setPlayerStorageValue(cid, fragsStorage, math.max(0, getPlayerStorageValue(cid, fragsStorage) + 1)) if(titles[getPlayerStorageValue(cid, fragsStorage)]) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You advanced to rank: " .. titles[getPlayerStorageValue(cid, fragsStorage)] .. ". Congratulations " .. titles[getPlayerStorageValue(cid, fragsStorage)] .. "!") end end return true end ]]></event> <event type = "login" name = "ranksLogin" event = "script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid, "ranksKill") registerCreatureEvent(cid, "ranksLook") return true end ]]></event> </mod>
-
item que invoca um monstro
funcionou perfeitamente aqui, valeuzão
-
item que invoca um monstro
alguém poderia me ajudar com um script? É um item que ao usar ele invoca um monstro como se fosse o /m monster. O item some e o monstro fica ali para o player matar e receber exp
-
Skill fist não sobe de forma alguma
Procurei em mods e não tinha nada sobre limitar a skill. Mudei as sources e o problema continuou de limitar Edit: acabei de testar comando /addskill com god e adicionou a skill fist, mas continuou travado com outros meios
-
Skill fist não sobe de forma alguma
@Spooky Ghost os valores em vocations.xml tão em 1.1. Mesmo eu colocando entre 1.1-1.5, o fist não sobe, o resto funciona normal
-
Skill fist não sobe de forma alguma
@LeoTKNo login.lua também não encontrei nada ligado diretamente ou indiretamente para travar o fist skill :T
-
Skill fist não sobe de forma alguma
Verifiquei novamente o vocation.xml e estava tudo correto como no tópico que você postou Fui ver em creaturescripts e as scripts, estava tudo normal e não tinha nenhum statschange No config.lua onde exatamente poderia ter algo que estaria impedindo o fist de avançar?
-
Skill fist não sobe de forma alguma
.Qual servidor ou website você utiliza como base? GTA beddy, TFS 0.4. Tibia 8.6 Qual o motivo deste tópico? Bug no fist skill que não sobe, fica travado no 10 independente do que faça No server que tô editando, não consigo fazer o skill fist subir, tá travado em 10. Independente do meio que eu tente, ele não sobe. Alguém sabe onde solucionar?
-
Spell com efeito diferente dependendo da posição que o player esteja olhando
Bom, queria saber se existe algum meio de colocar efeitos diferente dependo da posição que o player esteja olhando. A spell ai em baixo. -- SpellCreator generated. -- =============== COMBAT VARS =============== -- Areas/Combat for 0ms local combat0_Brush = createCombatObject() setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_DRAWBLOOD) setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat0_Brush,createCombatArea({{3}})) function getDmg_Brush(cid, level, maglevel) return (15)*-1,(25)*-1 end setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") -- =============== CORE FUNCTIONS =============== local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part if (isCreature(cid)) then doCombat(cid, c, var) if (dirList ~= nil) then -- Emit distance effects local i = 2; while (i < #dirList) do doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1]) i = i + 2 end end end end function onCastSpell(cid, var) local startPos = getCreaturePosition(cid) RunPart(combat0_Brush,cid,var) return true end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.
-
System Points não adiciona pontos ao player quando upa
Eu coloquei outro sistema parecido que vai quebrar o galho, valeu de qualquer forma
-
System Points não adiciona pontos ao player quando upa
Esse sistema fica instalado em 3 pastas; Lib, creaturescripts e talkactions. Vou postar os códigos de cada um. Creaturescript já foi falado ai em cima, colocar a tag <event type="advance" name="PointSystem" event="script" value="PointsSystem.lua"/> o arquivo que fica em lib: -- ####################################### -- ####### Developed by MaXwEllDeN ####### -- ####### Level Points System ####### -- ####### Version: 1.0 ####### -- ####################################### L_LvlPoints = { vocPoints = { -- [Skill] = Pontos que ganha, [4] = 2, }, attributes = { ["vitalidade"] = {np = 2, vl = 20, nm = "Hit Points"}, -- Precisa usar 2 points para adicionar 10 de hp ["energy"] = {np = 4, vl = 10, nm = "Mana Points"}, ["magic"] = {np = 10, vl = 1, nm = "Magic Level"}, ["shielding"] = {np = 5, vl = 1, nm = "Shielding Skill"}, ["sword"] = {np = 2, vl = 1, nm = "Sword Skill"}, ["axe"] = {np = 2, vl = 1, nm = "Axe Skill"}, ["club"] = {np = 2, vl = 1, nm = "Club Skill"}, ["distance"] = {np = 2, vl = 1, nm = "Distance Skill"}, } } Talkactions na parte de script: -- ####################################### -- ####### Developed by MaXwEllDeN ####### -- ####### Level Points System ####### -- ####### Version: 1.0 ####### -- ####################################### function onSay(cid, words, param) if not (L_LvlPoints.vocPoints[getPlayerVocation(cid)]) then return false end local param = param:lower() local p2 = string.explode(param, ",") if (getPlayerStorageValue(cid, 14574) < 0) then setPlayerStorageValue(cid, 14574, 0) end local skillids = { ["shielding"] = 5, ["sword"] = 2, ["axe"] = 3, ["club"] = 1, ["distance"] = 4 } if (param == "check") then doPlayerPopupFYI(cid, "~*~*~ Level Points System by MaXwEllDeN ~*~*~\n\nPontos disponíveis: ".. getPlayerStorageValue(cid, 14574) .."\nPontos por level: ".. L_LvlPoints.vocPoints[getPlayerVocation(cid)]) elseif (p2[1] and p2[1] == "add") and (L_LvlPoints.attributes[p2[2]]) and (tonumber(p2[3])) then if (getPlayerStorageValue(cid, 14574) < tonumber(p2[3]) * L_LvlPoints.attributes[p2[2]].np) then doPlayerSendCancel(cid, "Você não tem pontos suficientes para distribuir!") return doSendMagicEffect(getThingPos(cid), 2) end if (p2[2] == "vitalidade") then setCreatureMaxHealth(cid, getCreatureMaxHealth(cid) + L_LvlPoints.attributes[p2[2]].vl * tonumber(p2[3])) doCreatureAddHealth(cid, L_LvlPoints.attributes[p2[2]].vl * tonumber(p2[3])) elseif (p2[2] == "energy") then setCreatureMaxMana(cid, getCreatureMaxMana(cid) + L_LvlPoints.attributes[p2[2]].vl * tonumber(p2[3])) doCreatureAddMana(cid, L_LvlPoints.attributes[p2[2]].vl * tonumber(p2[3])) elseif(skillids[p2[2]]) then for a = 1, tonumber(p2[3]) do doPlayerAddSkillTry(cid, skillids[p2[2]], getPlayerRequiredSkillTries(cid, skillids[p2[2]], getPlayerSkillLevel(cid, skillids[p2[2]]) + 1) - getPlayerSkillTries(cid, skillids[p2[2]]), false) end end doSendMagicEffect(getThingPos(cid), 29) doSendMagicEffect(getThingPos(cid), 30) doSendAnimatedText(getThingPos(cid), "-" .. tonumber(p2[3]) * L_LvlPoints.attributes[p2[2]].np, 180) setPlayerStorageValue(cid, 14574, getPlayerStorageValue(cid, 14574) - tonumber(p2[3]) * L_LvlPoints.attributes[p2[2]].np) else local msgx = "" for i, v in pairs(L_LvlPoints.attributes) do local add = (v.np > 1) and "s" or "" msgx = msgx .. string.upper(i:sub(1,1)) .. i:sub(2, #i) .. " - ".. v.np .. " ponto".. add .. " ~ " .. v.vl .. " ".. v.nm .. "\n" end doPlayerPopupFYI(cid, "~*~*~ Level Points System by MaXwEllDeN ~*~*~\n\nPontos necessários para aumentar os stats:\n\n".. msgx .. "\nExemplo de uso: ".. words .." add, vitalidade, 5\n\nPontos disponíveis: ".. getPlayerStorageValue(cid, 14574)) end return true end e a tag de talkaction: <talkaction words="!points" event="script" value="PointsSystem.lua"/>
-
System Points não adiciona pontos ao player quando upa
-- ####################################### -- ####### Developed by MaXwEllDeN ####### -- ####### Level Points System ####### -- ####### Version: 1.0 ####### -- ####################################### local VocPoints = L_LvlPoints.vocPoints function onAdvance(cid, skill, oldlevel, newlevel) if not (VocPoints[getPlayerVocation(cid)]) then return true end if skill == 8 and getPlayerStorageValue(cid, 14573) < newlevel then if (getPlayerStorageValue(cid, 14574) < 0) then setPlayerStorageValue(cid, 14574, 0) setPlayerStorageValue(cid, 14573, 0) end setPlayerStorageValue(cid, 14573, newlevel) setPlayerStorageValue(cid, 14574, getPlayerStorageValue(cid, 14574) + (newlevel - oldlevel) * (VocPoints[getPlayerVocation(cid)])) doSendAnimatedText(getThingPos(cid), "+" .. (newlevel - oldlevel) * (VocPoints[getPlayerVocation(cid)]), 18) end return true end Não da nenhum erro na distro. Funciona tudo normal, comandos e etc, porém o problema é que o player não ganha os pontos ao upar
-
System Points não adiciona pontos ao player quando upa
Venho aqui pedir ajuda sobre um problema que está ocorrendo, não sei o motivo. Aqui no Tibia King encontrei um sistema de pontos de skill do @MaXwEllDeN. Está tudo instalado como deve ser, não da erro na distro, porém o jogador não recebe os pontos ao uparem de Lvl. Alguém sabe o motivo? Uso tfs 0.4