Ir para conteúdo
  • Cadastre-se

(Resolvido)Alguem me ajudar mudar versão script


Ir para solução Resolvido por peckface,

Posts Recomendados

testa e me fla

 

<talkaction words="!comprar;/comprar" separator=" " script="comprar.lua"/>

 



local config = {
protectZone = "sim", -- Precisa estar em PZ para usar o comando?

skill = {
item = 9971, -- Item removido
quantidade = 10, -- Quantidade
quantidadeskill = 10, -- Skill adicionada
limiteskill = 350 -- Limite
},

magicLevel = {
item = 9971, -- Item removido
quantidade = 15, -- Quantidade
quantidademl = 5, -- Magic level adicionado
limitedeml = 200 -- Limite
},

skillID = { -- ID das skills
["club"] = SKILL_CLUB,
["sword"]= SKILL_SWORD,
["axe"] = SKILL_AXE,
["distance"] = SKILL_DISTANCE,
["shielding"] = SKILL_SHIELD
},

vocationSkill = { -- Vocações que pode comprar x skill
["club"] = {4, 8},
["sword"] = {4, 8},
["axe"] = {4, 8},
["distance"] = {3, 7},
["shielding"] = {4, 8}
},

vocationMagicLevel = {1, 2, 5, 6}, -- Vocações que pode comprar magic level

delay = {
skill = {
storage = 45,
duration = 5 -- Tempo para comprar skill novamente
},

magicLevel = {
storage = 97,
duration = 5 -- Tempo para comprar magic level novamente
}
}
}

function onSay(cid, words, param, channel)
local playerId = getPlayerGUID(cid)
if config.protectZone == "sim" and not getTilePzInfo(getCreaturePosition(cid)) then
return doPlayerSendCancel(cid, "Você precisa estar em protection zone para comprar.")
end

if param == "magiclevel" then
if getPlayerMagLevel(cid) < config.magicLevel.limitedeml then
if isInArray(config.vocationMagicLevel, getPlayerVocation(cid)) then
if doPlayerRemoveItem(cid, config.magicLevel.item, config.magicLevel.quantidade) then
if (os.time() - getPlayerStorageValue(cid, config.delay.magicLevel.storage)) >= config.delay.magicLevel.duration then
setPlayerStorageValue(cid, config.delay.magicLevel.storage, os.time())
doRemoveCreature(cid, true)
db.Query("UPDATE `players` SET `maglevel` = `maglevel` + " .. config.magicLevel.quantidademl .. " WHERE `id` = " .. playerId)
else
doPlayerSendCancel(cid, "Espere " .. config.delay.magicLevel.duration .. " segundos para comprar novamente.")
end
else
doPlayerSendCancel(cid, "Você não tem o item requerido.")
end
else
doPlayerSendCancel(cid, "Voce não pode comprar magic level.")
end
else
doPlayerSendCancel(cid, "Você chegou no limite de magic level.")
end
elseif config.skillID[string.lower(param)] then
if getPlayerSkill(cid, config.skillID[string.lower(param)]) < config.skill.limiteskill then
if isInArray(config.vocationSkill[string.lower(param)], getPlayerVocation(cid)) then
if doPlayerRemoveItem(cid, config.skill.item, config.skill.quantidade) then
if (os.time() - getPlayerStorageValue(cid, config.delay.skill.storage)) >= config.delay.skill.duration then
setPlayerStorageValue(cid, config.delay.skill.storage, os.time())
doRemoveCreature(cid, true)
db.Query("UPDATE `player_skills` SET `value` = `value` + " .. config.skill.quantidadeskill .. " WHERE `player_id` = " .. playerId .. " and `skillid` = " .. config.skillID[string.lower(param)])
else
doPlayerSendCancel(cid, "Espere " .. config.delay.skill.duration .. " segundos para comprar novamente.")
end
else
doPlayerSendCancel(cid, "Você não tem o item requerido.")
end
else
doPlayerSendCancel(cid, "Voce não pode comprar este skill.")
end
else
doPlayerSendCancel(cid, "Você chegou no limite de skill.")
end
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Possíveis parâmetros: club, sword, axe, distance, shielding, magiclevel.")
end
return true
end

Link para o post
Compartilhar em outros sites

testa e me fla

 

<talkaction words="!comprar;/comprar" separator=" " script="comprar.lua"/>

 

local config = {

protectZone = "sim", -- Precisa estar em PZ para usar o comando?

skill = {

item = 9971, -- Item removido

quantidade = 10, -- Quantidade

quantidadeskill = 10, -- Skill adicionada

limiteskill = 350 -- Limite

},

magicLevel = {

item = 9971, -- Item removido

quantidade = 15, -- Quantidade

quantidademl = 5, -- Magic level adicionado

limitedeml = 200 -- Limite

},

skillID = { -- ID das skills

["club"] = SKILL_CLUB,

["sword"]= SKILL_SWORD,

["axe"] = SKILL_AXE,

["distance"] = SKILL_DISTANCE,

["shielding"] = SKILL_SHIELD

},

vocationSkill = { -- Vocações que pode comprar x skill

["club"] = {4, 8},

["sword"] = {4, 8},

["axe"] = {4, 8},

["distance"] = {3, 7},

["shielding"] = {4, 8}

},

vocationMagicLevel = {1, 2, 5, 6}, -- Vocações que pode comprar magic level

delay = {

skill = {

storage = 45,

duration = 5 -- Tempo para comprar skill novamente

},

magicLevel = {

storage = 97,

duration = 5 -- Tempo para comprar magic level novamente

}

}

}

function onSay(cid, words, param, channel)

local playerId = getPlayerGUID(cid)

if config.protectZone == "sim" and not getTilePzInfo(getCreaturePosition(cid)) then

return doPlayerSendCancel(cid, "Você precisa estar em protection zone para comprar.")

end

if param == "magiclevel" then

if getPlayerMagLevel(cid) < config.magicLevel.limitedeml then

if isInArray(config.vocationMagicLevel, getPlayerVocation(cid)) then

if doPlayerRemoveItem(cid, config.magicLevel.item, config.magicLevel.quantidade) then

if (os.time() - getPlayerStorageValue(cid, config.delay.magicLevel.storage)) >= config.delay.magicLevel.duration then

setPlayerStorageValue(cid, config.delay.magicLevel.storage, os.time())

doRemoveCreature(cid, true)

db.Query("UPDATE `players` SET `maglevel` = `maglevel` + " .. config.magicLevel.quantidademl .. " WHERE `id` = " .. playerId)

else

doPlayerSendCancel(cid, "Espere " .. config.delay.magicLevel.duration .. " segundos para comprar novamente.")

end

else

doPlayerSendCancel(cid, "Você não tem o item requerido.")

end

else

doPlayerSendCancel(cid, "Voce não pode comprar magic level.")

end

else

doPlayerSendCancel(cid, "Você chegou no limite de magic level.")

end

elseif config.skillID[string.lower(param)] then

if getPlayerSkill(cid, config.skillID[string.lower(param)]) < config.skill.limiteskill then

if isInArray(config.vocationSkill[string.lower(param)], getPlayerVocation(cid)) then

if doPlayerRemoveItem(cid, config.skill.item, config.skill.quantidade) then

if (os.time() - getPlayerStorageValue(cid, config.delay.skill.storage)) >= config.delay.skill.duration then

setPlayerStorageValue(cid, config.delay.skill.storage, os.time())

doRemoveCreature(cid, true)

db.Query("UPDATE `player_skills` SET `value` = `value` + " .. config.skill.quantidadeskill .. " WHERE `player_id` = " .. playerId .. " and `skillid` = " .. config.skillID[string.lower(param)])

else

doPlayerSendCancel(cid, "Espere " .. config.delay.skill.duration .. " segundos para comprar novamente.")

end

else

doPlayerSendCancel(cid, "Você não tem o item requerido.")

end

else

doPlayerSendCancel(cid, "Voce não pode comprar este skill.")

end

else

doPlayerSendCancel(cid, "Você chegou no limite de skill.")

end

else

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Possíveis parâmetros: club, sword, axe, distance, shielding, magiclevel.")

end

return true

end

Amigo não deu, bom eu falo !comprar e fala o seguinte.

22:18 Possíveis parâmetros: club, sword, axe, distance, shielding, magiclevel.

 

Mas eu uso !comprar club e !comprar skillclub e as outras n fala nada, não deu erro em distro só não comprou o skill

Link para o post
Compartilhar em outros sites

Amigo não deu, bom eu falo !comprar e fala o seguinte.

22:18 Possíveis parâmetros: club, sword, axe, distance, shielding, magiclevel.

 

Mas eu uso !comprar club e !comprar skillclub e as outras n fala nada, não deu erro em distro só não comprou o skill

Então cara o comando e assim !comprar "club

Ou tenta apenas !comprar

Link para o post
Compartilhar em outros sites

Amigo mudei o script la acho que esse pode funcionar só não sei adaptar para a versão do tfs 1.1


Amigo mudei o script la acho que esse pode funcionar só não sei adaptar para a versão do tfs 1.1


Então cara o comando e assim !comprar "club

Ou tenta apenas !comprar

Vou tentar aqui

Link para o post
Compartilhar em outros sites

Você testou os comandos q te flei no primeiro script?

Então estou com o seu comando aqui, o comando deu certo ele loga assim que eu falo !comprar "magiclevel e  o item 9971 some, mas da erro no distro.

Comprei Magiclevel e não deu nenhum magic level

2ex1q1e.png

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

pronto coloca esse no lugar

 

local config = {


protectZone = "sim", -- Precisa estar em PZ para usar o comando?

skill = {
item = 9971, -- Item removido
quantidade = 10, -- Quantidade
quantidadeskill = 10, -- Skill adicionada
limiteskill = 350 -- Limite
},

magicLevel = {
item = 9971, -- Item removido
quantidade = 15, -- Quantidade
quantidademl = 5, -- Magic level adicionado
limitedeml = 200 -- Limite
},

skillID = { -- ID das skills
["club"] = SKILL_CLUB,
["sword"]= SKILL_SWORD,
["axe"] = SKILL_AXE,
["distance"] = SKILL_DISTANCE,
["shielding"] = SKILL_SHIELD
},

vocationSkill = { -- Vocações que pode comprar x skill
["club"] = {4, 8},
["sword"] = {4, 8},
["axe"] = {4, 8},
["distance"] = {3, 7},
["shielding"] = {4, 8}
},

vocationMagicLevel = {1, 2, 5, 6}, -- Vocações que pode comprar magic level

delay = {
skill = {
storage = 45,
duration = 5 -- Tempo para comprar skill novamente
},

magicLevel = {
storage = 97,
duration = 5 -- Tempo para comprar magic level novamente
}
}
}

function onSay(cid, words, param, channel)
local playerId = getPlayerGUID(cid)
if config.protectZone == "sim" and not getTilePzInfo(getCreaturePosition(cid)) then
return doPlayerSendCancel(cid, "Você precisa estar em protection zone para comprar.")
end

if param == "magiclevel" then
if getPlayerMagLevel(cid) < config.magicLevel.limitedeml then
if isInArray(config.vocationMagicLevel, getPlayerVocation(cid)) then
if doPlayerRemoveItem(cid, config.magicLevel.item, config.magicLevel.quantidade) then
if (os.time() - getPlayerStorageValue(cid, config.delay.magicLevel.storage)) >= config.delay.magicLevel.duration then
setPlayerStorageValue(cid, config.delay.magicLevel.storage, os.time())
doRemoveCreature(cid, true)
db.query("UPDATE `players` SET `maglevel` = `maglevel` + " .. config.magicLevel.quantidademl .. " WHERE `id` = " .. playerId)
else
doPlayerSendCancel(cid, "Espere " .. config.delay.magicLevel.duration .. " segundos para comprar novamente.")
end
else
doPlayerSendCancel(cid, "Você não tem o item requerido.")
end
else
doPlayerSendCancel(cid, "Voce não pode comprar magic level.")
end
else
doPlayerSendCancel(cid, "Você chegou no limite de magic level.")
end
elseif config.skillID[string.lower(param)] then
if getPlayerSkill(cid, config.skillID[string.lower(param)]) < config.skill.limiteskill then
if isInArray(config.vocationSkill[string.lower(param)], getPlayerVocation(cid)) then
if doPlayerRemoveItem(cid, config.skill.item, config.skill.quantidade) then
if (os.time() - getPlayerStorageValue(cid, config.delay.skill.storage)) >= config.delay.skill.duration then
setPlayerStorageValue(cid, config.delay.skill.storage, os.time())
doRemoveCreature(cid, true)
db.query("UPDATE `player_skills` SET `value` = `value` + " .. config.skill.quantidadeskill .. " WHERE `player_id` = " .. playerId .. " and `skillid` = " .. config.skillID[string.lower(param)])
else
doPlayerSendCancel(cid, "Espere " .. config.delay.skill.duration .. " segundos para comprar novamente.")
end
else
doPlayerSendCancel(cid, "Você não tem o item requerido.")
end
else
doPlayerSendCancel(cid, "Voce não pode comprar este skill.")
end
else
doPlayerSendCancel(cid, "Você chegou no limite de skill.")
end
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Possíveis parâmetros: club, sword, axe, distance, shielding, magiclevel.")
end
return true
end

Link para o post
Compartilhar em outros sites

pronto coloca esse no lugar

 

local config = {

protectZone = "sim", -- Precisa estar em PZ para usar o comando?

skill = {

item = 9971, -- Item removido

quantidade = 10, -- Quantidade

quantidadeskill = 10, -- Skill adicionada

limiteskill = 350 -- Limite

},

magicLevel = {

item = 9971, -- Item removido

quantidade = 15, -- Quantidade

quantidademl = 5, -- Magic level adicionado

limitedeml = 200 -- Limite

},

skillID = { -- ID das skills

["club"] = SKILL_CLUB,

["sword"]= SKILL_SWORD,

["axe"] = SKILL_AXE,

["distance"] = SKILL_DISTANCE,

["shielding"] = SKILL_SHIELD

},

vocationSkill = { -- Vocações que pode comprar x skill

["club"] = {4, 8},

["sword"] = {4, 8},

["axe"] = {4, 8},

["distance"] = {3, 7},

["shielding"] = {4, 8}

},

vocationMagicLevel = {1, 2, 5, 6}, -- Vocações que pode comprar magic level

delay = {

skill = {

storage = 45,

duration = 5 -- Tempo para comprar skill novamente

},

magicLevel = {

storage = 97,

duration = 5 -- Tempo para comprar magic level novamente

}

}

}

function onSay(cid, words, param, channel)

local playerId = getPlayerGUID(cid)

if config.protectZone == "sim" and not getTilePzInfo(getCreaturePosition(cid)) then

return doPlayerSendCancel(cid, "Você precisa estar em protection zone para comprar.")

end

if param == "magiclevel" then

if getPlayerMagLevel(cid) < config.magicLevel.limitedeml then

if isInArray(config.vocationMagicLevel, getPlayerVocation(cid)) then

if doPlayerRemoveItem(cid, config.magicLevel.item, config.magicLevel.quantidade) then

if (os.time() - getPlayerStorageValue(cid, config.delay.magicLevel.storage)) >= config.delay.magicLevel.duration then

setPlayerStorageValue(cid, config.delay.magicLevel.storage, os.time())

doRemoveCreature(cid, true)

db.query("UPDATE `players` SET `maglevel` = `maglevel` + " .. config.magicLevel.quantidademl .. " WHERE `id` = " .. playerId)

else

doPlayerSendCancel(cid, "Espere " .. config.delay.magicLevel.duration .. " segundos para comprar novamente.")

end

else

doPlayerSendCancel(cid, "Você não tem o item requerido.")

end

else

doPlayerSendCancel(cid, "Voce não pode comprar magic level.")

end

else

doPlayerSendCancel(cid, "Você chegou no limite de magic level.")

end

elseif config.skillID[string.lower(param)] then

if getPlayerSkill(cid, config.skillID[string.lower(param)]) < config.skill.limiteskill then

if isInArray(config.vocationSkill[string.lower(param)], getPlayerVocation(cid)) then

if doPlayerRemoveItem(cid, config.skill.item, config.skill.quantidade) then

if (os.time() - getPlayerStorageValue(cid, config.delay.skill.storage)) >= config.delay.skill.duration then

setPlayerStorageValue(cid, config.delay.skill.storage, os.time())

doRemoveCreature(cid, true)

db.query("UPDATE `player_skills` SET `value` = `value` + " .. config.skill.quantidadeskill .. " WHERE `player_id` = " .. playerId .. " and `skillid` = " .. config.skillID[string.lower(param)])

else

doPlayerSendCancel(cid, "Espere " .. config.delay.skill.duration .. " segundos para comprar novamente.")

end

else

doPlayerSendCancel(cid, "Você não tem o item requerido.")

end

else

doPlayerSendCancel(cid, "Voce não pode comprar este skill.")

end

else

doPlayerSendCancel(cid, "Você chegou no limite de skill.")

end

else

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Possíveis parâmetros: club, sword, axe, distance, shielding, magiclevel.")

end

return true

end

Então, deu certo o magic level, mas acho que tem que adicionar uma tabela você sabe o comando dessa tabela, quando vou comprar skill axe sword club distance e shield da esse erro.

 

 

muylts.png

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

DROP TABLE IF EXISTS `player_skills`;
CREATE TABLE `player_skills`
(
    `player_id` INT NOT NULL,
    `skillid` TINYINT(2) NOT NULL DEFAULT 0,
    `value` INT UNSIGNED NOT NULL DEFAULT 0,
    `count` INT UNSIGNED NOT NULL DEFAULT 0,
    KEY (`player_id`), UNIQUE (`player_id`, `skillid`),
    FOREIGN KEY (`player_id`) REFERENCES `players`(`id`) ON DELETE CASCADE
) ENGINE = InnoDB;

Link para o post
Compartilhar em outros sites

DROP TABLE IF EXISTS `player_skills`;

CREATE TABLE `player_skills`

(

    `player_id` INT NOT NULL,

    `skillid` TINYINT(2) NOT NULL DEFAULT 0,

    `value` INT UNSIGNED NOT NULL DEFAULT 0,

    `count` INT UNSIGNED NOT NULL DEFAULT 0,

    KEY (`player_id`), UNIQUE (`player_id`, `skillid`),

    FOREIGN KEY (`player_id`) REFERENCES `players`(`id`) ON DELETE CASCADE

) ENGINE = InnoDB;

DROP TABLE IF EXISTS `player_skills` ;# MySQL não retornou nenhum registo.

CREATE TABLE `player_skills` (

`player_id` INT NOT NULL ,

`skillid` TINYINT( 2 ) NOT NULL DEFAULT 0,

`value` INT UNSIGNED NOT NULL DEFAULT 0,

`count` INT UNSIGNED NOT NULL DEFAULT 0,

KEY ( `player_id` ) ,

UNIQUE (

`player_id` ,

`skillid`

),

FOREIGN KEY ( `player_id` ) REFERENCES `players` ( `id` ) ON DELETE CASCADE

) ENGINE = INNODB;# MySQL não retornou nenhum registo.

Link para o post
Compartilhar em outros sites
`skill_fist` int(10) unsigned NOT NULL DEFAULT '10',
  `skill_fist_tries` bigint(20) unsigned NOT NULL DEFAULT '0',
  `skill_club` int(10) unsigned NOT NULL DEFAULT '10',
  `skill_club_tries` bigint(20) unsigned NOT NULL DEFAULT '0',
  `skill_sword` int(10) unsigned NOT NULL DEFAULT '10',
  `skill_sword_tries` bigint(20) unsigned NOT NULL DEFAULT '0',
  `skill_axe` int(10) unsigned NOT NULL DEFAULT '10',
  `skill_axe_tries` bigint(20) unsigned NOT NULL DEFAULT '0',
  `skill_dist` int(10) unsigned NOT NULL DEFAULT '10',
  `skill_dist_tries` bigint(20) unsigned NOT NULL DEFAULT '0',
  `skill_shielding` int(10) unsigned NOT NULL DEFAULT '10',
  `skill_shielding_tries` bigint(20) unsigned NOT NULL DEFAULT '0',
Link para o post
Compartilhar em outros sites

 

`skill_fist` int(10) unsigned NOT NULL DEFAULT '10',
  `skill_fist_tries` bigint(20) unsigned NOT NULL DEFAULT '0',
  `skill_club` int(10) unsigned NOT NULL DEFAULT '10',
  `skill_club_tries` bigint(20) unsigned NOT NULL DEFAULT '0',
  `skill_sword` int(10) unsigned NOT NULL DEFAULT '10',
  `skill_sword_tries` bigint(20) unsigned NOT NULL DEFAULT '0',
  `skill_axe` int(10) unsigned NOT NULL DEFAULT '10',
  `skill_axe_tries` bigint(20) unsigned NOT NULL DEFAULT '0',
  `skill_dist` int(10) unsigned NOT NULL DEFAULT '10',
  `skill_dist_tries` bigint(20) unsigned NOT NULL DEFAULT '0',
  `skill_shielding` int(10) unsigned NOT NULL DEFAULT '10',
  `skill_shielding_tries` bigint(20) unsigned NOT NULL DEFAULT '0',

 

o seguinte 

 #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '`skill_fist` int(10) unsigned NOT NULL DEFAULT '10', `skill_fist_tries` bigin' at line 1

Link para o post
Compartilhar em outros sites

Substitui o script por este

 

local config = {


protectZone = "sim", -- Precisa estar em PZ para usar o comando?

skill = {
item = 9971, -- Item removido
quantidade = 10, -- Quantidade
quantidadeskill = 10, -- Skill adicionada
limiteskill = 350 -- Limite
},

magicLevel = {
item = 9971, -- Item removido
quantidade = 15, -- Quantidade
quantidademl = 5, -- Magic level adicionado
limitedeml = 200 -- Limite
},

skillID = { -- ID das skills
["club"] = SKILL_CLUB,
["sword"]= SKILL_SWORD,
["axe"] = SKILL_AXE,
["distance"] = SKILL_DISTANCE,
["shielding"] = SKILL_SHIELD
},

vocationSkill = { -- Vocações que pode comprar x skill
["club"] = {4, 8},
["sword"] = {4, 8},
["axe"] = {4, 8},
["distance"] = {3, 7},
["shielding"] = {4, 8}
},

vocationMagicLevel = {1, 2, 5, 6}, -- Vocações que pode comprar magic level

delay = {
skill = {
storage = 45,
duration = 5 -- Tempo para comprar skill novamente
},

magicLevel = {
storage = 97,
duration = 5 -- Tempo para comprar magic level novamente
}
}
}

function onSay(cid, words, param, channel)
local playerId = getPlayerGUID(cid)
if config.protectZone == "sim" and not getTilePzInfo(getCreaturePosition(cid)) then
return doPlayerSendCancel(cid, "Você precisa estar em protection zone para comprar.")
end

if param == "magiclevel" then
if getPlayerMagLevel(cid) < config.magicLevel.limitedeml then
if isInArray(config.vocationMagicLevel, getPlayerVocation(cid)) then
if doPlayerRemoveItem(cid, config.magicLevel.item, config.magicLevel.quantidade) then
if (os.time() - getPlayerStorageValue(cid, config.delay.magicLevel.storage)) >= config.delay.magicLevel.duration then
setPlayerStorageValue(cid, config.delay.magicLevel.storage, os.time())
doRemoveCreature(cid, true)
db.query("UPDATE `players` SET `maglevel` = `maglevel` + " .. config.magicLevel.quantidademl .. " WHERE `id` = " .. playerId)
else
doPlayerSendCancel(cid, "Espere " .. config.delay.magicLevel.duration .. " segundos para comprar novamente.")
end
else
doPlayerSendCancel(cid, "Você não tem o item requerido.")
end
else
doPlayerSendCancel(cid, "Voce não pode comprar magic level.")
end
else
doPlayerSendCancel(cid, "Você chegou no limite de magic level.")
end
elseif config.skillID[string.lower(param)] then
if getPlayerSkill(cid, config.skillID[string.lower(param)]) < config.skill.limiteskill then
if isInArray(config.vocationSkill[string.lower(param)], getPlayerVocation(cid)) then
if doPlayerRemoveItem(cid, config.skill.item, config.skill.quantidade) then
if (os.time() - getPlayerStorageValue(cid, config.delay.skill.storage)) >= config.delay.skill.duration then
setPlayerStorageValue(cid, config.delay.skill.storage, os.time())
doRemoveCreature(cid, true)
db.query("UPDATE `players` SET `skill_sword` = `skill_sword` + " .. config.skill.quantidadeskill .. " WHERE `player_id` = " .. playerId .. " and `skillid` = " .. config.skillID[string.lower(param)])

db.query("UPDATE `players` SET `skill_axe` = `skill_axe` + " .. config.skill.quantidadeskill .. " WHERE `player_id` = " .. playerId .. " and `skillid` = " .. config.skillID[string.lower(param)])

db.query("UPDATE `players` SET `skill_club` = `skill_club` + " .. config.skill.quantidadeskill .. " WHERE `player_id` = " .. playerId .. " and `skillid` = " .. config.skillID[string.lower(param)])

db.query("UPDATE `players` SET `skill_dist` = `skill_dist` + " .. config.skill.quantidadeskill .. " WHERE `player_id` = " .. playerId .. " and `skillid` = " .. config.skillID[string.lower(param)])
else
doPlayerSendCancel(cid, "Espere " .. config.delay.skill.duration .. " segundos para comprar novamente.")
end
else
doPlayerSendCancel(cid, "Você não tem o item requerido.")
end
else
doPlayerSendCancel(cid, "Voce não pode comprar este skill.")
end
else
doPlayerSendCancel(cid, "Você chegou no limite de skill.")
end
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Possíveis parâmetros: club, sword, axe, distance, shielding, magiclevel.")
end
return true
end

Link para o post
Compartilhar em outros sites

Substitui o script por este

 

local config = {

protectZone = "sim", -- Precisa estar em PZ para usar o comando?

skill = {

item = 9971, -- Item removido

quantidade = 10, -- Quantidade

quantidadeskill = 10, -- Skill adicionada

limiteskill = 350 -- Limite

},

magicLevel = {

item = 9971, -- Item removido

quantidade = 15, -- Quantidade

quantidademl = 5, -- Magic level adicionado

limitedeml = 200 -- Limite

},

skillID = { -- ID das skills

["club"] = SKILL_CLUB,

["sword"]= SKILL_SWORD,

["axe"] = SKILL_AXE,

["distance"] = SKILL_DISTANCE,

["shielding"] = SKILL_SHIELD

},

vocationSkill = { -- Vocações que pode comprar x skill

["club"] = {4, 8},

["sword"] = {4, 8},

["axe"] = {4, 8},

["distance"] = {3, 7},

["shielding"] = {4, 8}

},

vocationMagicLevel = {1, 2, 5, 6}, -- Vocações que pode comprar magic level

delay = {

skill = {

storage = 45,

duration = 5 -- Tempo para comprar skill novamente

},

magicLevel = {

storage = 97,

duration = 5 -- Tempo para comprar magic level novamente

}

}

}

function onSay(cid, words, param, channel)

local playerId = getPlayerGUID(cid)

if config.protectZone == "sim" and not getTilePzInfo(getCreaturePosition(cid)) then

return doPlayerSendCancel(cid, "Você precisa estar em protection zone para comprar.")

end

if param == "magiclevel" then

if getPlayerMagLevel(cid) < config.magicLevel.limitedeml then

if isInArray(config.vocationMagicLevel, getPlayerVocation(cid)) then

if doPlayerRemoveItem(cid, config.magicLevel.item, config.magicLevel.quantidade) then

if (os.time() - getPlayerStorageValue(cid, config.delay.magicLevel.storage)) >= config.delay.magicLevel.duration then

setPlayerStorageValue(cid, config.delay.magicLevel.storage, os.time())

doRemoveCreature(cid, true)

db.query("UPDATE `players` SET `maglevel` = `maglevel` + " .. config.magicLevel.quantidademl .. " WHERE `id` = " .. playerId)

else

doPlayerSendCancel(cid, "Espere " .. config.delay.magicLevel.duration .. " segundos para comprar novamente.")

end

else

doPlayerSendCancel(cid, "Você não tem o item requerido.")

end

else

doPlayerSendCancel(cid, "Voce não pode comprar magic level.")

end

else

doPlayerSendCancel(cid, "Você chegou no limite de magic level.")

end

elseif config.skillID[string.lower(param)] then

if getPlayerSkill(cid, config.skillID[string.lower(param)]) < config.skill.limiteskill then

if isInArray(config.vocationSkill[string.lower(param)], getPlayerVocation(cid)) then

if doPlayerRemoveItem(cid, config.skill.item, config.skill.quantidade) then

if (os.time() - getPlayerStorageValue(cid, config.delay.skill.storage)) >= config.delay.skill.duration then

setPlayerStorageValue(cid, config.delay.skill.storage, os.time())

doRemoveCreature(cid, true)

db.query("UPDATE `players` SET `skill_sword` = `skill_sword` + " .. config.skill.quantidadeskill .. " WHERE `player_id` = " .. playerId .. " and `skillid` = " .. config.skillID[string.lower(param)])

db.query("UPDATE `players` SET `skill_axe` = `skill_axe` + " .. config.skill.quantidadeskill .. " WHERE `player_id` = " .. playerId .. " and `skillid` = " .. config.skillID[string.lower(param)])

db.query("UPDATE `players` SET `skill_club` = `skill_club` + " .. config.skill.quantidadeskill .. " WHERE `player_id` = " .. playerId .. " and `skillid` = " .. config.skillID[string.lower(param)])

db.query("UPDATE `players` SET `skill_dist` = `skill_dist` + " .. config.skill.quantidadeskill .. " WHERE `player_id` = " .. playerId .. " and `skillid` = " .. config.skillID[string.lower(param)])

else

doPlayerSendCancel(cid, "Espere " .. config.delay.skill.duration .. " segundos para comprar novamente.")

end

else

doPlayerSendCancel(cid, "Você não tem o item requerido.")

end

else

doPlayerSendCancel(cid, "Voce não pode comprar este skill.")

end

else

doPlayerSendCancel(cid, "Você chegou no limite de skill.")

end

else

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Possíveis parâmetros: club, sword, axe, distance, shielding, magiclevel.")

end

return true

end

deu o mesmo erro ;(

Link para o post
Compartilhar em outros sites

ve agora substitui por esse aqui

 

local config = {


protectZone = "sim", -- Precisa estar em PZ para usar o comando?

skill = {
item = 9971, -- Item removido
quantidade = 10, -- Quantidade
quantidadeskill = 10, -- Skill adicionada
limiteskill = 350 -- Limite
},

magicLevel = {
item = 9971, -- Item removido
quantidade = 15, -- Quantidade
quantidademl = 5, -- Magic level adicionado
limitedeml = 200 -- Limite
},

skillID = { -- ID das skills
["club"] = SKILL_CLUB,
["sword"]= SKILL_SWORD,
["axe"] = SKILL_AXE,
["distance"] = SKILL_DISTANCE,
["shielding"] = SKILL_SHIELD
},

vocationSkill = { -- Vocações que pode comprar x skill
["club"] = {4, 8},
["sword"] = {4, 8},
["axe"] = {4, 8},
["distance"] = {3, 7},
["shielding"] = {4, 8}
},

vocationMagicLevel = {1, 2, 5, 6}, -- Vocações que pode comprar magic level

delay = {
skill = {
storage = 45,
duration = 5 -- Tempo para comprar skill novamente
},

magicLevel = {
storage = 97,
duration = 5 -- Tempo para comprar magic level novamente
}
}
}

function onSay(cid, words, param, channel)
local playerId = getPlayerGUID(cid)
if config.protectZone == "sim" and not getTilePzInfo(getCreaturePosition(cid)) then
return doPlayerSendCancel(cid, "Você precisa estar em protection zone para comprar.")
end

if param == "magiclevel" then
if getPlayerMagLevel(cid) < config.magicLevel.limitedeml then
if isInArray(config.vocationMagicLevel, getPlayerVocation(cid)) then
if doPlayerRemoveItem(cid, config.magicLevel.item, config.magicLevel.quantidade) then
if (os.time() - getPlayerStorageValue(cid, config.delay.magicLevel.storage)) >= config.delay.magicLevel.duration then
setPlayerStorageValue(cid, config.delay.magicLevel.storage, os.time())
doRemoveCreature(cid, true)
db.query("UPDATE `players` SET `maglevel` = `maglevel` + " .. config.magicLevel.quantidademl .. " WHERE `id` = " .. playerId)
else
doPlayerSendCancel(cid, "Espere " .. config.delay.magicLevel.duration .. " segundos para comprar novamente.")
end
else
doPlayerSendCancel(cid, "Você não tem o item requerido.")
end
else
doPlayerSendCancel(cid, "Voce não pode comprar magic level.")
end
else
doPlayerSendCancel(cid, "Você chegou no limite de magic level.")
end
elseif config.skillID[string.lower(param)] then
if getPlayerSkill(cid, config.skillID[string.lower(param)]) < config.skill.limiteskill then
if isInArray(config.vocationSkill[string.lower(param)], getPlayerVocation(cid)) then
if doPlayerRemoveItem(cid, config.skill.item, config.skill.quantidade) then
if (os.time() - getPlayerStorageValue(cid, config.delay.skill.storage)) >= config.delay.skill.duration then
setPlayerStorageValue(cid, config.delay.skill.storage, os.time())
doRemoveCreature(cid, true)
db.query("UPDATE `players` SET `skill_sword` = `skill_sword` + " .. config.skill.quantidadeskill .. " WHERE `id` = " .. playerId) 
db.query("UPDATE `players` SET `skill_axe` = `skill_axe` + " .. config.skill.quantidadeskill .. " WHERE `id` = " .. playerId)
db.query("UPDATE `players` SET `skill_club` = `skill_club` + " .. config.skill.quantidadeskill .. " WHERE `id` = " .. playerId)
db.query("UPDATE `players` SET `skill_dist` = `skill_dist` + " .. config.skill.quantidadeskill .. " WHERE `id` = " .. playerId)
else
doPlayerSendCancel(cid, "Espere " .. config.delay.skill.duration .. " segundos para comprar novamente.")
end
else
doPlayerSendCancel(cid, "Você não tem o item requerido.")
end
else
doPlayerSendCancel(cid, "Voce não pode comprar este skill.")
end
else
doPlayerSendCancel(cid, "Você chegou no limite de skill.")
end
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Possíveis parâmetros: club, sword, axe, distance, shielding, magiclevel.")
end
return true
end

Link para o post
Compartilhar em outros sites

ve agora substitui por esse aqui

 

local config = {

protectZone = "sim", -- Precisa estar em PZ para usar o comando?

skill = {

item = 9971, -- Item removido

quantidade = 10, -- Quantidade

quantidadeskill = 10, -- Skill adicionada

limiteskill = 350 -- Limite

},

magicLevel = {

item = 9971, -- Item removido

quantidade = 15, -- Quantidade

quantidademl = 5, -- Magic level adicionado

limitedeml = 200 -- Limite

},

skillID = { -- ID das skills

["club"] = SKILL_CLUB,

["sword"]= SKILL_SWORD,

["axe"] = SKILL_AXE,

["distance"] = SKILL_DISTANCE,

["shielding"] = SKILL_SHIELD

},

vocationSkill = { -- Vocações que pode comprar x skill

["club"] = {4, 8},

["sword"] = {4, 8},

["axe"] = {4, 8},

["distance"] = {3, 7},

["shielding"] = {4, 8}

},

vocationMagicLevel = {1, 2, 5, 6}, -- Vocações que pode comprar magic level

delay = {

skill = {

storage = 45,

duration = 5 -- Tempo para comprar skill novamente

},

magicLevel = {

storage = 97,

duration = 5 -- Tempo para comprar magic level novamente

}

}

}

function onSay(cid, words, param, channel)

local playerId = getPlayerGUID(cid)

if config.protectZone == "sim" and not getTilePzInfo(getCreaturePosition(cid)) then

return doPlayerSendCancel(cid, "Você precisa estar em protection zone para comprar.")

end

if param == "magiclevel" then

if getPlayerMagLevel(cid) < config.magicLevel.limitedeml then

if isInArray(config.vocationMagicLevel, getPlayerVocation(cid)) then

if doPlayerRemoveItem(cid, config.magicLevel.item, config.magicLevel.quantidade) then

if (os.time() - getPlayerStorageValue(cid, config.delay.magicLevel.storage)) >= config.delay.magicLevel.duration then

setPlayerStorageValue(cid, config.delay.magicLevel.storage, os.time())

doRemoveCreature(cid, true)

db.query("UPDATE `players` SET `maglevel` = `maglevel` + " .. config.magicLevel.quantidademl .. " WHERE `id` = " .. playerId)

else

doPlayerSendCancel(cid, "Espere " .. config.delay.magicLevel.duration .. " segundos para comprar novamente.")

end

else

doPlayerSendCancel(cid, "Você não tem o item requerido.")

end

else

doPlayerSendCancel(cid, "Voce não pode comprar magic level.")

end

else

doPlayerSendCancel(cid, "Você chegou no limite de magic level.")

end

elseif config.skillID[string.lower(param)] then

if getPlayerSkill(cid, config.skillID[string.lower(param)]) < config.skill.limiteskill then

if isInArray(config.vocationSkill[string.lower(param)], getPlayerVocation(cid)) then

if doPlayerRemoveItem(cid, config.skill.item, config.skill.quantidade) then

if (os.time() - getPlayerStorageValue(cid, config.delay.skill.storage)) >= config.delay.skill.duration then

setPlayerStorageValue(cid, config.delay.skill.storage, os.time())

doRemoveCreature(cid, true)

db.query("UPDATE `players` SET `skill_sword` = `skill_sword` + " .. config.skill.quantidadeskill .. " WHERE `id` = " .. playerId) 

db.query("UPDATE `players` SET `skill_axe` = `skill_axe` + " .. config.skill.quantidadeskill .. " WHERE `id` = " .. playerId)

db.query("UPDATE `players` SET `skill_club` = `skill_club` + " .. config.skill.quantidadeskill .. " WHERE `id` = " .. playerId)

db.query("UPDATE `players` SET `skill_dist` = `skill_dist` + " .. config.skill.quantidadeskill .. " WHERE `id` = " .. playerId)

else

doPlayerSendCancel(cid, "Espere " .. config.delay.skill.duration .. " segundos para comprar novamente.")

end

else

doPlayerSendCancel(cid, "Você não tem o item requerido.")

end

else

doPlayerSendCancel(cid, "Voce não pode comprar este skill.")

end

else

doPlayerSendCancel(cid, "Você chegou no limite de skill.")

end

else

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Possíveis parâmetros: club, sword, axe, distance, shielding, magiclevel.")

end

return true

end

Então deu certo agora, mas eu compro 1 skill. exemplo compro skill axe ele adiciona 10 skill em sword, club, axe, distance, shielding.

Link para o post
Compartilhar em outros sites
  • Solução

Foi mal esqueci de fechar a função, agora vai ;D

 

 

local config = {


protectZone = "sim", -- Precisa estar em PZ para usar o comando?

skill = {
item = 9971, -- Item removido
quantidade = 10, -- Quantidade
quantidadeskill = 10, -- Skill adicionada
limiteskill = 350 -- Limite
},

magicLevel = {
item = 9971, -- Item removido
quantidade = 15, -- Quantidade
quantidademl = 5, -- Magic level adicionado
limitedeml = 200 -- Limite
},

skillID = { -- ID das skills
["club"] = SKILL_CLUB,
["sword"]= SKILL_SWORD,
["axe"] = SKILL_AXE,
["distance"] = SKILL_DISTANCE,
["shielding"] = SKILL_SHIELD
},

vocationSkill = { -- Vocações que pode comprar x skill
["club"] = {4, 8},
["sword"] = {4, 8},
["axe"] = {4, 8},
["distance"] = {3, 7},
["shielding"] = {4, 8}
},

vocationMagicLevel = {1, 2, 5, 6}, -- Vocações que pode comprar magic level

delay = {
skill = {
storage = 45,
duration = 5 -- Tempo para comprar skill novamente
},

magicLevel = {
storage = 97,
duration = 5 -- Tempo para comprar magic level novamente
}
}
}

function onSay(cid, words, param, channel)
local playerId = getPlayerGUID(cid)
if config.protectZone == "sim" and not getTilePzInfo(getCreaturePosition(cid)) then
return doPlayerSendCancel(cid, "Você precisa estar em protection zone para comprar.")
end

if param == "magiclevel" then
if getPlayerMagLevel(cid) < config.magicLevel.limitedeml then
if isInArray(config.vocationMagicLevel, getPlayerVocation(cid)) then
if doPlayerRemoveItem(cid, config.magicLevel.item, config.magicLevel.quantidade) then
if (os.time() - getPlayerStorageValue(cid, config.delay.magicLevel.storage)) >= config.delay.magicLevel.duration then
setPlayerStorageValue(cid, config.delay.magicLevel.storage, os.time())
doRemoveCreature(cid, true)
db.query("UPDATE `players` SET `maglevel` = `maglevel` + " .. config.magicLevel.quantidademl .. " WHERE `id` = " .. playerId)
else
doPlayerSendCancel(cid, "Espere " .. config.delay.magicLevel.duration .. " segundos para comprar novamente.")
end
else
doPlayerSendCancel(cid, "Você não tem o item requerido.")
end
else
doPlayerSendCancel(cid, "Voce não pode comprar magic level.")
end
else
doPlayerSendCancel(cid, "Você chegou no limite de magic level.")
end
elseif config.skillID[string.lower(param)] then
if getPlayerSkill(cid, config.skillID[string.lower(param)]) < config.skill.limiteskill then
if isInArray(config.vocationSkill[string.lower(param)], getPlayerVocation(cid)) then
if doPlayerRemoveItem(cid, config.skill.item, config.skill.quantidade) then
if (os.time() - getPlayerStorageValue(cid, config.delay.skill.storage)) >= config.delay.skill.duration then
setPlayerStorageValue(cid, config.delay.skill.storage, os.time())
doRemoveCreature(cid, true)
db.query("UPDATE `players` SET `skill_sword` = `skill_sword` + " .. config.skill.quantidadeskill .. " WHERE `id` = " .. playerId)

else
doPlayerSendCancel(cid, "Espere " .. config.delay.skill.duration .. " segundos para comprar novamente.")
end
else
doPlayerSendCancel(cid, "Você não tem o item requerido.")
end
else
doPlayerSendCancel(cid, "Voce não pode comprar este skill.")
end
else
doPlayerSendCancel(cid, "Você chegou no limite de skill.")
end

elseif config.skillID[string.lower(param)] then
if getPlayerSkill(cid, config.skillID[string.lower(param)]) < config.skill.limiteskill then
if isInArray(config.vocationSkill[string.lower(param)], getPlayerVocation(cid)) then
if doPlayerRemoveItem(cid, config.skill.item, config.skill.quantidade) then
if (os.time() - getPlayerStorageValue(cid, config.delay.skill.storage)) >= config.delay.skill.duration then
setPlayerStorageValue(cid, config.delay.skill.storage, os.time())
doRemoveCreature(cid, true)
db.query("UPDATE `players` SET `skill_axe` = `skill_axe` + " .. config.skill.quantidadeskill .. " WHERE `id` = " .. playerId)

else
doPlayerSendCancel(cid, "Espere " .. config.delay.skill.duration .. " segundos para comprar novamente.")
end
else
doPlayerSendCancel(cid, "Você não tem o item requerido.")
end
else
doPlayerSendCancel(cid, "Voce não pode comprar este skill.")
end
else
doPlayerSendCancel(cid, "Você chegou no limite de skill.")
end

elseif config.skillID[string.lower(param)] then
if getPlayerSkill(cid, config.skillID[string.lower(param)]) < config.skill.limiteskill then
if isInArray(config.vocationSkill[string.lower(param)], getPlayerVocation(cid)) then
if doPlayerRemoveItem(cid, config.skill.item, config.skill.quantidade) then
if (os.time() - getPlayerStorageValue(cid, config.delay.skill.storage)) >= config.delay.skill.duration then
setPlayerStorageValue(cid, config.delay.skill.storage, os.time())
doRemoveCreature(cid, true)
db.query("UPDATE `players` SET `skill_club` = `skill_club` + " .. config.skill.quantidadeskill .. " WHERE `id` = " .. playerId)

else
doPlayerSendCancel(cid, "Espere " .. config.delay.skill.duration .. " segundos para comprar novamente.")
end
else
doPlayerSendCancel(cid, "Você não tem o item requerido.")
end
else
doPlayerSendCancel(cid, "Voce não pode comprar este skill.")
end
else
doPlayerSendCancel(cid, "Você chegou no limite de skill.")
end

elseif config.skillID[string.lower(param)] then
if getPlayerSkill(cid, config.skillID[string.lower(param)]) < config.skill.limiteskill then
if isInArray(config.vocationSkill[string.lower(param)], getPlayerVocation(cid)) then
if doPlayerRemoveItem(cid, config.skill.item, config.skill.quantidade) then
if (os.time() - getPlayerStorageValue(cid, config.delay.skill.storage)) >= config.delay.skill.duration then
setPlayerStorageValue(cid, config.delay.skill.storage, os.time())
doRemoveCreature(cid, true)
db.query("UPDATE `players` SET `skill_dist` = `skill_dist` + " .. config.skill.quantidadeskill .. " WHERE `id` = " .. playerId)
else
doPlayerSendCancel(cid, "Espere " .. config.delay.skill.duration .. " segundos para comprar novamente.")
end
else
doPlayerSendCancel(cid, "Você não tem o item requerido.")
end
else
doPlayerSendCancel(cid, "Voce não pode comprar este skill.")
end
else
doPlayerSendCancel(cid, "Você chegou no limite de skill.")
end
else
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Possíveis parâmetros: club, sword, axe, distance, shielding, magiclevel.")
end
return true
end

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