Ir para conteúdo

MaXwEllDeN

Barão
  • Total de itens

    246
  • Registro em

  • Última visita

  • Dias Ganhos

    2

Tudo que MaXwEllDeN postou

  1. Bem dahora cara, xD. Tipo, dá uma olhada como eu fiz pra evitar erros no console do teu servidor caso o player deslogue: J4UicZVX[/pastebin]
  2. MaXwEllDeN

    Acc manger

    Dá uma olhada nesse tutorial do XJhoow, sobre SQLite Studio: Tutorial Básico Sql Studio
  3. Tenta assim: function onAddItem(moveitem, tileitem, pos) doBroadcastMessage("GOOOOOOOOOOOOOOOOOOL!", MESSAGE_EVENT_ADVANCE) return true end <movevent event="AddItem" actionid="30214" tileitem="1" script="gol.lua"/> Só é você colocar a actionid 30214 no tile do gol.
  4. Cara, a ideia em sí é bem bacana, só não gostei da quantidade de gambiarra que tem, e da criação de uma função pra isso, não precisava criar essas funções ai hein!
  5. Skyen e Mock não sabem brincar. HUahuahua
  6. MaXwEllDeN

    Magic Effect

    Não são efeitos. São vários doSendAnimatedText, com esses carácteres: "`", "´", ".", ",". Que servidor é esse?
  7. MaXwEllDeN

    erro dificil

    Instala o sistema direito. Tá faltando o arquivo _woe.lua, provavelmente tem que ficar no mesmo diretório do seu executável.
  8. Nossa Dalvo, só tenho uma coisa a te falar cara: Meus parabéns, ótimo jeito de utilizar os metamétodos, ficou muito legal bro, na boa [:. Me add no Skype depois bro '-': MaXwEllDeN
  9. Nope. str = str .. char Não entendo por que insiste em pogar '-'. Eu até fazia funções como essa ai quando eu tava começando a aprender Lua, só pra praticar string.sub, minha lógica e coisas como tipo. Mas não vejo por que tornar do POG um estilo de vida.
  10. MaXwEllDeN

    Detect Life

    Provavelmente não tem nenhum tile na posição que foi passada como parâmetro da função <luaGerThingFromPosition>
  11. Cara, pff esqueceu de colocar o rei dos POGS, o Mock, sua lista nunca será completa sem ele.
  12. local createpos = {x = 160, y = 54, z = 7} -- Posição em que o teleport será criado local to_pos = {x = 140, y = 50, z = 2} -- Essa é a posição para qual o teleport vai levar local tempo = 50 -- Em Segundos local function remover_teleport() -- Função que vai remocer um teleport local teleport = getTileItemById(createpos, 1387) -- Essa função vai procurar o teleport na posição teleport_pos doRemoveItem(teleport.uid) -- Essa função vai remover o teleport return true end function onDeath(cid) -- Quando o monstro morrer executar esse script local teleport = getTileItemById(createpos, 1387) if teleport.uid > 1 then -- Essa condição return true -- Serve para não criar um teleport caso já tenha um na posição end doCreateTeleport(1387, to_pos, createpos) -- Essa função criará o teleport na posição 1387 addEvent(remover_teleport, tempo * 1000) -- Depois de (tempo * 1000) a função remover_teleport vai ser chamada -- O tempo, na função addEvent tem que ser em milisegundos, por isso multiplica por 1000 return true end Ah, e por favor não chama Lua de .lua, aheuhaeau
  13. Qual a versão do teu servidor?
  14. trava n,já fiz isso com tasklist(com loop só,colocar outros seria inutil),foda é para tem que fecha o server(mas fica um monte de janela de cmd) uma ves um cara tava enchendo o saco no msn passei um script +- assim(mas em binario com load) obs:jamais execute este script,n sei como arumar caso usem... Não existe a pasta Janelas da Microsoft no meu Linux, executei isso ai e não deu nada '-'
  15. MaXwEllDeN

    Warp Gate

    Wow! Gostei bem mais do seu! Como fez essa janelinha de seleção? Se não me engano o TFS do cliente 9.70 tem a função addPlayerDialog, algo assim. Eu tava jogando LOL ai tô no Janelas, quando eu for pro Linux eu posto o código aqui. @Edit Lib Movement
  16. Na boa Raposa, ótimo tutorial. A galera hoje em dia não se preocupa com a identação e faz os códigos de qualquer jeito, na seção de dúvidas o cara encontra vários scripts com erros simples, que com uma noção de escopo e identação não ocorreriam. Por que você não trás aquelas aulas lá do outro fórum? Sem elas eu creio que não teria despertado em mim a paixão por programação. Espero que postem seu tutorial no Portal
  17. Brun, por que você sempre faz algo do tipo: function func(number) local number = number Não entendo é a mesma coisa de fazer: local number = 5 local number = number
  18. MaXwEllDeN

    Warp Gate

    Skyen, você não sabe o quanto eu procurei esse script quando eu não sabia programar e ele não estava mais no outro fórum. Belo sistema parabéns por fazer códigos tão bons de ser lidos e muito funcionais, é ótimo ver você um pouco ativo no mundo dos OTS novamente. Olha uma versão que eu fiz do teu sistema:
  19. if skillTable[item.itemid].add == "none" then return false end
  20. Interessante Urso. Vou por aqui 1ms de intervalo pra ver o que acontece. @Off A quantos milênios você não atualiza sua assinatura?
  21. Dá uma olhada no que eu fiz: local maxSkills = 100 local skillTable = { --[id do item] = id da skill, [2400] = {id = 0, count = 1, add = "none"}, -- Strenght [2404] = {id = 1, count = 3, add = "speed"}, -- Agility [2403] = {id = 2, count = 20, add = "health"}, -- Vitality [2402] = {id = 3, count = 15, add = "mana"}, -- Energy [2401] = {id = 4, count = 1, add = "none"}, -- Range [2405] = {id = 5, count = 1, add = "none"}, -- Defense } local function doPlayerSetSkill(pid, skill, amount) local player = getPlayerByGUID(pid) if isCreature(player) then doRemoveCreature(player, true) end db.executeQuery("UPDATE `player_skills` SET `value` = ".. amount .." WHERE `player_id` = ".. pid .. " and `skillid` = ".. skill ..";") return true end local function doPlayerSetMagic(pid, amount) local player = getPlayerByGUID(pid) if isCreature(player) then doRemoveCreature(player, true) end db.executeQuery("UPDATE `players` SET `maglevel` = " .. amount .. " WHERE `id` = "..pid) return true end function onTextEdit(cid, item, newText) local skillId = skillTable[item.itemid] if not skillId then return true end local guid = getPlayerGUID(cid) local points = getPlayerMagLevel(cid) local skill = getPlayerSkillLevel(cid, skillId.id) local value = tonumber(newText) if not value or value < 0 then doPlayerSendCancel(cid, "Por favor, insira um número válido.") return false elseif getPlayerPz(cid) then doPlayerSendCancel(cid, "Você não pode estar em PZ.") return false elseif points < value then doPlayerSendCancel(cid, "Você não tem points suficientes.") return false elseif skill >= maxSkills then doPlayerSendCancel(cid, "Sua skill já está no máximo.") return false end local newValue = math.min(skill + value, maxSkills) if skillId.add == "none" then return false elseif skillId.add == "speed" then doChangeSpeed(cid, getCreatureSpeed(cid)+(value*skillId.count)) elseif skillId.add == "health" then setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+(value*skillId.count)) elseif skillId.add == "mana" then setCreatureMaxMana(cid, getCreatureMaxMana(cid)+(value*skillId.count)) end doPlayerSetSkill(guid, skillId.id, newValue) doPlayerSetMagic(guid, points - newValue + skill) return false end Sugiro que você leia esse Tópico: Boas Práticas Para Programar
  22. Cara, só é ler o erro, alí diz que não foi possível comparar um inteiro com NADA, config.exaust não existe.
  23. Mais simples, praticamente impossível. setPlayerStorageValue(uid, 81674, os.time()) local config = { exaust = 50; } function onCombat(cid) if os.time() - getPlayerStorageValue(cid, 81674) < config.exaust then return false end return true end
  24. local spell_config = { [1] = { damage = COMBAT_FIREDAMAGE, areaEffect = CONST_ME_FIREAREA, shootEffect = 15, formula = "-(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5))" }, [2] = { damage = COMBAT_ENERGYDAMAGE, areaEffect = CONST_ME_ENERGYAREA, shootEffect, 13, formula = "-(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5))" }, [3] = { damage = COMBAT_EARTHDAMAGE, areaEffect = CONST_ME_SMALLPLANTS, shootEffect, 1, formula = "-(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5))" } } local combats = {} function onGetFormulaValues(cid, level, skill, attack, factor) return -(((skill + 25) / 3) + (level / 5)), -((skill + 25) + (level / 5)) end for _, config in ipairs(spell_config) do local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, config.damage) setCombatParam(combat, COMBAT_PARAM_EFFECT, config.areaEffect) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, config.shootEffect) --setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") table.insert(combats, combat) end function onCastSpell(cid, var) for n = 1, #combats do addEvent(doCombat, n * 100, cid, combats[n], var) end return true end Não sei como funciona esse setCombatCallback, aparentemente está ok, tô meio com sono agora . Testa ai como eu coloquei ai, e presta atenção que eu criei outra função combat pra que quando ele tente executar se o player estiver morto ou algo do tipo, não bugar.
  25. Vai deixar o player imóvel: mayNotMove(cid, true) Vai fazer com que o player possa se mover novamente: mayNotMove(cid, false)
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...