M
Картина такая, пытался сделать через DM & MCMD , селлера с обновляемыми предметами, нашёл слитые конфиги всем известного сервера , который использует эту фичу. Проблема в том, что при обновление предмета в DM, если один игрок на сервере , то всё хорошо, круто работает. Когда же несколько игроков , DM почему-то херней страдает и перемешивает playerdata разных игроков.
Пример кода на то, чтобы селлер обнулял и выдавал случайный предмет:
А это пример кода как выглядит DM
А вот какая каша получается в итоге
2024 08 16 22 17 26 — Postimages
Может кто знает как исправить это? Либо какие то доп аргументы нужно вводить для проверки даты определённого игрока?
Пример кода на то, чтобы селлер обнулял и выдавал случайный предмет:
Код:
farmernew:
command: /farmernew
type: RUN_COMMAND
runcmd:
- '$Script$%if%%mycommand_playerdata_farmernew%==0'
- '$RUN_CONSOLE$mycmd-playerdata set_silent $player farmernew 1'
- '$RUN_CONSOLE$mycmd-playerdata set_silent $player farmer-slot0-p1 0'
- '$RUN_CONSOLE$mycmd-playerdata set_silent $player farmer-slot0-p2 0'
- '$RUN_CONSOLE$mycmd-playerdata set_silent $player farmer-slot0-amount 12800'
- '$RUN_CONSOLE$mycmd-playerdata set_silent $player farmer-slot0-data 0'
- '$RUN_CONSOLE$mycmd-playerdata set_silent $player farmer-slot0-price 0'
- '$RUN_CONSOLE$mycmd-playerdata set_silent $player farmer-slot0-data-formatted 0'
- '$delay$<1>'
- '/farmer-getitem-0'
- '$delay$<1>'
- '$RUN_CONSOLE$dm reload farmer'
permission-required: false
register: false
farmerfarmergetitem:
command: /farmer-getitem-0
type: RUN_COMMAND
runcmd:
- '$Script$%PlayerData%variable1=$GetRandomStringFromList%string1;string2;string3;string4%'
- '$Script$%if%$PlayerData%variable1%==string1'
- '$RUN_CONSOLE$mycmd-playerdata set_silent $player farmer-slot0-data golden_carrot'
- '$RUN_CONSOLE$mycmd-playerdata set_silent $player farmer-slot0-data-formatted Золотая морковь'
- '$RUN_CONSOLE$mycmd-playerdata set_silent $player farmer-slot0-price %rng_160,190%'
- '$Script$%if%$PlayerData%variable1%==string2'
- '$RUN_CONSOLE$mycmd-playerdata set_silent $player farmer-slot0-data baked_potato'
- '$RUN_CONSOLE$mycmd-playerdata set_silent $player farmer-slot0-data-formatted Печённый картофель'
- '$RUN_CONSOLE$mycmd-playerdata set_silent $player farmer-slot0-price %rng_144,156%'
- '$Script$%if%$PlayerData%variable1%==string3'
- '$RUN_CONSOLE$mycmd-playerdata set_silent $player farmer-slot0-data chicken'
- '$RUN_CONSOLE$mycmd-playerdata set_silent $player farmer-slot0-data-formatted Курятина'
- '$RUN_CONSOLE$mycmd-playerdata set_silent $player farmer-slot0-price %rng_112,130%'
- '$Script$%if%$PlayerData%variable1%==string4'
- '$RUN_CONSOLE$mycmd-playerdata set_silent $player farmer-slot0-data cod'
- '$RUN_CONSOLE$mycmd-playerdata set_silent $player farmer-slot0-price %rng_144,178%'
permission-required: false
register: false
Код:
open_command:
- farmer
- фермер
size: 45
register_command: true
update_interval: 1
open_commands:
- '[player] farmernew'
SLOT22:
material: placeholder-%mycommand_playerdata_farmer-slot0-data%
slot: 22
priority: 4
display_name: '&a%mycommand_playerdata_farmer-slot0-data-formatted% &7| &f%mycommand_playerdata_farmer-slot0-selled%&7/&f%mycommand_playerdata_farmer-slot0-amount%'
view_requirement:
requirements:
seller_beetroot:
type: has permission
permission: seller_SLOT22
lore:
- ''
- ' &fЦена за каждые 16шт.: &6%mycommand_playerdata_farmer-slot0-price% монет.'
- ''
- ' &cЛКМ&f чтобы продать &61 шт.'
- ' &cПКМ&f чтобы продать &616 шт.'
- ' &cShift+ПКМ&f чтобы продать &6всё.'
- ''
- ' &fОбновление через �BCFFB%cmi_schedule_nextin_farmer%'
- ''
update: true
left_click_requirement:
requirements:
type:
type: javascript
expression: '%checkitem_amount_mat:{mycommand_playerdata_farmer-slot0-data}% > 0'
deny_commands:
- '[sound] ENTITY_WANDERING_TRADER_NO'
right_click_requirement:
requirements:
type:
type: javascript
expression: '%checkitem_amount_mat:{mycommand_playerdata_farmer-slot0-data}% > 15'
deny_commands:
- '[sound] ENTITY_WANDERING_TRADER_NO'
shift_right_click_requirement:
requirements:
type:
type: javascript
expression: '%checkitem_amount_mat:{mycommand_playerdata_farmer-slot0-data}% > 2303'
deny_commands:
- '[sound] ENTITY_WANDERING_TRADER_NO'
left_click_commands:
- '[player] farmer-farmer-sell 0 1'
- '[sound] ENTITY_WANDERING_TRADER_YES'
- '[refresh]'
right_click_commands:
- '[player] farmer-farmer-sell 0 16'
- '[sound] ENTITY_WANDERING_TRADER_YES'
- '[refresh]'
shift_left_click_commands:
- '[player] farmer-farmer-sell 0 all'
- '[sound] ENTITY_WANDERING_TRADER_YES'
- '[refresh]'
2024 08 16 22 17 26 — Postimages
Может кто знает как исправить это? Либо какие то доп аргументы нужно вводить для проверки даты определённого игрока?