Ir para conteúdo

Featured Replies

Postado
  • Autor
9 horas atrás, Soaresdk disse:

@Emanueldk

 

Uso TFS 0.4 8.6

 

qual Quer vocação pode usa estatuas 

 

Em Data\lib

103-offline-training.lua

 


-- config, in percent of normal training with 2 trainers and player vocation mana regeneration [by food]
OfflineTraining_rates = {
[SKILL_CLUB] = 100,
[SKILL_SWORD] = 100,
[SKILL_AXE] = 100,
[SKILL_DISTANCE] = 100,
[SKILL_SHIELD] = 100,
[SKILL__MAGLEVEL] = 100
}
-- function that you should edit to make it add other skill etc.
function OfflineTraining_canStartTraining(cid) -- return bool
return getCreatureStorage(cid, 62669) > 0
end
function OfflineTraining_onStartTraining(cid)
-- maybe someone will need
-- to save your time, this: doPlayerPopupFYI(cid, "You started offline training.")
-- NOT WORK :(
end
function OfflineTraining_onEndTraining(cid)
doCreatureSetStorage(cid, 62669, 0)
end
function OfflineTraining_addTrainedSkills(cid, trainTime) -- time in minutes!
local timeInSeconds = trainTime * 60
local vocInfo = getVocationInfo(getPlayerVocation(cid))
if(getCreatureStorage(cid, 62669) == SKILL_SWORD) then
doPlayerAddSkillTry(cid, SKILL_SWORD, ((timeInSeconds * 1000) / vocInfo["attackSpeed"]) * OfflineTraining_rates[SKILL_SWORD] / 100, true)
elseif(getCreatureStorage(cid, 62669) == SKILL_AXE) then
doPlayerAddSkillTry(cid, SKILL_AXE, ((timeInSeconds * 1000) / vocInfo["attackSpeed"]) * OfflineTraining_rates[SKILL_AXE] / 100, true)
elseif(getCreatureStorage(cid, 62669) == SKILL__MAGLEVEL) then
doPlayerAddSpentMana(cid, ((timeInSeconds / vocInfo["manaGainTicks"]) * vocInfo["manaGain"]) * OfflineTraining_rates[SKILL__MAGLEVEL] / 100, true)
elseif(getCreatureStorage(cid, 62669) == SKILL_CLUB) then
doPlayerAddSkillTry(cid, SKILL_CLUB, ((timeInSeconds * 1000) / vocInfo["attackSpeed"]) * OfflineTraining_rates[SKILL_CLUB] / 100, true)
elseif(getCreatureStorage(cid, 62669) == SKILL_DISTANCE) then
doPlayerAddSkillTry(cid, SKILL_DISTANCE, ((timeInSeconds * 1000) / vocInfo["attackSpeed"]) * OfflineTraining_rates[SKILL_DISTANCE] / 100, true)
end
doPlayerAddSkillTry(cid, SKILL_SHIELD, timeInSeconds * OfflineTraining_rates[SKILL_SHIELD] / 100, true)
end

-- 4 functions to show right values on 'bar' in Tibia 9.6
function OfflineTraining_getTime(cid)
return getCreatureStorage(cid, 62666)
end
function OfflineTraining_setTime(cid, newTime)
-- set values only between 0 - 720 [12 hours]
doCreatureSetStorage(cid, 62666, math.max(0, math.min(newTime, 720)))
-- now code to force server to send 'PlayerStats' (including Offline Time)
-- we must change any stat: hp,mana,stamina,cap,soul,exp,level
doPlayerAddSoul(cid, 1)
doPlayerAddSoul(cid, -1)
end
function OfflineTraining_addTime(cid, addTime)
OfflineTraining_setTime(cid, OfflineTraining_getTime(cid) + addTime)
end
function OfflineTraining_removeTime(cid, removeTime)
OfflineTraining_setTime(cid, OfflineTraining_getTime(cid) - removeTime)
end

-- functions for library to add skills/mlvl
function OfflineTraining_initialize(cid)
if(OfflineTraining_getTime(cid) == -1) then
OfflineTraining_setTime(cid, 720)
OfflineTraining_setLogoutTime(cid) -- block problem with first login 'add time'
end
end
function OfflineTraining_isTraining(cid)
return (getCreatureStorage(cid, 62667) > 0)
end
function OfflineTraining_turnOnTraining(cid)
doCreatureSetStorage(cid, 62667, 1)
end
function OfflineTraining_turnOffTraining(cid)
doCreatureSetStorage(cid, 62667, 0)
end
function OfflineTraining_getOfflineTime(cid)
return math.floor((os.time() - getCreatureStorage(cid, 62668)) / 60)
end
function OfflineTraining_setLogoutTime(cid)
return doCreatureSetStorage(cid, 62668, os.time())
end

 

Em

Data/actions

abre actions.xml e add isso

 


	<!-- Offline Training -->
	<action itemid="8834" event="script" value="other/offlinetraining.lua"/>
	<action itemid="10353" event="script" value="other/offlinetraining.lua"/>
	<action itemid="8626" event="script" value="other/offlinetraining.lua"/>
	<action itemid="1444" event="script" value="other/offlinetraining.lua"/>
	<action itemid="10349" event="script" value="other/offlinetraining.lua"/>

em 

data\actions\scripts\other

coloca isso

 

offlinetraining.lua

 


function onUse(cid, item, fromPosition, itemEx, toPosition)
	if(item.itemid == 1444) then -- sword
		doCreatureSetStorage(cid, 62669, SKILL_SWORD)
	elseif(item.itemid == 10349) then -- axe
		doCreatureSetStorage(cid, 62669, SKILL_AXE)
	elseif(item.itemid == 8834) then -- mlvl
		doCreatureSetStorage(cid, 62669, SKILL__MAGLEVEL)
	elseif(item.itemid == 8626) then -- club
		doCreatureSetStorage(cid, 62669, SKILL_CLUB)
	elseif(item.itemid == 10353) then -- distannce
		doCreatureSetStorage(cid, 62669, SKILL_DISTANCE)
	end
	if item.actionid == 1000 then
	doRemoveCreature(cid)
end
	return true
end

Todas Estatuas

tem que ter Action ID > 1000

para coloca esse id usa mapa editor

 

ID Das Estatuas

1444 > Sword

10349> Axe

8834> ML

8626> Club

10353> Distannce

 

em data\creaturescripts

creaturescripts.xml coloca isso

 


		<!-- Offline Training -->
	<event type="login" name="offtrain_PlayerLogin" event="script" value="offtrain_login.lua"/>
	<event type="logout" name="offtrain_PlayerLogout" event="script" value="offtrain_logout.lua"/>

 

em data\creaturescripts\scripts

coloca esses dois

 

offtrain_login.lua


-- 0.4 - offline training - login.lua
function onLogin(cid)
	OfflineTraining_initialize(cid)
	if(OfflineTraining_isTraining(cid)) then
		OfflineTraining_turnOffTraining(cid)
		-- we add skill/mlvl, we select lower value: time that player was offline OR offline training time [bar in game - 9.6]
		OfflineTraining_addTrainedSkills(cid, math.min(OfflineTraining_getTime(cid), OfflineTraining_getOfflineTime(cid)))
		-- we remove offline training time [bar in game - 9.6],
		-- if player was offline longer then his 'offline training time' it will add him time [like on RL tibia]
		-- got '3  hours offline training time', stay logged off for 8 hours, you get skills for 3 hours and on login you got '5 hours offline training time'
		OfflineTraining_setTime(cid, math.abs(OfflineTraining_getTime(cid) - OfflineTraining_getOfflineTime(cid)))
		OfflineTraining_onEndTraining(cid)
	else
		-- offline training time also regenerate when you are offline, but NOT train
		OfflineTraining_setTime(cid, OfflineTraining_getTime(cid) + OfflineTraining_getOfflineTime(cid))
	end
	return true
end

 

offtrain_logout.lua

 

 

tipo, ele desloga quando eu dou use na statua mais nãoo tem como saber se está funcionando por que não aparece nenhuma mensagem quando loga de volta, não da enhuma erro na distro,

  • Respostas 12
  • Visualizações 629
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • @Emanueldk   Uso TFS 0.4 8.6   qual Quer vocação pode usa estatuas    Em Data\lib 103-offline-training.lua   -- config, in percent of normal training with 2

Posted Images

Postado

unico teste e ver quantos % ta Skill deixa um 30 minutos no train e server ligado quando vc volta ver se % ta mesmo aki no meu ta de boa. meu tive que coloca piso que so para cada vocação.

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo