Tudo que nbb147 postou
-
Otclient com suporte para directx 9
Alguém poderia me mandar algum link com o download do otclient que suporte o directx 9, pois já estou pra enlouquecer de tanto procurar
-
remover speed da criatura e depois retornar
mas ai não seria o que preciso, isso dai já é outra parada, mas de qualquer maneira agradeço. sem contar que isso dai é pra tfs 1.1, o meu tfs é 0.3, os locais são diferentes
-
Exaust no transformar
local config = { --[vocation id] = { level, nova voc, looktype, efeito} -- Naruto -- [1] = { 25, 2, 84, 239}, [2] = { 50, 3, 85, 222}, [3] = { 75, 4, 86, 222}, [4] = { 100, 5, 87, 251}, [5] = { 150, 6, 88, 222}, [6] = { 200, 7, 89, 251}, [7] = { 250, 8, 90, 222}, [8] = { 300, 9, 91, 233}, -- Sasuke -- [15] = { 25, 16, 31, 17}, [16] = { 50, 17, 40, 17}, [17] = { 75, 18, 66, 15}, [18] = { 100, 19, 49, 66}, [19] = { 150, 20, 71, 17}, [20] = { 200, 21, 92, 111}, [21] = { 250, 22, 397, 228}, [22] = { 300, 23, 607, 245}, -- Sakura -- [30] = { 25, 31, 3, 14}, [31] = { 50, 32, 18, 14}, [32] = { 75, 33, 17, 14}, [33] = { 100, 34, 19, 14}, [34] = { 150, 35, 20, 14}, [35] = { 200, 36, 21, 14}, [36] = { 250, 37, 22, 14}, [37] = { 300, 38, 23, 14}, -- Neji -- [45] = { 25, 46, 68, 14}, [46] = { 50, 47, 69, 14}, [47] = { 75, 48, 70, 14}, [48] = { 100, 49, 72, 14}, [49] = { 150, 50, 73, 14}, [50] = { 200, 51, 74, 14}, [51] = { 250, 52, 75, 14}, [52] = { 300, 53, 76, 14}, -- Rock Lee -- [60] = { 50, 61, 114, 14}, [61] = { 100, 62, 114, 14}, [62] = { 150, 63, 144, 14}, [63] = { 200, 64, 144, 14}, [64] = { 250, 65, 144, 14}, [65] = { 300, 66, 144, 14}, [66] = { 400, 67, 144, 14}, [67] = { 500, 68, 144, 14}, [68] = { 600, 69, 144, 14}, -- Ten Ten -- [75] = { 50, 76, 134, 14}, [76] = { 100, 77, 134, 14}, [77] = { 150, 78, 134, 14}, [78] = { 200, 79, 134, 14}, [79] = { 250, 80, 134, 14}, [80] = { 300, 81, 134, 14}, [81] = { 400, 82, 134, 14}, [82] = { 500, 83, 134, 14}, [83] = { 600, 84, 134, 14}, -- Shino -- [90] = { 50, 91, 150, 14}, [91] = { 100, 92, 150, 14}, [92] = { 150, 93, 150, 14}, [93] = { 200, 94, 150, 14}, [94] = { 250, 95, 150, 14}, [95] = { 300, 96, 150, 14}, [96] = { 400, 97, 150, 14}, [97] = { 500, 98, 150, 14}, [98] = { 600, 99, 150, 14}, -- Kiba -- [105] = { 50, 106, 169, 14}, [106] = { 100, 107, 169, 14}, [107] = { 150, 108, 169, 14}, [108] = { 200, 109, 169, 14}, [109] = { 250, 110, 169, 14}, [110] = { 300, 111, 169, 14}, [111] = { 400, 112, 169, 14}, [112] = { 500, 113, 169, 14}, [113] = { 600, 114, 169, 14}, -- Hinata -- [120] = { 50, 121, 196, 14}, [121] = { 100, 122, 196, 14}, [122] = { 150, 123, 196, 14}, [123] = { 200, 124, 196, 14}, [124] = { 250, 125, 196, 14}, [125] = { 300, 126, 196, 14}, [126] = { 400, 127, 196, 14}, [127] = { 500, 128, 196, 14}, [128] = { 600, 129, 196, 14}, } function onSay(cid, words, param, channel) local exha = 1 -- TEMPO EM SEGUNDOS local from,to = {x=1001, y=705, z=7},{x=1031, y=737, z=7} -- começo e final do mapa local from2,to2 = {x=1011, y=705, z=6},{x=1031, y=738, z=6} -- começo e final do mapa local from3,to3 = {x=1012, y=706, z=5},{x=1032, y=739, z=5} -- começo e final do mapa local from4,to4 = {x=985, y=598, z=7},{x=1044, y=652, z=7} -- começo e final do mapa local from5,to5 = {x=986, y=615, z=6},{x=1039, y=647, z=7} -- começo e final do mapa local from6,to6 = {x=990, y=616, z=5},{x=1040, y=647, z=5} -- começo e final do mapa if isInRange(getCreaturePosition(cid), from, to) or isInRange(getCreaturePosition(cid), from2, to2) or isInRange(getCreaturePosition(cid), from3, to3) or isInRange(getCreaturePosition(cid), from4, to4) or isInRange(getCreaturePosition(cid), from5, to5) or isInRange(getCreaturePosition(cid), from6, to6) then doPlayerSendCancel(cid, "Você não pode se Transformar nesta área!") return true end if exhaustion.check(cid, 7320) then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUAREEXHAUSTED) return true doPlayerSendCancel(cid, "Você não pode usar rápido demais.") return true end if (getPlayerStorageValue(cid,112) > 0) then return doPlayerSendCancel(cid, "Voce Nao Pode Se Transforma,Voce Agora Virou Da Akatsuki") end local voc = config[getPlayerVocation(cid)] if voc then if getPlayerLevel(cid) >= voc[1] then doPlayerSetVocation(cid, voc[2]) doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você Transformou!") local outfit = {lookType = voc[3]} doCreatureChangeOutfit(cid, outfit) if getPlayerVocation(cid) == 21 or getPlayerVocation(cid) == 22 then doSendMagicEffect({x=getCreaturePosition(cid).x + 1, y=getCreaturePosition(cid).y, z=getCreaturePosition(cid).z}, voc[4]) else doSendMagicEffect(getCreaturePosition(cid), voc[4]) end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você precisa estar no level " .. voc[1] .. " para transformar.") end else exhaustion.set(cid, 7320, exha) end else doPlayerSendCancel(cid, "Você não pode se Transformar!") end return true end
-
remover speed da criatura e depois retornar
quando coloco return true, o personagem que possui a storag ao chegar perto da criatura é atacada mas o monstro fica travando, tipo, anda e para, anda e para, e se eu me afastar muito do monstro ele para totalmente e só volta a andar quando o personagem encosta novamente no monstro
-
remover speed da criatura e depois retornar
E ai galera, esses dias eu estava tentando fazer um script que o pessoal procura muito que é o famoso sistema de saga, que consiste no seguinte, o player só pode atacar e ser atacado por uma devida criatura se possuir certa storage caso contrario a criatura não ira se mover, bom, consegui fazer quase tudo em lua, só que existe um pequeno problema, que é o seguinte, esse problema está na parte que retorna a speed da criatura, a speed não retorna, tudo funciona corretamente exceto essa parte, tudo por conta do 'return false', esse comando retorna toda a função fazendo com que o onAttack não funcione ou seja o player não seja atacado mesmo possuindo a storage, peça humildemente a ajuda de vocês e agradeço desde já qualquer intenção, script: local name, storage = 'fire devil', 11112 local sto = 800000 local speedchange = 0 function onAttack(cid, target) if isMonster(cid) and getCreatureName(cid):lower() == name and isPlayer(target) and getCreatureStorage(target, storage) < 0 then setPlayerStorageValue(cid, sto, getCreatureSpeed(cid)) doChangeSpeed(cid, -getCreatureSpeed(cid)) doChangeSpeed(cid, speedchange) return false end if isMonster(cid) and getCreatureName(cid):lower() == name and isPlayer(target) and getCreatureStorage(target, storage) > 1 then -- O ERRO PERTENCE A ESSA PARTE doChangeSpeed(cid, -getCreatureSpeed(cid)) local oldspeed = getPlayerStorageValue(cid, sto) == -1 and getCreatureBaseSpeed(cid) or getPlayerStorageValue(cid, sto) doChangeSpeed(cid, oldspeed) return false -- O PROBLEMA ESTA AQUI end return true end function onCombat(cid, target) if isPlayer(cid) and getCreatureStorage(cid, storage) < 0 and isMonster(target) and getCreatureName(target):lower() == name then doPlayerSendCancel(cid, 'You cannot attack this monster.') return false end if isMonster(cid) and getCreatureName(cid):lower() == name and isPlayer(target) and getCreatureStorage(target, storage) < 0 then return false end return true end function onKill(cid, target, lastHit) if isMonster(target) and getCreatureName(target):lower() == name and isPlayer(cid) and getCreatureStorage(cid, storage) > 0 then doCreatureSetStorage(cid, storage, -1) end return true end
-
adicionar skill a spell
@up
-
Efeito abaixo do player
local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 38) setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_MANADRAIN) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -0.5, -700, -1.5, -850) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 58) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -0.0, -0, -0.0, -0) setCombatParam(combat2, COMBAT_PARAM_HITCOLOR, 16) arr1 = { {1, 1, 1}, {1, 2, 1}, {1, 1, 1} } arr2 = { {1, 0, 0}, {0, 2, 0}, {0, 0, 0} } local area1 = createCombatArea(arr1) local area2 = createCombatArea(arr2) setCombatArea(combat1, area1) setCombatArea(combat2, area2) local function onCastSpell1(parameters) doCombat(parameters.cid, combat1, parameters.var) end local function onCastSpell2(parameters) doCombat(parameters.cid, combat2, parameters.var) end local function onCastSpell3(parameters) doCombat(parameters.cid, combat2, parameters.var) end local function onCastSpell4(parameters) doCombat(parameters.cid, combat2, parameters.var) end local function onCastSpell5(parameters) doCombat(parameters.cid, combat2, parameters.var) end local function onCastSpell6(parameters) doCombat(parameters.cid, combat2, parameters.var) end local function onCastSpell7(parameters) doCombat(parameters.cid, combat1, parameters.var) end local function onCastSpell8(parameters) doCombat(parameters.cid, combat1, parameters.var) end local function onCastSpell9(parameters) doCombat(parameters.cid, combat1, parameters.var) end local function onCastSpell10(parameters) doCombat(parameters.cid, combat1, parameters.var) end function onCastSpell(cid, var) local parameters = { cid = cid, var = var} local target = getCreatureTarget(cid) if(target) < 1 then doPlayerSendCancel(cid,"Você tem que estar atacando o oponente para usar esse jutsu.") return false end if exhaustion.check(cid, 20003) == false then doCreatureSay(cid, "hakke hasangeki", TALKTYPE_SAY) doCreatureAddMana(cid, -900) doCreatureSetNoMove(target, true) doCreatureSetNoMove(cid, true) addEvent(doCreatureSetNoMove, 3 * 1000, target, false) addEvent(doCreatureSetNoMove, 3 * 1000, cid, false) addEvent(onCastSpell1, 100, parameters) -- tira chakra addEvent(onCastSpell2, 200, parameters) addEvent(onCastSpell3, 600, parameters) addEvent(onCastSpell4, 1000, parameters) addEvent(onCastSpell5, 1400, parameters) addEvent(onCastSpell6, 1800, parameters) addEvent(onCastSpell7, 500, parameters) -- tira chakra addEvent(onCastSpell8, 1000, parameters) -- tira chakra addEvent(onCastSpell9, 1500, parameters) -- tira chakra addEvent(onCastSpell10, 2000, parameters) -- tira chakra exhaustion.set(cid, 20003, 3) return else doPlayerSendCancel(cid, "Cooldown[" ..exhaustion.get(cid, 20003).."]") end end
-
Efeito abaixo do player
Galera, gostaria de saber como faço para o efeito de uma magia especifica sair por baixo do player e não por cima, por exemplo: Como vocês podem ver o efeito esta por cima do player, gostaria de saber como faço para que ele fique por baixo do player.
-
adicionar skill a spell
@up
-
adicionar skill a spell
@up
-
adicionar skill a spell
os skills club e fist, é, preciso disso em todas as transformações
-
adicionar skill a spell
Galera, gostaria de modificar uma spell que tenho aqui, bom, essa spell funciona da seguinte forma, ela transforma o personagem e modifica o addon do usuário, ela possui 5 transformações diferentes(uma pessoa que entenda o básico de lua irá perceber), gostaria que cada transformação adicionasse uma quantidade de skill, abaixo o script: function onCastSpell(cid, var) local outfit1 = 372 local level1 = 40 local skill1 = 2 local outfit2 = 371 local level2 = 80 local outfit3 = 165 local level3 = 120 local outfit4 = 167 local level4 = 150 local outfit5 = 407 local level5 = 300 if getPlayerLevel(cid) >= level1 and getPlayerLevel(cid) <= 149 then doSetCreatureOutfit(cid, {lookType = outfit1}, -1) doPlayerSetVocation(cid, 70) doSendMagicEffect(getCreaturePosition(cid), 90) doCreatureSay(cid, "KAIMON", TALKTYPE_MONSTER) end if getPlayerLevel(cid) >= level2 and getPlayerLevel(cid) <= 149 then doSetCreatureOutfit(cid, {lookType = outfit2}, -1) doPlayerSetVocation(cid, 71) doSendMagicEffect(getCreaturePosition(cid), 90) doCreatureSay(cid, "KYUMON", TALKTYPE_MONSTER) end if getPlayerLevel(cid) >= level3 and getPlayerLevel(cid) <= 149 then doSetCreatureOutfit(cid, {lookType = outfit3}, -1) doPlayerSetVocation(cid, 72) doSendMagicEffect(getCreaturePosition(cid), 90) doCreatureSay(cid, "SEIMON", TALKTYPE_MONSTER) end if getPlayerLevel(cid) >= level4 and getPlayerLevel(cid) <= 319 and getPlayerStorageValue(cid, 20003) == 1 then doSetCreatureOutfit(cid, {lookType = outfit4}, -1) doPlayerSetVocation(cid, 73) doSendMagicEffect(getCreaturePosition(cid), 90) doCreatureSay(cid, "SHOMON", TALKTYPE_MONSTER) end if getPlayerLevel(cid) >= level5 then doSetCreatureOutfit(cid, {lookType = outfit5}, -1) doPlayerSetVocation(cid, 82) doSendMagicEffect(getCreaturePosition(cid), 90) doCreatureSay(cid, "TOMON", TALKTYPE_MONSTER) return true end end agradeço desde já qualquer intenção de ajuda.