Postado Dezembro 2, 2023 1 ano Autor 58 minutos atrás, leozincorsair disse: poderia me passar os codigo na source mano, fiquei interesado Citar bool Combat::CombatHealthFunc(Creature* caster, Creature* target, const CombatParams& params, void* data) { int32_t change = 0; if (Combat2Var* var = (Combat2Var*)data) { change = var->change; if (!change) change = random_range(var->minChange, var->maxChange, DISTRO_NORMAL); } if (g_game.combatBlockHit(params.combatType, caster, target, change, params.blockedByShield, params.blockedByArmor)) return false; if (change < 0 && caster && caster->getPlayer() && target->getPlayer() && target->getPlayer()->getSkull() != SKULL_BLACK) change = change / 2; std::string value; caster->getStorage("14335", value); int32_t plus = (int32_t)(atoi(value.c_str())); double resetpower = plus * 2.5; if (plus > 0 && params.combatType != COMBAT_HEALING) { double changeModifier = 1.0 + (resetpower / 100.0); change = (int32_t)std::ceil(change * changeModifier); } if (!g_game.combatChangeHealth(params.combatType, caster, target, change, params.effects.hit, params.effects.color)) return false; CombatConditionFunc(caster, target, params, NULL); CombatDispelFunc(caster, target, params, NULL); return true; } bool Combat::CombatManaFunc(Creature* caster, Creature* target, const CombatParams& params, void* data) { int32_t change = 0; if (Combat2Var* var = (Combat2Var*)data) { change = var->change; if (!change) change = random_range(var->minChange, var->maxChange, DISTRO_NORMAL); } if (change < 0 && caster && caster->getPlayer() && target->getPlayer() && target->getPlayer()->getSkull() != SKULL_BLACK) change = change / 2; std::string value; caster->getStorage("14335", value); int32_t plus = (int32_t)(atoi(value.c_str())); double resetpower = plus * 2.5; if (plus > 0 && params.combatType != COMBAT_HEALING) { double changeModifier = 1.0 + (resetpower / 100.0); change = (int32_t)std::ceil(change * changeModifier); } if (!g_game.combatChangeMana(caster, target, change)) return false; CombatConditionFunc(caster, target, params, NULL); CombatDispelFunc(caster, target, params, NULL); return true; }
Postado Dezembro 2, 2023 1 ano Em 30/11/2023 em 14:34, Doidodepeda disse: @GM Vortex Faz um tempo q tava atras de um script de damage para meu ot, publiquei aqui e em outros foruns, porem sem sucesso. Esses dias voce me ajudou com o script de reset, onde davaa bonus de damage ao resetar, e estava aq pensando. Da pra aproveitar uma parte do system de reset para faze um ''systema de damage''?? Como voce ja sabe como mecher e creio onde mecher sera que dava pra voce da essa força porfavor ? Eu tava pensando aquo sea q da pa gente aproveitaria essa parte do script na sourcer e um script de action para da atributo do damage. Script e esse aqui: oq eu acho q dava pra aproveitar essa parte aqui: Entao... jogar essa parte na soucer e fazer uma action onde o player clicar no item ele ganharia o bonus de damage ! Mano, da essa força pofavor ? eu creio q voce pode fazer, pq vc ja tem as manhas ! Se puder ajudar.... ♥ @leozincorsairTem um link aqui. Basta clicar e abrirá em outro navegador. Há dois tipos: OTX ou TFS. Não sei qual você usa como base, então dê uma olhada aqui
Postado Dezembro 3, 2023 1 ano 14 horas atrás, GM Vortex disse: @leozincorsairTem um link aqui. Basta clicar e abrirá em outro navegador. Há dois tipos: OTX ou TFS. Não sei qual você usa como base, então dê uma olhada aqui nao to achando amigo, poderia me enviar por favor!
Postado Dezembro 3, 2023 1 ano 9 horas atrás, leozincorsair disse: nao to achando amigo, poderia me enviar por favor!
Postado Dezembro 5, 2023 1 ano Autor Em 30/11/2023 em 15:45, GM Vortex disse: local config = { effectonuse = 14, levelsdamage = 100, storagedamage = 14335 } function onUse(cid, item, frompos, item2, topos) local currentDamage = getPlayerStorageValue(cid, config.storagedamage) or 0 if currentDamage < config.levelsdamage then local newDamage = currentDamage + 1 doRemoveItem(item.uid, 1) doSendMagicEffect(topos, config.effectonuse) setPlayerStorageValue(cid, config.storagedamage, newDamage) local message = string.format("Seu dano foi aumentado para [%d/100].", newDamage) doPlayerSendTextMessage(cid, 22, message) else doPlayerSendTextMessage(cid, 22, "Você já atingiu o nível máximo de dano.\nParabéns!!!!") return false end return true end Recomendo que você coloque o dano por reset na source com valor de 1.0 ou 1.5 no máximo. Se for 2.0 ou mais, o dano alto é muito exagerado. Por isso, recomendo um valor menor, entre 1.0 e 1.5. Seria legal ter o dano por cada reset ou item ao clicar, por exemplo, 1/100 de evolução. Show, funcionouuu. poderia essa essa parte aqui para aparecer no script pf. Para aparecer quanto de damage o player tem ao usar cada pedra. Citar elseif msgcontains(msg, 'damage') then local resets = getPlayerStorageValue(cid, 14335) or 0 local damage = resets * 2.5 -- Calcula o damage por reset selfSay('Seu damage atual e: ' .. damage, cid) -- Exibe o damage por reset ao jogador talkState[talkUser] = 0 end
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.