3 Mga Paraan upang Magtrabaho sa Mga Tindahan ng Data sa Roblox

Talaan ng mga Nilalaman:

3 Mga Paraan upang Magtrabaho sa Mga Tindahan ng Data sa Roblox
3 Mga Paraan upang Magtrabaho sa Mga Tindahan ng Data sa Roblox
Anonim

Ang bawat nais na i-save ang data, at mai-load muli ang mga ito sa tuwing ang isang manlalaro ay pumasok muli sa laro? Mula pa nang maging walang kabuluhan ang Pagpupursige ng Data, ipinakilala ng ROBLOX ang mga tindahan ng data na higit na gumagana. Ang sumusunod na how-to-guide ay magbibigay-daan sa iyo upang gumana sa mga datastore para sa ROBLOX.

Mga hakbang

Paraan 1 ng 3: Pagtatakda ng Data Store

7815950 1
7815950 1

Hakbang 1. I-configure ang API

Hindi ito nagsasangkot ng anumang piraso ng scripting, ngunit upang maisaaktibo ang lahat ng data store API, dapat mo munang paganahin ang pag-access sa API. Upang magawa ito, pumunta sa tab na Bumuo, at mag-click sa "Mga Laro". Dapat itong idirekta ka sa lahat ng mga kasalukuyang lugar ng laro na pagmamay-ari mo. Hanapin ang iyong laro, at mag-click sa gear. Dapat may lumitaw na isang dropdown menu, at pindutin lamang ang "I-configure". Lagyan ng check ang kahon na "Paganahin ang Studio Access sa Mga Serbisyo ng API", at i-save. Dapat ay mayroon ka nang access sa kumpletong API.

7815950 2
7815950 2

Hakbang 2. Kunin ang data store

Gamitin ang Data Store API upang tumawag para sa data store, dahil kakailanganin namin itong sanggunian. Upang magsimula, buksan ang isang script sa ROBLOX, at pangalanan ang isang variable na nais naming gamitin upang tumawag para sa sanggunian.

    local datastore = game: GetService ("DataStoreService"): GetDataStore ("name")

7815950 3
7815950 3

Hakbang 3. Gamitin ang variable kung kinakailangan

Matagumpay kang tinawag ang datastore na may variable na "datastore". Ngayon, tuwing kailangan mong kunin ang datastore, maaari mo lamang itong pangalanan sa pamamagitan ng variable nito.

Mangyaring tandaan na kung ang isang data store ay hindi pa nilikha, awtomatiko itong lilikha ng bago

Paraan 2 ng 3: Paggamit ng Mga Pamamaraan sa Pag-iimbak ng Data

7815950 4
7815950 4

Hakbang 1. GetAsync

Gamitin ang GetAsync upang ibalik ang halaga ng entry sa data store na may ibinigay na key. Siguraduhing bigyan ang bawat manlalaro ng isang natatanging hanay ng mga susi, tulad ng pagtatakda ng dalawang manlalaro ng parehong susi ay mapi-override ang kanilang sariling data sa laro, na nagiging sanhi ng kaguluhan sa pagitan ng dalawang partido. Kung nais mong malaman kung paano magtakda ng isang natatanging key, basahin ang.

  • Ang sumusunod na code ay magpapalabas ng wala, sapagkat ang server ay hindi makahanap ng anumang halaga na nagli-link sa susi; mahalagang ipakita ang server nang eksakto kung ano ang sinusubukan naming output, upang malaman ng server kung ano ang kailangang ipakita.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: ikonekta (function (player) local key = "user_".. player.userId datastore: GetAsync (key) end)

7815950 5
7815950 5

Hakbang 2. SetAsync

Gamitin ang SetAsync upang itakda ang halaga ng susi, at i-override ang lahat ng umiiral na data na nakaimbak para sa natatanging key.

  • Kung ang dating hanay ng impormasyon ay mahalaga, isaalang-alang ang paggamit ng UpdateAsync, na ituturo sa ibaba.
  • Ipinapakita sa iyo ng sumusunod na code kung paano ipatupad ang pareho, ang ": GetAsync ()", at ang ": SetAsync ()", mga pamamaraan.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: ikonekta (function (player) local key = "user_".. player.userId datastore: SetAsync (key, 90) - - Itinatakda ang susi sa halaga, 90 lokal na data_stored = datastore: GetAsync (key) - ay maaaring makita ang pag-print ng pagbabago ng halaga (data_stored) - na-print ang output end)

  • Tandaan: Hindi ito gagana, maliban kung pinagana mo ang pag-access sa API. Upang magawa ito, basahin ang unang tagubilin ng gabay na ito.
7815950 6
7815950 6

Hakbang 3. Gumamit ng UpdateAsync upang ibalik ang halaga ng susi, at i-update ito sa isang bagong halaga

Pinapatunayan nito ang data, at samakatuwid dapat maghintay hanggang ang server ay makahanap ng oras upang i-update ito. Upang gumana ito, kakailanganin mong ipasa ang dalawang mga parameter; ang una ay isang string na kukuha ng natatanging susi na iyong na-set up: "'user_'.. player.userId", at ang pangalawa ay isang pagpapaandar na kukuha sa dating halaga.

    local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: ikonekta (function (player) local key = "user_".. player.userId datastore: UpdateAsync (key, function (old) - tapusin ang mga bagay) katapusan)

  • Sa kasong ito, tinawag namin ang dating halaga na "luma". Sa loob ng pagpapaandar na ito, kakailanganin naming gumawa ng isang variable na account para sa aming na-update na iskor, at pagkatapos ay ibalik iyon upang maipakita nito ang aming bagong iskor.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: ikonekta (function (player) local key = "user_".. player.userId datastore: UpdateAsync (key, function (old) lokal na bagong = luma o 0 - ay maaaring bagong = bagong + 1 - magdagdag ng 1 sa dating bagong pagbabalik ng bagong halaga - ibabalik ito sa bagong halaga ng pagtatapos) pagtatapos)

  • Tandaan na ang server ay magbabalik wala kung ang susi ay hindi mayroon o hindi itinalaga nang tama.
  • Kung ang function ay wala, ang pag-update ay makakansela.
7815950 7
7815950 7

Hakbang 4. Gumamit ng IncrementAsync upang madagdagan ang halaga para sa isang susi, at ibabalik ang nadagdag na halaga

Gumagana lamang ang pamamaraang ito sa mga integer.

Paraan 3 ng 3: Mga Kaganapan sa Tindahan ng Data at Pag-update ng Data

7815950 8
7815950 8

Hakbang 1. Magtakda ng isang natatanging susi

Napakahalaga na ang bawat manlalaro ay may susi na natatangi sa kanila. Hahawakan nila ang key na iyon, na mag-iimbak ng lahat ng kanilang data. Upang magawa ito, gumagamit kami ng ID ng manlalaro. Kapag naitakda mo na ang data store, tumawag lamang sa isang pagpapaandar upang mai-load ang player, at pagkatapos ay hanapin ang ID ng player. Ang code ay dapat magmukhang sumusunod:

    local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: ikonekta (function (player) local key = "user_".. player.userId end)

  • Awtomatiko itong lilikha ng isang susi na natatangi sa manlalaro lamang, para sa bawat manlalaro ay magkakaroon ng isang natatanging ID. Hindi magiging mahalaga ang "user_".
7815950 9
7815950 9

Hakbang 2. I-update ang data

Ngayon na mayroon kang isang natatanging susi sa bawat manlalaro, nakatakda kang gumawa ng pag-update sa store ng data at kunin ang data. Sa ilalim ng iyong susi, gugustuhin mong magdagdag ng isang pamamaraan na pinakaangkop sa iyong mga pangangailangan. Sa kasong ito, gagamitin namin ang "UpdateAsync".

  • Magsimula sa isang pagpapaandar upang matulungan ang server na maunawaan kung ano ang balak mong gawin.
  • local datastore = game: GetService ("DataStoreService"): GetDataStore ("name") game. Players. PlayerAdded: ikonekta (function (player) local key = "user_".. player.userId datastore: UpdateAsync (key, function (old) local newValue = luma o 0 - maaaring nil newValue = newValue + 50 ibalik ang bagongValue end) end)

  • Sa pagpapaandar na ito, nag-set up kami ng isa pang pagpapaandar, luma. "old" ang dati naming nai-save na data. Sa senaryong ito, sa tuwing pumapasok ang isang player sa server, mahahanap ng server ang susi nito, na kung saan ay ang kanilang userId, at ia-update nito ang data sa pamamagitan ng 50 puntos, ibabalik at ipakita ang bagong halaga.
7815950 10
7815950 10

Hakbang 3. Binabati kita

Matagumpay kang naimbak at na-update ang data ng isang manlalaro.

Mga babala

  • Kapag unang nilikha ang iyong data store, tiyaking magkaroon ng "game: GetService (" DataStoreService ")", na may wastong paggamit ng malaking titik. Hindi ito tatakbo nang mahusay, kung hindi ito tinawag nang wasto.
  • Siguraduhing malaman kung kailan gagamitin ang "SetAsync" at "UpdateAsync", tulad ng paggamit ng maling isa ay maaaring gawing gulo kapag kumukuha ng data. Sa karamihan ng mga kaso, gagamitin ng mga developer ang "UpdateAsync".

Inirerekumendang: