Ir para conteúdo
  • Cadastre-se

[PEDIDO] Adicionar Tempo No Comando !buyvip


Posts Recomendados

Olá galera, esse é meu sistema vip é ingame. É este:

Quote

function onSay(cid, words, param, channel)

local name = getCreatureName(cid)

sorcerer = {

pcoin = 19000,

level = 1,

text = "Parabens",

}

druid = {

pcoin = 19000,

level = 1,

text = "Parabens",

}

paladin = {

pcoin = 19000,

level = 1,

text = "Parabens",

}

knight = {

pcion = 19000,

level = 1,

text = "Parabens",

}

if getPlayerVocation(cid) == 1 then

voc = sorcerer

elseif getPlayerVocation(cid) == 2 then

voc = druid

elseif getPlayerVocation(cid) == 3 then

voc = paladin

elseif getPlayerVocation(cid) == 4 then

voc = knight

else

voc = nil

end

if voc ~= nil then

if getPlayerLevel(cid) >= voc.level then

if doPlayerRemoveItem(cid,6527,40) == TRUE then

setPlayerPromotionLevel(cid, 1)

db.executeQuery("UPDATE `players` SET `name` = '[VIP] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";")

doSendMagicEffect(getCreaturePosition(cid),14)

doSendAnimatedText(getCreaturePosition(cid),voc.text,49)

setPlayerStorageValue(cid,1082,)

else

doPlayerSendTextMessage(cid,18,"Voce precisa de 40 Insane Coins para ser Vip.")

end

else

doPlayerSendTextMessage(cid,18,"You need level "..voc.level.." to promote.")

end

else

doPlayerSendTextMessage(cid,18,"Voce ja e Vip.")

end

return TRUE

end

Quando digito o comando !buyvip no game, ele usa 40 coins que pode ser comprado pelo site e dá Vip Eterna ao player, eu queria um adicionar mais 2 comandos, tipo: !buyvip "30 (iria usar menos coins, mas teria apenas 30 dias vip) !buyvip "60 (iria usar menos coins, mas teria 60 dias vip). O comando !buyvip compra vip eterna, talvez, podemos mudar para !buyvip "eterno. Então é isso galera, desde já agradeço!

Mesmo que alguem não saiba como fazer, talvez me daria uma sugestão de um sistema diferente, que da para usar da mesma forma, mas comprando pelo site. Aguardo resposta. Obrigado!

Link para o post
Compartilhar em outros sites

Va em data / talkactions / scripts / e ponha o nome de algum arquivo para buyvipname e ponha isto tudo la dentro

--((Script By Skyligh For #####.com))--

function onSay(cid, words, param)

local money = 10000 -- Quanto de dinheiro vai remover do player

if doPlayerRemoveMoney(cid,money) == TRUE then

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você Não Tem Dinheiro Suficiente")

return true

end

if setPlayerStorageValue(cid, 13545) <= 1 then

db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";")

addEvent(doRemoveCreature, 5*1000, cid, true)

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Parabéns Agora Você e um Vip Systema E Sera Kickado Daki 10 seg pra receber o [Vip] Nick")

else

doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você Ja E Vip !")

end

return true

end

dps em talkactions.xml add isto la

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

Creditos: Skyligh

Link para o post
Compartilhar em outros sites

:P, use !buyvip lista para maiores informações.") return true end local param = string.lower(param) if (param == "lista") then local str = "" str = str .. "~~ Preço ~~ :\n\n" for dias, quanti in pairs(tabela) do str = str..dias..": Dias custam ".. quanti .. " ".. getItemNameById(6527) .." /n Para vip eterna digite !buyvip eterna /n" end str = str .. "" doShowTextDialog(cid, 6527, str) end if param == "eterna" then dias = 9999 else dias = tonumber(param) end if doPlayerRemoveItem(cid, 6527, a) == true then db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";") addEvent(doRemoveCreature, 5*1000, cid, true) doPlayerAddPremiumDays(cid, dias) doPlayerSendTextMessage(cid, 27, "Você agora é V.I.P(Very Important People) será kickado em 5 segundos para mudança de nome.") end return true end
function onSay(cid, words, param)


local tabela = {  -- [dias]  -- preço

[10] = 30,

[30] = 60,

[60] = 90,

[100] = 120

}

local a = tabela[tonumber(param)]


if not a then

doPlayerSendCancel(cid, "Digite !buyvip dias, exêmplo !buyvip 10 
[code]<talkaction words = "!buyvip" event = "script" value = "nome.lua"/>

Retirado.

 

Skype: joaoxtibia85.

Link para o post
Compartilhar em outros sites

:P, use !buyvip lista para maiores informações.") return true end local param = string.lower(param) if (param == "lista") then local str = "" str = str .. "~~ Preço ~~ :\n\n" for dias, quanti in pairs(tabela) do str = str..dias..": Dias custam ".. quanti .. " ".. getItemNameById(6527) .." /n Para vip eterna digite !buyvip eterna /n" end str = str .. "" doShowTextDialog(cid, 6527, str) end if param == "eterna" then dias = 9999 else dias = tonumber(param) end if doPlayerRemoveItem(cid, 6527, a) == true then db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..getCreatureName(cid).."' WHERE `id` = "..getPlayerGUID(cid)..";") addEvent(doRemoveCreature, 5*1000, cid, true) doPlayerAddPremiumDays(cid, dias) doPlayerSendTextMessage(cid, 27, "Você agora é V.I.P(Very Important People) será kickado em 5 segundos para mudança de nome.") end return true end
function onSay(cid, words, param)


local tabela = { -- [dias] -- preço

[10] = 30,

[30] = 60,

[60] = 90,

[100] = 120

}

local a = tabela[tonumber(param)]


if not a then

doPlayerSendCancel(cid, "Digite !buyvip dias, exêmplo !buyvip 10 
[code]<talkaction words = "!buyvip" event = "script" value = "nome.lua"/>

Cara seu sistema está otimo, mas achei meio confuso os comandos. No caso seria: !buyvip 10, 30, 60 etc. !buyvip lista !buyvip eterna /n ? Eu testei o !buyvip 10, 30 e 60 e funcionou, colocou [VIP], mas não alterou o promotion para 1 na database. Seria possivel algum comando para ver quantos dias vip ainda falta?

Agradeço desde já

Link para o post
Compartilhar em outros sites
  • 2 weeks later...

Olá galera o que eu estou pedindo eu ja vi em vários ot's, pesquisei muito no google, forums, etc e não achei.

O Sistema Vip que eu preciso eu creio que é muito simples, eu ja consegui adidionar ele para comprar no shop e está alterando a tabela vip_time, mas eu preciso de mais duas coisas nesse sistema:

O que eu preciso é o seguinte: O player vai no shop, escolhe a quantidade de dias e quando ele confirmar será adicionado no seu nome a tag [VIP] e irá alterar a tabela do player "promotion" para 1.

Eu tenho um sistema desse por talkaction que é o seguinte:

function onSay(cid, words, param, channel)

local name = getCreatureName(cid)

sorcerer = {

pcoin = 19000,

level = 1,

text = "Parabens",

}

druid = {

pcoin = 19000,

level = 1,

text = "Parabens",

}

paladin = {

pcoin = 19000,

level = 1,

text = "Parabens",

}

knight = {

pcion = 19000,

level = 1,

text = "Parabens",

}

if getPlayerVocation(cid) == 1 then

voc = sorcerer

elseif getPlayerVocation(cid) == 2 then

voc = druid

elseif getPlayerVocation(cid) == 3 then

voc = paladin

elseif getPlayerVocation(cid) == 4 then

voc = knight

else

voc = nil

end

if voc ~= nil then

if getPlayerLevel(cid) >= voc.level then

if doPlayerRemoveItem(cid,6527,1) == TRUE then

setPlayerPromotionLevel(cid, 1)

db.executeQuery("UPDATE `players` SET `name` = '[VIP] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";")

doSendMagicEffect(getCreaturePosition(cid),14)

doSendAnimatedText(getCreaturePosition(cid),voc.text,49)

setPlayerStorageValue(cid,1082,1)

else

doPlayerSendTextMessage(cid,18,"Voce precisa de Vip Coins para ser Vip.")

end

else

doPlayerSendTextMessage(cid,18,"You need level "..voc.level.." to promote.")

end

else

doPlayerSendTextMessage(cid,18,"Voce ja e Vip.")

end

return TRUE

end

Nele o player digita !buyvip e depois disso ele recebe promotion e o [Vip] no nome. Esse sistema é bom, mas pena que é só eterno.

Aguardo a ajuda de vocês, muito obrigado!

--------------------------------------------------

Edit:

Meu system vip do site é o seguinte:

if($buy_offer['type'] == 'pacc') {

$player_vip_time = $buy_player_account->getCustomField('vip_time');

$player_lastlogin = $buy_player_account->getCustomField('lastday');

$save_transaction = 'INSERT INTO '.$SQL->tableName('z_shop_history_pacc').' (id, to_name, to_account, from_nick, from_account, price, pacc_days, trans_state, trans_start, trans_real) VALUES (NULL, '.$SQL->quote($buy_player->getName()).', '.$SQL->quote($buy_player_account->getId()).', '.$SQL->quote($buy_from).', '.$SQL->quote($account_logged->getId()).', '.$SQL->quote($buy_offer['points']).', '.$SQL->quote($buy_offer['days']).', \'realized\', '.$SQL->quote(time()).', '.$SQL->quote(time()).');';

$SQL->query($save_transaction);

if($player_vip_time > 0)

$buy_player_account->setCustomField('vip_time', $player_vip_time + $buy_offer['days'] * 86400);

else

$buy_player_account->setCustomField('vip_time', time() + $buy_offer['days'] * 86400);

$buy_player_account->setCustomField('premium_points', $user_premium_points-$buy_offer['points']);

$user_premium_points = $user_premium_points - $buy_offer['points'];

if ($player_vip_days >= 1) {

}

Editado por Winicius (veja o histórico de edições)
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