Postado Outubro 13, 2023 1 ano Bom, como diz no titulo, gostaria de um buff que o player ganharia a cada vez que logasse se tivesse X de storage, tentei fazer o script com a função onLogin, mas teve vezes que funcionou e outras que não ao logar no personagem. (É necessário que seja um buff de ML e não apenas ganhar a skill de ML, já que caso ele morra ele pode perder.) 0 de ML tendo 0 da storage 848484 1 de ML tendo 5 a 10 da storage 848484 2 de ML tendo 15 ou mais da storage 848484 Procurei por algo similar no fórum e não achei, caso possam me ajudar ou pelo menos apontar a direção de alguma forma. Obrigado desde já. Pode ser uma spell também caso não dê para fazer em creaturescripts, tentei fazer mas sempre que eu usava a magia dava poison invés de ML.. Editado Outubro 14, 2023 1 ano por King Laker (veja o histórico de edições)
Postado Outubro 13, 2023 1 ano function onLogin(cid) local playerStorageValue = getPlayerStorageValue(cid, 848484) local mlBuffLevel = 0 if playerStorageValue >= 0 and playerStorageValue < 5 then mlBuffLevel = 1 elseif playerStorageValue >= 5 and playerStorageValue < 15 then mlBuffLevel = 2 elseif playerStorageValue >= 15 then mlBuffLevel = 3 end doPlayerAddManaSpent(cid, mlBuffLevel) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você recebeu um buff de Magic Level: " .. mlBuffLevel) end Será que é parecido assim?
Postado Outubro 13, 2023 1 ano Autor 26 minutos atrás, GM Vortex disse: function onLogin(cid) local playerStorageValue = getPlayerStorageValue(cid, 848484) local mlBuffLevel = 0 if playerStorageValue >= 0 and playerStorageValue < 5 then mlBuffLevel = 1 elseif playerStorageValue >= 5 and playerStorageValue < 15 then mlBuffLevel = 2 elseif playerStorageValue >= 15 then mlBuffLevel = 3 end doPlayerAddManaSpent(cid, mlBuffLevel) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você recebeu um buff de Magic Level: " .. mlBuffLevel) end Será que é parecido assim? O seu nem chegou a funcionar. Infelizmente o script que eu fiz ele não funcionava toda vez que o jogador logava e também não achei uma maneira de configurar mais de um buff por storage Oque eu consegui fazer foi assim: local function addConditionVocDay(cid) local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, -1) -- Permanente setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, 1) -- Quanto de Magic Level será adicionado if not isPlayer(cid) then return true end if getCreatureCondition(cid, CONDITION_ATTRIBUTES) then doRemoveCondition(cid, CONDITION_ATTRIBUTES) end doAddCondition(cid, condition) end function onLogin(cid) if getPlayerStorageValue(cid, 848484) >= 5 then addConditionVocDay(cid) end return true end
Postado Outubro 16, 2023 1 ano local function applyMagicLevelBonus(cid) local playerStorage = getPlayerStorageValue(cid, 848484) or 0 local mlBonus = 0 if playerStorage >= 15 then mlBonus = 2 elseif playerStorage >= 5 then mlBonus = 1 end if mlBonus > 0 then local condition = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition, CONDITION_PARAM_TICKS, -1) setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, mlBonus) if getCreatureCondition(cid, CONDITION_ATTRIBUTES) then doRemoveCondition(cid, CONDITION_ATTRIBUTES) end doAddCondition(cid, condition) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você ganhou " .. mlBonus .. " pontos de Magic Level.") end end function onLogin(cid) applyMagicLevelBonus(cid) return true end 1. applyMagicLevelBonus(cid): Esta função verifica o valor da storage (848484) do jogador. Se for 15 ou mais, ganha 2 pontos de Magic Level. Se for 5 ou mais, ganha 1 ponto de Magic Level. A função doPlayerSendTextMessage é usada para informar ao jogador quanto de Magic Level foi adicionado. 2. onLogin(cid): Quando um jogador loga, esta função é chamada. Ela simplesmente chama applyMagicLevelBonus(cid) para aplicar o bônus de Magic Level quando o jogador loga.
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.