
Tudo que xWhiteWolf postou
-
Staff aparecendo no rank
falha minha, coloca o kk = kk+1 dentro do if if name_now ~= nil then
-
Magnus Challenger
caralho mano vc tá querendo uma coisa q já tem: tem o eacollect, o medcollect e o hardcollect, cada um tem um id de um item e uma quantidade, se vc pegar easy ele vai gerar uma quantidade aleatoria entre TODAS as quantidades do EACOLLECT, ele não pega quantidade do medcollect e é assim que vc configura. Lê o tópico po, eu ja expliquei isso lá.
-
Staff aparecendo no rank
fiz umas edições, não mudei o script em si então ficou meio merda, o jeito de fazer isso de forma correta seria via uma query decente no banco e economizar muito espaço de processamento mas não to com saco pra mexer nisso agr. Adicionei tb uma opção de selecionar o método que vc queira que seja exibido o rank: onde 1 é o padrão.
-
Staff aparecendo no rank
posta seu sistema de rank, fala sobre a versão do seu sv, manda fotos do problema que aí a gente vai entender qual o problema e pode tentar te ajudar..
-
(Resolvido)spell que da muted
coloca chance = 100
-
Condition em Spell.
editei lá
- Magnus Challenger
-
Experience Weapon System
infelizmente qnd eu estava disposto a aprender a mexer em TFS superiores as pessoas do fórum não quiseram me ensinar, agr estou cheio de trabalhos da faculdade :/ duvido muito q saia alguma coisa. Mas a idéia mesmo era fazer todos meus scripts pra todas as versões.
-
Condition em Spell.
simples: 1) remove a linha que seta a condition no combat 2) Para verificar o target iremos utilizar uma função variantToNumber(var), dentro do callback pois o var só existe depois que executamos function onCastSpell: if isCreature(variantToNumber(var)) then 3) em seguida adicionaremos a condição ao variantToNumber(var). doAddCondition(variantToNumber(var), condition) 4) Por fim adicionarem uma porcentagem, para isso temos que gerar um numero "aleatoriamente" com a função math.random(X, Y). Ela funciona gerando um numero entre X e Y. Pra porcentagens usamos math.random(1,100) ou apenas math.random(100). Temos que checar se esse numero aleatorio é menor que uma porcentagem q escolhemos, se for ele ativa a condition. if percent > math.random(1,100) then 5) agora iremos criar no topo do script uma referência para dizer ao nosso código oque é esse percent: local percent = 30 -- chance em porcentagem de ativar nossa condition No final ficamos com:
-
(Resolvido)spell que da muted
essa n tira dano mas é só colocar um combat q resolve: http://www.tibiaking.com/forum/topic/39212-spell-que-da-muted-no-target/
- kraleo
- Magnus Challenger
- Magnus Challenger
-
Double Weapon (usar duas armas ao mesmo tempo)
http://www.tibiaking.com/forum/topic/18659-two-weapons-system/
-
kraleo
I got 99 problems but a bitch aint one
-
kraleo
o hue não pode parar!
-
(Resolvido)[PEDIDO] Spell que gira em sua volta
nois po <3 auhuha curto ajudar o pessoal aqui ^=^
-
(Resolvido)[PEDIDO] Spell que gira em sua volta
agr vai
-
Pedido Account Mananger Modificado
Isso faz ele falar em azul: doCreatureSay(cid, "Hello, type {account} to manage your account. If you would like to start over, type {cancel} anywhere.", TALKTYPE_PRIVATE_NP, true) agr mandar a msg direto pro channel npc teria que usar essa função aqui: doPlayerSendChannelMessage(cid, "", "Hello, type {account} to manage your account. If you would like to start over, type {cancel} anywhere.", TALKTYPE_PRIVATE_NP, channel) O problema é que ela tá fazendo meu cliente crashar sempre que tento utilizar ela pra qualquer channel que seja.
-
(Resolvido)duvida absorver elementos
só itemsetAttribute, mas vc pode juntar as funções e colocando pra setar o atual + alguma coisa, semelhante ao que fazemos com storage. Só que aqui é concatenação de string (em vez de + vc vai usar ..) Ex: juntar 3 strings em uma frase local a = "Meu nome" local b = " é " local c = "Anderson Faria" local frase = a..b..c supondo que temos só a e c poderiamos fazer: local frase = a.." é "..c
- kraleo
-
(Resolvido)[PEDIDO] Spell que gira em sua volta
não testei mas vê aí local config = { velocidade = 350, -- intervalo entre os giros (quanto menor, mais rapido) hits = 24, -- quantos hits vai dar msg = "Frozen Orb", -- msg ao soltar a spell key = 13871, -- storage que sera utilizado pro cooldown cooldown = 3, -- tempo em segundos de cooldown entre um uso da spell e outro. effect1 = 36, -- efeito de distancia que vai ficar rodando effect3 = 37, -- efeito ao castar a spell effect4 = 43 -- efeito ao acertar a roda no player } --[[Note que a velocidade multiplicada pelo numero de hits deve dar algo proximo de 8550 pra que a magia nao fique ruim ou um efeito acabe antes do outro. Nos valores que eu utilizei eles dao 8400, oque ja eh considerado perto pois temos 200 milisegundos iniciais, 8550 eh o tempo que o item sera removido e coincide com o tempo de duracao do efeito 56 (config.effect2)]] local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 255) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1) function onTargetCreature(cid, target) doSendMagicEffect(getCreaturePosition(target), config.effect4) end setCombatCallback(combat, 4, "onTargetCreature") local arr = { {1, 1, 1}, {1, 3, 1}, -- area que vai acertar a spell enquanto estiver rodando {1, 1, 1}, } local area = createCombatArea(arr) setCombatArea(combat, area) function initEffect(position) for i = 0, 3 do local pos = {x = position.x, y = position.y, z = position.z} local dir = getPosByDir(pos, i) doSendDistanceShoot(position, dir, config.effect1) end return true end function middleEffect(uid, param, lim, count) n = count or 0 if isCreature(uid) and n < lim then for i = 0, 3 do local pos = {x = getCreaturePosition(uid).x, y = getCreaturePosition(uid).y, z = getCreaturePosition(uid).z} local pos2 = {x = getCreaturePosition(uid).x, y = getCreaturePosition(uid).y, z = getCreaturePosition(uid).z} local dir = getPosByDir(pos, i) local dir2 = getPosByDir(pos2, i + 1 <= 3 and i + 1 or 0) doSendDistanceShoot(dir, dir2, config.effect1) end doCombat(uid, combat, param) addEvent(middleEffect, config.velocidade, uid, param, lim, n + 1) end return true end function endEffect(uid) for i = 0, 3 do local pos = {x = getCreaturePosition(uid).x, y = getCreaturePosition(uid).y, z = getCreaturePosition(uid).z} local dir = getPosByDir(pos, i) doSendDistanceShoot(dir, getCreaturePosition(uid), config.effect1) end return true end function onCastSpell(cid, var) if getPlayerStorageValue(cid, config.key) - os.time() <= 0 then setPlayerStorageValue(cid, config.key, os.time() + config.cooldown) local position = getCreaturePosition(cid) doCreatureSay(cid, config.msg, 20) addEvent(endEffect, 8.55 * 1000, uid) doSendMagicEffect(position, config.effect3) initEffect(position) addEvent(middleEffect, 200, cid, var, config.hits) else doPlayerSendCancel(cid, "You're exhausted.") end return true end
-
Pedido Account Mananger Modificado
em casa eu tenho o código pra isso aí, vc tem que alterar essas linhas: doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.") no lugar de MESSAGE_STATUS_CONSOLE_ORANGE vc pode colocar quaisquer uma dessas: a lista fica em data/lib/constant.lua e pode usar ou o nome ou o número. MESSAGE_FIRST = 18 MESSAGE_STATUS_CONSOLE_RED = MESSAGE_FIRST MESSAGE_EVENT_ORANGE = 19 MESSAGE_STATUS_CONSOLE_ORANGE = 20 MESSAGE_STATUS_WARNING = 21 MESSAGE_EVENT_ADVANCE = 22 MESSAGE_EVENT_DEFAULT = 23 MESSAGE_STATUS_DEFAULT = 24 MESSAGE_INFO_DESCR = 25 MESSAGE_STATUS_SMALL = 26 MESSAGE_STATUS_CONSOLE_BLUE = 27 MESSAGE_LAST = MESSAGE_STATUS_CONSOLE_BLUE Só que o problema é que nenhum desses fica igual ao que você mostrou na foto, pois o da foto é outra função.. segunda eu vou pra casa e te passo a função já com os parametros certos
-
Frozen Orb
@jvcasarin, a idéia desse script foi fazer uma orb fixa no mapa, se vc quer algo que siga usa o sistema de orb do maxwellden, funciona em 0.4 os dois. @moviebr, exatamente.. coloca embaixo do combat e em cima da local arr
-
(Resolvido)duvida absorver elementos
vc tem que fazer o creatureevent pro monstro em vez de fazer pro player.. e aí colocar a tag no xml do monstro. Não pode ser por mod isso, teria que ser um creaturescript só com Sobre o segundo problema: ele só aceita 5 leveis por item, vc tá adicionando level 1 de fire e dps level 2 thunder, ele vai contar os 2 mas fica 1 nv de fire e 1 nv de thunder no item. Pra mostrar os dois teria que fazer uma gambiara na hr de modificar o nome do item pra colocar o +X e +Y referente a cada elemento, só q isso vai ficar bem zoado se vc fizer pra todos os elementos.