Tudo que roach95 postou
-
Ajuda Prince Drazzak Lever
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].
-
Duvida Attackspeed
não quero por fist, quero somente q ele fique atacando normal. versão do tfs é a 1.0, ot 10.76
-
Duvida Attackspeed
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
-
Duvida Attackspeed
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
-
Gesior com erro latestnews 202
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
- Wand elemental
-
Pedido - Wand Elemental com ataque baseado no level e no ML
alguém?
-
Pedido - Wand Elemental com ataque baseado no level e no ML
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.
- Wand script
- Wand script
- Formula de ataque sprite wand
-
Formula de ataque sprite wand
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
-
BUG bless
pode ser pq acabou a premium deles, vai la em blessings no config lua e add isso blessingOnlyPremium = false
-
SQLiteStudio 2.1.5 não deleta char
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 --'
-
SQLiteStudio 2.1.5 não deleta char
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:
-
(Resolvido)slot system dúvida
problema resolvido, obrigado xWhiteWolf
-
(Resolvido)slot system dúvida
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
- NPC não faz contagem aleatória
- NPC não faz contagem aleatória
-
NPC não faz contagem aleatória
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())
-
Duvida Npc
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
-
Duvida Npc
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..
-
Duvida Npc
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%
-
Duvida Npc
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.
- (Resolvido)[ajuda] talkaction ou npc de troca