eae pessoal do xtibia, aqui esta um script reformulado que um membro deixou no xtibia a muito tempo.
nesse script o tibia irar se tornar mais "real", Tornando possível levar dano de frio ou calor, funciona basicamente assim, dependendo da sua roupa e sua altura no tibia (em Z, subsolo e acima do solo)
você irar ganhar temperatura, e quando chegar a uma certa temperatura você irar levar dano, ex: eu desci ate o fundo, onde e muito frio portanto se eu não tiver uma roupa quente o suficiente vou levar dano de frio.
sem mais delongas vamos ao script ~~
#Instalação
Crie um arquivo chamado temp.lua em creaturescripts/scripts e coloque isso dentro
tempConfig = {-- Confing sub_config = true, -- Ativar temperatura subterranea? ( false - Não ) ( true - Sim ) death_config = true, -- Poder morrer se temperatura for muito alta/baixa?-- Temperatura normal temp_base = 26,-- Dano (aleatorio entre o minimo e o maximo) base_dano = -1, -- Dano por temperatura um pouco alta/baixa max_base_dano = -100, -- Dano por temperatura muito alta/baixa delay = 2000, -- tempo em milissigundos dos danos--Temperaturas (quando tiver essa temperatura vai levar dano) Temperatura_Calor = 40, Temperatura_Frio = 20,-- Quando tiver nessa temperatura o limite do dano e expandido Temperatura_Calor_D = 50, Temperatura_Frio_D = 10}-- determina a temperatura da outfit...outfit_temp = {-- Female Outfits [136] = 5,-- Citizen-- Male Outfits [128] = 5-- Citizen}-- determina a temperatura no acima do solo/subsolosub = {[0] = -8,--Nivel Mais Alto[1] = -5,[2] = -3,[3] = 2,[4] = 4,[5] = 3,[6] = 1,[7] = 0,--Nivel Normal[8] = 1,[9] = 2,[10] = -3,[11] = -5,[12] = -8,[13] = -10,[14] = -15,[15] = -20}--Nivel Mais Baixofunction onThink(creature, interval) local player = creature:getPlayer() local f = player:getPosition() local playerOutfit = player:getOutfit() local temp_local = player:getStorageValue(121314) if player:getAccountType() < ACCOUNT_TYPE_GOD then temp_user = ((tempConfig.temp_base + outfit_temp[playerOutfit.lookType]) + temp_local) if tempConfig.sub_config == true then -- Temperatura em alta/baixa altitides temp_user = temp_user + sub[f.z] end player:setStorageValue(12345, temp_user) if temp_user >= tempConfig.Temperatura_Calor then addEvent(function() player:sendTextMessage(MESSAGE_STATUS_WARNING, "muito Calor...") if temp_user >= (tempConfig.Temperatura_Calor + 6) then player:addHealth(math.random(tempConfig.base_dano, (tempConfig.max_base_dano + (temp_user - tempConfig.Temperatura_Calor)))) else player:addHealth(math.random(tempConfig.base_dano, -5)) end end ,tempConfig.delay) elseif temp_user <= tempConfig.Temperatura_Frio then addEvent(function() player:sendTextMessage(MESSAGE_STATUS_WARNING, "muito Frio...") if temp_user <= (tempConfig.Temperatura_Frio - 6) then player:addHealth(math.random(tempConfig.base_dano, (tempConfig.max_base_dano + (temp_user - tempConfig.Temperatura_Frio)))) else player:addHealth(math.random(tempConfig.base_dano, -5)) end end ,tempConfig.delay) elseif temp_user >= tempConfig.Temperatura_Calor_D or temp_user <= tempConfig.Temperatura_Frio_D then addEvent(function() if tempConfig.death_config == true then player:sendTextMessage(MESSAGE_STATUS_WARNING, "...") player:addHealth(math.random(tempConfig.base_dano - 5, tempConfig.max_base_dano)) end end ,tempConfig.delay) end endend
É em Creaturescript/Scripts/login.lua adicione a seguinte linha antes do return true no final do script
player:registerEvent("Temp") return trueend
É em Creaturescripts.xml e adicione a seguinte linha em qualquer lugar
<event type="think" name="Temp" script="temp.lua" />
Em talkactions/scripts crie um novo chamado de temp.lua e bote o seguinte dentro
function onSay(player, words, param) local temp = player:getStorageValue(12345) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Voce esta sentindo ".. temp .." Graus")end
É em talkactions.xml adicione essa linha
<talkaction words="!temp" script="temp.lua"/>
infelizmente eu não consegui adaptar tudo, principalmente a parte do movements, se alguém conseguir agradeceria se postasse
#Créditos
Pc98 Autor do script.
@patrickjean Por disponibilizar no Xtibia a base que eu usei > link <
@Noock por quase nada.