Ir para conteúdo

premii

Membro
  • Registro em

  • Última visita

Tudo que premii postou

  1. Editei o post, adicionei as DLL's junto ao executável. valeu por avisar, ótima distro
  2. Fiz o reup pelo próprio TK, o outro link acabou sendo excluído. Scan: https://www.virustotal.com/gui/file/22926a8a46753b196ecdb07289be2a99dd9a6aeb77ae83ea4438ad31ff600bcf?nocache=1 ~Edit adicionei as DLL's para funcionar no windows 10 TheOTXServer_-_Fe_Edition.rar
  3. Boa tarde á todos, eu baixei a source pelo github e abri pelo visual studio 2017, pediu para fazer upgrade pra uma boost mais atualizada do windows 10 etc, eu selecionei para não fazer o update, utilizei a boost 1_71_0 do próprio OTX e consegui compilar sem problemas ou erros irei deixar abaixo o download do executável já compilado e o scan no vírus total, peço desculpas caso esteja errado não tenho muita prática com tópicos. OTX Windows 64 bits LINK: https://www.mediafire.com/file/ce2vwbuopgyakro/TheOTXServer-64-bits-windows.rar/file Scan: https://www.virustotal.com/gui/file/070c1fe14de7d967d2c210fbb890ffb9c0650a453c52d5f3c1b4a1aedead2a8c?nocache=1
  4. Me tira essa dúvida, é possível conseguir essa DLL ou apenas comprando de quem sabe fazer ?
  5. Boa noite, existe a possibilidade dessa função mount e modal window ser adicionada no old client da cipsoft (via DLL) ? Agradeço a atenção. 😄
  6. Boa noite, pelo que entendi na versão 8.0 esses efeitos não existem na source do servidor e no cliente do tibia(8.0) você vai precisar adicionar manualmente e dá um trabalho considerável, existem tutoriais aqui no fórum mais focado pra versão 8.6 não tenho certeza se a base é a mesma mas poderia usar como "guia" pra entender oque é preciso fazer
  7. Olá, poste o arquivo login.lua que está localizado na pasta creaturescripts/scripts
  8. Olá, testa remover ou comentar essa linha e verifica se o erro persiste. único script que possui statschange relacionado ao ataque. <event type="statschange" name="Critical" event="script" value="critical.lua"/>
  9. .Qual servidor ou website você utiliza como base? Servidor styller tfs 1.5 Qual o motivo deste tópico? Reescrever script de EXP POR HIT de 0.4 para tfs 1.x 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.1 -- Players Premiums terão exp multiplicada, caso não querer deixe 1. rateExp = 500 -- Exp caso não for usar stages. --TABELA DOUBLE EXP. PARA EVENTO --local stages = { -- ["DELEVEL-ATELEVEL"] = EXP, (OBS: NUNCA REPETIR O MSM NUMERO, SEMPRE COLOCAR UM A MAIS.) --["1-23"] = 100, --["24-30"] = 50, --["31-44"] = 36, --["45-150"] = 20, --["151-220"] = 16, --["221-240"] = 12, --["241-260"] = 8, --["261-290"] = 4, --["291-370"] = 2, --["371-500"] = 1.8, --["501-2000"] = 1.2, --} --TABELA ORIGINAL, VOLTAR APÓS DOUBLE EXP. local stages = { -- ["DELEVEL-ATELEVEL"] = EXP, (OBS: NUNCA REPETIR O MSM NUMERO, SEMPRE COLOCAR UM A MAIS.) ["1-23"] = 100, ["24-30"] = 25, ["31-44"] = 18, ["45-150"] = 10, ["151-220"] = 8, ["221-240"] = 6, ["241-260"] = 4, ["261-290"] = 2, ["291-370"] = 1, ["371-500"] = 0.9, ["501-2000"] = 0.6, } ultimateExp = 0.1 -- exp que vai usar caso o level do player não tiver mais na tabela . -- CONFIGURAÇÕES DA PARTY partyPorcent = 1 -- Quantos Porcento da exp vai para os membros da party levelBlockParty = 40 -- 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. [12673] = 1.5, } -- 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) and canUseSharedExperience(_cid) and isPartySharedExperienceActive(_cid) then local partyMembers = getPartyMembers(getPartyLeader(_cid)) local sorc,druid,paladin,knight = 0,0,0,0 for i = 1, #partyMembers do if isSorcerer(partyMembers[i]) then sorc = 1 else if isDruid (partyMembers[i]) then druid = 1 else if isPaladin (partyMembers[i]) then paladin = 1 else if isKnight (partyMembers[i]) then knight = 1 end end end end end local soma = knight + druid + sorc + paladin if (soma == 1) then partyExpMultiplier = 0.1 else if (soma == 2) then partyExpMultiplier = 0.8 else if (soma == 3) then partyExpMultiplier = 0.9 else if (soma == 4) then partyExpMultiplier = 1.1 end end end end local partyMembers, expParty = getPartyMembers(getPartyLeader(_cid)), expgain / 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 expgain = math.ceil(expgain * partyExpMultiplier) expParty = math.ceil(expgain * partyPorcent) expmember = math.ceil(expParty) for _, member in pairs(partyMembers) do if member ~= _cid then doPlayerSendTextMessage(member, 12, "You received "..expmember.." party exp.") doPlayerAddExp(member, expmember) end end doPlayerSendTextMessage(_cid, 12, "You gain "..expgain.." exp.") 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.
  10. Para aqueles que teve problemas em definir as posições do Castle para mover os players que não fossem donos do Castle é bem simples como nosso amigo Henrique Freitas disse: {x = xxx, y = xxx, z = 1}, {x = xxx, y = xxx, z = 7} selecione um quadrado em volta do castelo e marque duas posições 1° do canto superior esquerdo e 2° do canto inferior direito. Espero ter ajudado.
  11. Lek você vai na database em z_shop_offer e depois em offer_type seleciona a montaria que quer adicionar vai está mounts muda para mount e vê se funcionou. espero ter ajudado!
  12. desculpem reviver o tópico mas não funcionou testei aqui e deu "error C3861: 'getInstance': identifier not found" e varios outros..
  13. premii postou uma resposta no tópico em Mapas de Tibia
    uma dúvida tentei abrir o mapa aqui e o items.otb do meu rme não foi... poderia disponibilizar o seu ? Obrigado pela atenção.

Informação Importante

Confirmação de Termo