PDA

Просмотр полной версии : [Вопрос] Помогите вывести оффлайн оплату



Killer
31.08.2017, 15:01
//// del

DeimoS
31.08.2017, 15:44
Ну проверяй, находится ли владелец на сервере и если нет, отсылай UPDATE запрос в базу, а после получай результат при помощи SELECT.
Хотя я бы вообще всё перенёс на сторону MySQL

Killer
31.08.2017, 16:01
// del

DeimoS
31.08.2017, 16:42
Причём тут вообще IsPlayerConnected?
Самым удобным вариантом будет создание отдельной таблицы с информацией о паркинге, в которой уже и производи все махинации. Твою текущую систему переписывать нужно

Killer
31.08.2017, 16:58
Причём тут вообще IsPlayerConnected?
Самым удобным вариантом будет создание отдельной таблицы с информацией о паркинге, в которой уже и производи все махинации. Твою текущую систему переписывать нужно

:sad: Через IsPlayerConnected я проверю игрока на онлайн, то что в сети. Если в сети, я буду продавать ему в онлайне. В онлайне все в порядке. Я накручиваю сейчас сложности, но мне надо сделать так как сейчас, запросы в таблицу accounts.

DeimoS
31.08.2017, 18:01
:sad: Через IsPlayerConnected я проверю игрока на онлайн, то что в сети. Если в сети, я буду продавать ему в онлайне. В онлайне все в порядке. Я накручиваю сейчас сложности, но мне надо сделать так как сейчас, запросы в таблицу accounts.

Так у тебя все данные о паркинге грузятся при старте сервера или данные о каждом игроке грузятся при входе игрока?
Если второе, то как ты решил при помощи IsPlayerConnect определять оффлайн игроков? Данные в переменных 100% будут лишь для тех, кто онлайн.

Самый простой, но костыльный вариант - выделить ещё один столбец в таблице с аккаунтами на информацию о том, онлайн ли игрок (например, если игрок оффлайн присваивать для столбца значение "-1", а если онлайн - ID на сервере) и уже в этой функции сразу работать с базой данных, отправляя сначала запрос, а-ля:

UPDATE accounts SET столбец_с_оплатой_паркинга = столбец_с_оплатой_паркинга-8000 WHERE столбец_с_оплатой_паркинга > 0
А после уже делать запрос

SELECT столбец_с_оплатой_паркинга, новый_столбец_с_информацией_об_онлайне_игрока FROM accounts
и уже проверять сначала баланс с оплатой, а уже потом делать все нужные действия, либо отправляя запрос в базу на обнуление, либо обнуляя переменные

Killer
31.08.2017, 18:58
/// del

DeimoS
31.08.2017, 19:24
Спасибо, постараюсь реализовать.

Еще такая проблема с этим будет связана, когда PAYDAY проходить будет, как мне у игрока в переменной проверить, что у его столбец pPark (например) равен = 1? для того, чтобы производить действия вычитания с аккаунта

- - - Добавлено - - -

Например у игрока оффлайн pSet равен 1. Как мне в payday проверить, что у его pSet равен 1? И если он равен, соответственно нужно запускать паблик с оплатой.

Прямо в запросах и проверяй


UPDATE accounts SET столбец_с_оплатой_паркинга = столбец_с_оплатой_паркинга-8000 WHERE pSet = 1 AND столбец_с_оплатой_паркинга > 0


SELECT столбец_с_оплатой_паркинга, новый_столбец_с_информацией_об_онлайне_игрока FROM accounts WHERE pSet = 1

Killer
02.09.2017, 01:07
/////

Killer
02.09.2017, 11:30
/// del

Killer
03.09.2017, 15:41
Все сам написал, без всяких переписываний систем. Закройте тему