Game Maker's Garage Forum
Game Creation => SilverCreator => Topic started by: Johna100 on January 16, 2023, 07:20:11 PM
-
Im posting the silver creator code for my roguelike in this topic. Any one that wants to try it out can build it from coping and pasting this code into the correct sections. Also paint the all the screen black on a jumbo window with no buttons and no text area. You only need one card because it all takes place on card 1.
-
GLOBAL Open Game
// COLORS
LET whiteR = 250
LET whiteG = 250
LET whiteB = 250
LET grayR = 160
LET grayG = 160
LET grayB = 160
LET blackR = 60
LET blackG = 60
LET blackB = 60
LET greenR = 110
LET greenG = 140
LET greenB = 30
LET brownR = 104
LET brownG = 104
LET brownB = 10
LET purpR = 150
LET purpG = 50
LET purpB = 150
LET blueR = 102
LET blueG = 255
LET blueB = 204
LET redR = 153
LET redG = 0
LET redB = 51
LET yellowR = 144
LET yellowG = 144
LET yellowB = 0
LET goldR = 204
LET goldG = 204
LET goldB = 0
// MAIN CODE
DIM areaTravelID(250000)
DIM areaCountingSaved(250000)
LET areaMaxValue = 550000
DIM area1$(areaMaxValue)
DIM area1E(areaMaxValue)
DIM area1R(areaMaxValue)
DIM area1G(areaMaxValue)
DIM area1B(areaMaxValue)
DIM area2$(areaMaxValue)
DIM area2E(areaMaxValue)
DIM area2R(areaMaxValue)
DIM area2G(areaMaxValue)
DIM area2B(areaMaxValue)
DIM area3$(areaMaxValue)
DIM area3E(areaMaxValue)
DIM area3R(areaMaxValue)
DIM area3G(areaMaxValue)
DIM area3B(areaMaxValue)
DIM area4$(areaMaxValue)
DIM area4E(areaMaxValue)
DIM area4R(areaMaxValue)
DIM area4G(areaMaxValue)
DIM area4B(areaMaxValue)
DIM area5$(areaMaxValue)
DIM area5E(areaMaxValue)
DIM area5R(areaMaxValue)
DIM area5G(areaMaxValue)
DIM area5B(areaMaxValue)
LET area = 1
LET areaTraveling = 125000
DIM area$(550000)
DIM display$(900)
DIM tiles$(900)
DIM colRArea(550000)
DIM colGArea(550000)
DIM colBArea(550000)
DIM colRAreaMain(550000)
DIM colGAreaMain(550000)
DIM colBAreaMain(550000)
DIM colR(900)
DIM colG(900)
DIM colB(900)
DIM areaEvent(550000)
DIM areaMainEvent(550000)
LET areaNumMax = 99999
DIM areaEnviorment(areaNumMax)
DIM areaIsTown(areaNumMax)
DIM itemShops(areaNumMax)
DIM areaIsBurrow(areaNumMax)
DIM areaIsHostile(areaNumMax)
LET maxEnviorments = 4
FOR a = 1 to areaNumMax
LET areaEnviorment(a) = RANDOM(maxEnviorments)
NEXT
LET areaEnviorment(1) = 1
LET areaIsBurrow(1) = 0
LET areaIsTown(1) = 1
LET itemShops(1) = 2
LET areaIsHostile(1) = 0
// SHOP OWNER
DIM npcItemShopOwner(90)
LET housesMax = 90
DIM placementShopOwner(housesMax)
// PLAYER AND SCREEN POSITION START
LET playerPos = 101903
LET screenPos = 92878
LET areaNum = 1
// SET THE BASE TILES
FOR a = 1 to 900
LET tiles$(a) = "."
NEXT
// NPC DISPLAY ARRAYS
DIM npcPos(10)
DIM npcCharArea$(10)
// RACE NAMES AND CHAR
LET numOFRaces = 18
DIM race$(numOFRaces)
DIM raceChar$(numOFRaces)
LET race$(1) = "Human"
LET raceChar$(1) = "P"
LET race$(2) = "Dwarf"
LET raceChar$(2) = "D"
LET race$(3) = "Elf"
LET raceChar$(3) = "E"
LET race$(4) = "Halfling"
LET raceChar$(4) = "h"
LET race$(5) = "Gnome"
LET raceChar$(5) = "G"
LET race$(6) = "Nymph"
LET raceChar$(6) = "N"
LET race$(7) = "Sprite"
LET raceChar$(7) = "s"
LET race$(8) = "Sasquatch"
LET raceChar$(8) = "S"
LET race$(9) = "Goblin"
LET raceChar$(9) = "g"
LET race$(10) = "Orc"
LET raceChar$(10) = "O"
LET race$(11) = "Troll"
LET raceChar$(11) = "T"
LET race$(12) = "Snake"
LET raceChar$(12) = "s"
LET race$(13) = "Rat"
LET raceChar$(13) = "r"
LET race$(14) = "Serpent"
LET raceChar$(14) = "S"
LET race$(15) = "Kobold"
LET raceChar$(15) = "k"
LET race$(16) = "Ent"
LET raceChar$(16) = "#"
LET race$(17) = "Fairy"
LET raceChar$(17) = "*"
LET race$(18) = "Poltergeist"
LET raceChar$(18) = "P"
// FLAVOR DATABLASE
LET flavorAMax = 40
DIM flavorA$(flavorAMax)
LET flavorA$(1) = "Dark"
LET flavorA$(2) = "Light"
LET flavorA$(3) = "Dim"
LET flavorA$(4) = "Bright"
LET flavorA$(5) = "Low"
LET flavorA$(6) = "High"
LET flavorA$(7) = "Old"
LET flavorA$(8) = "Young"
LET flavorA$(9) = "Man"
LET flavorA$(10) = "Lady"
LET flavorA$(11) = "Child"
LET flavorA$(12) = "Cold"
LET flavorA$(13) = "Hot"
LET flavorA$(14) = "Warm"
LET flavorA$(15) = "Wood"
LET flavorA$(16) = "Stone"
LET flavorA$(17) = "Ur"
LET flavorA$(18) = "Rock"
LET flavorA$(19) = "Boulder"
LET flavorA$(20) = "Twig"
LET flavorA$(21) = "Branch"
LET flavorA$(22) = "Root"
LET flavorA$(23) = "Vine"
LET flavorA$(24) = "Leaf"
LET flavorA$(25) = "Berry"
LET flavorA$(26) = "Potato"
LET flavorA$(27) = "Tree"
LET flavorA$(28) = "Golden"
LET flavorA$(29) = "Silver"
LET flavorA$(30) = "Grey"
LET flavorA$(31) = "Pale"
LET flavorA$(32) = "Green"
LET flavorA$(33) = "Willow"
LET flavorA$(34) = "Wind"
LET flavorA$(35) = "Breeze"
LET flavorA$(36) = "Crystal"
LET flavorA$(37) = "Amythest"
LET flavorA$(38) = "Diamond"
LET flavorA$(39) = "Peral"
LET flavorA$(40) = "Gem"
// MESSAGE DATABASE
LET numOfMsgA = 3
DIM textMsgA$(numOfMsgA)
LET textMsgA$(1) = "Did you know"
LET textMsgA$(2) = "I heard that"
LET textMsgA$(3) = "A person named"
LET numOfMsgB = 2
DIM textMsgB$(numOfMsgB)
LET textMsgB$(1) = "wants to go on a quest"
LET textMsgB$(2) = "need some help"
// NPC DATABASE
LET numOFNpcs = 1000
DIM npcNameData$(numOFNpcs)
DIM npcName$(10)
DIM npcChar$(numOFNpcs)
DIM msgNpc$(numOFNpcs)
DIM npcHostile(10)
FOR a = 1 to 500
LET newNpcSelect = RANDOM(4)
LET npcNameData$(a) = flavorA$(RANDOM(flavorAMax)) + " " + flavorA$(RANDOM(flavorAMax)) + " the " + race$(newNpcSelect)
LET npcChar$(a) = raceChar$(newNpcSelect)
NEXT
// HOSTLIE
FOR a = 501 to 1000
LET newNpcSelect = RANDOM(18)
LET npcNameData$(a) = flavorA$(RANDOM(flavorAMax)) + " " + flavorA$(RANDOM(flavorAMax)) + " the " + race$(newNpcSelect)
LET npcChar$(a) = raceChar$(newNpcSelect)
NEXT
-
CARD1 Open Card
// CODE
DIM areaMain$(550000)
// TRAVEL
LET areaTravelingGo = 0
IF openGame = 0 THEN
LET openGame = 1
LET areaTravelingGo = 1
END IF
IF travelingScrollActiveNorth = 1 THEN
LET travelingScrollActiveNorth = 0
LET areaTraveling = areaTraveling - 500
LET areaTravelingGo = 1
END IF
IF travelingScrollActiveEast = 1 THEN
LET travelingScrollActiveEast = 0
LET areaTraveling = areaTraveling + 1
LET areaTravelingGo = 1
END IF
IF travelingScrollActiveSouth = 1 THEN
LET travelingScrollActiveSouth = 0
LET areaTraveling = areaTraveling + 500
LET areaTravelingGo = 1
END IF
IF travelingScrollActiveWest = 1 THEN
LET travelingScrollActiveWest = 0
LET areaTraveling = areaTraveling - 1
LET areaTravelingGo = 1
END IF
LET bypassAreaTravelAlreadyID = 0
IF areaTravelingGo = 1 THEN
IF areaTraveling > 0 THEN
IF areaTraveling < 250000 THEN
IF areaTravelID(areaTraveling) = 0 THEN
LET areaTravelID(areaTraveling) = 1
LET bypassAreaTravelAlreadyID = 1
LET areaCountingLimit = areaCountingLimit + 1
LET area = areaCountingLimit
LET areaCountingSaved(areaTraveling) = area
LET newMap = 0
END IF
IF bypassAreaTravelAlreadyID = 0 THEN
IF areaTravelID(areaTraveling) = 1 THEN
LET area = areaCountingSaved(areaTraveling)
LET newMap = 0
END IF
END IF
END IF
END IF
END IF
// CREATE AREA MAP
LET skipBuildArea = 0
IF newMap = 0 THEN
LET setHostileNpc = 0
LET newMap = 1
IF area = 1 THEN
IF mapAlreadyVisetedArea1 = 1 THEN
LET skipBuildArea = 1
FOR a = 1 to 550000
LET area$(a) = area1$(a)
LET areaEvent(a) = area1E(a)
LET colRArea(a) = area1R(a)
LET colGArea(a) = area1G(a)
LET colBArea(a) = area1B(a)
NEXT
END IF
LET mapAlreadyVisetedArea1 = 1
END IF
IF area = 2 THEN
IF mapAlreadyVisetedArea2 = 1 THEN
LET skipBuildArea = 1
FOR a = 1 to 550000
LET area$(a) = area2$(a)
LET areaEvent(a) = area2E(a)
LET colRArea(a) = area2R(a)
LET colGArea(a) = area2G(a)
LET colBArea(a) = area2B(a)
NEXT
END IF
LET mapAlreadyVisetedArea2 = 1
END IF
IF area = 3 THEN
IF mapAlreadyVisetedArea3 = 1 THEN
LET skipBuildArea = 1
FOR a = 1 to 550000
LET area$(a) = area3$(a)
LET areaEvent(a) = area3E(a)
LET colRArea(a) = area3R(a)
LET colGArea(a) = area3G(a)
LET colBArea(a) = area3B(a)
NEXT
END IF
LET mapAlreadyVisetedArea3 = 1
END IF
IF area = 4 THEN
IF mapAlreadyVisetedArea4 = 1 THEN
LET skipBuildArea = 1
FOR a = 1 to 550000
LET area$(a) = area4$(a)
LET areaEvent(a) = area4E(a)
LET colRArea(a) = area4R(a)
LET colGArea(a) = area4G(a)
LET colBArea(a) = area4B(a)
NEXT
END IF
LET mapAlreadyVisetedArea4 = 1
END IF
IF area = 5 THEN
IF mapAlreadyVisetedArea5 = 1 THEN
LET skipBuildArea = 1
FOR a = 1 to 550000
LET area$(a) = area5$(a)
LET areaEvent(a) = area5E(a)
LET colRArea(a) = area5R(a)
LET colGArea(a) = area5G(a)
LET colBArea(a) = area5B(a)
NEXT
END IF
LET mapAlreadyVisetedArea5 = 1
END IF
IF skipBuildArea = 0 THEN
FOR a = 1 to 550000
LET areaEvent(a) = 0
NEXT
// LEVEL VAR
IF areaIsTown(area) = 1 THEN
LET itemShopsLoaded = itemShops(area)
LET nextItemShopOwner = 0
LET shopOwnerPlacements = 0
LET shopOwnerPlacementsPlacement = 0
END IF
// BURROW
IF areaIsBurrow(area) = 1 THEN
FOR a = 1 to 550000
LET area$(a) = " "
LET areaEvent(a) = 1
LET colRArea(a) = grayR
LET colGArea(a) = grayG
LET colBArea(a) = grayB
NEXT
LET newTile = playerPos
LET newTile = newTile - 1
LET newTile = newTile - 530
LET startDigType = 0
LET counterDigType = 0
FOR b = 1 to 1000
IF b = 1 THEN
LET newTile = newTile - 1
END IF
IF b > 1 THEN
IF startDigType = 0 THEN
LET startDigType = 1
LET burrowRoom = 1
END IF
LET counterDigType = counterDigType + 1
IF counterDigType = 7 THEN
LET counterDigType = 0
LET burrowRoom = 0
LET burrowHall = 0
LET digTypeRND = RANDOM(2)
IF digTypeRND = 1 THEN
LET burrowRoom = 1
END IF
IF digTypeRND = 1 THEN
LET burrowHall = 1
END IF
END IF
IF burrowRoom = 1 THEN
LET changeBurrowDir = 1
END IF
LET counterBurrowHall = 0
IF burrowHall = 1 THEN
LET counterBurrowHall = counterBurrowHall + 1
IF counterBurrowHall = 7 THEN
LET counterBurrowHall = 0
LET changeBurrowDir = 1
END IF
END IF
IF changeBurrowDir = 1 THEN
LET RND = RANDOM(4)
END IF
IF RND = 1 THEN
LET newTile = newTile - 1
LET newTile = newTile - 1
LET newTile = newTile - 1
LET newTile = newTile - 1
END IF
IF RND = 2 THEN
LET newTile = newTile - 1
LET newTile = newTile - 1
LET newTile = newTile - 1
LET newTile = newTile + 530
LET newTile = newTile + 530
END IF
IF RND = 3 THEN
LET newTile = newTile - 1
LET newTile = newTile - 1
LET newTile = newTile - 1
LET newTile = newTile - 530
LET newTile = newTile - 530
END IF
IF RND = 4 THEN
LET newTile = newTile - 1
LET newTile = newTile - 1
LET newTile = newTile - 1
LET newTile = newTile - 1
LET newTile = newTile - 1
END IF
END IF
FOR a = 1 to 16
IF a < 5 THEN
LET newTile = newTile + 1
IF a = 1 THEN
LET newTile = newTile - 1
END IF
IF newTile > 600 THEN
IF newTile < 540000 THEN
IF area$(newTile) = " " THEN
LET area$(newTile) = "#"
LET areaEvent(newTile) = 2
END IF
END IF
END IF
END IF
IF a = 5 THEN
LET newTile = newTile + 530
LET newTile = newTile - 3
IF newTile > 600 THEN
IF newTile < 540000 THEN
IF area$(newTile) = " " THEN
LET area$(newTile) = "#"
LET areaEvent(newTile) = 2
END IF
END IF
END IF
END IF
IF a > 5 THEN
IF a < 8 THEN
LET newTile = newTile + 1
IF newTile > 600 THEN
IF newTile < 540000 THEN
LET area$(newTile) = "."
LET areaEvent(newTile) = 1
END IF
END IF
END IF
END IF
IF a = 8 THEN
LET newTile = newTile + 1
IF newTile > 600 THEN
IF newTile < 540000 THEN
IF area$(newTile) = " " THEN
LET area$(newTile) = "#"
LET areaEvent(newTile) = 2
END IF
END IF
END IF
END IF
IF a = 9 THEN
LET newTile = newTile + 530
LET newTile = newTile - 3
IF newTile > 600 THEN
IF newTile < 540000 THEN
IF area$(newTile) = " " THEN
LET area$(newTile) = "#"
LET areaEvent(newTile) = 2
END IF
END IF
END IF
END IF
IF a > 9 THEN
IF a < 12 THEN
LET newTile = newTile + 1
IF newTile > 600 THEN
IF newTile < 540000 THEN
LET area$(newTile) = "."
LET areaEvent(newTile) = 1
END IF
END IF
END IF
END IF
IF a = 12 THEN
LET newTile = newTile + 1
IF newTile > 600 THEN
IF newTile < 540000 THEN
IF area$(newTile) = " " THEN
LET area$(newTile) = "#"
LET areaEvent(newTile) = 2
END IF
END IF
END IF
END IF
IF a = 13 THEN
LET newTile = newTile + 530
LET newTile = newTile - 3
IF newTile > 600 THEN
IF newTile < 540000 THEN
IF area$(newTile) = " " THEN
LET area$(newTile) = "#"
LET areaEvent(newTile) = 2
END IF
END IF
END IF
END IF
IF a > 13 THEN
LET newTile = newTile + 1
IF newTile > 600 THEN
IF newTile < 540000 THEN
IF area$(newTile) = " " THEN
LET area$(newTile) = "#"
LET areaEvent(newTile) = 2
END IF
END IF
END IF
END IF
IF newTile > 600 THEN
IF newTile < 540000 THEN
LET colRArea(newTile) = grayR
LET colGArea(newTile) = grayG
LET colBArea(newTile) = grayB
END IF
END IF
NEXT
LET newTile = newTile - 530
LET newTile = newTile - 530
LET newTile = newTile - 530
NEXT
END IF
DIM npcSpots(10)
LET townCharNum = area + 10
IF areaIsBurrow(area) = 0 THEN
// RANDOM TREES
FOR a = 1 to 4000
LET newTile = RANDOM(540000)
LET area$(newTile) = "#"
LET areaEvent(newTile) = 2
LET colRArea(newTile) = greenR
LET colGArea(newTile) = greenG
LET colBArea(newTile) = greenB
NEXT
-
CARD1 Open Card CONTINUED
// FOREST CLUSTER 1
LET newTile = playerPos
FOR forestClusters = 1 to 90
// CREATE CLUSTER
FOR a = 1 to 500
LET RND = RANDOM(4)
IF RND = 1 THEN
LET newTile = newTile + 1
END IF
IF RND = 2 THEN
LET newTile = newTile - 1
END IF
IF RND = 3 THEN
LET newTile = newTile + 530
END IF
IF RND = 4 THEN
LET newTile = newTile - 530
END IF
IF newTile > 600 THEN
IF newTile < 540000 THEN
IF areaEnviorment(area) = 0 THEN
LET area$(newTile) = "#"
LET areaEvent(newTile) = 2
LET colRArea(newTile) = greenR
LET colGArea(newTile) = greenG
LET colBArea(newTile) = greenB
END IF
IF areaEnviorment(area) = 1 THEN
LET area$(newTile) = "#"
LET areaEvent(newTile) = 2
LET colRArea(newTile) = greenR
LET colGArea(newTile) = greenG
LET colBArea(newTile) = greenB
END IF
IF areaEnviorment(area) = 2 THEN
LET area$(newTile) = "#"
LET areaEvent(newTile) = 2
LET colRArea(newTile) = brownR
LET colGArea(newTile) = brownG
LET colBArea(newTile) = brownB
END IF
IF areaEnviorment(area) = 3 THEN
LET RND = RANDOM(7)
IF RND = 1 THEN
LET area$(newTile) = "#"
LET areaEvent(newTile) = 2
LET colRArea(newTile) = purpR
LET colGArea(newTile) = purpG
LET colBArea(newTile) = purpB
END IF
IF RND > 1 THEN
LET area$(newTile) = "."
LET areaEvent(newTile) = 1
LET colRArea(newTile) = blueR
LET colGArea(newTile) = blueG
LET colBArea(newTile) = blueB
END IF
END IF
IF areaEnviorment(area) = 4 THEN
LET area$(newTile) = "#"
LET areaEvent(newTile) = 2
LET colRArea(newTile) = whiteR
LET colGArea(newTile) = whiteG
LET colBArea(newTile) = whiteB
END IF
END IF
END IF
NEXT
LET RND = RANDOM(4)
IF RND = 1 THEN
LET newTile = newTile + 50
END IF
IF RND = 2 THEN
LET newTile = newTile - 50
END IF
IF RND = 3 THEN
FOR a = 1 to 50
LET newTile = newTile + 530
NEXT
END IF
IF RND = 4 THEN
FOR a = 1 to 50
LET newTile = newTile - 530
NEXT
END IF
NEXT
// PATHS
FOR pathBranches = 1 to 4
LET newTile = playerPos
FOR paths = 1 to 3
// PATH VAR
LET pathNS1 = 0
LET pathEW1 = 0
LET pathNS2 = 0
LET pathEW1 = 0
LET RND = RANDOM(8)
IF RND = 1 THEN
LET pathNS1 = 1
END IF
IF RND = 2 THEN
LET pathEW1 = 1
END IF
IF RND = 3 THEN
LET pathNS1 = 1
LET pathEW1 = 1
END IF
IF RND = 4 THEN
LET pathNS2 = 1
END IF
IF RND = 5 THEN
LET pathEW2 = 1
END IF
IF RND = 6 THEN
LET pathNS2 = 1
LET pathEW2 = 1
END IF
IF RND = 7 THEN
LET pathNS1 = 1
LET pathEW2 = 1
END IF
IF RND = 8 THEN
LET pathNS2 = 1
LET pathEW1 = 1
END IF
// CREATE PATH SECTION
FOR a = 1 to 50
IF toggle = 0 THEN
LET toggle = 1
LET bypass = 1
END IF
IF bypass = 0 THEN
IF toggle = 1 THEN
LET toggle = 0
END IF
END IF
LET bypass = 0
IF toggle = 0 THEN
IF pathNS1 = 0 THEN
IF pathNS2 = 0 THEN
LET newTile = newTile + 530
END IF
END IF
IF pathNS1 = 1 THEN
LET newTile = newTile + 530
END IF
IF pathNS2 = 1 THEN
LET newTile = newTile - 530
END IF
END IF
IF toggle = 1 THEN
IF pathEW1 = 0 THEN
IF pathEW2 = 0 THEN
LET newTile = newTile + 1
END IF
END IF
IF pathEW1 = 1 THEN
LET newTile = newTile + 1
END IF
IF pathEW2 = 1 THEN
LET newTile = newTile - 1
END IF
END IF
IF newTile > 600 THEN
IF newTile < 540000 THEN
LET area$(newTile) = "."
LET colRArea(newTile) = brownR
LET colGArea(newTile) = brownG
LET colBArea(newTile) = brownB
IF areaIsTown(areaNum) = 1 THEN
LET colRArea(newTile) = grayR
LET colGArea(newTile) = grayG
LET colBArea(newTile) = grayB
END IF
LET areaEvent(newTile) = 1
END IF
END IF
LET newTileB = newTile + 1
IF newTileB > 600 THEN
IF newTileB < 540000 THEN
LET area$(newTileB) = "."
LET colRArea(newTileB) = brownR
LET colGArea(newTileB) = brownG
LET colBArea(newTileB) = brownB
IF areaIsTown(areaNum) = 1 THEN
LET colRArea(newTileB) = grayR
LET colGArea(newTileB) = grayG
LET colBArea(newTileB) = grayB
END IF
LET areaEvent(newTileB) = 1
END IF
END IF
LET newTileB = newTile - 1
IF newTileB > 600 THEN
IF newTileB < 540000 THEN
LET area$(newTileB) = "."
LET colRArea(newTileB) = brownR
LET colGArea(newTileB) = brownG
LET colBArea(newTileB) = brownB
IF areaIsTown(areaNum) = 1 THEN
LET colRArea(newTileB) = grayR
LET colGArea(newTileB) = grayG
LET colBArea(newTileB) = grayB
END IF
LET areaEvent(newTileB) = 1
END IF
END IF
LET newTileB = newTile + 530
IF newTileB > 600 THEN
IF newTileB < 540000 THEN
LET area$(newTileB) = "."
LET colRArea(newTileB) = brownR
LET colGArea(newTileB) = brownG
LET colBArea(newTileB) = brownB
IF areaIsTown(areaNum) = 1 THEN
LET colRArea(newTileB) = grayR
LET colGArea(newTileB) = grayG
LET colBArea(newTileB) = grayB
END IF
LET areaEvent(newTileB) = 1
END IF
END IF
LET newTileB = newTile - 530
IF newTileB > 600 THEN
IF newTileB < 540000 THEN
LET area$(newTileB) = "."
LET colRArea(newTileB) = brownR
LET colGArea(newTileB) = brownG
LET colBArea(newTileB) = brownB
IF areaIsTown(areaNum) = 1 THEN
LET colRArea(newTileB) = grayR
LET colGArea(newTileB) = grayG
LET colBArea(newTileB) = grayB
END IF
LET areaEvent(newTileB) = 1
END IF
END IF
IF areaIsTown(areaNum) = 1 THEN
-
CARD1 Open Card CONTINUED 2
// HOUSE PLACEMENT AND DESIGN
LET housePlaceCounter = housePlaceCounter + 1
IF housePlaceCounter = 50 THEN
LET housePlaceCounter = 0
LET newTileHouseStart = newTile + 6
// ROW 1
LET newTileHouse = newTileHouseStart
FOR a = 1 to 6
LET newTileHouse = newTileHouse + 1
IF newTileHouse > 600 THEN
IF newTileHouse < 540000 THEN
LET area$(newTileHouse) = "#"
LET colRArea(newTileHouse) = yellowR
LET colGArea(newTileHouse) = yellowG
LET colBArea(newTileHouse) = yellowB
LET areaEvent(newTileHouse) = 2
END IF
END IF
NEXT
// ROW 2
LET newTileHouse = newTileHouseStart + 530
FOR a = 1 to 6
LET newTileHouse = newTileHouse + 1
LET wall = 0
IF a = 1 THEN
LET wall = 1
END IF
IF a = 6 THEN
LET wall = 1
END IF
IF wall = 1 THEN
IF newTileHouse > 600 THEN
IF newTileHouse < 540000 THEN
LET area$(newTileHouse) = "#"
LET colRArea(newTileHouse) = yellowR
LET colGArea(newTileHouse) = yellowG
LET colBArea(newTileHouse) = yellowB
LET areaEvent(newTileHouse) = 2
END IF
END IF
END IF
IF wall = 0 THEN
IF newTileHouse > 600 THEN
IF newTileHouse < 540000 THEN
LET area$(newTileHouse) = "."
LET colRArea(newTileHouse) = yellowR
LET colGArea(newTileHouse) = yellowG
LET colBArea(newTileHouse) = yellowB
LET areaEvent(newTileHouse) = 1
END IF
END IF
END IF
NEXT
// ROW 3
LET newTileHouse = newTileHouseStart + 530
LET newTileHouse = newTileHouse + 530
FOR a = 1 to 6
LET newTileHouse = newTileHouse + 1
LET wall = 0
IF a = 1 THEN
LET wall = 1
END IF
IF a = 6 THEN
LET wall = 1
END IF
IF wall = 1 THEN
IF newTileHouse > 600 THEN
IF newTileHouse < 540000 THEN
LET area$(newTileHouse) = "#"
LET colRArea(newTileHouse) = yellowR
LET colGArea(newTileHouse) = yellowG
LET colBArea(newTileHouse) = yellowB
LET areaEvent(newTileHouse) = 2
END IF
END IF
END IF
IF wall = 0 THEN
IF newTileHouse > 600 THEN
IF newTileHouse < 540000 THEN
LET area$(newTileHouse) = "."
LET colRArea(newTileHouse) = yellowR
LET colGArea(newTileHouse) = yellowG
LET colBArea(newTileHouse) = yellowB
LET areaEvent(newTileHouse) = 1
END IF
END IF
END IF
NEXT
// ROW 4
LET newTileHouse = newTileHouseStart + 530
FOR a = 1 to 2
LET newTileHouse = newTileHouse + 530
NEXT
FOR a = 1 to 6
LET newTileHouse = newTileHouse + 1
LET wall = 0
IF a = 1 THEN
LET wall = 1
END IF
IF a = 6 THEN
LET wall = 1
END IF
IF wall = 1 THEN
IF newTileHouse > 600 THEN
IF newTileHouse < 540000 THEN
LET area$(newTileHouse) = "#"
LET colRArea(newTileHouse) = yellowR
LET colGArea(newTileHouse) = yellowG
LET colBArea(newTileHouse) = yellowB
LET areaEvent(newTileHouse) = 2
END IF
END IF
END IF
IF wall = 0 THEN
IF newTileHouse > 600 THEN
IF newTileHouse < 540000 THEN
IF bypassFloorCreate = 0 THEN
LET area$(newTileHouse) = "."
LET colRArea(newTileHouse) = yellowR
LET colGArea(newTileHouse) = yellowG
LET colBArea(newTileHouse) = yellowB
LET areaEvent(newTileHouse) = 1
END IF
// ITEM SHOP CREATION
IF a = 3 THEN
LET itemShopsLoadedMax = itemShopsLoaded + 1
IF shopOwnerPlacements < itemShopsLoadedMax THEN
LET shopOwnerPlacements = shopOwnerPlacements + 1
LET placementShopOwner(shopOwnerPlacements) = newTileHouse
LET nextItemShopOwner = nextItemShopOwner + 1
LET npcItemShopOwner(nextItemShopOwner) = 1
END IF
END IF
END IF
END IF
END IF
NEXT
// ROW 5
LET newTileHouse = newTileHouseStart + 530
FOR a = 1 to 3
LET newTileHouse = newTileHouse + 530
NEXT
FOR a = 1 to 6
LET newTileHouse = newTileHouse + 1
LET wall = 0
IF a = 1 THEN
LET wall = 1
END IF
IF a = 6 THEN
LET wall = 1
END IF
IF wall = 1 THEN
IF newTileHouse > 600 THEN
IF newTileHouse < 540000 THEN
LET area$(newTileHouse) = "#"
LET colRArea(newTileHouse) = yellowR
LET colGArea(newTileHouse) = yellowG
LET colBArea(newTileHouse) = yellowB
LET areaEvent(newTileHouse) = 2
END IF
END IF
END IF
IF wall = 0 THEN
IF newTileHouse > 600 THEN
IF newTileHouse < 540000 THEN
LET area$(newTileHouse) = "."
LET colRArea(newTileHouse) = yellowR
LET colGArea(newTileHouse) = yellowG
LET colBArea(newTileHouse) = yellowB
LET areaEvent(newTileHouse) = 1
END IF
END IF
END IF
NEXT
// ROW 6
LET newTileHouse = newTileHouseStart + 530
FOR a = 1 to 4
LET newTileHouse = newTileHouse + 530
NEXT
FOR a = 1 to 6
LET newTileHouse = newTileHouse + 1
LET wall = 0
IF a = 1 THEN
LET wall = 1
END IF
IF a = 6 THEN
LET wall = 1
END IF
IF wall = 1 THEN
IF newTileHouse > 600 THEN
IF newTileHouse < 540000 THEN
LET area$(newTileHouse) = "#"
LET colRArea(newTileHouse) = yellowR
LET colGArea(newTileHouse) = yellowG
LET colBArea(newTileHouse) = yellowB
LET areaEvent(newTileHouse) = 2
END IF
END IF
END IF
IF wall = 0 THEN
IF newTileHouse > 600 THEN
IF newTileHouse < 540000 THEN
LET area$(newTileHouse) = "."
LET colRArea(newTileHouse) = yellowR
LET colGArea(newTileHouse) = yellowG
LET colBArea(newTileHouse) = yellowB
LET areaEvent(newTileHouse) = 1
END IF
END IF
END IF
NEXT
// ROW 7
LET newTileHouse = newTileHouseStart + 530
FOR a = 1 to 5
LET newTileHouse = newTileHouse + 530
NEXT
FOR a = 1 to 6
LET newTileHouse = newTileHouse + 1
LET wall = 0
IF a = 1 THEN
LET wall = 1
END IF
IF a = 6 THEN
LET wall = 1
END IF
IF wall = 1 THEN
IF newTileHouse > 600 THEN
IF newTileHouse < 540000 THEN
LET area$(newTileHouse) = "#"
LET colRArea(newTileHouse) = yellowR
LET colGArea(newTileHouse) = yellowG
LET colBArea(newTileHouse) = yellowB
LET areaEvent(newTileHouse) = 2
END IF
END IF
END IF
IF wall = 0 THEN
IF newTileHouse > 600 THEN
IF newTileHouse < 540000 THEN
LET area$(newTileHouse) = "."
LET colRArea(newTileHouse) = yellowR
LET colGArea(newTileHouse) = yellowG
LET colBArea(newTileHouse) = yellowB
LET areaEvent(newTileHouse) = 1
END IF
END IF
END IF
NEXT
// ROW 8
LET newTileHouse = newTileHouseStart + 530
FOR a = 1 to 6
LET newTileHouse = newTileHouse + 530
NEXT
FOR a = 1 to 6
LET newTileHouse = newTileHouse + 1
LET wall = 0
IF a = 1 THEN
LET wall = 1
END IF
IF a = 2 THEN
LET wall = 1
END IF
IF a = 3 THEN
LET wall = 1
END IF
IF a = 5 THEN
LET wall = 1
END IF
IF a = 6 THEN
LET wall = 1
END IF
IF wall = 1 THEN
IF newTileHouse > 600 THEN
IF newTileHouse < 540000 THEN
LET area$(newTileHouse) = "#"
LET colRArea(newTileHouse) = yellowR
LET colGArea(newTileHouse) = yellowG
LET colBArea(newTileHouse) = yellowB
LET areaEvent(newTileHouse) = 2
END IF
END IF
END IF
IF wall = 0 THEN
IF newTileHouse > 600 THEN
IF newTileHouse < 540000 THEN
LET area$(newTileHouse) = "."
LET colRArea(newTileHouse) = yellowR
LET colGArea(newTileHouse) = yellowG
LET colBArea(newTileHouse) = yellowB
LET areaEvent(newTileHouse) = 1
END IF
END IF
END IF
NEXT
END IF
-
CARD1 Open Card CONTINUED 3
// NPC START PLACEMENT
LET npcPlaceCounter = npcPlaceCounter + 1
IF npcPlaceCounter = 20 THEN
LET npcPlaceCounter = 0
IF nextNpc < 10 THEN
LET nextNpc = nextNpc + 1
LET npcSpots(nextNpc) = newTile
END IF
END IF
END IF
NEXT
NEXT
NEXT
END IF
FOR a = 1 to 10
LET npcPos(a) = npcSpots(a)
NEXT
// PLACE NPC SHOP OWNER
FOR a = 1 to 10
IF npcItemShopOwner(a) = 1 THEN
LET npcPos(a) = placementShopOwner(a)
END IF
NEXT
// NPC GET FROM DATABASE
LET b = townCharNum
FOR a = 1 to 10
LET b = b + 1
LET npcCharArea$(a) = npcChar$(b)
LET npcName$(a) = npcNameData$(b)
NEXT
END IF
END IF
// SAVE AREA
IF skipBuildArea = 0 THEN
IF area = 1 THEN
IF newMapAlreadyViseted1 = 0 THEN
LET newMapAlreadyViseted1 = 1
FOR a = 1 to 550000
LET area1$(a) = area$(a)
LET area1E(a) = areaEvent(a)
LET area1R(a) = colRArea(a)
LET area1G(a) = colGArea(a)
LET area1B(a) = colBArea(a)
NEXT
END IF
END IF
IF area = 2 THEN
IF newMapAlreadyViseted2 = 0 THEN
LET newMapAlreadyViseted2 = 1
FOR a = 1 to 550000
LET area2$(a) = area$(a)
LET area2E(a) = areaEvent(a)
LET area2R(a) = colRArea(a)
LET area2G(a) = colGArea(a)
LET area2B(a) = colBArea(a)
NEXT
END IF
END IF
IF area = 3 THEN
IF newMapAlreadyViseted3 = 0 THEN
LET newMapAlreadyViseted3 = 1
FOR a = 1 to 550000
LET area3$(a) = area$(a)
LET area3E(a) = areaEvent(a)
LET area3R(a) = colRArea(a)
LET area3G(a) = colGArea(a)
LET area3B(a) = colBArea(a)
NEXT
END IF
END IF
IF area = 4 THEN
IF newMapAlreadyViseted4 = 0 THEN
LET newMapAlreadyViseted4 = 1
FOR a = 1 to 550000
LET area4$(a) = area$(a)
LET area4E(a) = areaEvent(a)
LET area4R(a) = colRArea(a)
LET area4G(a) = colGArea(a)
LET area4B(a) = colBArea(a)
NEXT
END IF
END IF
IF area = 5 THEN
IF newMapAlreadyViseted5 = 0 THEN
LET newMapAlreadyViseted5 = 1
FOR a = 1 to 550000
LET area5$(a) = area$(a)
LET area5E(a) = areaEvent(a)
LET area5R(a) = colRArea(a)
LET area5G(a) = colGArea(a)
LET area5B(a) = colBArea(a)
NEXT
END IF
END IF
END IF
// AREA MAIN TRANSFER
LET valueA = 0
LET valueTile = 0
FOR a = 1 to 30
FOR b = 1 to 30
LET valueTile = valueTile + 1
LET valueA = valueA + 1
LET screenPick = screenPos + valueA
IF screenPick > 600 THEN
IF screenPick < 540000 THEN
LET areaMain$(screenPick) = tiles$(valueTile)
LET colRAreaMain(screenPick) = brownR
LET colGAreaMain(screenPick) = brownG
LET colBAreaMain(screenPick) = brownB
IF areaEvent(screenPick) > 0 THEN
LET areaMain$(screenPick) = area$(screenPick)
LET colRAreaMain(screenPick) = colRArea(screenPick)
LET colGAreaMain(screenPick) = colGArea(screenPick)
LET colBAreaMain(screenPick) = colBArea(screenPick)
LET areaMainEvent(screenPick) = areaEvent(screenPick)
END IF
END IF
END IF
NEXT
LET valueA = valueA + 500
NEXT
// PLAYER AND ENTITIES
// SET HOSTILE NPCS
IF setHostileNpc = 0 THEN
LET setHostileNpc = 1
IF areaIsHostile(area) = 1 THEN
// NPC GET FROM DATABASE
LET b = 501
FOR a = 1 to 10
LET b = b + 1
LET npcCharArea$(a) = npcChar$(b)
LET npcName$(a) = npcNameData$(b)
LET npcPos(a) = RANDOM(540000)
NEXT
END IF
END IF
// PLAYER DISPLAY
IF playerPos > 600 THEN
IF playerPos < 540000 THEN
LET areaMain$(playerPos) = "P"
LET colRAreaMain(playerPos) = whiteR
LET colGAreaMain(playerPos) = whiteG
LET colBAreaMain(playerPos) = whiteB
END IF
END IF
// NPC MOVEMENT
IF menuOpen = 0 THEN
FOR a = 1 to 10
IF npcItemShopOwner(a) = 0 THEN
LET RND = RANDOM(7)
IF RND = 1 THEN
IF npcPos(a) > 600 THEN
LET npcPosTest = npcPos(a) - 530
IF areaMainEvent(npcPosTest) < 2 THEN
LET npcPos(a) = npcPos(a) - 530
END IF
END IF
END IF
IF RND = 2 THEN
IF npcPos(a) < 540000 THEN
LET npcPosTest = npcPos(a) + 530
IF areaMainEvent(npcPosTest) < 2 THEN
LET npcPos(a) = npcPos(a) + 530
END IF
END IF
END IF
IF RND = 3 THEN
IF npcPos(a) < 540000 THEN
LET npcPosTest = npcPos(a) + 1
IF areaMainEvent(npcPosTest) < 2 THEN
LET npcPos(a) = npcPos(a) + 1
END IF
END IF
END IF
IF RND = 4 THEN
IF npcPos(a) > 600 THEN
LET npcPosTest = npcPos(a) - 1
IF areaMainEvent(npcPosTest) < 2 THEN
LET npcPos(a) = npcPos(a) - 1
END IF
END IF
END IF
END IF
NEXT
END IF
// NPC DISPLAY
FOR a = 1 to 10
IF npcPos(a) > 600 THEN
IF npcPos(a) < 540000 THEN
LET areaMain$(npcPos(a)) = npcCharArea$(a)
LET colRAreaMain(npcPos(a)) = yellowR
LET colGAreaMain(npcPos(a)) = yellowG
LET colBAreaMain(npcPos(a)) = yellowB
END IF
END IF
NEXT
FOR a = 1 to 10
LET msgNpc$(a) = npcName$(a) + " : " + textMsgA$(RANDOM(numOfMsgA)) + " " + npcName$(RANDOM(10)) + " " + textMsgB$(RANDOM(numOfMsgB)) + ". "
NEXT
// TALKING SELECTING
IF talklingChooseNpc = 1 THEN
IF newSel = 0 THEN
LET newSel = 1
LET selectingPos = playerPos
END IF
IF selectingPos > 600 THEN
IF selectingPos < 540000 THEN
LET areaMain$(selectingPos) = "X"
LET colRAreaMain(selectingPos) = redR
LET colGAreaMain(selectingPos) = redG
LET colBAreaMain(selectingPos) = redB
END IF
END IF
END IF
LET msg$ = " "
IF talkingToNpc = 1 THEN
FOR a = 1 to 10
IF selectingPos = npcPos(a) THEN
LET talkingToNpc = 0
LET msg$ = msgNpc$(a)
END IF
NEXT
END IF
// ATTACKING
LET attacking = 0
FOR a = 1 to 10
IF playerPos = npcPos(a) THEN
LET bypassAttackTurn = 0
IF npcHostile(a) = 1 THEN
LET attackingNpc = a
IF attackTurn = 0 THEN
LET attackTurn = 1
LET bypassAttackTurn = 1
LET npcAttacking = 1
LET attacking = 0
END IF
IF bypassAttackTurn = 0 THEN
IF attackTurn = 1 THEN
LET attackTurn = 0
LET npcAttacking = 0
LET attacking = 1
END IF
END IF
END IF
IF npcHostile(a) = 0 THEN
LET attacking = 1
LET attackingNpc = a
LET npcHostile(a) = 1
END IF
END IF
NEXT
IF attacking = 1 THEN
LET msg$ = "You Attacked " + npcName$(attackingNpc) + " ! "
END IF
IF npcAttacking = 1 THEN
LET npcAttacking = 0
LET msg$ = "You got Attacked by " + npcName$(attackingNpc) + " ! "
END IF
// DISPLAY TRANSFER
LET valueA = 0
LET valueTile = 0
FOR a = 1 to 30
FOR b = 1 to 30
LET valueTile = valueTile + 1
LET valueA = valueA + 1
LET screenPick = screenPos + valueA
LET display$(valueTile) = tiles$(valueTile)
LET colR(valueTile) = blackR
LET colG(valueTile) = blackG
LET colB(valueTile) = blackB
IF screenPick > 600 THEN
IF screenPick < 540000 THEN
LET display$(valueTile) = areaMain$(screenPick)
LET colR(valueTile) = colRAreaMain(screenPick)
LET colG(valueTile) = colGAreaMain(screenPick)
LET colB(valueTile) = colBAreaMain(screenPick)
END IF
END IF
NEXT
LET valueA = valueA + 500
NEXT
-
CARD1 Key Down
// TALKING
IF talklingChooseNpc = 1 THEN
IF SPACEBARKEY = TRUE THEN
FOR a = 1 to 10
IF selectingPos = npcPos(a) THEN
LET talkingToNpc = 1
END IF
NEXT
IF talkingToNpc = 0 THEN
LET talklingChooseNpc = 0
LET talkingToNpc = 0
LET msg$ = " "
LET menuOpen = 0
END IF
END IF
END IF
// PLAYER MOVEMENT
IF menuOpen = 0 THEN
IF UPKEY = TRUE THEN
IF playerPos > 600 THEN
LET playerPosTest = playerPos - 530
IF areaMainEvent(playerPosTest) < 2 THEN
LET north = north + 1
LET south = south - 1
LET playerPos = playerPos - 530
END IF
END IF
END IF
IF DOWNKEY = TRUE THEN
IF playerPos < 540000 THEN
LET playerPosTest = playerPos + 530
IF areaMainEvent(playerPosTest) < 2 THEN
LET north = north - 1
LET south = south + 1
LET playerPos = playerPos + 530
END IF
END IF
END IF
IF RIGHTKEY = TRUE THEN
IF playerPos < 540000 THEN
LET playerPosTest = playerPos + 1
IF areaMainEvent(playerPosTest) < 2 THEN
LET east = east + 1
LET west = west - 1
LET playerPos = playerPos + 1
END IF
END IF
END IF
IF LEFTKEY = TRUE THEN
IF playerPos > 600 THEN
LET playerPosTest = playerPos - 1
IF areaMainEvent(playerPosTest) < 2 THEN
LET east = east - 1
LET west = west + 1
LET playerPos = playerPos - 1
END IF
END IF
END IF
// SCREEN SCROLL
IF north = 5 THEN
LET north = 4
LET south = 1 - 5
LET screenPos = screenPos - 530
END IF
IF south = 5 THEN
LET north = 1 - 5
LET south = 4
LET screenPos = screenPos + 530
END IF
IF east = 5 THEN
LET east = 4
LET west = 1 - 5
LET screenPos = screenPos + 1
END IF
IF west = 5 THEN
LET east = 1 - 5
LET west = 4
LET screenPos = screenPos - 1
END IF
END IF
// MENU
IF SPACEBARKEY = TRUE THEN
IF menuOpen = 0 THEN
LET bypass2ndSpace = 1
LET menuOpen = 1
LET menuOption = 1
LET maxMenuItems = 6
END IF
IF bypass2ndSpace = 0 THEN
IF menuOption = 1 THEN
LET menuOpen = 0
END IF
END IF
LET bypass2ndSpace = 0
IF menuOpen = 1 THEN
IF menuOption = 2 THEN
IF talklingChooseNpc = 0 THEN
LET talklingChooseNpc = 1
LET newSel = 0
END IF
END IF
END IF
IF menuOpen = 1 THEN
IF menuOption = 3 THEN
LET travelingScrollActiveNorth = 1
LET newSel = 0
END IF
END IF
IF menuOpen = 1 THEN
IF menuOption = 4 THEN
LET travelingScrollActiveEast = 1
LET newSel = 0
END IF
END IF
IF menuOpen = 1 THEN
IF menuOption = 5 THEN
LET travelingScrollActiveSouth = 1
LET newSel = 0
END IF
END IF
IF menuOpen = 1 THEN
IF menuOption = 6 THEN
LET travelingScrollActiveWest = 1
LET newSel = 0
END IF
END IF
END IF
IF menuOpen = 1 THEN
IF talklingChooseNpc = 0 THEN
IF UPKEY = TRUE THEN
IF menuOption > 1 THEN
LET menuOption = menuOption - 1
END IF
END IF
IF DOWNKEY = TRUE THEN
IF menuOption < maxMenuItems THEN
LET menuOption = menuOption + 1
END IF
END IF
END IF
IF talklingChooseNpc = 1 THEN
IF UPKEY = TRUE THEN
LET selectingPos = selectingPos - 530
END IF
IF DOWNKEY = TRUE THEN
LET selectingPos = selectingPos + 530
END IF
IF RIGHTKEY = TRUE THEN
LET selectingPos = selectingPos + 1
END IF
IF LEFTKEY = TRUE THEN
LET selectingPos = selectingPos - 1
END IF
END IF
END IF
GOTOCARD 1
-
CARD1 Paint
LET y = 0
LET counter = 0
FOR a = 1 to 30
LET y = y + 10
LET x = 0
FOR b = 1 to 30
LET x = x + 10
LET counter = counter + 1
LET tile$ = display$(counter)
SETPENCOLOR colR(counter), colG(counter), colB(counter)
DRAWSTRING tile$, x, y, "Courier", 15
NEXT
NEXT
IF menuOpen = 1 THEN
LET menuX = 400
LET menuY = 15
SETPENCOLOR grayR, grayG, grayB
IF menuOption = 1 THEN
SETPENCOLOR whiteR, whiteG, whiteB
END IF
LET menuY = menuY + 12
DRAWSTRING "close menu", menuX, menuY, "Courier", 12
SETPENCOLOR grayR, grayG, grayB
IF menuOption = 2 THEN
SETPENCOLOR whiteR, whiteG, whiteB
END IF
LET menuY = menuY + 12
DRAWSTRING "talk", menuX, menuY, "Courier", 12
SETPENCOLOR grayR, grayG, grayB
IF menuOption = 3 THEN
SETPENCOLOR whiteR, whiteG, whiteB
END IF
LET menuY = menuY + 12
DRAWSTRING "north", menuX, menuY, "Courier", 12
SETPENCOLOR grayR, grayG, grayB
IF menuOption = 4 THEN
SETPENCOLOR whiteR, whiteG, whiteB
END IF
LET menuY = menuY + 12
DRAWSTRING "east", menuX, menuY, "Courier", 12
SETPENCOLOR grayR, grayG, grayB
IF menuOption = 5 THEN
SETPENCOLOR whiteR, whiteG, whiteB
END IF
LET menuY = menuY + 12
DRAWSTRING "south", menuX, menuY, "Courier", 12
SETPENCOLOR grayR, grayG, grayB
IF menuOption = 6 THEN
SETPENCOLOR whiteR, whiteG, whiteB
END IF
LET menuY = menuY + 12
DRAWSTRING "west", menuX, menuY, "Courier", 12
END IF
SETPENCOLOR whiteR, whiteG, whiteB
DRAWSTRING msg$, 10, 315, "Courier", 12
-
You can alter the global variables to get different types of maps and things. Right now there are only about 5 maps that load but I will be adding more soon. It just takes some time to code the arrays for each area.
-
Use the spacebar key to perform an action. Arrow keys to move around the map. When you overlap with a npc you or the npc attack.