[Onyx Store] Как сделать интеграцию с GM-Donate?

Может кто подсказать, можно ли сделать так, чтобы при донате на gm-donate деньги конвертировались в валюту Onyx store? (Или может быть есть какие то методы для начисления поинтов, как с pointshop2?)

Вот тут есть окно с валютой магазина, сам магазин и рабочий инвентарь, плюс окно пополнения:
image

Пополнение происходит через переход по url в окне Website URL:

Есть еще такая идея - продавать поинты из этого стора, и начислять их при покупке. Только в таком случае хотелось бы сразу интеграцию через Onyx store и окно пополнения.

Если у кого то будут идеи, пишите сюда. Ибо этот стор клевый и простой. Жаль я не особо разбираюсь в коде, чтобы самому интегрировать подобное

Так все есть в базе знаний этого аддона - onyx_give_credits <steamid64> <amount>
Просто под SetOnActivate суешь эту команду и всё

IGS("500 кредитов в Onyx Store", "onyx500cr")
    :SetPrice(500)
    :SetDescription("Выдача 500 кредитов в ониксе.")
    :SetCategory("Кредиты")
	:SetOnActivate(function(pl)
		RunConsoleCommand("onyx_give_credits", pl:SteamID64(), 500)
	end)

а, стоп, конвертация… не внимательно прочитал

Вот я про тоже. Типо выдачу ладно, удобно. А вот чтобы меню пополнения работала с конвертацией в поинты шопа…

Ну и на этом спасибо :smiley:

hook.Add("IGS.PlayerDonate", "Donate::PointShop", function(pl, sum_igs)
	RunConsoleCommand("onyx_give_credits", pl:SteamID64(), sum_igs)
end)

sv часть

Пополняется баланс - пополняется поинтшоп
Если тебе нужно именно чтобы пополняется баланс доната - деньги уходят только на поинтшоп, то нужно igs_core ставить и переписывать функцию updateBalance

1 лайк

А где искать данную функцию не подскажете? В какой папке и тп

ctrl c - ctrl v =)

вообще можно просто сделать так :face_with_thermometer:

hook.Add("IGS.PlayerDonate", "Donate::PointShop", function(pl, sum_igs)
	RunConsoleCommand("onyx_give_credits", pl:SteamID64(), sum_igs)
    pl:AddIGSFunds(-sum_igs)
end)

Не подскажешь куда это вставлять?

addons/anyname/lua/autorun/server/igs_onyx_credits.lua

Это я должен сам создать?
Не совсем понятен путь.

Должен создать

garrysmod/addons/igs-modification/lua/autorun/server/igs_onyx_credits.lua

Так пойдёт?

Все правильно

Если купоном выдам, оно сработает? или нужно именно задонатить?
Проверить же надо как-то.

UPD: Выдал через сайт, всё сработало!

+rep tehya

1 лайк

Вообще если человек пополнит баланс не находясь на сервере, то это не сработает
Там уже придется IGS.Transaction оверрайдить и напрямую в бд записывать кредиты
Использовать проверку на валидность игрока также потребуется
Думаю разберешься

Здесь можно найти код для решения данной проблемы

а как проверит всё ли работает? и как указать сайт с пополнением?

Можно просто читать

не работает)

Как так получается, что у всех работает, а у тебя нет? Проверь пути к файлам.

garrysmod/addons/igs-modification/lua/autorun/server/igs_onyx_credits.lua
По этому пути делал