Postado Dezembro 2, 2019 5 anos Autor @JoviM Ele perde a stone que ele usou, porem o nivel de critical continua o msm Só vai sumir a stone ela funcionando ou falhando, porém se falhar n vai aumentar o nivel do critico kkk
Postado Dezembro 3, 2019 5 anos @DouGlaS Mapper actions/actions.xml <action itemid="300;400" event="script" value="file.lua"/> actions/scripts Spoiler local config = { item = { {id = 407, levelMax = 10, failPercent = 9}, {id = 406, levelMax = 20, failPercent = 22} }, storage = 8876226, effect = 12 } function onUse(cid, item, fromPosition, itemEx, toPosition) local rand = math.random(1, 100) if (item.itemid == config.item[1].id) then if (getCreatureStorage(cid, config.storage) >= config.item[1].levelMax) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Critical System: You cannot use this item.") return true end if (rand <= config.item[1].failPercent) then doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Critical System: Update failed.") return true end doRemoveItem(item.uid, 1) doCreatureSetStorage(cid, config.storage, (getCreatureStorage(cid, config.storage) + 1)) doSendMagicEffect(getThingPosition(cid), config.effect) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Critical System: You advance from level "..(getCreatureStorage(cid, config.storage) - 1).." to "..(getCreatureStorage(cid, config.storage))..".") elseif (item.itemid == config.item[2].id) then if (getCreatureStorage(cid, config.storage) < config.item[1].levelMax or getCreatureStorage(cid, config.storage) >= config.item[2].levelMax) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Critical System: You cannot use this item.") return true end if (rand <= config.item[2].failPercent) then doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Critical System: Update failed.") return true end doRemoveItem(item.uid, 1) doCreatureSetStorage(cid, config.storage, (getCreatureStorage(cid, config.storage) + 1)) doSendMagicEffect(getThingPosition(cid), config.effect) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Critical System: You advance from level "..(getCreatureStorage(cid, config.storage) - 1).." to "..(getCreatureStorage(cid, config.storage))..".") end return true end creaturescripts/scripts/login.lua if (getCreatureStorage(cid, STORAGE_DO_CRITICO) == -1) then doCreatureSetStorage(cid, STORAGE_DO_CRITICO, 0) end Esse código do login.lua serve pra iniciar o level de crítico do player com o valor que você escolher. As actions são simples. Só criar o arquivo, registrar e configurar. Editado Dezembro 3, 2019 5 anos por JoviM (veja o histórico de edições)
Postado Dezembro 3, 2019 5 anos Autor @JoviM Ta dano esse erro aki: [3/12/2019 12:20:54] [Error - CreatureScript Interface] [3/12/2019 12:20:54] data/creaturescripts/scripts/login.lua [3/12/2019 12:20:54] Description: [3/12/2019 12:20:54] (LuaInterface::luaGetCreatureStorage) Creature not found [3/12/2019 12:20:54] (done). E tipo se eu quiser por pra mostrar no look o total de critical que o player tem como faço?
Postado Dezembro 3, 2019 5 anos @DouGlaS Mapper Estranho esse erro ai, você colocou o trecho que mandei dentro da função onLogin() ? Sobre como mostrar o nível de crítico no look, aqui no fórum tem tópicos ensinando a fazer, tente dar uma olhada. Como o primeiro script ficou meio tosco, dei uma organizada melhor (eu acho ^^). Só não sabia se o efeito era pra todas as ações com o item ou só para as que funcionassem, mas isso você organiza UHEUHE Spoiler local config = { item = { {id = 407, levelMax = 10, failPercent = 9}, {id = 406, levelMax = 20, failPercent = 22} }, storage = 8876226, effect = 12 } function onUse(cid, item, fromPosition, itemEx, toPosition) local rand = math.random(1, 100) if (item.itemid == config.item[1].id) then if (getCreatureStorage(cid, config.storage) >= config.item[1].levelMax) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Critical System: You cannot use this item.") return true end if (rand <= config.item[1].failPercent) then doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Critical System: Update failed.") return true end doRemoveItem(item.uid, 1) doCreatureSetStorage(cid, config.storage, (getCreatureStorage(cid, config.storage) + 1)) doSendMagicEffect(getThingPosition(cid), config.effect) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Critical System: You advance from level "..(getCreatureStorage(cid, config.storage) - 1).." to "..(getCreatureStorage(cid, config.storage))..".") elseif (item.itemid == config.item[2].id) then if (getCreatureStorage(cid, config.storage) < config.item[1].levelMax or getCreatureStorage(cid, config.storage) >= config.item[2].levelMax) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Critical System: You cannot use this item.") return true end if (rand <= config.item[2].failPercent) then doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Critical System: Update failed.") return true end doRemoveItem(item.uid, 1) doCreatureSetStorage(cid, config.storage, (getCreatureStorage(cid, config.storage) + 1)) doSendMagicEffect(getThingPosition(cid), config.effect) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Critical System: You advance from level "..(getCreatureStorage(cid, config.storage) - 1).." to "..(getCreatureStorage(cid, config.storage))..".") end return true end
Postado Dezembro 3, 2019 5 anos Autor @JoviM Vc leu minha mente, eu ia falar como que faz pra por um efeito quando o critical falha, eu tentei por aki mais cada vez que mecho eu bugo mais a script ;/ Ah mano deculpa é que eu sou meio perdido com script to aprendendo ainda kkkk Eu tinha colocado fora do on login por isso do erro, agora ta funcionando certinho obg REP +
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.