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. 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. 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 '-'
  14. 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
  15. 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
  16. 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
  17. 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:
  18. if skillTable[item.itemid].add == "none" then return false end
  19. Interessante Urso. Vou por aqui 1ms de intervalo pra ver o que acontece. @Off A quantos milênios você não atualiza sua assinatura?
  20. 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
  21. Cara, só é ler o erro, alí diz que não foi possível comparar um inteiro com NADA, config.exaust não existe.
  22. 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
  23. 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.
  24. 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...