|
;Wander Online
;By Gemino M. Smothers
;v1.04
;internet required
;Geek Basic (c) software 2008
;e-mail bongo_meno@yahoo.com
;or call 1-909-533-9582
Const screenx=800
Const screeny=600
Const screenc=32
Const screenm=2
Graphics screenx,screeny,screenc,screenm
Intro()
AppTitle "Wander Online (standard version) "+CurrentTime()+" - "+CurrentDate(),"Hit F8 to logout."
ClsColor 0,255,70
Cls
Color 255,50,0
Rect 0,0,900,15
Color 10,100,100
gamename$="Wander Online server"
Print "Welcome to Wander Online!"
n = CountHostIPs("")
ip = HostIP(1)
ipaddress$ = DottedIP$(ip)
serverIP$=ip
joinResults=JoinNetGame(gamename$,serverIP$)
Select joinResults
Case 1
Print "Joined the game successfully!"
Goto joins
Default
Print "No game to join."
Goto joinu
End Select
.joinu
newGame = HostNetGame(gamename)
If newGame = 0 Then
Print "Could not start or join net game."
RuntimeError "Could not enter Wander Online!"
Goto joins
ElseIf newGame = 1
Print "Successfully joined the network game."
Goto joins
ElseIf newGame = 2
Print "A new network game was started."
EndIf
.joins
name$=Input("Enter your game name... > ")
FlushKeys
playerID=CreateNetPlayer(name$)
If playerID = 0 Then
Print "Player could not be created!"
RuntimeError "Could not login!"
Else
Print "Your playerID is " + name$
SendNetMsg 100,"Player : "+playerID+" has joined the game.",playerID,0,0
End If
PrintHelp()
Global items#=1
Global moves#=0
Global gp#=1
Global msgsent#=0
Global msgrecv$=0
Global rndmoves#=0
Global taxtime#=0
ac1$=1
bc0$=0
cc2$=2
dc0$=0
ec9$=9
fc3$=3
While Not KeyHit(1)
If items=<0 Then items=0
Text 501,0,"Wander Online (hit H for help)"
Delay 20
.outguild
AppTitle "Wander Online (standard version) "+CurrentTime()+" - "+CurrentDate(),"Hit F8 to logout."
If RecvNetMsg() Then
msgrecv=msgrecv+1
msgType=NetMsgType()
If msgType>0 And msgType<100 Then
msgFrom=NetMsgFrom()
msgData$=NetMsgData$()
frmname$=NetPlayerName(msgFrom)
Print "----- ----- -----"
Print "Message recieved from: " + frmname
Print msgData$
Print "----- ----- -----"
End If
End If
If KeyHit(59) Then
FlushKeys
msgsent=msgsent+1
message$=Input("> ")
message=message + " ( This players current gp: " + gp + " ) "
SendNetMsg Rand(1,99),message$,playerID,0,0
Print "----- ----- -----"
Print "Message sent!"
Print "----- ----- -----"
FlushKeys
EndIf
If KeyHit(20) Then
SeedRnd MilliSecs()
randhmsg=Rand(10)
If randhmsg=5 Then
Print "Remember, you can see the command list by hitting h"
EndIf
If randhmsg=7 Then
Print "Wander Online v1.04 - Geek Basic (c) 2008"
EndIf
If randhmsg=3 Then
Print "Here is a small gift from Geek Basic! +3 gp"
gp=gp+3
EndIf
Print "----- ----- -----"
Print "Current time: " + CurrentTime()
Print "Current date: " + CurrentDate()
Print "----- ----- -----"
EndIf
If KeyHit(203) Then
taxtime=taxtime+1
SeedRnd MilliSecs()
randhmsg=Rand(10)
If randhmsg=5 Then
Print "Remember, you can see the command list by hitting h"
EndIf
If randhmsg=7 Then
Print "Wander Online v1.04 - Geek Basic (c) 2008"
EndIf
If randhmsg=3 Then
Print "Here is a small gift from Geek Basic! +3 gp"
EndIf
gp=gp+3
rndmoves=rndmoves+1
moves=moves+1
Print "You move east..."
Delay 2000
SeedRnd MilliSecs()
chance=Rand(10)
If chance>5 Then
Print "You spot an old man walking by..."
Delay 1000
Print "He throws off his cloak, runs at you and takes one of your items!"
items=items-1
EndIf
If chance<5 Then
Print "You see a little boy trip over a rock. You go pick it up."
items=items+1
EndIf
If chance=5 Then
Print "Not much here..."
EndIf
EndIf
If KeyHit(200)
taxtime=taxtime+1
SeedRnd MilliSecs()
randhmsg=Rand(10)
If randhmsg=5 Then
Print "Remember, you can see the command list by hitting h"
EndIf
If randhmsg=7 Then
Print "Wander Online v1.04 - Geek Basic (c) 2008"
EndIf
If randhmsg=3 Then
Print "Here is a small gift from Geek Basic! +3 gp"
gp=gp+3
EndIf
rndmoves=rndmoves+1
moves=moves+1
Print "You move north..."
Delay 2000
SeedRnd MilliSecs()
chance2=Rand(10)
If chance2>5 Then
Print "You find a pretty rock on the ground."
Print "You pick up the rock"
items=items+1
EndIf
If chance2<5 Then
Print "A knight of evil stands before you"
Print "He takes a swing at you!"
Print "You run for your life!"
EndIf
If chance2=5 Then
FlushKeys
Print "You see a group of market stalls, you go in..."
x=Input("1 to buy a dagger, 2 for lemmon, 3 for a cape or 0 to pass... ")
Select x
Case 1
Print "You buy a dagger"
items=items+1
gp=gp-1
Case 2
Print "You buy a lemmon"
items=items+1
gp=gp-1
Case 3
Print "You buy a cape"
items=items+1
gp=gp-1
Case 0
Print "You pass."
Default
Print "?"
End Select
EndIf
FlushKeys
EndIf
If KeyHit(205)
taxtime=taxtime+1
SeedRnd MilliSecs()
randhmsg=Rand(10)
If randhmsg=5 Then
Print "Remember, you can see the command list by hitting h"
EndIf
If randhmsg=7 Then
Print "Wander Online v1.04 - Geek Basic (c) 2008"
EndIf
If randhmsg=3 Then
Print "Here is a small gift from Geek Basic! +3 gp"
gp=gp+3
EndIf
rndmoves=rndmoves+1
moves=moves+1
Print "You move west..."
Delay 2000
SeedRnd MilliSecs()
chance1=Rand(10)
If chance1>5 Then
Print "A big waggon nearly runs you over!!! You drop an item and cant find it..."
items=items-1
EndIf
If chance1<5 Then
Print "You smell something nice in the distance."
EndIf
If chance1=5 Then
Print "You see a pond, you fish in it..."
Delay 1000
Print "You caught a fish!"
items=items+1
EndIf
EndIf
If KeyHit(60) Then
taxtime=taxtime+1
Print "----- ----- -----"
If items=<0 Then
Print "You have no items to sell."
Print "----- ----- -----"
EndIf
If items > 0 Then
Print "----- ----- -----"
Print "You set up a carpet with all your goods on it."
SeedRnd MilliSecs()
c#=Rand(3)
If c=1 Then
Print "You sell 1 item for 1 gp."
Print "----- ----- -----"
items=items-1
gp=gp+1
EndIf
If c=2 Then
Print "You sell 2 item for 2 gp."
Print "----- ----- -----"
items=items-2
gp=gp+2
EndIf
If c=3 Then
Print "You sell 3 item for 3 gp."
Print "----- ----- -----"
items=items-3
gp=gp+3
EndIf
EndIf
EndIf
If KeyHit(61) Then
SeedRnd MilliSecs()
randhmsg=Rand(10)
If randhmsg=5 Then
Print "Remember, you can see the command list by hitting h"
EndIf
If randhmsg=7 Then
Print "Wander Online v1.04 - Geek Basic (c) 2008"
EndIf
If randhmsg=3 Then
Print "Here is a small gift from Geek Basic! +3 gp"
gp=gp+3
EndIf
Print "----- ----- -----"
Print "Status - "
Print "Name - "+name
Print "Items - "+items
Print "Moves made - "+moves
Print "Current gp - "+gp
Print "Messages sent - "+msgsent
Print "Messages recieved - "+msgrecv
Print "----- ----- -----"
EndIf
If KeyHit(66) Then
LogOff()
EndIf
If KeyHit(63) Then
file=WriteFile("C:\WanderOnlineSave.gb")
WriteInt(file,items)
WriteInt(file,moves)
WriteInt(file,gp)
CloseFile(file)
Print "----- ----- -----"
Print "Saved!"
Print "----- ----- -----"
EndIf
If KeyHit(64) Then
theread$=ReadFile("C:\WanderOnlineSave.gb")
sitems#=ReadInt(theread)
smoves#=ReadInt(theread)
sgp#=ReadInt(theread)
items=sitems
moves=smoves
gp=sgp
CloseFile(theread)
Print "----- ----- -----"
Print "Saved game loaded!"
Print "----- ----- -----"
EndIf
If rndmoves=30 Then
FlushKeys
SeedRnd MilliSecs()
randhmsg=Rand(10)
If randhmsg=5 Then
Print "Remember, you can see the command list by hitting h"
EndIf
If randhmsg=7 Then
Print "Wander Online v1.04 - Geek Basic (c) 2008"
EndIf
If randhmsg=3 Then
Print "Here is a small gift from Geek Basic! +3 gp"
gp=gp+3
EndIf
Print "----- ----- -----"
Print "You got a random event!!! +20gp"
Print "----- ----- -----"
gp=gp+20
rndmoves=0
FlushKeys
EndIf
If KeyHit(35) Then
PrintHelp()
EndIf
If KeyHit(46) Then
FlushKeys
num1#=0
num2#=0
add$="add"
sub$="subtract"
div$="divide"
mlt$="multiply"
Print "----- ----- -----"
.cloop
conc#=Input("1 to continue or 2 to exit calculator > ")
Select conc
Case 1
nums#=Input("Enter 1st number to calculate > ")
num1=nums
nums2#=Input("Enter 2nd number to calculate > ")
num2=nums2
cc$=Input("Enter add, subtract, divide, multiply, or 0 to leave calculator > ")
Select cc
Case add
ansa#=num1+num2
Print num1+" + "+num2+" = "+ansa
Print "New calculation - "
Goto cloop
Case sub
anss#=num1-num2
Print num1+" - "+num2+" = "+anss
Print "New calculation - "
Goto cloop
Case div
ansd#=num1/num2
Print num1+" / "+num2+" = "+ansd
Print "New calculation - "
Goto cloop
Case mlt
ansm#=num1*num2
Print num1+" x "+num2+" = "+ansm
Print "New calculation - "
Goto cloop
Case 0
FlushKeys
Goto outguild
Default
Print "That is not a valid option."
Goto cloop
End Select
Case 2
FlushKeys
Print "----- ----- -----"
Goto outguild
Default
Print "?"
Goto cloop
End Select
EndIf
If KeyHit(34) Then
Goto guild
EndIf
If taxtime=20 Then
Print "----- ----- -----"
Print "Its time to pay taxes to your kingdom! (You must pay all that you can)"
SeedRnd MilliSecs()
tax=Rand(3)
If tax=1 Then
Print "You must pay 500gp to help support the kings war effort."
gp=gp-500
If gp=<0 Then
gp=1
Print "You were unable to pay the full amount... The king will let it slide."
EndIf
Print "You now have "+gp+" left."
taxtime=Rand(30)
Print "----- ----- -----"
EndIf
If tax=2 Then
Print "You must pay 100gp."
gp=gp-100
If gp=<0 Then
gp=1
Print "You were unable to pay the full amount... The king will let it slide."
EndIf
Print "You now have "+gp+" left."
taxtime=Rand(30)
Print "----- ----- -----"
EndIf
If tax=3 Then
Print "The king wants To expand the peoples lands. You must pay 350gp."
gp=gp-350
If gp=<0 Then
gp=1
Print "You were unable to pay the full amount... The king will let it slide."
EndIf
Print "You now have "+gp+" left."
taxtime=Rand(30)
Print "----- ----- -----"
EndIf
EndIf
If KeyHit(68) Then
FlushKeys
chtcode$=Input("> ")
thcode$=ac1+bc0+cc2+dc0+ec9+fc3
If chtcode=thcode Then
Print "----- ----- -----"
Print "You have entered the super secret cheat code!!!"
Print "You have gained 1000gp!"
gp=gp+1000
Print "----- ----- -----"
EndIf
FlushKeys
EndIf
Wend
.guild
FlushKeys
Print "----- ----- -----"
Print "Welcome to the guild!"
Print "Here you can do work and earn money!"
.guildre
sgu#=Input("Enter 1 to herd sheep, 2 to hunt a bear, 3 to practice alchemy, 4 to fish, 0 to leave guild > ")
Select sgu
Case 1
SeedRnd MilliSecs()
num = Rand(100)
.loop
x=Input("Try to guess the number of sheeps (1-100)... ")
If x = num
Print "You Win! +100 gp"
Delay 2000
gp=gp+100
Goto guildre
EndIf
If x > num
Print "no less..."
EndIf
If x < num
Print "no more..."
EndIf
Goto loop
Case 2
SeedRnd MilliSecs()
hunt=Rand(2)
Print "You aim your bow at a bear..."
Print "(press any key to shoot)"
WaitKey()
If hunt=1 Then
Print "You shot and killed the bear! +100 gp"
gp=gp+100
Goto guildre
EndIf
If hunt=2 Then
Print "You missed! That arrow costed you 5 gp. -5 gp"
gp=gp-5
Goto guildre
EndIf
Case 3
SeedRnd MilliSecs()
alch=Rand(3)
Print "You try yo turn some random junk into gp..."
If alch=1 Then
Print "The junk suddenly turnes to gp! +10 gp"
gp=gp+10
Goto guildre
EndIf
If alch=2 Then
Print "Nothing happens..."
Goto guildre
EndIf
If alch=3 Then
Print "Some of your money just turned to junk! -5 gp +3 items"
gp=gp-5
items=items+3
Goto guildre
EndIf
Case 4
Print "You head to the Pond..."
Seedrnd Millisecs()
wd#=Rand(3)
If wd=1 Then
Print "(The wind blows to the West...)"
EndIf
If wd=2 Then
Print "(The wind blows to the East...)"
EndIf
If wd=3 Then
Print "(The wind blows to the North...)"
EndIf
fishd#=Input("Enter 1 to cast your fishing pole to the right, 2 for the left, 3 for straight ahead.")
fsh#=Rand(3)
If fsh=fishd Then
Print "You caught a fish! +1 items"
items=items+1
Goto guildre
EndIf
If fsh>fishd Then
Print "You wait a while and nothing happens..."
Delay 2000
Goto guildre
EndIf
If fsh<fishd Then
Print "The fish takes the bait and runs! That bait costed you 2gp. -2 gp -1 items"
Goto guildre
EndIf
Case 0
Print "----- ----- -----"
FlushKeys
Goto outguild
Default
Goto guildre
End Select
Function PrintHelp()
Print "----- ----- -----"
Print "Command set -"
Print "send msg = F1"
Print "move east = left arrow"
Print "move west = right arrow"
Print "move north = up arrow"
Print "sell items = F2"
Print "view status = F3"
Print "enter guild = g or esc"
Print "calculator = c"
Print "view time and date = t"
Print "logout = F8"
Print "save progress = F5"
Print "load game = F6"
Print "hit H any time to see this list again"
Print "----- ----- -----"
End Function
Function Intro()
g$="G"
e$="e"
e2$="e"
k$="k "
b$="B"
a$="a"
s$="s"
i$="i"
c$="c"
co$="©"
mfont=LoadFont("Arial Bold",40)
SetFont mfont
ClsColor 0,0,150
Cls
Color 255,255,0
Text 100,105,g
Delay 500
Text 130,95,e
Delay 500
Text 160,105,e2
Delay 500
Text 190,95,k
Delay 500
Text 213,105,b
Delay 500
Text 243,95,a
Delay 500
Text 273,105,s
Delay 500
Text 303,95,i
Delay 500
Text 333,105,c
Delay 500
Text 363,95,co
Delay 500
Text 103,140,"Proudly Presents..."
Delay 1500
While Not KeyHit(1)
Color Rand(255),Rand(255),Rand(255)
Text 100,200,"Wander Online v1.04 ~ since 2007"
Delay 500
tm=tm+1
If tm = 20 Then
Goto gbegin
EndIf
Wend
.gbegin
FreeFont mfont
End Function
Function LogOff()
Print "----- ----- -----"
Print "Logging off..."
Print "----- ----- -----"
Delay 3000
font=LoadFont("Arial Bold",30)
SetFont font
Color 255,0,0
Text 200,100,"You logged off."
DeleteNetPlayer playerID
Delay 3000
End
End Function
|