Search the Community
Showing results for tags 'stamina'.
-
-- Eu uso TFS 0.4 -- Opa pessoal. Sei que existe alguns Script para regenerar Stamina, porém não consegui achar um que seguisse essas regras: Opção 1 - Ao atacar o Training por 2 minutos, acrescentaria 1 minuto na Stamina Normal. E para Stamina Bonus a cada 5 minutos atacando, acrescentaria 1 minuto. Opção 2 (Caso a Opção 1 fique difícil de arrumar essas variáveis) - Ao atacar o Training por 2 minutos, acrescentaria 1 minuto na Stamina Normal e não acrescentaria nada para Stamina Bonus. Sendo assim, quando chegar em "40:00" a Stamina não recupera mais, para conseguir recuperar Stamina Bonus só ficando OFFLINE.
-
Ta ai um script muito bom galera, créditos e instruções no próprio script. --[[ Square Skill Trainer made by Arthur aka artofwork 12/1/14, my original account Updated 10/15/2015, to 1.2 based on tfs sources on github by Codex NG This script will train all of a players skills indefintely including magic level It has a small configuration setup where you can set the number of tries per skill The time interval in between each skill try added A storage value to help prevent abuse You can assign any tile you wish to this script that a player can walk on with action id 900 Now removes offline training time for free accounts New in this script? skill tries for both free account & premium accounts mana gain for both free & premium accounts mana multipliers to effect magic level for both free and premium accounts based on percentage experience gain for both free and prem accounts Added optional all skills for free accounts or just the weapons & shield they have equiped add this too movements <!-- Square Trainer --> <movevent event="StepIn" actionid="900" script="squaretrainer.lua"/> <movevent event="StepOut" actionid="900" script="squaretrainer.lua"/> save this file in data\movements\script\ as squaretrainer.lua ]]-- local special = false -- true for vip false for prem -- do not edit local currentTime = os.time() local day = 86400 -- 1 full day in seconds local minimumTime = 0 -- minimum time for vip local addSkillTimer = 1000 -- do not edit - time at which skill tries are added local skills = 5 -- 0 to 5 includes 0:fist, 1:club, 2:sword, 3:axe, 4:distance, 5:shield -- do not edit ------------------------------- local allskills = false -- should free accounts train all their skills local removeOfflineTime = true -- do you want to remove offline training time? -- minutes to remove per minute, should be minimum 2 since they gain a minute for every minute they are not killing something local timeOfOfflineToRemove = 2 -- minimum hours needed to train, set it to 12 if u want to test the tp to temple local minimumTimeNeedToUseTrainers = 1 local useConfigMlRate = false -- do you want to use the config settings rate of Magic in this script local useConfigExpRate = false -- do you want to use the config settings rate of Exp in this script local useConfigSkillRate = true -- do you want to use the config settings rate of Skills in this script -- do not edit local keys = { RATE_SKILL = 6, RATE_MAGIC = 8, RATE_LOOT = 7, RATE_EXPERIENCE = 5 } local tseconds = 1000 local tminute = 60 * tseconds local thour = 60 * tminute local trainingTimeMax = thour * minimumTimeNeedToUseTrainers -- 43200000 default value (12 hours) ----------------- -- used by isSpecial, this allows certain account types to skip the offline time removal local godAccount = 4 -- tile actionid local aid = 900 local p = {} local addskills = { prem = 1000, -- xp to add as vip/prem (depends if special is true) account per interval -- the rate is a percentage of their max mana, this way it scales with their level manaGainPremRate = .10, -- mana to add as vip/prem (depends if special is true) account per interval premSkillTries = 100, -- Number of tries per skill for vip/prem (depends if special is true) account per interval premManaMultiplier = 5, -- when player has full mana multiply how much more mana is used to gain magic level free = 100, manaGainFreeRate = .01, -- mana to add as free account per interval freeSkillTries = 1, -- Number of tries per skill for free account freeManaMultiplier = 1, -- when player has full mana multiply how much more mana is used to gain magic level balanceShield = 3 -- 3 is good, but if shielding goes up too quick then lower it, use only whole numbers e.g. 1, 2, 3 } -- do not edit local weaponTypes = { [0] = { 0, 0 }, -- fist { 1, 2 }, -- Sword { 2, 1 }, -- Club { 3, 3 }, -- Axe { 4, 5 }, -- Shield { 5, 4 }, -- Distance { 6, 0 } -- 6 is rod / wands, 0 is for fists.. } local shieldId = 5 function getSlottedItems(player) local left = pushThing(player:getSlotItem(CONST_SLOT_LEFT)).itemid local right = pushThing(player:getSlotItem(CONST_SLOT_RIGHT)).itemid left = ItemType( left ):getWeaponType() right = ItemType( right ):getWeaponType() return left, right end -------------------------------- -- this function is only effected by free accounts function templeTeleport(p) p.player:getPosition():sendMagicEffect(CONST_ME_TELEPORT) p.player:setStorageValue( 18010, 0) local temple = p.player:getTown():getTemplePosition() p.player:teleportTo(temple) temple:sendMagicEffect(CONST_ME_ENERGYAREA) p.player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Sorry, "..p.name.." you don't have enough offline time to train.") end function RemoveOfflineTrainingTime(p) if trainingTimeCheck(p) then p.player:removeOfflineTrainingTime(timeOfOfflineToRemove * 60000) p.seconds = 60000 -- reset the timer end end function trainingTimeCheck(p) local time_ = p.player:getOfflineTrainingTime() if time_ <= (timeOfOfflineToRemove * tminute) then templeTeleport(p) end if time_ >= trainingTimeMax then return true else templeTeleport(p) end end function isSpecial(player) -- this is so i could test the shit right away if player:getAccountType() >= godAccount then return true end if special then return (math.floor((player:getStorageValue(13540) - currentTime) / (day)) > minimumTime) else return player:isPremium() end end function train(p) local player = p.player if player:isPlayer() and player:getStorageValue(18010) == 1 then if isSpecial(player) then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Your training session will now begin.") addEvent(trainMe, 1, p) else -- if free account, they have to wait 30 seconds to begin training if p.secondsTime > 0 then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Your training session will begin in "..(p.secondsTime).." seconds.") end if p.secondsTime <= 0 then player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Your training session will now begin.") addEvent(trainMe, 1, p) else p.secondsTime = p.secondsTime - 10 addEvent(train, 10000, p) end end end return true end function returnRate(useRate, RATE) return useRate and configManager.getNumber(RATE) - 3300 or 1 end function trainMe(p) local player = p.player local weaponLeft, weaponRight = getSlottedItems(player) if player:isPlayer() and player:getStorageValue(18010) == 1 then if isSpecial(player) then player:addExperience(addskills["prem"] * returnRate(useConfigExpRate, RATE_EXPERIENCE) ) -- add mana to player based on premium mana rate settings player:addManaSpent(addskills["manaGainPremRate"] * player:getMaxMana() ) else player:addExperience(addskills["free"] * returnRate(useConfigExpRate, RATE_EXPERIENCE) ) -- add mana to player based on free mana rate settings player:addManaSpent(addskills["manaGainFreeRate"] * player:getMaxMana() ) end for i = 0, skills do if isSpecial(player) then if i == shieldId then -- shielding, will help balance shield gain player:addSkillTries(i, (addskills["premSkillTries"] * addskills["balanceShield"]) * returnRate(useConfigSkillRate, RATE_SKILL) ) else player:addSkillTries(i, addskills["premSkillTries"] * returnRate(useConfigSkillRate, RATE_SKILL) ) -- all other skills end else if allskills then if i == shieldId then -- shielding, will help balance shield gain player:addSkillTries(i, (addskills["freeSkillTries"] * addskills["balanceShield"]) * returnRate(useConfigSkillRate, RATE_SKILL) ) else player:addSkillTries(i, addskills["freeSkillTries"] * returnRate(useConfigSkillRate, RATE_SKILL) ) -- all other skills end else -- this effects only free accounts for i = 0, #weaponTypes do if weaponTypes[i][2] == shieldId and weaponTypes[i][1] == weaponRight then player:addSkillTries(weaponTypes[i][2], (addskills["freeSkillTries"] * addskills["balanceShield"]) * returnRate(useConfigSkillRate, RATE_SKILL) ) end if weaponTypes[i][2] ~= shieldId and weaponTypes[i][1] == weaponLeft then player:addSkillTries(weaponTypes[i][2], addskills["freeSkillTries"] * returnRate(useConfigSkillRate, RATE_SKILL) ) end end end end -- will increase magic level based on max mana times multiplier local maxMana = player:getMaxMana() if player:getMana() == maxMana then if isSpecial(player) then -- premium account multiplier used to increase level player:addManaSpent(maxMana * (addskills["premManaMultiplier"] * returnRate(useConfigMlRate, RATE_MAGIC)) ) else -- free account multiplier used to increase level player:addManaSpent(maxMana * (addskills["freeManaMultiplier"] * returnRate(useConfigMlRate, RATE_MAGIC)) ) end player:addMana(-maxMana) end end if not isSpecial(player) then p.seconds = p.seconds - addSkillTimer if(p.seconds <= 1000) then -- we want to be fair so we make sure the player gets a whole minute if removeOfflineTime then addEvent(RemoveOfflineTrainingTime, 1, p) end end end addEvent(trainMe, addSkillTimer, p) end return true end function onStepIn(player, item, position, fromPosition) if not player:isPlayer() then return false end p = -- this is table is essential so we can pass it to the other functions { player = player:getPlayer(), item = item, pos = player:getPosition(), soul = player:getSoul(), seconds = 60000, secondsTime = 30, name = player:getName() } if player:isPlayer() then if player:getStorageValue(18010) < 1 then if p.item.actionid == aid then player:setStorageValue(18010, 1) -- if the player is a free acc they will lose offline training time as they train if removeOfflineTime then RemoveOfflineTrainingTime(p) end addEvent(train, 1, p) end else player:teleportTo(fromPos, true) end end return true end function onStepOut(player, item, position, fromPosition) p.secondsTime = 30 stopEvent(train) -- may not work as expected stopEvent(trainMe) -- may not work as expected player:setStorageValue(18010, 0) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Your training session has now ended.") return true end
-
Como desenvolve uma barra de status para cliente estendido ? No cliente estendido tem a barra de Health, Mana e Exp, quero por uma quarta barra,funcional, de Stamina, de forma que se o Player fizer "x" ações ele ira consumir essa barra. Como eu crio ?
-
Bom o Titulo já diz tudo neh' kkkkk acredito que muitos querem essa script e também não encontrei em lugar nenhum, então novamente resolvi fazer. Bom Não permito postar em outros foruns sem permição. Sem mais delongas.... O que é? R- É um item que fica no mapa em algum lugar e que os Premium Account quando estiverem com a Stamina baixa podem ir nesse local clicar nesse tal item e sua stamina começa a subir. (Só para Premium Account.) PS: Ainda não testei, testem ae e me digam como ficou, se funcionou, se deu erro... Vá em Actions/scripts copie qualquer script.lua renomeie para heallerstamina.lua e cole isso: Agora vai em Actions.xml e cola esta tag: Agora é só adicinoar a Unique ID no item desejado no Map Editor. Atenção: Lembrando, se forem postar essa script em outro forum postem os devidos creditos. Qualquer duvida posta ae. Se gostou REP+
-
E ai galera, blz!? Hoje eu vim aqui trazer um script de stamina potion... procurei no forum pra ver se existia algum script e só encontrei um que usa talkaction, esse que vou postar você utiliza o item como se estivesse usando uma mana potion, e a stamina recupera 100%. Segue o script: Vá até a pasta data\actions\scripts copei e cole qualquer arquivo dessa pasta, renomeie para stamina.lua, abra o arquivo apague tudo e cole o script abaixo: function onUse(cid, item, frompos, item2, topos) doPlayerAddStamina(cid, 2520) -- 2520 = 42 horas, se você colocar 1 o item ira curar 1 minuto da stamina. doSendMagicEffect(frompos, 1) -- Efeito, para mudar basta alterar o número 1 para o efeito que você quiser, /z 1 para ver o efeito no tibia. doRemoveItem(item.uid, 1) -- Se quiser que o item fique infinito, basta alterar o número 1 para 0 return 1 end Agora vá para a pasta data\actions abra o arquivo actions.xml e cole a linha abaixo em qualquer lugar dentro da tag <actions></actions>, no caso abaixo eu usei o item 7488 , mas você pode usar o item que quiser, desde que ele não esteja sendo usado por outro script. <action itemid="7488" script="stamina.lua"/> Pronto, a sua stamina potion já está criada! Para colocar a descrição no item, basta ir até a pasta data\items\items.xml procure pelo id 7488 ou o id do item que você escolheu usando CTRL+F e adicione a descrição no item, conforme o exemplo abaixo: <item id="7488" article="a" name="stamina potion"> <attribute key="description" value="Full stamina regeneration." /> <attribute key="weight" value="280" /> </item> Abraços!
- 1 reply
-
- stamina potion
- stamina
- (and 4 more)
-
Bom, Eu quero saber como eu posso auterar a stamina tipo: stamina estar 42:00 eu queria diminuir para 20:00 sera que tem como? se tiver ajuda aew rep+ Vlw.
-
Foi postado em 1 topico esse action de subir stamina, Encontrei uns erros pondo no meu servidor... alguem poderia corrigilos......Erros sao exemplo... Esse action enxe a Stamina toda ate 42 horas com 1 clique...... Ela nao cobra para fazer isso...... Ela nao para quando vc esta hull ou sem dinheiro. tb nao tem essa msg... fiz umas correções aqui e adicionei a ela Cost e não esta dando certo... Alguem poderia arrumar.... que ela cobre exemplo 10k e so enxe 1 hora por clike em ves de tudo.......... Essa e a postada
-
bem galera estou com um problema com o meu ot e estou presisando de um help seguinte a stamina bonus no meu server n esta funcionando aquela stamina verde ele fiCA COMO stamina normal n dá exp bonus queria a juda para consertar e que ela desse bonus nas duas primeiras horas alguem me ajuda? muito obrigado a quem me ajudar ^^
-
Intão, to com um seguinte problema, to num projeto de um OTserv e tals. nele eu queria por 1 item que enxa stamina, ja puis os scripts etc.. só que esse item é o Medal Of Honor, dai qnd vai da use nele abri aekla caixinha como se fosse uma letter, queria saber como faço para tirar isso para pode funcionar meu script. Alguem poderia me ajudar? vlw =) Aproveitando: eu queria aumentar o heal da exana mort pra heala uns 500~1k variando de acordo com o ml tals.como faço?aqui ta o healing
-
Galero queria pedir por favor para alguém me explicar como funciona a stamina. rateStaminaLoss = 1 >> Aqui é a valocidade que perde stamina. rateStaminaGain = 3 >> Aqui a valocidade que recupera stamina. rateStaminaThresholdGain = 12 staminaRatingLimitTop = 40 * 60 staminaRatingLimitBottom = 14 * 60 staminaLootLimit = 14 * 60 rateStaminaAboveNormal = 1.5 rateStaminaUnderNormal = 0.5 >> Aqui é a porcentagem que o player recebera a + de exp enquanto tiver a stamina verde. staminaThresholdOnlyPremium = true >> Aqui só premium accont ganha os 50% a + de experiencia por estar TRUE. Agora quero saber para que serve e como configurar cada um daqueles outros. por exemplo, eu to querendo almentar o tempo da stamina que fica no verde, assim almentando o tempo que os premium account iram receber a 50% a mais de experiencia.