Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local shop_flavours = {
- "{surname} Ship Restorations",
- "{surname} Panel Services",
- "{name} Paint Works",
- }
- local ads = {}
- local onChat = function (form, ref, option)
- local ad = ads[ref]
- if option == 0 then
- form:Clear();
- form:SetTitle(ad.title)
- form:SetFace({ female = ad.isfemale, seed = ad.faceseed })
- form:SetMessage("Select a service.")
- form:AddOption("One-colour body respray ($200)", 1)
- form:AddOption("Two-colour body respray ($400)", 2)
- form:AddOption("Registration change ($500)", 3)
- form:AddOption("Hang up.", -1);
- return
- end
- if option == -1 then
- form:Close()
- return
- end
- if option == 1 then
- if Game.player:GetMoney() < 200 then
- UI.Message("You do not have enough money.")
- else
- Game.player:SetPrimaryColour(Engine.rand:Number(), Engine.rand:Number(), Engine.rand:Number())
- Game.player:AddMoney(-200)
- UI.Message("Looking good!")
- form:Refresh()
- end
- end
- if option == 2 then
- if Game.player:GetMoney() < 400 then
- UI.Message("You do not have enough money.")
- else
- Game.player:SetPrimaryColour(Engine.rand:Number(), Engine.rand:Number(), Engine.rand:Number())
- Game.player:SetSecondaryColour(Engine.rand:Number(), Engine.rand:Number(), Engine.rand:Number())
- Game.player:AddMoney(-400)
- UI.Message("Nice!")
- form:Refresh()
- end
- end
- if option == 3 then
- if Game.player:GetMoney() < 500 then
- UI.Message("You do not have enough money.")
- else
- Game.player:SetLabel(
- string.format("%c%c-%04d", Engine.rand:Integer(65,65+26), Engine.rand:Integer(65,65+26), Engine.rand:Integer(0,9999))
- )
- Game.player:AddMoney(-500)
- UI.Message("Fantastic!")
- form:Refresh()
- end
- end
- end
- local onDelete = function (ref)
- ads[ref] = nil
- end
- local onCreateBB = function (station)
- local rand = Rand:New(station.seed)
- local n = Engine.rand:Integer(1, #shop_flavours)
- local isfemale = rand:Integer(0,1);
- local ad = {
- title = string.interp(shop_flavours[n], { surname = NameGen.Surname(rand), name = NameGen.FullName(isfemale, rand) }),
- station = station,
- isfemale = isfemale,
- faceseed = rand:Integer(),
- }
- local ref = station:AddAdvert(ad.title, onChat, onDelete)
- ads[ref] = ad;
- end
- local serialize = function ()
- return { ads = ads }
- end
- local unserialize = function (data)
- for k,ad in pairs(data.ads) do
- local ref = ad.station:AddAdvert(ad.title, onChat, onDelete)
- ads[ref] = ad
- end
- end
- EventQueue.onCreateBB:Connect(onCreateBB)
- Serializer:Register("BodyShop", serialize, unserialize)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement