Ir para conteúdo
  • Cadastre-se

[8.60] Descola um NPC que vende buffs ae


Posts Recomendados

Galera preciso de um npc que venda buffs que valem por 20 minutos, ou enquanto estiver vivo:
- Buff que aumenta skills +10; (EK, RP)
- Buff que aumenta velocidade mesmo com gran hur; (EK, RP, MS, ED)

- Buff que aumenta ML; (MS, ED)

- Buff que absorve os danos... (EK, RP, MS, ED)

Se tiverem 1 script parecido pode ser tbm!

Desde já agradeço, muito obrigado!

Link para o post
Compartilhar em outros sites
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

function onCreatureAppear(cid) npcHandlernCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandlernCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandlernCreatureSay(cid, type, msg) end
function onThink() npcHandlernThink() end

-- Buff Config beginning --

-- configs
local config = {
storage = 77700,
value = 1,
}
money = 2000
invisibleseconds = 600
magicshieldseconds = 600
regeseconds = 600
speedseconds = 600
skillsseconds = 600
skillsupgrade = {}
skillsupgrade['fist'] = 20
skillsupgrade['club'] = 20
skillsupgrade['sword'] = 20
skillsupgrade['axe'] = 20
skillsupgrade['distance'] = 20
skillsupgrade['shield'] = 20
skillsupgrade['ml'] = 10
-- end configs

-- Configs of buffs

local conditionMagic = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(conditionMagic, CONDITION_PARAM_BUFF, true)
setConditionParam(conditionMagic, CONDITION_PARAM_TICKS, skillsseconds * 1000)
setConditionParam(conditionMagic, CONDITION_PARAM_STAT_MAGICLEVEL, skillsupgrade['ml'])

local combatInvisible = createConditionObject(CONDITION_INVISIBLE)
setConditionParam(combatInvisible, CONDITION_PARAM_BUFF, true)
setConditionParam(combatInvisible, CONDITION_PARAM_TICKS, invisibleseconds*1000)

local conditionMelee = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(conditionMelee, CONDITION_PARAM_BUFF, true)
setConditionParam(conditionMelee, CONDITION_PARAM_TICKS, skillsseconds*1000)
setConditionParam(conditionMelee, CONDITION_PARAM_SKILL_FIST, skillsupgrade['fist'])
setConditionParam(conditionMelee, CONDITION_PARAM_SKILL_CLUB, skillsupgrade['club'])
setConditionParam(conditionMelee, CONDITION_PARAM_SKILL_SWORD, skillsupgrade['sword'])
setConditionParam(conditionMelee, CONDITION_PARAM_SKILL_AXE, skillsupgrade['axe'])

local conditionDistance = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(conditionDistance, CONDITION_PARAM_BUFF, true)
setConditionParam(conditionDistance, CONDITION_PARAM_TICKS, skillsseconds*1000)
setConditionParam(conditionDistance, CONDITION_PARAM_SKILL_DISTANCE, skillsupgrade['distance'])

local conditionShield = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(conditionShield, CONDITION_PARAM_BUFF, true)
setConditionParam(conditionShield, CONDITION_PARAM_TICKS, skillsseconds*1000)
setConditionParam(conditionShield, CONDITION_PARAM_SKILL_SHIELD, skillsupgrade['shield'])

local combatUtamo = createConditionObject(CONDITION_MANASHIELD)
setConditionParam(combatUtamo, CONDITION_PARAM_BUFF, true)
setConditionParam(combatUtamo, CONDITION_PARAM_TICKS, magicshieldseconds*1000)

local conditionRege = createConditionObject(CONDITION_REGENERATION)
setConditionParam(conditionRege, CONDITION_PARAM_BUFF, true)
setConditionParam(conditionRege, CONDITION_PARAM_TICKS, regeseconds*1000)
setConditionParam(conditionRege, CONDITION_PARAM_HEALTHGAIN, 20)
setConditionParam(conditionRege, CONDITION_PARAM_HEALTHTICKS, 2000)

local conditionspeed = createConditionObject(CONDITION_HASTE)
setConditionParam(conditionspeed, CONDITION_PARAM_BUFF, true)
setConditionParam(conditionspeed, CONDITION_PARAM_TICKS, speedseconds*1000)
setConditionFormula(conditionspeed, 1.0, -86, 1.0, -86)

-- Configs of buffs

function magicl(cid, message, keywords, parameters, node)
local guid = getPlayerGUID(cid)

if not npcHandler:isFocused(cid) then
return false
end

if (isDruid(cid) or isSorcerer(cid)) and getCreatureStorage(cid, config.storage) == -1 then
if getPlayerMoney(cid) >= 5000 then
doPlayerRemoveMoney(cid, 5000)
doAddCondition(cid, conditionMagic)
npcHandler:say('Your magic level has increased for 10 minutes!', cid)
setPlayerStorageValue(cid, config.storage, config.value) 
addEvent(db.executeQuery, skillsseconds * 1000, "UPDATE `player_storage` SET `key` = " .. config.storage .. ", `value` = -1 WHERE `player_id` = " .. guid .. " LIMIT 1;")
else
npcHandler:say('You don\'t have such money.', cid)
end
else
npcHandler:say('You must be a druid or a sorcerer to receive this increment.', cid)
end
end

function invisible(cid, message, keywords, parameters, node)
local guid = getPlayerGUID(cid)

if not npcHandler:isFocused(cid) then
return false
end

if (isDruid(cid) or isSorcerer(cid)) and getCreatureStorage(cid, config.storage) == -1 then
if getPlayerMoney(cid) >= 5000 then
doPlayerRemoveMoney(cid, 5000) 
npcHandler:say('You received invisibility for 10 minutes!', cid)
doAddCondition(cid, combatInvisible)
setPlayerStorageValue(cid, config.storage, config.value) 
addEvent(db.executeQuery, invisibleseconds * 1000, "UPDATE `player_storage` SET `key` = " .. config.storage .. ", `value` = -1 WHERE `player_id` = " .. guid .. " LIMIT 1;")
else
npcHandler:say('You don\'t have such money.', cid)
end
else
npcHandler:say('You must be a druid or a sorcerer to receive this increment.', cid)
end
end

function melee(cid, message, keywords, parameters, node)
local guid = getPlayerGUID(cid)

if not npcHandler:isFocused(cid) then
return false
end

if isKnight(cid) and getCreatureStorage(cid, config.storage) == -1 then
if getPlayerMoney(cid) >= 5000 then
doPlayerRemoveMoney(cid, 5000)
doAddCondition(cid, conditionMelee)
npcHandler:say('Your Melee Skills has increased for 10 minutes!', cid)
setPlayerStorageValue(cid, config.storage, config.value) 
addEvent(db.executeQuery, skillsseconds * 1000, "UPDATE `player_storage` SET `key` = " .. config.storage .. ", `value` = -1 WHERE `player_id` = " .. guid .. " LIMIT 1;")
else
npcHandler:say('You don\'t have such money.', cid)
end
else
npcHandler:say('You must be a knight to receive this increment.', cid)
end
end

function distance(cid, message, keywords, parameters, node)
local guid = getPlayerGUID(cid)

if not npcHandler:isFocused(cid) then
return false
end

if isPaladin(cid) and getCreatureStorage(cid, config.storage) == -1 then
if getPlayerMoney(cid) >= 5000 then
doPlayerRemoveMoney(cid, 5000)
doAddCondition(cid, conditionDistance)
npcHandler:say('Your Distance Skill has increased for 10 minutes!', cid)
setPlayerStorageValue(cid, config.storage, config.value) 
addEvent(db.executeQuery, skillsseconds * 1000, "UPDATE `player_storage` SET `key` = " .. config.storage .. ", `value` = -1 WHERE `player_id` = " .. guid .. " LIMIT 1;")
else
npcHandler:say('You don\'t have such money.', cid)
end
else
npcHandler:say('You must be a Paladin to receive this increment.', cid)
end
end


function shield(cid, message, keywords, parameters, node)
local guid = getPlayerGUID(cid)

if not npcHandler:isFocused(cid) then
return false
end

if (isPaladin(cid) or isKnight(cid)) and getCreatureStorage(cid, config.storage) == -1 then
if getPlayerMoney(cid) >= 5000 then
doPlayerRemoveMoney(cid, 5000)
doAddCondition(cid, conditionShield)
npcHandler:say('Your Shielding Skill has increased for 10 minutes!', cid)
setPlayerStorageValue(cid, config.storage, config.value) 
addEvent(db.executeQuery, skillsseconds * 1000, "UPDATE `player_storage` SET `key` = " .. config.storage .. ", `value` = -1 WHERE `player_id` = " .. guid .. " LIMIT 1;")
else
npcHandler:say('You don\'t have such money.', cid)
end
else
npcHandler:say('You must be a Paladin or a Knight to receive this increment.', cid)
end
end


function magicshield(cid, message, keywords, parameters, node)
local guid = getPlayerGUID(cid)

if not npcHandler:isFocused(cid) then
return false
end

if (isPaladin(cid) or isDruid(cid) or isSorcerer(cid)) and getCreatureStorage(cid, config.storage) == -1 then
if getPlayerMoney(cid) >= 5000 then
doPlayerRemoveMoney(cid, 5000)
doAddCondition(cid, combatUtamo)
npcHandler:say('You received a Magic Shield for 10 minutes!', cid)
setPlayerStorageValue(cid, config.storage, config.value) 
addEvent(db.executeQuery, magicshieldseconds * 1000, "UPDATE `player_storage` SET `key` = " .. config.storage .. ", `value` = -1 WHERE `player_id` = " .. guid .. " LIMIT 1;")
else
npcHandler:say('You don\'t have such money.', cid)
end
else
npcHandler:say('Knights can\'t receive this increment.', cid)
end
end


function regener(cid, message, keywords, parameters, node)
local guid = getPlayerGUID(cid)

if not npcHandler:isFocused(cid) then
return false
end

if isPlayer(cid) and getCreatureStorage(cid, config.storage) == -1 then
if getPlayerMoney(cid) >= 5000 then
doPlayerRemoveMoney(cid, 5000)
doAddCondition(cid, conditionRege)
npcHandler:say('Your regeneration has increased for 10 minutes!', cid)
setPlayerStorageValue(cid, config.storage, config.value) 
addEvent(db.executeQuery, regeseconds * 1000, "UPDATE `player_storage` SET `key` = " .. config.storage .. ", `value` = -1 WHERE `player_id` = " .. guid .. " LIMIT 1;")
else
npcHandler:say('You don\'t have such money.', cid)
end
else
npcHandler:say('You can\'t receive more than two increases.', cid)
end
end


function speed(cid, message, keywords, parameters, node)
local guid = getPlayerGUID(cid)

if not npcHandler:isFocused(cid) then
return false
end

if isPlayer(cid) and getCreatureStorage(cid, config.storage) == -1 then
if getPlayerMoney(cid) >= 5000 then
doPlayerRemoveMoney(cid, 5000)
doAddCondition(cid, conditionspeed)
npcHandler:say('Your speed has increased for 10 minutes!', cid)
setPlayerStorageValue(cid, config.storage, config.value) 
addEvent(db.executeQuery, speedseconds * 1000, "UPDATE `player_storage` SET `key` = " .. config.storage .. ", `value` = -1 WHERE `player_id` = " .. guid .. " LIMIT 1;")
else
npcHandler:say('You don\'t have such money.', cid)
end
else
npcHandler:say('You can\'t receive more than two increases.', cid)
end
end
-- Buff Config End --

keywordHandler:addKeyword({'help'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I can increase your {melee}, {distance}, {shielding}, {magic level}, {regeneration}, {invisibility}, {magic shield} and {speed}"})

local node1 = keywordHandler:addKeyword({'magic level'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to increase your magic level for a certain time?'})
node1:addChildKeyword({'yes'}, magicl, {npcHandler = npcHandler, onlyFocus = true, reset = true})
node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then. Come back if you want an upgrade in your skills.', reset = true})

local node2 = keywordHandler:addKeyword({'invisibility'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to be invisible for a certain time?'})
node2:addChildKeyword({'yes'}, invisible, {npcHandler = npcHandler, onlyFocus = true, reset = true})
node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then. Come back if you want an upgrade in your skills.', reset = true})

local node3 = keywordHandler:addKeyword({'melee'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to increase your melee skills for a certain time?'})
node3:addChildKeyword({'yes'}, melee, {npcHandler = npcHandler, onlyFocus = true, reset = true})
node3:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then. Come back if you want an upgrade in your skills.', reset = true})

local node4 = keywordHandler:addKeyword({'distance'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to increase your distance skills for a certain time?'})
node4:addChildKeyword({'yes'}, distance, {npcHandler = npcHandler, onlyFocus = true, reset = true})
node4:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then. Come back if you want an upgrade in your skills.', reset = true})

local node5 = keywordHandler:addKeyword({'shielding'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to increase your shielding skill for a certain time?'})
node5:addChildKeyword({'yes'}, shield, {npcHandler = npcHandler, onlyFocus = true, reset = true})
node5:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then. Come back if you want an upgrade in your skills.', reset = true})

local node6 = keywordHandler:addKeyword({'magic shield'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to receive a magic shield for a certain time?'})
node6:addChildKeyword({'yes'}, magicshield, {npcHandler = npcHandler, onlyFocus = true, reset = true})
node6:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then. Come back if you want an upgrade in your skills.', reset = true})

local node7 = keywordHandler:addKeyword({'regeneration'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to increase your regeneration for a certain time?'})
node7:addChildKeyword({'yes'}, regener, {npcHandler = npcHandler, onlyFocus = true, reset = true})
node7:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then. Come back if you want an upgrade in your skills.', reset = true})

local node8 = keywordHandler:addKeyword({'speed'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to increase your speed for a certain time?'})
node8:addChildKeyword({'yes'}, speed, {npcHandler = npcHandler, onlyFocus = true, reset = true})
node8:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then. Come back if you want an upgrade in your skills.', reset = true})

npcHandler:addModule(FocusModule:new()

cms1-pr%C3%AAmio.png

Link para o post
Compartilhar em outros sites
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)

function onCreatureAppear(cid) npcHandlernCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandlernCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandlernCreatureSay(cid, type, msg) end
function onThink() npcHandlernThink() end

-- Buff Config beginning --

-- configs
local config = {
storage = 77700,
value = 1,
}
money = 2000
invisibleseconds = 600
magicshieldseconds = 600
regeseconds = 600
speedseconds = 600
skillsseconds = 600
skillsupgrade = {}
skillsupgrade['fist'] = 20
skillsupgrade['club'] = 20
skillsupgrade['sword'] = 20
skillsupgrade['axe'] = 20
skillsupgrade['distance'] = 20
skillsupgrade['shield'] = 20
skillsupgrade['ml'] = 10
-- end configs

-- Configs of buffs

local conditionMagic = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(conditionMagic, CONDITION_PARAM_BUFF, true)
setConditionParam(conditionMagic, CONDITION_PARAM_TICKS, skillsseconds * 1000)
setConditionParam(conditionMagic, CONDITION_PARAM_STAT_MAGICLEVEL, skillsupgrade['ml'])

local combatInvisible = createConditionObject(CONDITION_INVISIBLE)
setConditionParam(combatInvisible, CONDITION_PARAM_BUFF, true)
setConditionParam(combatInvisible, CONDITION_PARAM_TICKS, invisibleseconds*1000)

local conditionMelee = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(conditionMelee, CONDITION_PARAM_BUFF, true)
setConditionParam(conditionMelee, CONDITION_PARAM_TICKS, skillsseconds*1000)
setConditionParam(conditionMelee, CONDITION_PARAM_SKILL_FIST, skillsupgrade['fist'])
setConditionParam(conditionMelee, CONDITION_PARAM_SKILL_CLUB, skillsupgrade['club'])
setConditionParam(conditionMelee, CONDITION_PARAM_SKILL_SWORD, skillsupgrade['sword'])
setConditionParam(conditionMelee, CONDITION_PARAM_SKILL_AXE, skillsupgrade['axe'])

local conditionDistance = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(conditionDistance, CONDITION_PARAM_BUFF, true)
setConditionParam(conditionDistance, CONDITION_PARAM_TICKS, skillsseconds*1000)
setConditionParam(conditionDistance, CONDITION_PARAM_SKILL_DISTANCE, skillsupgrade['distance'])

local conditionShield = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(conditionShield, CONDITION_PARAM_BUFF, true)
setConditionParam(conditionShield, CONDITION_PARAM_TICKS, skillsseconds*1000)
setConditionParam(conditionShield, CONDITION_PARAM_SKILL_SHIELD, skillsupgrade['shield'])

local combatUtamo = createConditionObject(CONDITION_MANASHIELD)
setConditionParam(combatUtamo, CONDITION_PARAM_BUFF, true)
setConditionParam(combatUtamo, CONDITION_PARAM_TICKS, magicshieldseconds*1000)

local conditionRege = createConditionObject(CONDITION_REGENERATION)
setConditionParam(conditionRege, CONDITION_PARAM_BUFF, true)
setConditionParam(conditionRege, CONDITION_PARAM_TICKS, regeseconds*1000)
setConditionParam(conditionRege, CONDITION_PARAM_HEALTHGAIN, 20)
setConditionParam(conditionRege, CONDITION_PARAM_HEALTHTICKS, 2000)

local conditionspeed = createConditionObject(CONDITION_HASTE)
setConditionParam(conditionspeed, CONDITION_PARAM_BUFF, true)
setConditionParam(conditionspeed, CONDITION_PARAM_TICKS, speedseconds*1000)
setConditionFormula(conditionspeed, 1.0, -86, 1.0, -86)

-- Configs of buffs

function magicl(cid, message, keywords, parameters, node)
local guid = getPlayerGUID(cid)

if not npcHandler:isFocused(cid) then
return false
end

if (isDruid(cid) or isSorcerer(cid)) and getCreatureStorage(cid, config.storage) == -1 then
if getPlayerMoney(cid) >= 5000 then
doPlayerRemoveMoney(cid, 5000)
doAddCondition(cid, conditionMagic)
npcHandler:say('Your magic level has increased for 10 minutes!', cid)
setPlayerStorageValue(cid, config.storage, config.value) 
addEvent(db.executeQuery, skillsseconds * 1000, "UPDATE `player_storage` SET `key` = " .. config.storage .. ", `value` = -1 WHERE `player_id` = " .. guid .. " LIMIT 1;")
else
npcHandler:say('You don\'t have such money.', cid)
end
else
npcHandler:say('You must be a druid or a sorcerer to receive this increment.', cid)
end
end

function invisible(cid, message, keywords, parameters, node)
local guid = getPlayerGUID(cid)

if not npcHandler:isFocused(cid) then
return false
end

if (isDruid(cid) or isSorcerer(cid)) and getCreatureStorage(cid, config.storage) == -1 then
if getPlayerMoney(cid) >= 5000 then
doPlayerRemoveMoney(cid, 5000) 
npcHandler:say('You received invisibility for 10 minutes!', cid)
doAddCondition(cid, combatInvisible)
setPlayerStorageValue(cid, config.storage, config.value) 
addEvent(db.executeQuery, invisibleseconds * 1000, "UPDATE `player_storage` SET `key` = " .. config.storage .. ", `value` = -1 WHERE `player_id` = " .. guid .. " LIMIT 1;")
else
npcHandler:say('You don\'t have such money.', cid)
end
else
npcHandler:say('You must be a druid or a sorcerer to receive this increment.', cid)
end
end

function melee(cid, message, keywords, parameters, node)
local guid = getPlayerGUID(cid)

if not npcHandler:isFocused(cid) then
return false
end

if isKnight(cid) and getCreatureStorage(cid, config.storage) == -1 then
if getPlayerMoney(cid) >= 5000 then
doPlayerRemoveMoney(cid, 5000)
doAddCondition(cid, conditionMelee)
npcHandler:say('Your Melee Skills has increased for 10 minutes!', cid)
setPlayerStorageValue(cid, config.storage, config.value) 
addEvent(db.executeQuery, skillsseconds * 1000, "UPDATE `player_storage` SET `key` = " .. config.storage .. ", `value` = -1 WHERE `player_id` = " .. guid .. " LIMIT 1;")
else
npcHandler:say('You don\'t have such money.', cid)
end
else
npcHandler:say('You must be a knight to receive this increment.', cid)
end
end

function distance(cid, message, keywords, parameters, node)
local guid = getPlayerGUID(cid)

if not npcHandler:isFocused(cid) then
return false
end

if isPaladin(cid) and getCreatureStorage(cid, config.storage) == -1 then
if getPlayerMoney(cid) >= 5000 then
doPlayerRemoveMoney(cid, 5000)
doAddCondition(cid, conditionDistance)
npcHandler:say('Your Distance Skill has increased for 10 minutes!', cid)
setPlayerStorageValue(cid, config.storage, config.value) 
addEvent(db.executeQuery, skillsseconds * 1000, "UPDATE `player_storage` SET `key` = " .. config.storage .. ", `value` = -1 WHERE `player_id` = " .. guid .. " LIMIT 1;")
else
npcHandler:say('You don\'t have such money.', cid)
end
else
npcHandler:say('You must be a Paladin to receive this increment.', cid)
end
end


function shield(cid, message, keywords, parameters, node)
local guid = getPlayerGUID(cid)

if not npcHandler:isFocused(cid) then
return false
end

if (isPaladin(cid) or isKnight(cid)) and getCreatureStorage(cid, config.storage) == -1 then
if getPlayerMoney(cid) >= 5000 then
doPlayerRemoveMoney(cid, 5000)
doAddCondition(cid, conditionShield)
npcHandler:say('Your Shielding Skill has increased for 10 minutes!', cid)
setPlayerStorageValue(cid, config.storage, config.value) 
addEvent(db.executeQuery, skillsseconds * 1000, "UPDATE `player_storage` SET `key` = " .. config.storage .. ", `value` = -1 WHERE `player_id` = " .. guid .. " LIMIT 1;")
else
npcHandler:say('You don\'t have such money.', cid)
end
else
npcHandler:say('You must be a Paladin or a Knight to receive this increment.', cid)
end
end


function magicshield(cid, message, keywords, parameters, node)
local guid = getPlayerGUID(cid)

if not npcHandler:isFocused(cid) then
return false
end

if (isPaladin(cid) or isDruid(cid) or isSorcerer(cid)) and getCreatureStorage(cid, config.storage) == -1 then
if getPlayerMoney(cid) >= 5000 then
doPlayerRemoveMoney(cid, 5000)
doAddCondition(cid, combatUtamo)
npcHandler:say('You received a Magic Shield for 10 minutes!', cid)
setPlayerStorageValue(cid, config.storage, config.value) 
addEvent(db.executeQuery, magicshieldseconds * 1000, "UPDATE `player_storage` SET `key` = " .. config.storage .. ", `value` = -1 WHERE `player_id` = " .. guid .. " LIMIT 1;")
else
npcHandler:say('You don\'t have such money.', cid)
end
else
npcHandler:say('Knights can\'t receive this increment.', cid)
end
end


function regener(cid, message, keywords, parameters, node)
local guid = getPlayerGUID(cid)

if not npcHandler:isFocused(cid) then
return false
end

if isPlayer(cid) and getCreatureStorage(cid, config.storage) == -1 then
if getPlayerMoney(cid) >= 5000 then
doPlayerRemoveMoney(cid, 5000)
doAddCondition(cid, conditionRege)
npcHandler:say('Your regeneration has increased for 10 minutes!', cid)
setPlayerStorageValue(cid, config.storage, config.value) 
addEvent(db.executeQuery, regeseconds * 1000, "UPDATE `player_storage` SET `key` = " .. config.storage .. ", `value` = -1 WHERE `player_id` = " .. guid .. " LIMIT 1;")
else
npcHandler:say('You don\'t have such money.', cid)
end
else
npcHandler:say('You can\'t receive more than two increases.', cid)
end
end


function speed(cid, message, keywords, parameters, node)
local guid = getPlayerGUID(cid)

if not npcHandler:isFocused(cid) then
return false
end

if isPlayer(cid) and getCreatureStorage(cid, config.storage) == -1 then
if getPlayerMoney(cid) >= 5000 then
doPlayerRemoveMoney(cid, 5000)
doAddCondition(cid, conditionspeed)
npcHandler:say('Your speed has increased for 10 minutes!', cid)
setPlayerStorageValue(cid, config.storage, config.value) 
addEvent(db.executeQuery, speedseconds * 1000, "UPDATE `player_storage` SET `key` = " .. config.storage .. ", `value` = -1 WHERE `player_id` = " .. guid .. " LIMIT 1;")
else
npcHandler:say('You don\'t have such money.', cid)
end
else
npcHandler:say('You can\'t receive more than two increases.', cid)
end
end
-- Buff Config End --

keywordHandler:addKeyword({'help'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = "I can increase your {melee}, {distance}, {shielding}, {magic level}, {regeneration}, {invisibility}, {magic shield} and {speed}"})

local node1 = keywordHandler:addKeyword({'magic level'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to increase your magic level for a certain time?'})
node1:addChildKeyword({'yes'}, magicl, {npcHandler = npcHandler, onlyFocus = true, reset = true})
node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then. Come back if you want an upgrade in your skills.', reset = true})

local node2 = keywordHandler:addKeyword({'invisibility'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to be invisible for a certain time?'})
node2:addChildKeyword({'yes'}, invisible, {npcHandler = npcHandler, onlyFocus = true, reset = true})
node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then. Come back if you want an upgrade in your skills.', reset = true})

local node3 = keywordHandler:addKeyword({'melee'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to increase your melee skills for a certain time?'})
node3:addChildKeyword({'yes'}, melee, {npcHandler = npcHandler, onlyFocus = true, reset = true})
node3:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then. Come back if you want an upgrade in your skills.', reset = true})

local node4 = keywordHandler:addKeyword({'distance'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to increase your distance skills for a certain time?'})
node4:addChildKeyword({'yes'}, distance, {npcHandler = npcHandler, onlyFocus = true, reset = true})
node4:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then. Come back if you want an upgrade in your skills.', reset = true})

local node5 = keywordHandler:addKeyword({'shielding'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to increase your shielding skill for a certain time?'})
node5:addChildKeyword({'yes'}, shield, {npcHandler = npcHandler, onlyFocus = true, reset = true})
node5:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then. Come back if you want an upgrade in your skills.', reset = true})

local node6 = keywordHandler:addKeyword({'magic shield'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to receive a magic shield for a certain time?'})
node6:addChildKeyword({'yes'}, magicshield, {npcHandler = npcHandler, onlyFocus = true, reset = true})
node6:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then. Come back if you want an upgrade in your skills.', reset = true})

local node7 = keywordHandler:addKeyword({'regeneration'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to increase your regeneration for a certain time?'})
node7:addChildKeyword({'yes'}, regener, {npcHandler = npcHandler, onlyFocus = true, reset = true})
node7:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then. Come back if you want an upgrade in your skills.', reset = true})

local node8 = keywordHandler:addKeyword({'speed'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to increase your speed for a certain time?'})
node8:addChildKeyword({'yes'}, speed, {npcHandler = npcHandler, onlyFocus = true, reset = true})
node8:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then. Come back if you want an upgrade in your skills.', reset = true})

npcHandler:addModule(FocusModule:new()

Valeu amigo,  Rep+

Alguns Erros:

Buffa só 1 vez, mesmo relogando ou passando 10 minutos;

No caso do magic, quando fui buffar a 2ª vez falou que tinha que ser sorc ou druid, mesmo sendo ED;

Cara o BUFF speed não funcionou, ele adiciona no player aquela setinha pra cima, "strenghthened", em vez de velocidade maior q o gran hur...

So falta isso mesmo eu acho, aguardo ae vlws.

Editado por yagoskor (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Basta modificar a formula da velocidade nesta parte do script:

setConditionFormula(conditionspeed, 1.0, -86, 1.0, -86)

cms1-pr%C3%AAmio.png

Link para o post
Compartilhar em outros sites

 

Basta modificar a formula da velocidade nesta parte do script:

setConditionFormula(conditionspeed, 1.0, -86, 1.0, -86)

Sim, mas tem outro problema, mesmo sendo ED ou MS ele fala que não é sorcerer ou druid... :\

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo