O mercado
Seis moedas que esta cidade inventou, um preço que se move com ou sem ninguém olhando, e uma forma de enviar uma posição de um telefone para outro sem que um banco fique sabendo.
Nada nele jamais pergunta ao mundo exterior quanto algo vale. Os preços são do seu servidor.
As moedas que acompanham o resource
Seção intitulada “As moedas que acompanham o resource”| Abre em | Oscilação | O que é | |
|---|---|---|---|
| Santocoin SNT | $42,000 | 3% | A primeira que a cidade criou. Lenta, pesada, na carteira de todo mundo |
| Vinewood VNW | $3,200 | 8% | Fama, com preço por hora |
| Bayview BAY | $180 | 2% | Sem graça de propósito. Um lugar para guardar dinheiro enquanto você decide |
| Dustcoin DST | $12 | 15% | Vinda do condado, e já foi à lua duas vezes |
| Voltline VLT | $640 | 9% | Energia, água e estradas. Entediante até as luzes se apagarem |
| Omen OMN | $4 | 22% | Ninguém sabe quem a criou |
Tire uma da config e ela deixa de existir. A posição de ninguém é apagada por isso — devolva a moeda e todo mundo volta a ter o que tinha.
Como o mercado se move
Seção intitulada “Como o mercado se move”shared/config/crypto.lua:
Tick = 300, -- seconds between one price and the nextVolatility = 1.0, -- every coin's swing, multiplied. One number for the whole marketHistory = 48, -- how many prices the chart remembersShock = { Chance = 0.02, Size = 0.22 }, -- rare, and the reason anybody checks twice a dayFee = 0.02, -- the house, on the way in and on the way outTrade = { Min = 10, Max = 250000 }, -- what one order may be, in moneyE, por moeda: o preço em que ela abre, a sua Swing, uma Drift que a inclina para cima ou para baixo ao longo de semanas, um Floor e um Ceiling dos quais ela nunca sai, e uma Depth — o dinheiro necessário para mover essa moeda um por cento quando alguém a negocia. Uma moeda rasa é aquela que um jogador rico consegue mover sozinho, o que faz uma moeda rasa valer a pena ser mantida e temida. Depth = 0 significa que as ordens não movem o preço de forma alguma, o que é mais simples e muito mais fácil de farmar.
Icon dá uma imagem à moeda; uma moeda sua sem ícone recorre a um glifo desenhado e, depois, à primeira letra do símbolo dela.
De quem é a carteira
Seção intitulada “De quem é a carteira”Wallet = 'character', -- or 'device'No modo character, um telefone roubado mostra ao ladrão um aplicativo vazio. No modo device, o telefone é a carteira, e roubar um leva o portfólio junto.
Ele vem em character, porque o outro transforma cada assalto em um assalto a banco, e isso deve ser uma escolha deliberada de alguém, e não um padrão.
O que não pode acontecer
Seção intitulada “O que não pode acontecer”Um preço é em centavos e uma posição é em milionésimos de moeda, ambos números inteiros do começo ao fim, ambos arredondados contra quem está negociando, com a comissão por cima. Comprar algo e vender de volta no mesmo segundo sempre custa dinheiro — um mercado em que isso sai empatado é um mercado em que um ciclo de compra-venda-compra-venda imprime dinheiro.
O cliente nunca é consultado sobre quanto uma moeda vale e nunca envia um preço. Toda escrita em uma carteira fica atrás de um lock, porque ler as posições, mover o dinheiro e gravá-las de volta são três etapas com um yield entre cada uma, e duas ordens no mesmo tick venderiam as mesmas moedas.
Para outros resources
Seção intitulada “Para outros resources”exports.mic_phone:Coins() --> every coin, with price, change and historyexports.mic_phone:CoinPrice('santo') --> 42137.55, in moneyexports.mic_phone:GetCrypto(src, 'santo') --> 0.4218exports.mic_phone:GetCryptoValue(src) --> the whole portfolio, in money
exports.mic_phone:AddCrypto(src, 'omen', 12.5) --> a hack that pays in coin, a mining scriptexports.mic_phone:RemoveCrypto(src, 'omen', 12.5) --> false when they did not have it, and nothing movesexports.mic_phone:SetCoinPrice('omen', 0.4) --> move the market for a storyRemoveCrypto recusa em vez de ficar negativo, então a sua resposta também é conseguiram pagar — que é a pergunta que uma loja que vende algo por moeda realmente está fazendo:
if exports.mic_phone:RemoveCrypto(src, 'omen', price) then giveThem(thing) end