Ir para conteúdo

[PEDIDO] Premium account e itens para iniciantes por comando

Featured Replies

Postado

Ola, 

Gostaria de estar adicionado um comando na qual quando o Player digitar !starterkit ele ganhasse premium account (sistema que uso é P.A) por 7 dias e 3 itens de minha escolha (pode deixar os 3 itens com o mesmo id que eu vou alterar depois), porem tem os seguintes detalhes:

 

O player tem que ser lvl 20 menos para poder ativar o comando.

so poderar ser ativado 1 vez por conta.

 

Agradeço desde ja.

OBS: nao achei nada no forum para eu poder editar.

Editado por brunonyyu (veja o histórico de edições)

  • 1 month later...
Postado

@penisagudo já ajudei ele em um outro fórum. Script:

<talkaction words="!starterkit" event="script" value="starterkit.lua"/>

LUA:

local config = {
level = 20, -- Apartir de que level não irá receber
days = 7, -- Dias de Premium Account(VIP) que irá receber
items = {{2160,100}, {2161,1}, {2162,1}}, -- ID do item,QUANTIDADE
storage = 233486 -- str, não mexa
}

function onSay(cid, words, param)
if getPlayerLevel(cid) > config.level then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você precisa ter no maximo level "..config.level.." para receber o kit inicial.")
elseif getPlayerStorageValue(cid, config.storage) < 0 then
for _,ab in pairs(config.items) do
doPlayerAddItem(cid, ab[1], ab[2])
end
doPlayerAddPremiumDays(cid, config.days)   
setPlayerStorageValue(cid, config.storage, 1)
doPlayerSendTextMessage(cid, 25, "Você acabou de ganhar o kit inicial!")
else
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você já pegou seu kit inicial.")
end
return true
end

Essa funcionaria para qualquer player da conta. Caso queira apenas que funcione uma vez por account::

Spoiler

local config = {
level = 20, -- Apartir de que level não irá receber
days = 7, -- Dias de Premium Account(VIP) que irá receber
items = {{2160,100}, {2161,1}, {2162,1}}, -- ID do item,QUANTIDADE
storage = 233486 -- str, não mexa
}

function onSay(cid, words, param)
if getPlayerLevel(cid) > config.level then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você precisa ter no maximo level "..config.level.." para receber o kit inicial.")
elseif getAccountStorageValue(getPlayerAccountId(cid), config.storage) < 0 then
for _,ab in pairs(config.items) do
doPlayerAddItem(cid, ab[1], ab[2])
end
doPlayerAddPremiumDays(cid, config.days)   
setAccountStorageValue(getPlayerAccountId(cid), config.storage, 1)
doPlayerSendTextMessage(cid, 25, "Você acabou de ganhar o kit inicial!")
else
doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Você já pegou seu kit inicial.")
end
return true
end

No seu data/lib no arquivo 050-function.lua verifique se já existe essa função, se não tiver, é só adicionar:


function getAccountStorageValue(accid, key)
local value = db.getResult("SELECT `value` FROM `account_storage` WHERE `account_id` = " .. accid .. " and `key` = " .. key .. " LIMIT 1;")
if(value:getID() ~= -1) then
return value:getDataInt("value")
else
return -1
end
value:free()
end

function setAccountStorageValue(accid, key, value)
local getvalue = db.getResult("SELECT `value` FROM `account_storage` WHERE `account_id` = " .. accid .. " and `key` = " .. key .. " LIMIT 1;")
if(getvalue:getID() ~= -1) then
db.executeQuery("UPDATE `account_storage` SET `value` = " .. accid .. " WHERE `key`=" .. key .. " LIMIT 1');")
getvalue:free()
return 1
else
db.executeQuery("INSERT INTO `account_storage` (`account_id`, `key`, `value`) VALUES (" .. accid .. ", " .. key .. ", '"..value.."');")
return 1
end
end

Se for TFS 0.4 troque db.executeQuery por db.query

 

Depois é só ir no seu banco de dados e executar essa Query: 


CREATE TABLE `account_storage` (
`account_id` int(11) NOT NULL default '0',
`key` int(10) unsigned NOT NULL default '0',
`value` varchar(255) NOT NULL default '0',
UNIQUE KEY `account_id_2` (`account_id`,`key`),
KEY `account_id` (`account_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

 

Editado por Yan Liima (veja o histórico de edições)

════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═══╗

Te Ajudei? Rep + e ficamos Quits

166420979_logoyanliimaornight.png.33f822b8970081a5b3646e85dbfd5934.png

Precisando de ajuda?

discord.png.1ecd188791d0141f74d99db371a2e0a4.png.890d5a38d7bcde75543c72b624a65de1.pngDiscord: Yan Liima #3702

Programador Júnior de LUA, PHP e JavaScript

Juntos somos lendas, separados somos Mitos!

╚══════════════════════════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═════════════════════════════╝

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.7k

Informação Importante

Confirmação de Termo