Так возьми код, который я кидал тебе ранее (вставь в любой клиент) и у тебя произойдёт " Чудо" - мне просто интересно, тебе снег то нахуя?Там есть команда /st или /sw или что-то в этом роде, но она меняет только погоду, а не снег на земле.
Так возьми код, который я кидал тебе ранее (вставь в любой клиент) и у тебя произойдёт " Чудо" - мне просто интересно, тебе снег то нахуя?Там есть команда /st или /sw или что-то в этом роде, но она меняет только погоду, а не снег на земле.
Я это сделал, спасибоЗайди в клиент, там есть индекс и в самый конец файла пропиши (именно в папке client , а не client_packages!)
mp.game.invoke("0x6E9EF3A33C8899F8", true);
mp.game.invoke("0x4CC7F0FEA5283FE0", true);
mp.game.invoke("0xAEEDAD1420C65CC0", true);
ну а после сбилди клиент и перезапусти сервер
Посмотреть вложение 25558
обсуждалось же как включить на сервере снег, есть даже видео
все знаютПри любой взаимодействии с счётом, он не обновляется, только после рестарта обновляется. Знает может ктото?
Проблема может быть в логике клиент-сервера (и даже CEF!) при работе с системой банкомата.а в чем проблема может быть, в клиенте?*
а с чего ты взял что это проблема?а в чем проблема может быть, в клиенте?*
дело не в банкомате, счёт меняется только после перезахода в любом случаеПроблема может быть в логике клиент-сервера (и даже CEF!) при работе с системой банкомата.
если так было задумано, тогда хорошо, спасибо, пошёл переписывать пытаться тогдаа с чего ты взял что это проблема?
может это работает так, как и было задумано
если тебе хочется чтобы работало не так - перепиши
И что делать в таком случае?ну если правильно помню, то вроде, так не должно быть
ну раньше, оно было нормально, сейчас сломанно похоже, нужно поискатьИ что делать в таком случае?
либо нужны версии редаги до апдейтану раньше, оно было нормально, сейчас сломанно похоже, нужно поискать
ну либо третий вырьянт - у меня кривые руки и я не так установиллибо нужны версии редаги до апдейта
вы незнаете случаем?И что делать в таком случае?
вы незнаете случаем?
В клиентском ATM-обработчике событие setatm принимает num, name, bal, sub, но в интерфейс передаёт только number и holder. Аргументы bal и sub просто игнорируются. То есть баланс счёта на клиенте при открытии/обновлении окна ATM вообще не пробрасывается в PlayerAtm.вы незнаете случаем?
ты это реально сам накопал?В клиентском ATM-обработчике событие setatm принимает num, name, bal, sub, но в интерфейс передаёт только number и holder. Аргументы bal и sub просто игнорируются. То есть баланс счёта на клиенте при открытии/обновлении окна ATM вообще не пробрасывается в PlayerAtm.
Параллельно HUD/CEF у тебя обновляет деньги и банковский баланс только через события вида client.charStore.*. В списке синхронизируемых полей есть и Money, и BankMoney, а обновление в браузер идёт через client.charStore.BankMoney. Значит, чтобы баланс менялся сразу, сервер после любой операции обязан явно триггерить это событие или заново отправлять stats-пакет. Если этого не происходит, интерфейс будет показывать старое значение до следующей полной инициализации персонажа.
То есть самая вероятная причина такая:
- Сервер меняет баланс в памяти/БД.
- Но не отправляет клиенту обновление BankMoney.
- ATM-окно ещё и само по себе не использует bal из setatm.
- После рестарта/перезахода персонаж инициализируется заново, и баланс “вдруг” становится правильным.
Где чинить:
В первую очередь проверь серверные обработчики:
- пополнение/снятие в ATM,
- переводы,
- любые операции со счётом.
После изменения баланса добавь немедленную синхронизацию клиента, например:
Trigger.ClientEvent(player, "client.charStore.BankMoney", newBalance);
или вызов того же метода, который у тебя пересылает полный client.inventory.stats.
И отдельно поправь клиентский src_client/player/atm.js, потому что сейчас там явная ошибка:
gm.events.add('setatm', (num, name, bal, sub) => {
mp.gui.emmit(
`window.router.setView("PlayerAtm", {
number: '${num}',
holder: '${name}',
balance: '${bal}',
sub: '${sub}'
})`
);
});
Сейчас bal и sub просто теряются.
Итог:
Проблема почти наверняка в том, что после операций по счёту сервер не шлёт client.charStore.BankMoney, а клиентский ATM ещё и не использует переданный баланс из setatm.
да Сэм Альтман подсказал, норм кодерты это реально сам накопал?
я это наверное дня 3 просто копалВ клиентском ATM-обработчике событие setatm принимает num, name, bal, sub, но в интерфейс передаёт только number и holder. Аргументы bal и sub просто игнорируются. То есть баланс счёта на клиенте при открытии/обновлении окна ATM вообще не пробрасывается в PlayerAtm.
Параллельно HUD/CEF у тебя обновляет деньги и банковский баланс только через события вида client.charStore.*. В списке синхронизируемых полей есть и Money, и BankMoney, а обновление в браузер идёт через client.charStore.BankMoney. Значит, чтобы баланс менялся сразу, сервер после любой операции обязан явно триггерить это событие или заново отправлять stats-пакет. Если этого не происходит, интерфейс будет показывать старое значение до следующей полной инициализации персонажа.
То есть самая вероятная причина такая:
- Сервер меняет баланс в памяти/БД.
- Но не отправляет клиенту обновление BankMoney.
- ATM-окно ещё и само по себе не использует bal из setatm.
- После рестарта/перезахода персонаж инициализируется заново, и баланс “вдруг” становится правильным.
Где чинить:
В первую очередь проверь серверные обработчики:
- пополнение/снятие в ATM,
- переводы,
- любые операции со счётом.
После изменения баланса добавь немедленную синхронизацию клиента, например:
Trigger.ClientEvent(player, "client.charStore.BankMoney", newBalance);
или вызов того же метода, который у тебя пересылает полный client.inventory.stats.
И отдельно поправь клиентский src_client/player/atm.js, потому что сейчас там явная ошибка:
gm.events.add('setatm', (num, name, bal, sub) => {
mp.gui.emmit(
`window.router.setView("PlayerAtm", {
number: '${num}',
holder: '${name}',
balance: '${bal}',
sub: '${sub}'
})`
);
});
Сейчас bal и sub просто теряются.
Итог:
Проблема почти наверняка в том, что после операций по счёту сервер не шлёт client.charStore.BankMoney, а клиентский ATM ещё и не использует переданный баланс из setatm.
все что я смог найти сам честно сказать в dotnet - resource - NeptuneEvo - MoneySystem - BankВ клиентском ATM-обработчике событие setatm принимает num, name, bal, sub, но в интерфейс передаёт только number и holder. Аргументы bal и sub просто игнорируются. То есть баланс счёта на клиенте при открытии/обновлении окна ATM вообще не пробрасывается в PlayerAtm.
Параллельно HUD/CEF у тебя обновляет деньги и банковский баланс только через события вида client.charStore.*. В списке синхронизируемых полей есть и Money, и BankMoney, а обновление в браузер идёт через client.charStore.BankMoney. Значит, чтобы баланс менялся сразу, сервер после любой операции обязан явно триггерить это событие или заново отправлять stats-пакет. Если этого не происходит, интерфейс будет показывать старое значение до следующей полной инициализации персонажа.
То есть самая вероятная причина такая:
- Сервер меняет баланс в памяти/БД.
- Но не отправляет клиенту обновление BankMoney.
- ATM-окно ещё и само по себе не использует bal из setatm.
- После рестарта/перезахода персонаж инициализируется заново, и баланс “вдруг” становится правильным.
Где чинить:
В первую очередь проверь серверные обработчики:
- пополнение/снятие в ATM,
- переводы,
- любые операции со счётом.
После изменения баланса добавь немедленную синхронизацию клиента, например:
Trigger.ClientEvent(player, "client.charStore.BankMoney", newBalance);
или вызов того же метода, который у тебя пересылает полный client.inventory.stats.
И отдельно поправь клиентский src_client/player/atm.js, потому что сейчас там явная ошибка:
gm.events.add('setatm', (num, name, bal, sub) => {
mp.gui.emmit(
`window.router.setView("PlayerAtm", {
number: '${num}',
holder: '${name}',
balance: '${bal}',
sub: '${sub}'
})`
);
});
Сейчас bal и sub просто теряются.
Итог:
Проблема почти наверняка в том, что после операций по счёту сервер не шлёт client.charStore.BankMoney, а клиентский ATM ещё и не использует переданный баланс из setatm.