Ir para conteúdo

Kyle Bellini

Membro
  • Registro em

  • Última visita

  1. Kyle Bellini reagiu a uma resposta no tópico: Adicionar mais posicoes
  2. Basta seguir o modelo da tabela; adicionar o nome do monstro, junto da posição onde quer que ele de spawn: local config = { monster = { [1] = {name = "Witch", position = {x = 79, y = 88, z = 6}}, [2] = {name = "Hydra", position = {x = 79, y = 89, z = 6}}, [3] = {name = "Dragon", position = {x = 79, y = 90, z = 6}}, }, removeTime = 20 -- Configurado em minutos } function onThink(interval, lastExecution) for index, monster in ipairs(config.monster) do local creature = doCreateMonster(monster.name, monster.position) addEvent(function() if not isCreature(creature) then return end doRemoveCreature(creature) end, config.removeTime * 60 * 1000) end return true end
  3. Como funciona o script? Qual é a intenção com ele? Daí eu vejo de criar algo um pouco mais elaborado, ou uma forma melhor/mais fácil de configurar
  4. envia o script do comando em questão, as vezes é configurado através dele mesmo
  5. mas no primeiro pedido foi exatamente isso que pediu, jogador só conseguiria utilizar se tivesse X item na bag kkkk tanto que não tem verificação se o item está equipado ou não, apenas se o jogador possui o item sobre o segundo pedido, o que acontece exatamente quando você tenta usar a spell? consegue fazer um gif? eu havia testado e tava ok
  6. não entendi, o primeiro script você pediu de uma forma, o segundo você pediu de outra (só utilizar se estiver no slot) como você realmente quer o script?
  7. a spell já funcionava anteriormente? não alterei nada na funcionalidade dela (buffs, e afins) vou testar depois
  8. What Member reagiu a uma resposta no tópico: erro no script de castspell item
  9. opa, não havia notado que era pra 1.x hahaha bom que já fica aí pra quem usa 0.x valeu Luan o/
  10. luanluciano93 reagiu a uma resposta no tópico: Storage na Talcaktion
  11. para fazer com que seja necessário o jogador possuir uma storage pra utilizar o comando, basta adicionar uma verificação no código: if getPlayerStorageValue(cid, storageNecessaria) ~= valorDaStorage then return doPlayerSendCancel(cid, "Você não possui tal tal tal") end
  12. fiz esse código aqui, pra ficar mais fácil de adicionar mais cidades posteriormente, sem ter que mexer no "código", só adicionar na tabela mesmo local config = { cities = { ["thais"] = { name = "Thais City", pos = {x = 141, y = 379, z = 7} }, ["carlin"] = { name = "Carlin City", pos = {x = 142, y = 379, z = 7} }, ["venore"] = { name = "Venore City", pos = {x = 143, y = 379, z = 7} }, ["kazordoon"] = { name = "Kazordoon City", pos = {x = 144, y = 379, z = 7} }, ["yalahar"] = { name = "Yalahar City", pos = {x = 145, y = 379, z = 7} }, }, effect = 39 } function onSay(cid, words, param, channel) if (param == "") then return doPlayerSendCancel(cid, string.format("No parameters. Try this instead: %s cityname.", words)) end local cities = "" for city, values in pairs (config.cities) do cities = city .. ", " .. cities cities = cities:gsub(", $", ".") end if not config.cities[param] then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, string.format("Available cities: %s", cities)) return doPlayerSendCancel(cid, "Invalid city. A list of available cities has been sent to you. Check your Default Channel.") end doTeleportThing(cid, config.cities[param].pos) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, string.format("You have been teleported to %s.", config.cities[param].name)) doSendMagicEffect(getPlayerPosition(cid), config.effect) return true end
  13. vou dar uma olhada, e envio aqui -------- testa aí local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, 30000) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, 10) setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, 25) setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, 25) setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, 25) setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, 25) setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, 25) setConditionParam(condition, CONDITION_PARAM_BUFF, true) setCombatCondition(combat, condition) local config = { exhaustionStorage = 13101, exhaustionTime = 30.0, ringId = 7116, effect = 112 } function onCastSpell(cid, var) if exhaustion.check(cid, config.exhaustionStorage) == TRUE then doPlayerSendCancel(cid, "Podera usar novamente dentro de 30 segundos.") doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) return false end local ringName = getItemNameById(config.ringId) if getPlayerSlotItem(cid, CONST_SLOT_RING).itemid ~= config.ringId then return doPlayerSendCancel(cid, string.format("You do not have a %s equipped.", ringName)) end for k = 1, 100 do addEvent(function() if isCreature(cid) then local pos1 = {x = getPlayerPosition(cid).x + 0, y = getPlayerPosition(cid).y + 0, z = getPlayerPosition(cid).z} doSendMagicEffect(pos1, config.effect) end end, 1 + ((k-1) * 300)) end exhaustion.set(cid, config.exhaustionStorage, config.exhaustionTime) return doCombat(cid, combat, var) end
  14. What Member reagiu a uma resposta no tópico: erro no script de castspell item
  15. me informa o id do item, e a quantidade, pra eu arrumar tudo
  16. What Member reagiu a uma resposta no tópico: erro no script de castspell item
  17. What Member reagiu a uma resposta no tópico: erro no script de castspell item
  18. What Member reagiu a uma resposta no tópico: erro no script de castspell item
  19. agora o seu primeiro if tem dois "end", só precisa de um
  20. você colocou duas onCastSpell(cid, var), e uma delas não está fechada (que é a primeira), pode deletar ela, e manter apenas a de baixo daí só copiar o que tem dentro da primeira onCastSpell e jogar pra baixo, onde está a segunda
  21. Envia aqui quais foram as alterações que você fez, que fica melhor de explicar/ver o que errou no script
  22. Precisa fazer a verificação se o jogador possui tal item, para isso, basta utilizar a função getPlayerItemCount(cid, itemid) function onGetFormulaValues(cid, level, maglevel) local levelTotal = level local min = (levelTotal * 4) / 5 + (maglevel * 25) / 2 local max = (levelTotal * 5) / 5 + (maglevel * 27) / 2 return -min, -max end local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 33) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 46) setCombatCallback(combat1, CALLBACK_PARAM_LEVELMAGICVALUE, "onGetFormulaValues") local function onCastSpell1(parameters) if not isPlayer(parameters.cid) then return true end doCombat(parameters.cid, parameters.combat1, parameters.var) end local config = { requiredItem = {itemid = 2675, count = 1} -- Coloque o id do item necessário em: 'itemid = aqui', e a quantidade necessária do item em: 'count = aqui' } function onCastSpell(cid, var) local parameters = {cid = cid, var = var, combat1 = combat1} local itemName = getItemNameById(config.requiredItem.itemid) if getPlayerItemCount(cid, config.requiredItem.itemid) < config.requiredItem.count then if config.requiredItem.count == 1 then doPlayerSendCancel(cid, string.format("You need %d %s to use this spell.", config.requiredItem.count, itemName)) else doPlayerSendCancel(cid, string.format("You need %d %ss to use this spell.", config.requiredItem.count, itemName)) end return end for k = 1, 10 do addEvent(function() if isCreature(cid) then addEvent(onCastSpell1, 1, parameters) end end, 1 + ((k-1) * 300)) end return true end

Informação Importante

Confirmação de Termo