Ir para conteúdo

Reds

Membro
  • Registro em

  • Última visita

Tudo que Reds postou

  1. Reds postou uma resposta no tópico em Ouvidoria
    Como colocar uma assinatura? nao estou achando
  2. local combat = createCombatObject()setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -25.3, 1, -25.3, 1)arr = {{1, 1, 1, 1, 1, 1, 1},{1, 1, 1, 1, 1, 1, 1},{1, 1, 1, 1, 1, 1, 1},{1, 1, 1, 3, 1, 1, 1},{1, 1, 1, 1, 1, 1, 1},{1, 1, 1, 1, 1, 1, 1},{1, 1, 1, 1, 1, 1, 1}}local area = createCombatArea(arr)setCombatArea(combat, area)local function onCastSpell1(parameters)return isCreature(parameters.cid) and doCombat(parameters.cid, combat, parameters.var)endfunction onCastSpell(cid, var)if getPlayerStorageValue(cid, 13337) - os.time() <= 0 then setPlayerStorageValue(cid, 13337, os.time() + 20)local poss = getCreaturePosition(cid)local function Flame_Shoot()if isCreature(cid) thenfor i=1, 4 dolocal pos = {x=poss.x-5, y=poss.y-5, z=poss.z}local pos2 = {x=poss.x+(math.random(-2,2)), y=poss.y+(math.random(-2,2)), z=poss.z}local pos3 = {x=poss.x+(math.random(-2,2))+1, y=poss.y+(math.random(-2,2))+1, z=poss.z}doSendMagicEffect(pos3, 202)endendreturn TRUEendlocal parameters = {cid = cid, var = var}addEvent(Flame_Shoot, 100)addEvent(Flame_Shoot, 200)addEvent(Flame_Shoot, 300)addEvent(Flame_Shoot, 400)addEvent(Flame_Shoot, 500)addEvent(Flame_Shoot, 600)addEvent(Flame_Shoot, 700)addEvent(Flame_Shoot, 770)addEvent(onCastSpell1, 300, parameters)addEvent(onCastSpell1, 400, parameters)addEvent(onCastSpell1, 500, parameters)addEvent(onCastSpell1, 600, parameters)addEvent(onCastSpell1, 700, parameters)addEvent(onCastSpell1, 800, parameters)addEvent(onCastSpell1, 900, parameters)addEvent(onCastSpell1, 780, parameters)return TRUEelse doPlayerSendCancel(cid, "Cooldown for Frozzen Orb is " ..getPlayerStorageValue(cid, 13337) - os.time().." seconds")return falseendend testa aí
  3. ja conseguiu?
  4. na internet ta cheio cara, tem q pesquisar antes de chorar, slot system, tem para várias versões, inclusive veio no servidor que eu baixei aqui no tibiaking
  5. Reds postou uma resposta no tópico em Suporte Tibia OTServer
    http://pastebin.com/NsfJeAqa tinham postado aqui no forum essa semana
  6. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -25.3, 1, -25.3, 1) arr = { {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 3, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1} } local area = createCombatArea(arr) setCombatArea(combat, area) local function onCastSpell1(parameters) return isCreature(parameters.cid) and doCombat(parameters.cid, combat, parameters.var) end function onCastSpell(cid, var) if exhaustion.check(cid, 23004) == false then exhaustion.set(cid, 23004, 40) -- AQUI VOCE EDITA STORAGE E COOLDOWN local poss = getCreaturePosition(cid) local function Flame_Shoot() if isCreature(cid) then for i=1, 4 do local pos = {x=poss.x-5, y=poss.y-5, z=poss.z} local pos2 = {x=poss.x+(math.random(-2,2)), y=poss.y+(math.random(-2,2)), z=poss.z} local pos3 = {x=poss.x+(math.random(-2,2))+1, y=poss.y+(math.random(-2,2))+1, z=poss.z} doSendMagicEffect(pos3, 202) end end return TRUE end local parameters = {cid = cid, var = var} addEvent(Flame_Shoot, 100) addEvent(Flame_Shoot, 200) addEvent(Flame_Shoot, 300) addEvent(Flame_Shoot, 400) addEvent(Flame_Shoot, 500) addEvent(Flame_Shoot, 600) addEvent(Flame_Shoot, 700) addEvent(Flame_Shoot, 770) addEvent(onCastSpell1, 300, parameters) addEvent(onCastSpell1, 400, parameters) addEvent(onCastSpell1, 500, parameters) addEvent(onCastSpell1, 600, parameters) addEvent(onCastSpell1, 700, parameters) addEvent(onCastSpell1, 800, parameters) addEvent(onCastSpell1, 900, parameters) addEvent(onCastSpell1, 780, parameters) return TRUE else return false doPlayerSendCancel(cid, "Cooldown for Hastega is " ..exhaustion.get(cid, 23004).." seconds") end end
  7. ja veio no meu sv, a versao dele é 2.1.5
  8. esta fazendo algo errado provavelmente, eu usei esse comando essa semana e funcionou, deletou todos os chares
  9. verdade, o seu programa é diferente, vai passando o mouse nos icones até achar Open SQL query editor, ou algo do tipo, query editor etc..
  10. aperta em um lapis no sqlite studio, joga esse codigo: DELETE FROM `players` WHERE `name` NOT IN ('[Admin]','Druid Sample','Sorcerer Sample','Knight Sample','Paladin Sample') troque algum dos nomes pela conta do adm ai aperta em um raio que tem faça um backup caso de algum problema
  11. vc qr apagar tds contas?
  12. mantem o id e exclui as outras opçoes
  13. deixa o 13 do lado do outro 13 e apaga o resto, acho q da
  14. Reds postou uma resposta no tópico em Suporte Tibia OTServer
    se bater em arvore, montanha ou algo do tipo a bola para de andar?
  15. Reds postou uma resposta no tópico em Suporte Tibia OTServer
  16. Reds postou uma resposta no tópico em Suporte Tibia OTServer
    como funciona o evento?
  17. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_EARTHDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_PLANTATTACK) setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 5, 10) local area = createCombatArea({ -- Area da magia {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0}}) setCombatArea(combat, area) function onCastSpell(cid, var) return doCombat(cid, combat, var) end 1 significa onde a spell vai pegar 0 significa onde a spell nao vai pegar 3 significa onde o player está
  18. Reds postou uma resposta no tópico em Suporte Tibia OTServer
    tem q mexer nas sources, tem vários tutoriais aqui no tk
  19. tenta trocar o walkinterval para 99999999
  20. Reds postou uma resposta no tópico em Suporte & Pedidos
    7.6 pq ja tinha wand
  21. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 10) function onCastSpell(cid, var) alvo = getCreatureTarget(cid) if not isPlayer(alvo) then local target = getCreatureTarget(cid) local enemypos = getCreaturePosition(target) if target == isMonster or isCreature then doTeleportThing(cid, enemypos) end return doCombat(cid, combat, var) end else return false end
  22. local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 10) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -350.0, 0, -365.0, 0) function onCastSpell(cid, var) alvo = getCreatureTarget(cid) if not isPlayer(alvo) then local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+1, y=getThingPosition(getCreatureTarget(cid)).y+1, z=getThingPosition(getCreatureTarget(cid)).z} local target = getCreatureTarget(cid) local enemypos = getCreaturePosition(target) if target == isMonster or isCreature then doTeleportThing(cid, enemypos) doSendMagicEffect(position1, 54) end return doCombat(cid, combat, var) end else return false end
  23. Reds postou uma resposta no tópico em Suporte Tibia OTServer
    local config = { minlevel = 510, --- level inical para resetar price = 10000, --- preço inicial para resetar newlevel = 8, --- level após reset priceByReset = 0, --- preço acrescentado por reset percent = 100, ---- porcentagem da vida/mana que você terá ao resetar (em relação à sua antiga vida total) maxresets = 50, levelbyreset = 10 --- quanto de level vai precisar a mais no próximo reset } --- end config function getResets(uid) resets = getPlayerStorageValue(uid, 378378) if resets < 0 then resets = 0 end return resets end local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid function addReset(cid) if getPlayerVocation(cid) < 13 or getPlayerVocation(cid) > 16 then return false end if(npcHandler:isFocused(cid)) then npcHandler:releaseFocus(cid) end talkState[talkUser] = 0 resets = getResets(cid) setPlayerStorageValue(cid, 378378, resets+1) doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) local hp = getCreatureMaxHealth(cid) local resethp = hp*(config.percent/100) setCreatureMaxHealth(cid, resethp) local differencehp = (hp - resethp) doCreatureAddHealth(cid, -differencehp) local mana = getCreatureMaxMana(cid) local resetmana = mana*(config.percent/100) setCreatureMaxMana(cid, resetmana) local differencemana = (mana - resetmana) doCreatureAddMana(cid, -differencemana) doRemoveCreature(cid) local description = resets+1 db.executeQuery("UPDATE `players` SET `description` = ' [Reset: "..description.."]' WHERE `players`.`id`= ".. playerid .."") db.executeQuery("UPDATE `players` SET `level`="..config.newlevel..",`experience`= 0 WHERE `players`.`id`= ".. playerid .."") return true end local newPrice = config.price + (getResets(cid) * config.priceByReset) local newminlevel = config.minlevel + (getResets(cid) * config.levelbyreset) if msgcontains(msg, 'reset') then if getResets(cid) < config.maxresets then selfSay('You want to reset your character? It will cost '..newPrice..' gp\'s!', cid) talkState[talkUser] = 1 else selfSay('You already reached the maximum reset level!', cid) end elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then if getPlayerMoney(cid) < newPrice then selfSay('Its necessary to have at least '..newPrice..' gp\'s for reseting!', cid) elseif getPlayerLevel(cid) < newminlevel then selfSay('The minimum level for reseting is '..newminlevel..'!', cid) else doPlayerRemoveMoney(cid,newPrice) playerid = getPlayerGUID(cid) addEvent(function() if isPlayer(cid) then addReset(cid) end end, 3000) local number = getResets(cid)+1 local msg ="---[Reset: "..number.."]-- You have reseted! You'll be disconnected in 3 seconds." doPlayerPopupFYI(cid, msg) talkState[talkUser] = 0 npcHandler:releaseFocus(cid) end talkState[talkUser] = 0 elseif(msgcontains(msg, 'no')) and isInArray({1}, talkState[talkUser]) == TRUE then talkState[talkUser] = 0 npcHandler:releaseFocus(cid) selfSay('Ok.', cid) elseif msgcontains(msg, 'quantity') then selfSay('You have a total of '..getResets(cid)..' reset(s).', cid) talkState[talkUser] = 0 end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) acima configurado as vocaçoes 13, 14, 15 e 16 para arrumar o gold acrescentado por reset é no inicio, aqui: priceByReset = 10000, --- preço acrescentado por reset colocando 10000 aqui ^, é 10k a mais por reset
  24. local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} 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 local items = { item1 = {2146, 5908}, -- item1 item que será pedido e que será dado na primeira troca item2 = {2146, 2195} -- item2 item que será pedido e que será dado na segunda troca } local counts = { count1 = {20, 1}, -- count1 quantidade que será pedido e que será dado na primeira troca count2 = {50, 1} -- count2 quantidade que será pedido e que será dado na segunda troca } function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'obsidian knife') then if getPlayerItemCount(cid, items.item1[1]) >= counts.count1[1] then doPlayerRemoveItem(cid, items.item1[1], counts.count1[1]) doPlayerAddItem(cid, items.item1[2], counts.count1[2]) selfSay('You just swap '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..' for '.. counts.count1[2] ..' '.. getItemNameById(items.item1[2]) ..'.', cid) else selfSay('You need '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..'.', cid) end elseif msgcontains(msg, 'boots of haste') then if getPlayerItemCount(cid, items.item2[1]) >= counts.count2[1] then doPlayerRemoveItem(cid, items.item2[1], counts.count2[1]) doPlayerAddItem(cid, items.item2[2], counts.count2[2]) selfSay('You just swap '.. counts.count2[1] ..' '.. getItemNameById(items.item2[1]) ..' for '.. counts.count2[2] ..' '.. getItemNameById(items.item2[2]) ..'.', cid) else selfSay('You need '.. counts.count2[1] ..' '.. getItemNameById(items.item2[1]) ..'.', cid) end end return TRUE end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) <?xml version="1.0" encoding="UTF-8"?> <npc name="Collector" script="data/npc/scripts/diamante.lua" walkinterval="3000" floorchange="0" access="5" > <health now="150" max="150"/> <look type="130" head="0" body="114" legs="114" feet="0"/> <parameters> <parameter key="message_greet" value="Welcome, I can trade {obsidian knife} for 20 small sapphires and {boots of haste} for 50 small sapphires"/> <parameter key="message_farewell" value="Bye"/> </parameters> </npc>

Informação Importante

Confirmação de Termo