Ir para conteúdo

carvaroth

Membro
  • Registro em

  • Última visita

Tudo que carvaroth postou

  1. carvaroth postou uma resposta no tópico em Suporte Tibia OTServer
    Boa noite pessoal, tudo certo? Precisava de uma ajuda no seguinte: Tenho um script que funciona perfeitamente e mostra as quests feitas no Gesior (já alterei todas as storages no config.php), porém fica muito feio o jeito que esse script funciona :X Acima o print de como fica no site, e o script que utilizei. Porém, tenho um outro script que deixa tudo muito mais organizado, como no exemplo abaixo: Só que estou enfrentando um problema com ele, mesmo após eu ter feito a quest, reparem que na imagem acima a "Inquisiton Quest" que estou usando como exemplo, aparece como se não estivesse sido completa. Dei uma olhada no script e meio que entendi o problema, mas como meu conhecimento é muito básico eu não consegui arrumar e nem adaptar o primeiro script para deixar mais bonito igual esse. Será que poderiam dar uma olhada no script abaixo e tentar resolver esse problema? O certo seria, após checar o storage, aparecer um escudo verde do lado do nome da quest e aumentar a % ali em cima, dessa forma aqui: Vou deixar o script que utilizo atualmente no spoiler abaixo. Fico grato se me ajudarem! Estou precisando muito.. Obrigado desde já! @EDITED Caso precisem, segue abaixo também a configuração no config.php:
  2. Alguém? EDITED 21/06/2022 Senhores, futuramente, caso alguém precise, deixo a solução abaixo: Para que os monstros fossem reconhecidos, é necessário que o nome dele esteja igual em todas as partes do script monster.xml. Por exemplo, os monstros do sistema de WOE, possuiam uma abreviação de "pre1", "pre2", "emp", e os nomes deles no jogo eram Emperium. Basicamente o que fiz, foi alterar o script do WOE e mudar o nome dos monstros. Vou deixar abaixo um exemplo, pois explicando pode parecer confuso. Script antigo de um monstro do WOE: Script novo:
  3. Boa tarde pessoal, tudo certo? Senhores, anteriormente eu tive um problema com meu script de EXP HIT pois ele não estava reconhecendo os trainers do meu server. Enfim, copiei o script de um monk, editei com mais vida e mudei alguns atributos, eai blz, funcionou! O problema é que, agora ele não esta reconhecendo os monstros do War Of Emperium, aqueles cristais azuis e vermelhos chamados "Emperium". Quando eu ataco eles, acusa o seguinte erro: E sendo assim, eu não consigo dar dano nesses monstros. Acredito que, todos os monstros que não são "padrões" do tibia, o script não reconhece. Sera que seria possível arrumar isso? Segue abaixo o script. Agradeço muito caso consigam me ajudar. Uma boa tarde a todos!
  4. Você é o cara meu irmão! Funcionou sim. EDITED Vou permanecer com ele dessa forma! Foi de grande ajuda, muito obrigado
  5. Alguém consegue ajudar?
  6. Boa tarde pessoal! Estou utilizando o sistema de EXP HIT no meu OT, porém encontrei um problema com a função "'doSendAnimatedText'". O que ocorre é o seguinte: Está configurado para quando estiver em party aparecer a XP que cada um está ganhando, porém ao ativar a XP compartilhada na party, os players não conseguem dar nenhum tipo de dano nos bichos e aparece o seguinte erro na minha distro; Conseguem me ajudar com isso? Lembrando que fora da party funciona normalmente, o problema é quando eu ativo para compartilhar XP na party. Segue abaixo o script que estou usando: (deixei em negrito as linhas que possuem a função 'doSendAnimatedText'. Obrigado desde já!
  7. tfs 0.4 8.6 o ot porem to fazendo as sprites
  8. ERRO CODIGO MOUNTDOLL.LUA Ao tentar utilizar o comando !mount o erro acima é exibido na distro, fala referente a linha 47 (data/talkactions/scripts/mountdoll.lua:47: attempt to call global 'getPlayerMount' (a nil value). Alguém tem ideia de como arrumar? Agradeço desde já!
  9. Pessoal, boa noite. Instalei um Exp hit no meu servidor, porém ao atacar o treiner ele mostra esse erro na distro. Acredito que o exp hit não reconheça o monstro chamado Treiner Tibia, e por esse motivo retorna esse erro. Alguém conseguiria me ajudar com alguma função para que esse erro não surgisse na distro ao atacar o treiner ou qualquer outro tipo de monstro que tenha um nome diferente dos comuns? Agradeço. Qual servidor ou website você utiliza como base? TFS 0.4 Qual o motivo deste tópico? DUVIDA COM SCRIPT Está surgindo algum erro? Se sim coloque-o aqui. Você tem o código disponível? Se tiver publique-o aqui: -- CONFIGURAÇÕES DE EXPERIENCIA -- useStages = true -- Usar sistema de Stages , true/false premiumMultipliqueExp = 1 -- Players Premiums terão exp multiplicada, caso não querer deixe 1. rateExp = 50 -- Exp caso não for usar stages. local stages = { -- ["DELEVEL-ATELEVEL"] = EXP, (OBS: NUNCA REPETIR O MSM NUMERO, SEMPRE COLOCAR UM A MAIS.) ["1-50"] = 150, ["51-80"] = 100, ["81-100"] = 80, ["101-150"] = 70, ["151-180"] = 60, ["181-200"] = 50, ["201-230"] = 45, ["231-250"] = 40, ["251-280"] = 35, ["281-300"] = 30, ["301-320"] = 25, ["321-350"] = 20, ["351-400"] = 15, } ultimateExp = 10 -- exp que vai usar caso o level do player não tiver mais na tabela . -- CONFIGURAÇÕES DA PARTY partyPorcent = 40 -- Quantos Porcento da exp vai para os membros da party levelBlockParty = 1000 -- Diferença Maxima de Level permitida para membro da party ganhar exp. expShareRadiusX = 30 -- Distancia maxima permitida no eixo X para membro da party ganhar exp. expShareRadiusY = 30 -- Distancia maxima permitida no eixo Y para membro da party ganhar exp. expShareRadiusZ = 1 -- Distancia maxima permitida no eixo Z para membro da party ganhar exp. -- CONFIGURAÇÕES DE RINGS -- local rings = { -- [ID DO ANEL] = EXP MULTIPLICADA POR X EXP. [3048] = 2, [3049] = 4, [3050] = 6, } -- FIM DAS CONFIGURAÇÕES -- function CalculeExp(monsterhp, exptotal, hit) hit = hit <= monsterhp and math.ceil(exptotal * hit / monsterhp) or 0 return hit < 0 and 0 or hit end function isSummon(cid) return getCreatureMaster(cid) end function onStatsChange(cid, attacker, type, combat, value) if isPlayer(attacker) and isMonster(cid) then if getCreatureStorage(cid, 50001) ~= 1 then doCreatureSetStorage(cid, 50002, getMonsterInfo(getCreatureName(cid)).experience * rateExp) doCreatureSetStorage(cid, 50001, 1) end end if type == STATSCHANGE_HEALTHLOSS then if isMonster(cid) then if isCreature(attacker) then local _cid = isSummon(attacker) and getCreatureMaster(attacker) or attacker if isPlayer(_cid) then if useStages then for strstage, experience in pairs(stages) do tabstage = string.explode(strstage, "-") if getPlayerLevel(_cid) >= tonumber(tabstage[1]) and getPlayerLevel(_cid) <= tonumber(tabstage[2]) then ultimateExp = experience end end experienceRate = ultimateExp else experienceRate = rateExp end local expgain = CalculeExp(getCreatureMaxHealth(cid), getMonsterInfo(getCreatureName(cid)).experience * experienceRate, value) if getCreatureStorage(cid, 50002) > 0 then if getCreatureStorage(cid, 50002) - expgain < 0 then expgain = getCreatureStorage(cid, 50002) end doCreatureSetStorage(cid, 50002, getCreatureStorage(cid, 50002) - expgain) local ringexp = 1 for idring, expring in pairs(rings) do if getPlayerSlotItem(_cid, 9).itemid == idring then ringexp = expring break end end local premiumMultipliqueExp = isPremium(_cid) and premiumMultipliqueExp or 1 expgain = expgain * ringexp * premiumMultipliqueExp local party = false if isInParty(_cid) then local partyMembers, expParty = getPartyMembers(getPartyLeader(_cid)), expgain / 100 * partyPorcent for indice, partyMember in pairs(partyMembers) do attackerLevel, partyLevel = getPlayerLevel(_cid), getPlayerLevel(partyMember) attackerPos, partyPos = getThingPos(_cid), getThingPos(partyMember) x = false if math.abs(attackerLevel - partyLevel) > levelBlockParty then x = true elseif math.abs(attackerPos.x - partyPos.x) > expShareRadiusX then x = true elseif math.abs(attackerPos.y - partyPos.y) > expShareRadiusY then x = true elseif attackerPos.z ~= partyPos.z then x = true elseif _cid == partyMember then x = true end if x then partyMembers[indice] = nil end end if #partyMembers ~= 0 then expParty = math.ceil(expgain / 100 * partyPorcent) expmember = math.ceil(expParty / #partyMembers) for _, member in pairs(partyMembers) do if member ~= _cid then doPlayerSendTextMessage(member, 12, "You received "..expmember.." party exp.") doSendAnimatedText(getCreaturePosition(member), expmember, 215) doPlayerAddExp(member, expmember) end end doPlayerSendTextMessage(_cid, 12, "You gain "..expgain.." exp. (" ..partyPorcent.."% send to party)") doSendAnimatedText(_cid, expgain - expParty, 215) doPlayerAddExp(_cid, expgain - expParty) party = true else party = false end end if not party then doPlayerAddExp(_cid, expgain) doSendAnimatedText(getThingPos(_cid), expgain, 215) end end end end end end return true end function onCombat(cid, target) if isMonster(target) and not isSummon(target) and not isPlayer(target) then registerCreatureEvent(target, "ExpGain") end return true end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. RESOLVIDO Vou deixar a solução abaixo caso alguém futuramente tenha o mesmo problema. Eu havia feito uma atualização no meu training monk, dessa forma, acusava o erro "(luaGetMonsterInfo) Monster not found". Simplesmente o que eu fiz foi editar o meu training monk.xml e adicionar ele no monster.xml com o nome de training monk. Vou deixar abaixo os dois arquivos.

Informação Importante

Confirmação de Termo