Ir para conteúdo

roach95

Membro
  • Registro em

  • Última visita

Tudo que roach95 postou

  1. Olá, alguém se dispõe a postar o script do prince drazzak? aquele que são 5 chars, em 5 posições configuráveis, no qual o primeiro da fila usa a golden prison key no golden lock pedestal, e os 5 chars vão para uma sala pos x y z configurável ? é como se fosse uma alavanca de anihi, porem ao usar a chave nele a chave sumisse e os 5 forem para a sala. chave id: 22607 golden lock pedestal: 22641 Position1: [X: 33607] [Y: 32362] [Z: 11]. Position2: [X: 33608] [Y: 32362] [Z: 11]. Position3: [X: 33609] [Y: 32362] [Z: 11]. Position4: [X: 33610] [Y: 32362] [Z: 11]. Position5: [X: 33611] [Y: 32362] [Z: 11]. new position todos chars: Position: [X: 33528] [Y: 32334] [Z: 12].
  2. roach95 postou uma resposta no tópico em Suporte Tibia OTServer
    não quero por fist, quero somente q ele fique atacando normal. versão do tfs é a 1.0, ot 10.76
  3. roach95 postou uma resposta no tópico em Suporte Tibia OTServer
    não, se eu deixo attackspeed 1000 por exemplo, quando eu ligo ATKMAX no magebot, eu ataco 1 vez por segundo certinho, do jeito que deveria, porém quando eu desligo a hotkey ele de alguma forma ataca mais devagar. Mais ou menos o mesmo problema do attack target do elfbot, bugando fast attack entende? e eu queria que ficasse igual para todos, independente de magebot ou nao, hitando 1x por segundo, andando, parado, usando pot e ainda assim dando 1 hit por segundo
  4. roach95 postou uma resposta no tópico em Suporte Tibia OTServer
    editei o attackspeed nas vocations, porém os chars só atacam na velocidade full quando o ATKMAX do magebot está ativado. Como eu faço para todos os chars atacarem full speed sem ficar parando de atacar ou diminuindo a velocidade do hit? simplesmente atacando a cada 800ms como configurado nas vocations ot 10.76, tfs 1.0
  5. Fatal error: Call to a member function fetchAll() on boolean in C:\xampp\htdocs\pages\latestnews.php on line 202 ot 10.76 já tentei remover as linhas, aí começa dar erro em outras linhas, alguém tem um latestnews.php funcionando? o que faço? tfs 1.0
  6. roach95 postou uma resposta no tópico em Suporte Tibia OTServer
    Olá, gostaria de um script para uma wand elemental ( !wand holy, ice, fire, death e earth) com dano baseado em level e magic level. min 0,83 x (lvl/3 +ml) max 1,21 x (lvl/2 +ml) se alguém puder ajudar, agradeço.
  7. Olá, gostaria de um script para uma wand elemental ( !wand holy, ice, fire, death e earth) com dano baseado em level e magic level. min lvl/3 +ml max lvl/2 +ml se alguém puder ajudar, agradeço.
  8. roach95 postou uma resposta no tópico em Suporte Tibia OTServer
    não, não deu o script original funciona: só queria colocar uma fórmula de dano por level e magic level ao invés de dano fixo.
  9. roach95 postou uma resposta no tópico em Suporte Tibia OTServer
    Deem uma ajuda por favor, o script nao da erro ao iniciar o ot, mas quando uso ela para atacar da o seguinte:
  10. Olha só o script: quando inicia o ot, não da erro nenhum, quando vou usar ela em algum bixo:
  11. Tenho um script da elemental wand e ela é a minha wand vip do ot. Gostaria de colocar pra hitar com fórmula min e max, uma pra min e outra pra max. As fórmulas podem deixar que eu mesmo faço, pois vou testando e vendo qual fica descente. o script ta aí: w = { [12031] = {ef = 36, sh = 3, dmg = COMBAT_FIREDAMAGE}, [12032] = {ef = 42, sh = 28, dmg = COMBAT_ICEDAMAGE}, [12033] = {ef = 45, sh = 38, dmg = COMBAT_POISONDAMAGE}, [12034] = {ef = 17, sh = 31, dmg = COMBAT_DEATHDAMAGE}, [12035] = {ef = 11, sh = 35, dmg = COMBAT_ENERGYDAMAGE}, [12036] = {ef = 49, sh = 37, dmg = COMBAT_HOLYDAMAGE}, } function onUseWeapon(cid, var) min, max = 55, 75 -- dano minimo e maximo target = getCreatureTarget(cid) for stor, info in pairs(w) do if getPlayerStorageValue(cid, stor) == 1 then if target ~= 0 then doSendDistanceShoot(getThingPos(cid), getThingPos(target), info.sh) addEvent(doAreaCombatHealth, 100, cid, info.dmg, getThingPos(target), 0, -min, -max, info.ef) end end end return true end
  12. roach95 postou uma resposta no tópico em Suporte Tibia OTServer
    pode ser pq acabou a premium deles, vai la em blessings no config lua e add isso blessingOnlyPremium = false
  13. então cara, tentei limpar uma por uma já, não deu certo, fico preso em players, pdeaths, pkillers, killers... que porcaria, na outra db do ot não tinha esse problema --'
  14. to tentando resetar o ot via sqlitestudio 2.1.5 e não ta dando, eu tento deletar qualquer char e aparece mensagem de foreign key.. ele até deleta, mas na hora de apertar o Commit Changes ali da nisso. segue o anexo:
  15. problema resolvido, obrigado xWhiteWolf
  16. alguém da uma mãozinha aí, queria tirar as % do slot e colocar fixo ao invés de hp +5% que é o caso aí, queria colocar hp+50 porém não entendi muito bem as fórmulas de add creaturescripts: ---Script by mock the bear! local conditionMP,conditionHP,conditionML,conditionCLUB,conditionSHI,conditionDIST,conditionAMP = {},{},{},{},{},{},{} for i=1,100 do ---Carrega as conditions --- HP conditionHP = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionHP, CONDITION_PARAM_TICKS, -1) setConditionParam(conditionHP, CONDITION_PARAM_STAT_MAXHEALTHPERCENT, 100+i) setConditionParam(conditionHP, CONDITION_PARAM_BUFF, true) setConditionParam(conditionHP, CONDITION_PARAM_SUBID, 50) --MANA conditionMP = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionMP, CONDITION_PARAM_TICKS, -1) setConditionParam(conditionMP, CONDITION_PARAM_STAT_MAXMANAPERCENT, 100+i) setConditionParam(conditionMP, CONDITION_PARAM_BUFF, true) setConditionParam(conditionMP, CONDITION_PARAM_SUBID, 51) --Magic level conditionML = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionML, CONDITION_PARAM_TICKS, -1) setConditionParam(conditionML, CONDITION_PARAM_STAT_MAGICLEVELPERCENT, 100+i) setConditionParam(conditionML, CONDITION_PARAM_BUFF, true) setConditionParam(conditionML, CONDITION_PARAM_SUBID, 52) --club axe sword conditionCLUB = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionCLUB, CONDITION_PARAM_TICKS, -1) setConditionParam(conditionCLUB, CONDITION_PARAM_SKILL_CLUBPERCENT, 100+i) setConditionParam(conditionCLUB, CONDITION_PARAM_SKILL_SWORDPERCENT, 100+i) setConditionParam(conditionCLUB, CONDITION_PARAM_SKILL_AXEPERCENT, 100+i) setConditionParam(conditionCLUB, CONDITION_PARAM_BUFF, true) setConditionParam(conditionCLUB, CONDITION_PARAM_SUBID, 53) --- shield conditionSHI = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionSHI, CONDITION_PARAM_TICKS, -1) setConditionParam(conditionSHI, CONDITION_PARAM_SKILL_SHIELDPERCENT, 100+i) setConditionParam(conditionSHI, CONDITION_PARAM_BUFF, true) setConditionParam(conditionSHI, CONDITION_PARAM_SUBID, 54) --- dist conditionDIST = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(conditionDIST, CONDITION_PARAM_TICKS, -1) setConditionParam(conditionDIST, CONDITION_PARAM_SKILL_DISTANCEPERCENT, 100+i) setConditionParam(conditionDIST, CONDITION_PARAM_BUFF, true) setConditionParam(conditionDIST, CONDITION_PARAM_SUBID, 55) end function getSlotType(n) --By mock the bear if not n then return false end if n:match('%[(.+)%]') then n = n:match('%[(.+)%]') if n == '?' then return 0,n else return n:match('(.-)%.([+-])(%d+)%%') end else return false end end local function loadSet(cid) local t = {} for slot=1,9 do t[slot] = '' local s = getPlayerSlotItem(cid,slot).uid if s ~= 0 then t[slot] = getItemName(s) end end return t end function isInArray2(arr,var) -- Because in some servers it return 1 and 0 and others true and false for i,b in pairs(arr) do if var == b then return true end end return false end function check2(cid,i) if i == 5 or i == 6 then if isInArray({'head','necklace','backpack','body','legs','feet','ring'},getItemValue(getPlayerSlotItem(cid,i).itemid,'slotType') or '') then return false end end return true end function chk(cid,f) if not isPlayer(cid) then return end local t = loadSet(cid) for i=1,#f do if f ~= t then equip(cid,nil,slot) break end end addEvent(chk,200,cid,t) end items = { ---- Only to get attr: slotType because getItemName dont return it -.-' _VERSION='1.0 By mock', XML_DIR='data/items/items.xml', } do local ia = os.clock() io.write('Loading items') local i = io.open(items.XML_DIR,'r') local u = i:read(-1) i:close() local u = u:match('<items>(.+)</items>') for mi,id,mid,name,data,me in u:gmatch('<(%a-)%s*id%s*=%s*"(%d+)"%s*(.-)%s*name%s*=%s*"(.-)"%s*>(.-)</(%a*)>') do if mi == 'item' and me == 'item' then local td = {name=name,id=id,type=1} for key,value in data:gmatch('<attribute key="(.-)" value="(.-)"/>') do td[key] = value end for key,value in mid:gmatch('(.-)="(.-)"') do td[key] = value end items[tonumber(id)] = td items[name] = td end end for mi,id,mid,name,data in u:gmatch('<(%a-)%s*id%s*=%s*"(%d*)"%s*(.-)%s*name%s*=%s*"(%a+)"%s*/>') do if mi == 'item' then local td = {name=name,id=id,type=2} for key,value in mid:gmatch('(.-)="(.-)"') do td[key] = value end items[tonumber(id)] = td items[name] = td end end io.write('[done '..os.clock()-ia..']\n') end function getItemValue(item,value) return items[item] and items[item][value] end function equip(cid,item,slot) --By mock the bear local HP = getCreatureHealth(cid) local MP = getCreatureMana(cid) local t = {} if item then local mm,sinal,qto = getSlotType(getItemName(item.uid)) t[mm] = tonumber(qto) end for i=1,9 do -- Not on slot 10 > arrow if i ~= slot then if getPlayerSlotItem(cid,i).itemid ~= 0 then local aab = getPlayerSlotItem(cid,i).uid if aab and check2(cid,i) then for _ in getItemName(aab):gmatch('(%[.-%])') do local mm,sinal,qto2 = getSlotType(_) if mm then if not t[mm] then t[mm] = 0 end t[mm] = t[mm]+tonumber(qto2) t[mm] = t[mm] > 100 and 100 or t[mm] end end end end end end local fu = 0 local ca = {} local s = '' for sl,n in pairs(t) do fu = fu+1 s = s..''..n..'% more of '..sl..'\n' if sl == 'hp' then doAddCondition(cid,conditionHP[tonumber(n)]) doCreatureAddHealth(cid,HP-getCreatureHealth(cid)) ca[50] = 1 doPlayerSendTutorial(cid,19) elseif sl == 'mp' then doAddCondition(cid,conditionMP[tonumber(n)]) doCreatureAddMana(cid,HP-getCreatureMana(cid)) ca[51] = 1 doPlayerSendTutorial(cid,19) elseif sl == 'ml' then doAddCondition(cid,conditionML[tonumber(n)]) ca[52] = 1 elseif sl == 'cas' then doAddCondition(cid,conditionCLUB[tonumber(n)]) ca[53] = 1 elseif sl == 'shield' then doAddCondition(cid,conditionSHI[tonumber(n)]) ca[54] = 1 elseif sl == 'dist' then doAddCondition(cid,conditionDIST[tonumber(n)]) ca[55] = 1 end end if fu > 0 then addEvent(doPlayerSendTextMessage,100,cid,24,'You have:\n'..s) for i=50,55 do if not ca then doRemoveCondition(cid,CONDITION_ATTRIBUTES,i) end end else for i=50,55 do doRemoveCondition(cid,CONDITION_ATTRIBUTES,i) end end return true end function onLogin(cid) ---Script by mock the bear! equip(cid,nil,slot) addEvent(chk,200,cid,loadSet(cid)) -- Here we check! return TRUE end -------------------------- actions --[[ Slot system 100% by mock \o ]] ---Config local conf = { maxSlotCount=2, ignoredIds={} } --End function choose(...) --- Function by mock. local arg = {...} return arg[math.random(1,#arg)] end if not getItemAttack then function getItemAttack(uid) return getItemAttribute(uid,'attack') end function getItemDefense(uid) return getItemAttribute(uid,'defense') end end local function isArmor(uid) -- Function by Mock the bear. if (getItemInfo(uid.itemid).armor ~= 0) and (getItemWeaponType(uid.uid) == 0) then return true end return false end local function isWeapon(uid) -- Function by Mock the bear. uid = uid or 0 local f = getItemWeaponType(uid) if f == 1 or f == 2 or f == 3 then return true end return false end local function isShield(uid) -- Function by Mock the bear. uid = uid or 0 if getItemWeaponType(uid) == 4 then return true end return false end local function isBow(uid) -- Function by Mock the bear. uid = uid or 0 if getItemWeaponType(uid) == 5 and not isItemStackable(uid) then return true end return false end function onUse(cid, item, fromPosition, itemEx, toPosition) -- Script by mock the bear (MTB) if item.uid == 0 or item.itemid == 0 then return false end toPosition.stackpos = 255 if item.uid == 0 or item.itemid == 0 then return false end toPosition.stackpos = 255 if isInArray(conf.ignoredIds, itemEx.itemid) or (not getItemWeaponType(itemEx.uid) or getItemWeaponType(itemEx.uid) > 5) or (getItemWeaponType(itemEx.uid) == 0 and not isArmor(itemEx)) or itemEx.itemid == 0 or itemEx.type > 1 or isItemStackable(itemEx.uid) then doPlayerSendCancel(cid, "You cant open a slot on this item.") return TRUE end if isCreature(itemEx.uid) then return FALSE end local nam = getItemName(itemEx.uid) function getper() local n = 50 for i=1,10 do n = 50 if n < 8000*i then break end end return n end function getSlotCount(nam) local c = 0 for _ in nam:gmatch('%[(.-)%]') do c = c+1 end return c end if getSlotCount(nam) < conf.maxSlotCount then local l = choose('hp') local p = getper() doSendMagicEffect(toPosition,30) nam = nam..' ['..l..'.+'..p..'%]' doItemSetAttribute(itemEx.uid,'name',nam) doRemoveItem(item.uid,1) else doPlayerSendCancel(cid, "You cant open a slot on this item.") end return true end -------------------------- script por MockTheBear
  17. valeu cara, funcionou perfeitamente muito obrigado mesmo
  18. obrigado ViitinG e desculpe pelo erro.. alguem pode dizer o que tem de errado que não está fazendo a contagem?
  19. Esse script do npc, nao ta fazendo a contagem aleatoria, ta dando sempre o mesmo item no reward, alguem explica por que? as vezes ele da sempre o item1 umas 100 vezes, depois de reiniciar o servidor sempre o item2 e assim por diante... local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 -------------------------------------- CONFIG --------------------------------------------- local rand = math.random(1,10) local item1, quantidade1 = 2150, 1 -- item1 e quantidade local item2, quantidade2 = 2146, 1 -- item2 e quantidade local item3, quantidade3 = 2147, 1 -- item3 e quantidade local item4, quantidade4 = 2149, 1 -- item4 e quantidade local reward1, quantidade5 = 2544, 1 -- recompensa 1 e quantidade. local reward2, quantidade6 = 2545, 1 -- recompensa 2 e quantidade. local reward3, quantidade7 = 2546, 1 -- recompensa 1 e quantidade. local reward4, quantidade8 = 7364, 1 -- recompensa 2 e quantidade. -------------------------------------------------------------------------------------------- function teste1(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end if getPlayerItemCount(cid, item1) >= quantidade1 and getPlayerItemCount(cid, item2) >= quantidade2 and getPlayerItemCount(cid, item3) >= quantidade3 and getPlayerItemCount(cid, item4) >= quantidade4 then if doPlayerRemoveItem(cid, item1, quantidade1) and doPlayerRemoveItem(cid, item2, quantidade2) and doPlayerRemoveItem(cid, item3, quantidade3) and doPlayerRemoveItem(cid, item4, quantidade4) then if rand <= 4 then npcHandler:say('Você ganhou a recompensa 1!', cid) doPlayerAddItem(cid, reward1, quantidade5) elseif rand >= 5 and rand <= 7 then npcHandler:say('Você ganhou a recompensa 2!', cid) doPlayerAddItem(cid, reward2, quantidade6) elseif rand >= 8 and rand <= 9 then npcHandler:say('Você ganhou a recompensa 3!', cid) doPlayerAddItem(cid, reward3, quantidade7) elseif rand == 10 then npcHandler:say('Você ganhou a recompensa 4!', cid) doPlayerAddItem(cid, reward4, quantidade8) else return false end end else npcHandler:say('You don\'t have these items!', cid) end end keywordHandler:addKeyword({'item'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "Somente guerreiros persistentes vao ganhar meus brindes, voce eh um? {guerreiro}"}) local node1 = keywordHandler:addKeyword({'guerreiro'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Para tentar forjar a arma X você precisa ter os items Y, W, Z e V, você tem eles???'}) node1:addChildKeyword({'sim'}, teste1, {npcHandler = npcHandler, onlyFocus = true, reset = true}) node1:addChildKeyword({'nao'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Volte Sempre.', reset = true}) npcHandler:addModule(FocusModule:new())
  20. roach95 postou uma resposta no tópico em Suporte Tibia OTServer
    não to entendo muito o sistema de porcentagem, não ta dando certo, sempre o mesmo item.. troquei cerca de 200 vezes e deu o mesmo reward.. se tu puder fazer, os ids tão ai: (quantidade 1 para todos) item1 2150 item2 2146 item3 2147 item4 2149 reward1 2544 reward2 2545 reward3 2546 reward4 7364
  21. roach95 postou uma resposta no tópico em Suporte Tibia OTServer
    consegui ajeitar os rewards com essa sua explicação, obrigado, mas só falta essa coisa de ficar dando o mesmo reward somente sempre cai no reward2, não tem como colocar rand fixo para cada item? tipo rand de 1 a 4 pro reward 1, por ai vai.. que daí o npc ia randomizar o cálculo e já taria fixo , eu tentei fazer aqui mas minha incompetência é extrema..
  22. roach95 postou uma resposta no tópico em Suporte Tibia OTServer
    funcionou perfeitamente o script, so falta alguns ajustes, ele ta entregando so a recompensa 2, eu troquei 100x os itens e deu as 100x a mesma coisa.. e queria colocar 4 itens de reward, nao 2 so, tem como? se tiver como editar a porcentagem tambem eh melhor tipo item1 = 40% item2 = 30% item3 20% e item 4 10%
  23. roach95 postou uma resposta no tópico em Suporte Tibia OTServer
    Olá, alguém poderia ajudar com isso? Preciso de um npc de troca que não de sempre o mesmo item, sao 4 itens brinde ao todo, a chance eh variada. por exemplo: tem todo um dialogo antes p: hi npc: oi, esta interessado em forjar um {item}? p: item npc: somente guerreiros persistentes vao ganhar meus brindes, voce eh um? {guerreiro} p: guerreiro npc: preciso de a, b, c, d itens, voce os tem? p: yes npc: aqui esta o seu item1 npc2: aqui esta seu item2 assim por diante os itens requeridos são os mesmos, só o reward é aleatório.
  24. valeu, deu certinho, brigadao ae vo dar rep+

Informação Importante

Confirmação de Termo