Ir para conteúdo
  • Cadastre-se

Linus

Membro
  • Total de itens

    44
  • Registro em

  • Última visita

Tudo que Linus postou

  1. Sim a versão tfs 1.1 foi. as versões antigas foram esses que estão escrito no começo do script da lib : --[[Script made 100% by Nogard, Night Wolf and Linus. You can feel free to edit anything you want, but don't remove the credits]]
  2. Você pode configurar se quer que o preço aumente a cada reset, se quer que o level pra resetar aumente e se vc quer que a vida resete junto (e quanto % da vida atual será a vida após resetar). Testado em tfs 1.1, Versão 10.77 Vá em data/npc/lib/ crie npc_resets.lua : Você pode editar mexendo aqui. no script acima : config = { minlevel = 150, --- Level inical para resetar price = 10000, --- Preço inicial para resetar newlevel = 20, --- Level após reset priceByReset = 0, --- Preço acrescentado por reset percent = 30, ---- Porcentagem da vida/mana que v
  3. mute.lua : function onSay(cid, words, param) local CHANNEL_HELP = 7 local player = Player(cid) local storage = 456112 if words == "/mute" then local mute = param:split(",") if mute[1] == nil or mute[1] == " " then player:sendCancelMessage("Invalid player specified.") return false end if mute[2] == nil or mute[2] == " " then player:sendCancelMessage("Invalid time specified.") return false end local target = Player(mute[1]) local time = tonumber(mute[2]) local condition = Condition(CONDITION_CHANNELMUTEDTICKS, CONDITIONID_DEFAULT) condition:setParameter(C
  4. Dei uma pequena fuçada no tfs e encontrei alguma funções pra fazer isso : só trocar o mute.lua por esse : function onSay(cid, words, param) local CHANNEL_HELP = 7 local player = Player(cid) local storage = 456112 if words == "/mute" then local mute = param:split(",") if mute[1] == nil or mute[1] == " " then player:sendCancelMessage("Invalid player specified.") return false end if mute[2] == nil or mute[2] == " " then player:sendCancelMessage("Invalid time specified.") return false end local target = Player(mute[1]) local time = tonumber(mute[2]) local
  5. Estou baixando o tfs 1.0, pra ver quais são os erros e arrumar de acordo com as funções corretas. 1 - Poketibia eu acho que usa tfs 0.4 ou menor. 2 - Sim ele da muted em all chats.
  6. arthur \/ : http://www.tibiaking.com/forum/topic/55518-tfs-1x-mute-unmute/
  7. Erro meu, tente agora : function onSay(cid, words, param) ​ local player = Player(cid) local t = param:split(",") if player:getAccountType() < ACCOUNT_TYPE_GAMEMASTER then return false end doCreatureSay(getCreatureName(t[1]), t[2], 1) return true end
  8. Nome : Messi Idade : 8 anos Contato : [email protected] Honorários : não conheço essa pessoa A quantos anos meche com otservs ? a 5 minutos atras.
  9. Thanks bem lembrado, estou estudando .lua vendo alguns scripts em um outro fórum e andei vendo que tem bastante conteúdo que aqui não possui, e estou postando aqui pra pessoas que não sabem muito inglês ir aprendendo com os codes tb , a maioria dos codes aqui do fórum estão tudo na versão 0.4 -, vou começar fazer uns script de minha própria autoria mesmo e trazer aqui pro fórum (tfs 1.x +), pra contribuir com a comunidade tb .
  10. O sistema é simples ao upar cada level você ganha x pontos de habilidade, onde é possível com esse pontos, comprar mana, hp, skill, etc ... /creaturescripts/scripts/skillpoints.lua /creaturescripts/scripts/login.lua player:registerEvent("SkillPointSystem") /talkactions/scripts/skillpoints.lua <event type="modalwindow" name="PointWindow" script="skillpoints.lua"/> <event type="advance" name="SkillPointSystem" script="skillpoints.lua"/> /talkactions/scripts/skillpoints.lua function onSay(player, words, param) local SKILL_POINTS = 45200 local Point = ModalWi
  11. function onSay(cid, words, param) Não precisa colocar cid na callback, e dps definir player como cid, pode ir direto colocando na callback player e chamar sem definir. (TFS 1.1) function onSay(player, words, param) abrçs
  12. “O povo reage mais facilmente a milagres do que a razão.”

  13. /\ Ele usa tfs 1.0 ... e vocês estão usando funções 0.4 não vai funcionar é claro function onSay(cid, words, param) local player = Player(cid) local m = string.explode(param, ",") local target = Player(m[1]) local time = tonumber(m[2]) if player:getAccountType() < ACCOUNT_TYPE_TUTOR then return false end if time == nil then player:sendCancelMessage("Invalid param specified.") return false end if target == nil then player:sendCancelMessage("A player with that name is not online.") return false end if target:getAccountType() ~= ACCOUNT_TYPE_NORMAL then pla
  14. É um npc, que heala hp do player, remove conditions e que vende bless todas juntas, ou separadas.
  15. Ficaria assim só pra GM + usar : function onSay(cid, words, param) local t = param:split(",") if player:getAccountType() < ACCOUNT_TYPE_GAMEMASTER then return false end doCreatureSay(getCreatureName(t[1]), t[2], 1) return true end só adicionar : if player:getAccountType() < ACCOUNT_TYPE_GAMEMASTER then return false end ACCOUNT_TYPE_NORMAL = 1 ACCOUNT_TYPE_TUTOR = 2 ACCOUNT_TYPE_SENIORTUTOR = 3 ACCOUNT_TYPE_GAMEMASTER = 4 ACCOUNT_TYPE_GOD = 5
  16. Cara sempre que não funcionar poste o erro que dá, tu tinha postado falando que não funcionou e não falou o erro que dava, tu acha que eu tenho bola de cristal pra saber o que se passa no seu server ? Segundo, esse erro foi porque tu copiou errado, esqueceu de copiar o ultimo end... function onSay(cid, words, param) local player = Player(cid) local m = string.explode(param, ",") local target = Player(m[1]) local time = tonumber(m[2]) if player:getAccountType() < ACCOUNT_TYPE_TUTOR then return false end if time == nil then player:sendCancelMessage("Invalid param specif
  17. /mute nomedoplayer, tempo(máximo 360 minutos.) /mute Linus, 10 -- Mutado por de 10 minutos.
  18. Pra quem se interessar fazer vai uma dica, faz por manipulação de arquivo, onde se tiver X storage, ele adiciona tal tag no arquivo de atributos, é algo meio complicado, mas da pra fazer sem maiores complicações, eu até faria, mas creio que é algo que não vale o tempo pra disponibilizar free, mas fica a ideia, se alguém se interessar no seu pedido, ou se tiver outra forma menos "trabalhosa" digam aqui, que eu faço sem maiores problemas.
  19. function onSay(cid, words, param) local player = Player(cid) local m = string.explode(param, ",") local target = Player(m[1]) local time = tonumber(m[2]) if player:getAccountType() < ACCOUNT_TYPE_TUTOR then return false end if time == nil then player:sendCancelMessage("Invalid param specified.") return false end if target == nil then player:sendCancelMessage("A player with that name is not online.") return false end if target:getAccountType() ~= ACCOUNT_TYPE_NORMAL then player:sendCancelMessage("You can only mutate a normal player.") return false end if tim
  20. function onStartup(interval) math.randomseed(os.time()) local chance = math.random(1, 6) if (chance == 1) then -- venore setGlobalStorageValue(9710, 1) doCreateItem(7853, {x = 32833, y = 32081, z = 7}) doCreateItem(7851, {x = 32834, y = 32081, z = 7}) doCreateItem(5066, {x = 32834, y = 32081, z = 7}) doCreateItem(5066, {x = 32833, y = 32081, z = 7}) gate1 = doCreateItem(6116, {x = 32834, y = 32081, z = 7}) doSetItemActionId(gate1, 9710) print('>> Fury Gate hoje esta em venore.') elseif (chance == 2) then -- ab'dendriel setGlobalStorageValue(9711, 1) doC
  21. level = 500 function onStepIn(cid, item, position, fromPosition, toPosition) if getPlayerLevel(cid) < level then doTeleportThing(cid, fromPosition) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Somente players level " .. level .. " ou mais podem passar.") else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Seja bem vindo!") end return true end <movevent type="StepIn" actionid="XXXX" event="script" value="ARQUIVO.lua"/>
  22. Eu tava fazendo umas contas meio louca aqui supondo alguma valores e por fim acabou bugando mais minha mente ainda HUAHSUAH : [Formula dano Minimo] minl = 75 / 50 = 1,5 minm = 30 * 50 = 1500 450 + 1,5 = 1501,5 minA = -0.0 minB = -10 (1501,5) * 1 * minA + minB = (1501,5) * 1 * -0.0 + -10 = [- 15015] -- Dano -- Dano Minimo 4515 [Formula dano Máximo] maxl = 75 / 70 = 1,05 -- Arredondei pra não ficar numero quebrado maxm = 30 * 70 = 2100 1,05 + 2100 = 2101,05 maxA = -0.0 maxB = -10 (2101,05) * 1 * maxA + maxB = (2101,05) * 1 * -0.0 + -10 = [- 21010,5] -- Dano -- Dano máximo 21
  23. Eu tb achei curioso a sua pergunta ai dei uma rápida pesquisada e encontre isso, eu entendi + ou - a lógica de como é calculada o dano. ________________________________________________________________________________________________________________________ Quanto ao COMBAT_FORMULA, tem nas sources a formula dele, em combat.cpp Ai no script e mais ou menos assim: setCombatFormula(combat, COMBAT_FORMULA_XXX, mina, minb, maxa,maxb) Esses valores são aplicados na formula da source, a formula do que eu tenho aqui e assim: min = (int32_t)((player->getLevel() / minl + play
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo