Histórico de Curtidas
-
katumblo deu reputação a Imperius em Baú de recompensa de item modificadoTipo 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.
-
katumblo deu reputação a Kramer em Script dash bugando em alguns pisosDa uma conferida na propriedade do piso da cave e da cidade no qual buga pode tá errado aí, depois confere o item.xml
-
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.
-
katumblo deu reputação a Wakon em (Resolvido)(LuaInterface::luaDoPlayerSendChannelMessage) Player not found@katumblo, tenta assim:
doPlayerSendChannelMessage(cid, "", "Mensagem...", TALKTYPE_CHANNEL_W, id_do_channel)
-
katumblo deu reputação a Wakon em (Resolvido)(LuaInterface::luaDoPlayerSendChannelMessage) Player not foundE 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.
-
katumblo deu reputação a magera em [BUG] Alguns Char Resetam o Skill para 10, quando relogam. ajudaa plxEstive 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);
-
katumblo recebeu reputação de FeeTads em (Resolvido)(LuaInterface::luaGetPlayerFlagValue) Player not foundAqui 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
-
katumblo deu reputação a FeeTads em (Resolvido)(LuaInterface::luaGetPlayerFlagValue) Player not foundbasicamente 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
-
katumblo recebeu reputação de FeeTads em (Resolvido)Servidor travando ao realizar login/logoutMatou 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
-
katumblo recebeu reputação de Toruk em (Resolvido)Servidor travando ao realizar login/logoutMatou 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
-
katumblo deu reputação a FeeTads em (Resolvido)Servidor travando sempre que upa level ou skillSempre 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
-
katumblo recebeu reputação de FeeTads em (Resolvido)Servidor travando sempre que upa level ou skillComo 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