Ir para conteúdo

katumblo

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Curtir
    katumblo deu reputação a Imperius em Baú de recompensa de item modificado   
    Tipo isso?
     
     
    em data > actions > actions.xml:
     
    <!-- Baú Recompensa --> <action uniqueid="6600" script="bauRecompensa.lua" />  
     
    actions > scripts> bauRecompensa.lua:
     
    function onUse(cid, item, fromPosition, itemEx, toPosition) local storage = 555000 local cooldown = 7 -- tempo em (dias). local recompensasID = {12624, 12625, 12626} local randomRecompensa = recompensasID[math.random(1, #recompensasID)] -- function de tempo by FeeTads. local function getTimeString(self) local format = { {'dia', self / 60 / 60 / 24}, {'hora', self / 60 / 60 % 24}, {'minuto', self / 60 % 60}, {'segundo', self % 60} } local out = {} for k, t in ipairs(format) do local v = math.floor(t[2]) if(v > 0) then table.insert(out, (k < #format and (#out > 0 and ', ' or '') or ' e ') .. v .. ' ' .. t[1] .. (v ~= 1 and 's' or '')) end end local ret = table.concat(out) if ret:len() < 16 and ret:find('segundo') then local a, b = ret:find(' e ') ret = ret:sub(b+1) end return ret end if getPlayerStorageValue(cid, storage) - os.time() >= 1 then doPlayerSendCancel(cid, "Voce precisa aguardar "..getTimeString((getPlayerStorageValue(cid, storage)-os.time())).." para usar o bau.") return true end local item = doPlayerAddItem(cid, randomRecompensa, 1) doSendMagicEffect(getThingPos(cid), 30) if randomRecompensa == 12624 then -- NGO Kunai -- local attack = math.random(600, 1200) doItemSetAttribute(item, "attack", attack) doPlayerSendTextMessage(cid, 22, "Congratulations! You received a "..getItemNameById(randomRecompensa).. " with attack "..attack.."") elseif randomRecompensa == 12625 then -- NGO Shield -- local defense = math.random(100, 600) doItemSetAttribute(item, "defense", defense) doPlayerSendTextMessage(cid, 22, "Congratulations! You received a "..getItemNameById(randomRecompensa).. " with defense "..defense.."") elseif randomRecompensa == 12626 then -- NGO Sword -- local attack = math.random(600, 1200) doItemSetAttribute(item, "attack", attack) doPlayerSendTextMessage(cid, 22, "Congratulations! You received a "..getItemNameById(randomRecompensa).. " with attack "..attack.."") end setPlayerStorageValue(cid, storage, os.time() + (cooldown)*86400) -- Seta o Cooldown em (dias). return true end  
     
    Só consegui fazer para setar alguns atributos, pelo que vi (não tenho certeza) os demais atributos não vem configurados, então você terá que mexer na source se quiser adiciona-los dessa forma.
  2. Curtir
    katumblo deu reputação a Kramer em Script dash bugando em alguns pisos   
    Da uma conferida na propriedade do piso da cave e da cidade no qual buga pode tá errado aí, depois confere o item.xml
  3. Obrigado
    katumblo deu reputação a Wakon em (Resolvido)ERROS: luaGetThingPosition E luaAddEvent   
    @katumblo, o da sakura provavelmente está dando erro quando o alvo morre antes de terminar os hits, testa assim:

    O segundo erro acho que é nessa parte aqui:
     
    addEvent(onCastSpell2, 200, parameters) Está iniciando um evento chamando uma função que não existe(onCastSpell2), tenta remover ou trocar para onCastSpell1 para ver qual fica do jeito que você quer.
  4. Obrigado
    @katumblo, tenta assim:
     
    doPlayerSendChannelMessage(cid, "", "Mensagem...", TALKTYPE_CHANNEL_W, id_do_channel)  
  5. Gostei
    E ai, @katumblo, acho que o problema é que está faltando parâmetros nessa função que está gerando o erro, pelo menos no tfs 0.4 ela espera 5 parâmetros:
     
    doPlayerSendChannelMessage(cid, author, message, SpeakClasses, channel)  
    Nesse cenário eu acho que seria melhor usar a função doPlayerSendTextMessage(cid, MessageClasses, message) ou a função doPlayerSendCancel(cid, message).
    As definições para o segundo parâmetro da função doPlayerSendTextMessage você geralmente encontra em "data/lib/000-constant.lua", pesquisando por MESSAGE_TYPES.
  6. Gostei
    Estive com o mesmo problema a alguns dias, procurei uma solução e encontrei este tópico.
    Após conseguir solucionar meu problema resolvi postar aqui caso alguém tenha o mesmo problema..  
     
    Se o char não está salvando as skills é porque provavelmente não existem os registros em players_skills, então vamos adicionar.
     
    1º) Vamos achar o ID do player:
     Em seu banco de dados vá até a tabela players e clique em pesquisar, localizado na parte superior da pagina (IMAGEM DE UMA LUPA).  No bloco "name" digite o nome do player bugado e aperte enter pra executar.  Agora basta pegar o ID que é oque precisamos..  2º) Executando query:
    Clique em seu banco de dados novamente para voltar a todas as tabelas em seguida iremos em SQL localizado na parte superior da tela. Substitua onde tem ID pelo id do player que acabamos de buscar e execute a query. INSERT INTO `player_skills` (`player_id`, `skillid`, `value`, `count`) VALUES (ID, 0, 10, 0), (ID, 1, 10, 0), (ID, 2, 13, 60), (ID, 3, 10, 0), (ID, 4, 10, 0), (ID, 5, 11, 25), (ID, 6, 10, 0);  
    Omeu ficou desse jeito: INSERT INTO `player_skills` (`player_id`, `skillid`, `value`, `count`) VALUES (18, 0, 10, 0), (18, 1, 10, 0), (18, 2, 13, 60), (18, 3, 10, 0), (18, 4, 10, 0), (18, 5, 11, 25), (18, 6, 10, 0);  
  7. Gostei
    katumblo recebeu reputação de FeeTads em (Resolvido)(LuaInterface::luaGetPlayerFlagValue) Player not found   
    Aqui está:
     
    Spell 6:
    <instant name="For Attack" words="Mokuton Mokuryuy" lvl="50" mana="150" aggressive="1" range="5" blockwalls="1" needtarget="1" exhaustion="2000" needlearn="0" event="script" value="personagem/hashirama/6.lua">         <vocation id="11"/> <vocation id="1110"/> <vocation id="1120"/> <vocation id="1130"/> <vocation id="1140"/>         </instant>  

    Spell 7:
        <instant name="For Attack" words="Gosoju no Jutsu" lvl="60" mana="300" prem="0" exhaustion="2000" direction="1" event="script" value="personagem/hashirama/7.lua"> <vocation id="11"/> <vocation id="1110"/> <vocation id="1120"/> <vocation id="1130"/> <vocation id="1140"/>         </instant>  
     
     
    [EDIT]
     
    @FeeTads Coloquei do jeito que você falou pra por, mas da o mesmo erro e +1 de brinde agora ?:
    [Error - Spell Interface] data/spells/scripts/personagem/hashirama/6.lua:onCastSpell Description: (LuaInterface::luaGetPlayerFlagValue) Player not found [Error - Spell Interface] In a timer event called from: data/spells/scripts/personagem/hashirama/6.lua:onCastSpell Description: data/spells/scripts/personagem/hashirama/6.lua:17: attempt to index global 'parametes' (a nil value) stack traceback:         data/spells/scripts/personagem/hashirama/6.lua:17: in function <data/spells/scripts/personagem/hashirama/6.lua:16>  
     
    [EDIT]
     
     
    Encontrei a solução!
     
    O problema estava no arquivo de exaust, aqui ta como deixei ele para caso alguém no futuro venha procurar:
     
    exhaustion = { check = function(cid, storage) if isMonster(cid) then return false end if (getPlayerFlagValue(cid, PLAYERFLAG_HASNOEXHAUSTION)) then return false end return getPlayerStorageValue(cid, storage) >= os.time() end, get = function(cid, storage) if isMonster(cid) then return false end if (getPlayerFlagValue(cid, PLAYERFLAG_HASNOEXHAUSTION)) then return false end local exhaust = getPlayerStorageValue(cid, storage) if (exhaust > 0) then local left = exhaust - os.time() if (left >= 0) then return left end end return false end, set = function(cid, storage, time) if isMonster(cid) then return end setPlayerStorageValue(cid, storage, os.time() + time) end, make = function(cid, storage, time) local exhaust = exhaustion.get(cid, storage) if (not exhaust) then exhaustion.set(cid, storage, time) return true end return false end }  
     
    Muitissimo obrigado novamente pelo apoio @FeeTads 
     
  8. Gostei
    katumblo deu reputação a FeeTads em (Resolvido)(LuaInterface::luaGetPlayerFlagValue) Player not found   
    basicamente em função com delay, precisa checar se o cid ainda ta vivo pra executar, se n ele retorna erro mesmo
    local function onCastSpell1(parameters) if isCreature(parametes.cid) then return isPlayer(parameters.cid) and doCombat(parameters.cid, combat1, parameters.var) end end  
    se possível posta a linha do XML dessas spells pf
  9. Haha
    katumblo recebeu reputação de FeeTads em (Resolvido)Servidor travando ao realizar login/logout   
    Matou a charada po!
    Abri uma base dados no pc e o problema parou totalmente.
     
    Muuuuuuuuuuuuito obrigado cara, muito mesmo, tanto você quanto o FeeTads por disponibilizarem o tempo de vocês e me ajudarem!
     
    Abraço
  10. Haha
    katumblo recebeu reputação de Toruk em (Resolvido)Servidor travando ao realizar login/logout   
    Matou a charada po!
    Abri uma base dados no pc e o problema parou totalmente.
     
    Muuuuuuuuuuuuito obrigado cara, muito mesmo, tanto você quanto o FeeTads por disponibilizarem o tempo de vocês e me ajudarem!
     
    Abraço
  11. Obrigado
    katumblo deu reputação a FeeTads em (Resolvido)Servidor travando sempre que upa level ou skill   
    Sempre que upar LEVEL salva o character (é até bom deixar, mas vc pode colocar pra n salvar)
    savePlayer = false,
     
    esse script eu desabilitaria, meio que ele é inutil pro servidor quando se usa o advancedSave, no meu caso eu uso apenas o advanced save.
    tenta desabilitar os 2, e depois habilitar somente o advanced save
  12. Gostei
    katumblo recebeu reputação de FeeTads em (Resolvido)Servidor travando sempre que upa level ou skill   
    Como esse tópico ficou sem respostas e a resposta que eu queria quando abri ele já foi solucionada, vou abrir outro tópico com o assunto correto, muito obrigado FeeTads

Informação Importante

Confirmação de Termo