Ir para conteúdo

Featured Replies

Postado

Como eu estou lotado de scripts que nunca mais irei usar provavelmente então alguns deles eu vou postar aqui na seção, outros eu tenho um projeto para eles, rs. Então vamos lá:

 

Esse sistema é basicamente uma action que quando você clica em um certo item com o actionid configurado, você perde X quantidade de points e recebe o item, basicamente um shop system in-game :p

 

Donate.lua

local SHOP = {
	[10001] = {
		reward = 9778,
		cost = 1,
		count = 1,
	},
	[10002] = {
		reward = 9776,
		cost = 1,
		count = 1,
	},
	[10003] = {
		reward = 9777,
		cost = 1,
		count = 1,
	},
	[10004] = {
		reward = 11113,
		cost = 10,
		count = 1,
	}
}
function doPlayerRemovePremiumPoints(cid, cost)
    return db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points` - " .. cost .. " WHERE `id` = " .. getPlayerAccountId(cid) .. ";")
end  

function doPlayerGetPremiumPoints(cid)
	return db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = " .. getPlayerAccountId(cid) .. ";")
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
	local t = SHOP[item.actionid]
	if t then
	local premium_points = doPlayerGetPremiumPoints(cid):getDataInt("premium_points")
		if(premium_points >= t.cost) then
			local id = doCreateItemEx(t.reward, t.count or 1)
			if(doPlayerAddItemEx(cid, id) ~= RETURNVALUE_NOERROR) then
				return doPlayerSendCancel(cid, "You cannot carry this item."), false
			end
			doPlayerRemovePremiumPoints(cid, t.cost)
			doSendMagicEffect(getThingPosition(cid), CONST_ME_MAGIC_BLUE)
			doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You have purchased " .. getItemName(t.reward) .. ".")
		else
			doPlayerSendCancel(cid, "You do not have enough premium points.")
		end
	end
	return true
end

Rápida explicação:

[10001] = ActionID

reward = ID do item

cost = quanto que custa o item

count = quantos items.

 

<action actionid="10001;10002;10003;10004" event="script" value="donate.lua"/>


LEMBRANDO: Se for mudar o action id, lembre de mudar no script e no XML.

 

Créditos: vankk

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

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

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.6k

Informação Importante

Confirmação de Termo