Postado Agosto 9, 2019 5 anos 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 Agosto 9, 2019 5 anos por brunonyyu (veja o histórico de edições)
Postado Outubro 2, 2019 5 anos Qual versão do tfs? Seu sistema de PÁ funciona de que forma, storage ou db?
Postado Outubro 2, 2019 5 anos @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 Outubro 2, 2019 5 anos por Yan Liima (veja o histórico de edições) ╔══════════════════════════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ══════════════════════════╗ Te Ajudei? Rep + e ficamos Quits Precisando de ajuda? Discord: 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.