[Cryptos] Интеграция с IGS

Теперь вы можете покупать крипту за рельную валюту в gmod :joy:
garrysmod\addons\cryptocurrencies\lua\ch_cryptocurrencies\shared\currencies\igs.lua

CH_CryptoCurrencies.Currencies[ "igsfunds" ] = {
	Name = "IGS Rub",

	AddMoney = function( ply, amount )
		ply:AddIGSFunds( amount, "Продажа крипты" )
	end,
	
	TakeMoney = function( ply, amount )
		ply:AddIGSFunds( amount * -1, "Покупка крипты" )
	end,
	
	GetMoney = function( ply )
		return ply:IGSFunds() or 0
	end,
	
	CanAfford = function( ply, amount )
		return IGS.CanAfford(ply, amount)
	end,
	
	FormatMoney = function( amount )
		return "₽" .. string.Comma(amount)
	end,
	
	CurrencyAbbreviation = function()
		return "Tug"
	end,
}

Аддон Cryptos (Trade Crypto, Real Data, MySQL Support, All Gamemodes & More) · gmodstore

Спасибо @GMD

GetMoney = AddIGSFunds, гениально :joy:
AddIGSFunds выдаёт деньги, а не возвращает их количество
вот тута можешь посмотреть пример интеграции гмд в другой аддон:

Да забей я еще тот гений


А это что?

Тут нужно вместо ply:AddIGSFunds(amount) написать ply:IGSFunds() or 0

Ты указал функцию выдачи денег вместо получения

Что касается этого, то это функция, которая преобразует число в удобночитаемую строку. Делает из из числа 21 “21 рубль”, из числа 22 “22 рубля”, из 25 “25 рублей”. Т.е. изменяет приставку. Настраивается в config_sh.lua сверху:

1 лайк

Полное решение, должно сработать

CH_CryptoCurrencies.Currencies[ "igsfunds" ] = {
	Name = "IGS Rub",

	AddMoney = function( ply, amount )
		ply:AddIGSFunds( amount )
	end,
	
	TakeMoney = function( ply, amount )
		ply:AddIGSFunds( -amount )
	end,
	
	GetMoney = function( ply )
		return ply:IGSFunds() or 0
	end,
	
	CanAfford = function( ply, amount )
		return IGS.CanAfford(ply, amount)
	end,
	
	FormatMoney = function( amount )
		return PL_MONEY(amount)
	end,
	
	CurrencyAbbreviation = function()
		return "Tugrik"
	end,
}
1 лайк

@BazZziliuS вместо этого используй PL_MONEY. PL_IGS будет удалена в ближайших версиях, как и ITEM:Price()

Не в следующей, но лучше заранее подготовиться

Код в сообщении сверху исправил

В чём причина удаления PL_IGS? PL_MONEY же делает то-же самое судя по этому коммиту

Именно поэтому

PL_IGS был для «5 алкобаксов»
PL_MONEY для «5 рублей»

«Алкобаксов» больше не будет

PL_IGS останется еще на несколько версий, но это был просто алиас для PL_MONEY, когда курс валюты 1 к 1.

почему нельзя просто оставить функцию для совместимости?
оставляя ты ничего не теряешь, а если уберёшь то все старые модификации сломаются.

Да на самом деле они не нужны поскольку в том же донат меню предметы продаются за рубли,а не алкобаксы да и путаница возникает когда у тебя донат валюта то рубли то алкобаксы и везде по разному пишет

И я видел только пару упоминаний алкобаксов сверху донат меню где указана сколько у тебя денег и в чате если не путаю

я ее оставляю, но в будущем она будет убрана. Просто замени в своем в коде