Half-implemented private notes.

This commit is contained in:
SilicaAndPina 2020-12-24 23:00:54 +13:00
parent 1c051433dd
commit 08336c07af
73 changed files with 5554 additions and 36 deletions

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View file

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View file

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

Before

Width:  |  Height:  |  Size: 583 B

After

Width:  |  Height:  |  Size: 583 B

View file

Before

Width:  |  Height:  |  Size: 343 B

After

Width:  |  Height:  |  Size: 343 B

View file

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

Before

Width:  |  Height:  |  Size: 925 B

After

Width:  |  Height:  |  Size: 925 B

View file

Before

Width:  |  Height:  |  Size: 560 B

After

Width:  |  Height:  |  Size: 560 B

File diff suppressed because it is too large Load diff

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View file

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View file

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

Before

Width:  |  Height:  |  Size: 583 B

After

Width:  |  Height:  |  Size: 583 B

View file

Before

Width:  |  Height:  |  Size: 343 B

After

Width:  |  Height:  |  Size: 343 B

View file

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

Before

Width:  |  Height:  |  Size: 925 B

After

Width:  |  Height:  |  Size: 925 B

View file

Before

Width:  |  Height:  |  Size: 560 B

After

Width:  |  Height:  |  Size: 560 B

View file

@ -0,0 +1,480 @@
TECHNICAL DOCUMENTATON:
ALL SERVER CONTROL COMMANDS:
NOTE!: Use no exclamation marks or quotes, etc.
./controlservers "MESSAGE Hi to everyone on horse isle."
./controlservers "MODMESSAGE Hi all mods on Horse Isle"
./controlservers "KICK BadPlayer"
./controlservers "MOTD Set the message of the day on all servers."
./controlservers RESET
Publish Beta Content to other servers:
./Propagatebeta.sh
-----------------------------------------------------------------------------
=================[ IN-GAME SERVER COMMAND FOR ADMINS ]=======================
-----------------------------------------------------------------------------
%% <text> Sends chat text to Just ADMINS
% BEEP makes a beep on the server end in case either jor or miranda is watching console
% RESET QUESTS resets your list of completed quests, and quest points. allows you to try threm over again for testing.
% CALL HORSE randomply grabs a horse to you
% PRISON <name> Sends Player to prison isle
% KICK <name> kicks player immediately off server, can log back in
% MUTE <name> <minutes> Mutes a player for a certain number of minutes
% UNMUTE <name> Unmutes player
% DROP <#> Create a new object id at current location
% DROP <name> Create a new object name at current location
% GIVE <player> MONEY <num> Server Gives player num money
% GIVE <player> OBJECT <num> Server Gives player object num
% GIVE <player> OBJECT <name> Server Gives player object with name
% VIEW <user> STATS/INVENTORY shows other players inventory/stats (ITEMS NOT clickable)
% ? <user> show users Current XY IP Location, no user=show YOUR xy
% GOTO NPC <name> jumps you to the named computer character.
% GOTO AREA earton,appleton,treeton,flipperton,santa,santon,shellton,wington,chillton etc.. Jumps admin to city or Island center
% ^ <place> shorthand alias for '%GOTO AREA'
% GOTO <x>,<y> Jump to map location
% GOTO <user> Jump to players location
% JUMP <user> HERE Jumps player to your location! (good for getting the player "unstuck"!)
% MESSAGE ALL Send a server notice to everyone connected
% SAVE MAP Save any changes to the world map
% DRAW MAP Rebuild the pixel game map
SHIFT + UP/DOWN Change Terrain Tile +1/-1
SHIFT + RIGHT/LEFT Change Overlay Tile +1/-1
SHIFT + CTRL Toggle "Footpainting" Walking duplicates tile you are on
% !<#> Set terrain tile to #
% @<#> Set overlay tile to #
% MAPT <title> Change the title of the current location map info
% MAPD <text> Set the description of the current locations map info
% MAPE <UP/DOWN/RIGHT/LEFT> Set the Exit direction for building
% MAPC <text> Set the CODE of the current locations map info
% REFRESH MAPTABLE Reloads all of the map titles/etc off database.
% FILL <terrainid> Does a contiguous flood fill over tile you are on with new tileid
%ROADON Enable Walking roads! Does not handle intersections
%ROADOFF Disable Walking Roads!
% SHUTDOWN NOW shuts server down - does NOT save map
----------------------SUPER ADMIN COMMANDS ----------------------
% DELETE PLAYERID # Complete removes all players info from many tables in database.
% LOAD MAP reLoad the world map
% BUILD MAP Build Terrain from map image
% BUILD MODE Allows editing of map tiles using shiftarrows and following
% TILERANDOM Randomizes all of the terrain that is good to randomize (the duplicate plain terrains)
% AUTOGENFOREST Randomly builds all forests on map
------------------------------------------------------------------
==================[ SQL MAP LOCATION CODES: ]=====================
------------------------------------------------------------------
JUMP-xx,yy Jumps to new x,y use for multi-tile buildings. all players should be in one tile per building
STORE-id Display Store id
FARRIER-id Display Farrier id
VET-id Display Vet id
GROOMER-id Display Groomer id
TRAINER-id Display Trainer id
INN-id Display INN id
ARENA-id Display ARENA id
POND Display pond location
BANK Display generic banking services
TRANSPORT Display all of the available routes in the transport table
MUDHOLE Display a mud hole location
WISHINGWELL Wishing well functionality
2PLAYER-Game 2 Player Game Setup
MULTIROOM multiplayer structureless setup
HORSE-Game Allow selecting horse to play minigame with, sends all stats to game.
RIDDLER Riddler display
WORKSHOP Display any crafts available at location
EXITABLE Simply Adds an Exit at the botton
HORSEWHISPERER Horse Whisperer
PASSWORD-SECRETWORD!444 Password required to activate the Action ID
------------------------------------------------------------------
=========================[ META CODES: ]==========================
------------------------------------------------------------------
^I43 - Display Icon #43
^T1Apple Tree - Display Text Label SIZe 1=small 2=medium 3=big: Apple Tree
^R# - Next Line (1= jump 24 pixels down, 2=28,3=32, etc..
^BD2345 - Button Second letter = mode
A=startnpc + npc id
H=replynpc + npc conversation point
M=load the swf + movie name
SW=showscores + Game identifier - Show top wins
SH=showscores + Game identifier - Show high score
ST=showscores + Game identifier - Show best times
N=wish + 1=money, 2=things, 3=world peace :)
Y=buytrans + transport id
Z=exittomap - for npc reply
1 + extended player button functions follow
A=tradeaccept + trade id
J=tradereject + trade id
O=tradeobj + objects id
T=tradeplyr + player id
L=lookplyr + player id
B=addbuddy + player id
R=removebuddy + player id
W=showplyrmap + XXYY Show xy location on map!
S=socialsplyr + player id
D=drinkfountain
X=tag + buddy id
I=ignoreplyr + playerid
H=unignoreplyr + playerid
P=privatemessage + player name
2 + extended multi-player game functions follow
I=Invite to game +player id
A=Accept game + player id
3 + horse functions
B=barnhrs + horse id
E=hrsprofile + horse id
C=cleanhrs + horse id
F=feedhrs + horse id
G=groomhrs + horse id
JI=shodhrs + (IRON) horse id
JS=shodhrs + (STEEL) horse id
I=feedobj + ojects id
K=tackobj + objectid tack object on horse
N=unmounthrs + horseid
O=mounthrs + horseid
M=removetack
O=lookhrs + horse id
P=pethrs + horse id
R=trainhrs + horse id
T=tackhrs + horse id
U=capturehrs+ horse id
V=vethrs + horse id
X=releasehrs + horse id
4 + object functions
A=obj Sell All
BF=buyobj + objects id buy FIVE existing objects
BE=buyobj + objects id buy existing object
BN=buyobj + object id buy new object
BE=buyobj + object id buy and consume new object (INN)
B5=buyobj + object id Buy 5 objects at once
C=craftobj + crafts id
D=dropobj + objects id
E=eatobj + objects id
G=grabobj + objects id
R=graball + object id
//I=dig
UR=userake UNCOVER
UB=usebinocs SEARCH
UM=usemagnify SEARCH
US=useshovel DIG
UT=usetelescope USE
K=drinkobj + objects id
LO=lookobj + objects id look at existing object
LN=lookobj + object id look at a new object
LC=lookobj + npc ID Look at NPC
O=openobj + objects id
V=readobj + R=read L=listall objects id
S=sellobj + objects id
T=throwobj + objects id
W=wearobj + objects id
X=removeobj + body part
Z=ripupobj + objects id
5 + Socials! xnay on the rest, make dynamic!
6 + Ranch functions
P=purchaseranch + ranch id BUY
U=upgraderanch UPGRADE
B=buildspot + building id + position BUILD
R=sellspot + position SELL
S=sell ranch + ranch id SELL
E=ranchprofile PROFILE
L=lookbuilding + building id ?
^A+ Stats Box
B+ stat;stat;stat;etc... - Create basic stat graph
A+ SP base;SP companion;SP tack; SP max; +etc.. - Create advanced stat graph
^P+ Input codes
L+ title | contents - Input line with title and contents settable
M+ title | contents - money Input line with title and contents settable (only numbers!)
B+ vpixsize | contents - Input box with vertical size and contents settable
S+ id | button label - Input Submission Button with id and label settable
^S+ Dynamic submission box codes
^D + code | label - Dynamic Button
^Lthis is a long line -full line of text
^H - header full multilines
^N - NPC Multiline text box, that leaves room for sigle button on bottom right
^M - back to map button
^MM - back to map button AND close module!! (used when looking at horses)
^X - Exit Building button
^Z - end of MetaCodes
----------------------------------------------------------------------------
=============================[ NETWORK CODES: ]=============================
----------------------------------------------------------------------------
TO SERVER: (bytes)
(20)+ : Chat code
(20)+text : Global Chat
(21)+text : Local Chat
(22)+name|text : Private Chat
(23)+text : Buddy Chat
(24)+text : HERE Chat
(21)+ : Movement Code (alone means, just update info screen!)
(20) : Move Up
(21) : Move Down
(22) : Move Right
(23) : Move Left
(24) : Exit Building
(22)+ : Who's online?
(20) : Who's online global info display
(21) : Local Players ** Not Implemented **
(22) : who's online global program call
(23) : Local Players program ** Not Implemented **
(23) : Inventory List Request
(24) : Player Status Request (blank=list status)
(20) : Send just Description, for editing
(21) : Save the following as player description!
(30)+amount : Earned money
(40)+id : Earned Object id
(41)+id : Lost Object id
(50)+id : Activate Quest id (for pyramidmaze module, etc)
(51)+id : Activate AWARD id (for awardable scores module, etc)
(55)+id|amount : Horse id Gains amount experience
(60)+(20)+gameid : Won Game
(60)+(21)+gameid : Lost Game
(61)+gameid|score : game score result for tracking high scores
(62)+gameid|time : game time result for tracking best times
(80)+gameid : show top winners
(81)+gameid : show top scores
(82)+gameid : show top times
(25)+ : Horse Stats Request (blank = list horses)
(20)+id : Look at horse
(21)+id : Feed Horse
(22)+id : Tack Horse **
(23)+id : Clean Horse **
(24)+id : Pet Horse
(25)+id : Release Horse
(26)+id : Train hrs
(27)+id : Feed Object to horse
(28)+id : try to Capture a horse
(29)+id : Captured horse
(30)+id : Horse Escaped
(40)+id : Shod Iron on horse id
(41)+id : Shod steel on horse id
(42)+id : Cure horse on horse id
(43)+id : Horse Drink Pond Water (1/20 get sick)
(44)+(20)+id : Edit horse profile
(44)+(21)+id : Save horse profile
(50)+id : Groom horse id
(55)+id : Barn rest horse id
(60)+id : Tack object on horse
(61)+part : Remove tack off horse part
(70)+id : ride horse
(71)+id : stop ride horse
(30) + : Object modification codes
(20) + id : Grab Object with id
(21) : grab all!
(22) + id : open object with id
(30) + id : Drop Object with id
(31) + id : Throw object id
(40)(20) + id : Look at Objects id (exisiting object)
(21) + id : Look at Object id (new object)
(22) + id : Look at NPC id
(42) + id : Read Objects
(43) + id : Rip Up message
(50) + id : Buy Existing Object
(51) + id : Buy new Object
(52) + id : Consume object and buy
(53) + id : Buy 5 of the object
(54) + id : Buy 5 of existing objects
(60) + id : Sell Object
(61) + id : Sell all object of same obbject id
(70) + id : Wear object
(71) + part : remove object
(80) + id : drink object
(81) + id : eat object
(82) + id : drink from fountain
(90) : Dig at current location
(91) : Use binoculars
(92) : Use Magnifying Lens
(93) : Use Lantern
(100)+ id : Craft Object (crafts id)
(35) + : Ranch Ownership Modification Codes
(20) + id : Buy Ranch id
(21) + id : Sell Ranch id
(22) + id : Look at building id
(23) + id : Click Codes +0= cabin +1=buildspot #1,etc.
(24) + id : Updrade Ranch home
(25) + id : Build at position id
(26) + id : destroy building at position id
(27) + id : Edit Ranch Profile
(36) + : Auction House Codes
(40) + id : Bid $10 more on horse
(41) + id : Bid $100 more on horse
(42) + id : Bid $1000 more on horse
(43) + id : Bid $10000 more on horse
(40) + : NPC
(20) + id : Start COnversation with NPC ID
(21) + code : COntinue conversation with npc at code
(41) + id : Activate Transport id
(42) + : Inter-Player Function Codes
(20) + id : look at player id
(30) + id : add player to buddy list
(31) + id : remove player from buddy list
(35) + id : TAG! buddy is it..
(40) + id : Begin trade procedure with player id
(50) + id : IGNORE playerid
(51) + id : unIGNORE playerid
(44) + wish : Wishing well Wish
(45) + score : Report Arena Competition Score result
(46) + gamecode : Show HighScores
(69) + code : Coded Dynamic Button Click with
(70) + code + input contents in order |+ : Coded Input Submission
#1 : Bank transactions
(79) + : Single player Module Requests
(80) + : Inter-Module Communication
(20) + id : Invite player id to play game
(21) + id : Accept game invitation with player id
(80) + data : send data to opponent
(81) + data : send data to everyone in room
(90) +
(20) + player id : Socials request
(21) + code : Dynamic Social Code Activated
(118) : Bird Eye Map request
(119) + X | Y : Client Map Click for info
(120) + : Builder Codes
(20) : +1 Ground Tile ID
(21) : -1 Ground Tile ID
(22) : +1 Overlay Tile ID
(23) : -1 Overlay Tile ID
(124) : Keep ALive Packet, ping-ponged after 1 min inactivity
(125) : CLient notification that player is quitting
(126) : MOTD Requested
(127)+user|pass : login
(127) (after login) ready for data, send all welcome packets
FROM SERVER: (bytes)
(20)+ : Chat code
(20)+text : Global Chat
(21)+text : Local Chat
(22)+text : Private Chat
(21)+XX+YY+DATA : Map Data includes a flag byte8 to determine whether to reset movie
(22) : System Whois Reply
(24)+description : Edit Player Profile
(25)+id|name|description : Edit horse profile
(30) : Meta Codes for dynamically building InfoPane
(35) : SFX Codes
(40)+filename : Display external swf
(41)+filename : Display external swf in protected mode (Map transmissions do not close movie) for cutscenes
(42)+filename : Display external swf gently.. (dont load if one exists)
(80)+data : Pass data straight to module buffer: DATARECEIVE
(117)+overlay data : Overlay Data on which tiles to hide player when on
(118)+map data : bird eye map data
(119)+text : Mouseclick Location info
(120)+update tile at location from build mode
(121)+areas data : send info on all areas for map viewer at login
(122)+time|day|weather //update every minute
(122)+(19)+WEATHER // sudden non transitionsed weather change
(123)+money|mail|players // status bar update
(124) : Keep ALive Reply
(126) : MOTD
(127)+ : Login Attempt
(20): Successful
(21): Incorrect user/pass
(22): Failked + message
(128)+ message : Disconnect with message.
(129)+ Byte Codes for packet checking + Admin Flag
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
HOMEMADE LIGHTWEGIHT PACKET ENCRYPTION:
Use a server Function to Check Code, and make code.
Use on all Packets which should be verified (Money earned in module, etc)
X= chr(40)-chr(140) the CODES
Y= chr(40)-chr(140) the checksum
i= a random increment value 1-99
p= coded packet number
Server sends random original code: [60][45][80][100][ i ]
[ X1 ][ X2 ][ X3 ][ Y ]
X(p%4)+=Y
X%100
Y=(X1+(X2*X3)-X2)%100
-----------------------------------------------------------------------------------------
FLASH MODULES:
0,0 at upper left
416pixel wide x 288pixel high
make a EXITMODULE() function! clear intervals and DO NOT set EXIT=true in it!!!
set DATASEND= whatever datastring should be sent to server. include trailing newline!
read DATARECEIVE often to receive data from server/other clients
set ALLOWMOVE=true to allow player to use arrows to leave place
set RELOADABLE=true to allow mod reloading Clicking OK again, etc.. (default to mods started with button code)
set DONOTDISTRUD=true to mods that CANNOT be overwritten. . (arenas)
set module music/sound volume to _parent.VOLUME periodically? to adjust to vol control.
set PLAYMUSIC=true to shutoff Main Game music (for store submusic)
_parent.PLAYERNAME = players username string
IF YOU START AN INTERVAL IN Module, you MUST remove it also!!
================MODULE MUSIC CODE EXAMPLE:
PLAYMUSIC=true; //shutoff Main game music for own music
if (MUSIC==undefined) {
MUSIC=new Sound(this);
MUSIC.attachSound("MUSIC");
MUSIC.start(0,9999);
}
if (_parent.VOLUME!=undefined) MUSIC.setVolume(_parent.VOLUME); //set volume to parent
function AdjustVolume() { MUSIC.setVolume(_parent.VOLUME); } ///callable function
====================END MUSIC CODE
===================EXAMPLE HEADER CODE:
_root.SendData(str); // send data to server
var DATASEND:String=""; //data to send to server
var DATARECEIVE:String=""; //data sent by server
var EXIT:Boolean=false; // kill this movie when true
var ALLOWMOVE:Boolean=false; //can player leave this movie by walking?
var DONOTDISTURB:Boolean=true; // DOnt allow loading a movie on top of this one.
=======================END HEADER
==================EXAMPLE EXIT CODE:
bEXIT.onPress= function() {
EXITMODULE();
EXIT=true;
}
function EXITMODULE() {
clearInterval(INTERVAL);
Key.removeListener(oKeyListener);
}
==============================END EXIT CODE
////// EXAMPLE EARN PLAYER MONEY CODE
DATASEND+=chr(24)+chr(30)+reward+"\n"; //send reward
////// EXAMPLE SEND BEST TIME CODE
DATASEND+=chr(24)+chr(62)+"Barrel Racing|"+Math.round(Timer*100)+"\n"; //send highscore
////// EXAMPLE SEND HIGH SCORE CODE
DATASEND+=chr(24)+chr(61)+"SLEIGHRIDE|"+Math.round(DISTANCE)+"\n"; //send highscore
//SQL Queiries
// Users with highes bad pass attempts
SELECT * , count( * ) AS c FROM `badpassattempts` WHERE 1 GROUP BY user ORDER BY c DESC ;
// USers that need removal
SELECT player.id,player.username, DATEDIFF(NOW(),GREATEST(FROM_UNIXTIME(player.loggedoff),FROM_UNIXTIME(playerextended.signedup),FROM_UNIXTIME(playerextended.subscribedtill))) AS timeoff, 30+playerextended.timesonline AS minimum FROM `player` LEFT JOIN playerextended ON player.id=playerextended.playerid WHERE 1 ORDER BY timeoff DESC;
// Refferals by players
SELECT count(*) AS referrals,SUM(totalpayments),referredby FROM playerextended WHERE referredby!="" AND activationcode="" GROUP BY referredby ORDER by referrals DESC;
// Income
SELECT type,MONTH(FROM_UNIXTIME(time)) AS RevenueMonth,SUM(fee) AS TotalFees,SUM(amount)-SUM(fee) AS TotalRevenue FROM payments where 1 GROUP BY MONTH(FROM_UNIXTIME(time)),type;
// End of month income
SELECT TYPE , server, MONTH( FROM_UNIXTIME( time ) ) AS RevenueMonth, SUM( fee ) AS TotalFees, SUM( amount ) - SUM( fee ) AS TotalRevenue FROM payments WHERE TYPE != 'HORSEBUCKS' GROUP BY MONTH( FROM_UNIXTIME( time ) ) , server;
// Particular Month Income for each server:
SELECT TYPE , server, MONTH( FROM_UNIXTIME( time ) ) AS RevenueMonth, SUM( fee ) AS TotalFees, SUM( amount ) - SUM( fee ) AS TotalRevenue FROM payments WHERE TYPE != 'HORSEBUCKS' AND MONTH( FROM_UNIXTIME( time ) )=4 AND YEAR(FROM_UNIXTIME( time ) )=2008 GROUP BY MONTH( FROM_UNIXTIME( time ) ) , server;
// VERIFY TOTAL MONTH INCOME for each month:
SELECT TYPE , server, MONTH( FROM_UNIXTIME( time ) ) AS RevenueMonth, SUM( fee ) AS TotalFees, SUM( amount ) - SUM( fee ) AS TotalRevenue FROM payments WHERE TYPE != 'HORSEBUCKS' AND YEAR(FROM_UNIXTIME( time ) )=2008 GROUP BY MONTH( FROM_UNIXTIME( time ) ) ;
/// List all current Subscribers
SELECT username, playerid FROM `playerextended` WHERE FROM_UNIXTIME( subscribedtill ) > NOW( );
//Find mods?
SELECT masterplayer.username, masterplayer.lastserver, masterplayer.age, masterplayer.email, sum( payments.amount ) AS payments, sum( ruleviolations.points ) AS vios FROM masterplayer LEFT JOIN payments ON payments.playerid = masterplayer.id LEFT JOIN ruleviolations ON ruleviolations.playerid = masterplayer.id WHERE masterplayer.age >17 AND masterplayer.lastserver = 'bay' AND masterplayer.moderator = 'NO' GROUP BY payments.playerid, ruleviolations.playerid ORDER BY vios, payments DESC

View file

@ -0,0 +1,480 @@
TECHNICAL DOCUMENTATON:
ALL SERVER CONTROL COMMANDS:
NOTE!: Use no exclamation marks or quotes, etc.
./controlservers "MESSAGE Hi to everyone on horse isle."
./controlservers "MODMESSAGE Hi all mods on Horse Isle"
./controlservers "KICK BadPlayer"
./controlservers "MOTD Set the message of the day on all servers."
./controlservers RESET
Publish Beta Content to other servers:
./Propagatebeta.sh
-----------------------------------------------------------------------------
=================[ IN-GAME SERVER COMMAND FOR ADMINS ]=======================
-----------------------------------------------------------------------------
%% <text> Sends chat text to Just ADMINS
% BEEP makes a beep on the server end in case either jor or miranda is watching console
% RESET QUESTS resets your list of completed quests, and quest points. allows you to try threm over again for testing.
% CALL HORSE randomply grabs a horse to you
% PRISON <name> Sends Player to prison isle
% KICK <name> kicks player immediately off server, can log back in
% MUTE <name> <minutes> Mutes a player for a certain number of minutes
% UNMUTE <name> Unmutes player
% DROP <#> Create a new object id at current location
% DROP <name> Create a new object name at current location
% GIVE <player> MONEY <num> Server Gives player num money
% GIVE <player> OBJECT <num> Server Gives player object num
% GIVE <player> OBJECT <name> Server Gives player object with name
% VIEW <user> STATS/INVENTORY shows other players inventory/stats (ITEMS NOT clickable)
% ? <user> show users Current XY IP Location, no user=show YOUR xy
% GOTO NPC <name> jumps you to the named computer character.
% GOTO AREA earton,appleton,treeton,flipperton,santa,santon,shellton,wington,chillton etc.. Jumps admin to city or Island center
% ^ <place> shorthand alias for '%GOTO AREA'
% GOTO <x>,<y> Jump to map location
% GOTO <user> Jump to players location
% JUMP <user> HERE Jumps player to your location! (good for getting the player "unstuck"!)
% MESSAGE ALL Send a server notice to everyone connected
% SAVE MAP Save any changes to the world map
% DRAW MAP Rebuild the pixel game map
SHIFT + UP/DOWN Change Terrain Tile +1/-1
SHIFT + RIGHT/LEFT Change Overlay Tile +1/-1
SHIFT + CTRL Toggle "Footpainting" Walking duplicates tile you are on
% !<#> Set terrain tile to #
% @<#> Set overlay tile to #
% MAPT <title> Change the title of the current location map info
% MAPD <text> Set the description of the current locations map info
% MAPE <UP/DOWN/RIGHT/LEFT> Set the Exit direction for building
% MAPC <text> Set the CODE of the current locations map info
% REFRESH MAPTABLE Reloads all of the map titles/etc off database.
% FILL <terrainid> Does a contiguous flood fill over tile you are on with new tileid
%ROADON Enable Walking roads! Does not handle intersections
%ROADOFF Disable Walking Roads!
% SHUTDOWN NOW shuts server down - does NOT save map
----------------------SUPER ADMIN COMMANDS ----------------------
% DELETE PLAYERID # Complete removes all players info from many tables in database.
% LOAD MAP reLoad the world map
% BUILD MAP Build Terrain from map image
% BUILD MODE Allows editing of map tiles using shiftarrows and following
% TILERANDOM Randomizes all of the terrain that is good to randomize (the duplicate plain terrains)
% AUTOGENFOREST Randomly builds all forests on map
------------------------------------------------------------------
==================[ SQL MAP LOCATION CODES: ]=====================
------------------------------------------------------------------
JUMP-xx,yy Jumps to new x,y use for multi-tile buildings. all players should be in one tile per building
STORE-id Display Store id
FARRIER-id Display Farrier id
VET-id Display Vet id
GROOMER-id Display Groomer id
TRAINER-id Display Trainer id
INN-id Display INN id
ARENA-id Display ARENA id
POND Display pond location
BANK Display generic banking services
TRANSPORT Display all of the available routes in the transport table
MUDHOLE Display a mud hole location
WISHINGWELL Wishing well functionality
2PLAYER-Game 2 Player Game Setup
MULTIROOM multiplayer structureless setup
HORSE-Game Allow selecting horse to play minigame with, sends all stats to game.
RIDDLER Riddler display
WORKSHOP Display any crafts available at location
EXITABLE Simply Adds an Exit at the botton
HORSEWHISPERER Horse Whisperer
PASSWORD-SECRETWORD!444 Password required to activate the Action ID
------------------------------------------------------------------
=========================[ META CODES: ]==========================
------------------------------------------------------------------
^I43 - Display Icon #43
^T1Apple Tree - Display Text Label SIZe 1=small 2=medium 3=big: Apple Tree
^R# - Next Line (1= jump 24 pixels down, 2=28,3=32, etc..
^BD2345 - Button Second letter = mode
A=startnpc + npc id
H=replynpc + npc conversation point
M=load the swf + movie name
SW=showscores + Game identifier - Show top wins
SH=showscores + Game identifier - Show high score
ST=showscores + Game identifier - Show best times
N=wish + 1=money, 2=things, 3=world peace :)
Y=buytrans + transport id
Z=exittomap - for npc reply
1 + extended player button functions follow
A=tradeaccept + trade id
J=tradereject + trade id
O=tradeobj + objects id
T=tradeplyr + player id
L=lookplyr + player id
B=addbuddy + player id
R=removebuddy + player id
W=showplyrmap + XXYY Show xy location on map!
S=socialsplyr + player id
D=drinkfountain
X=tag + buddy id
I=ignoreplyr + playerid
H=unignoreplyr + playerid
P=privatemessage + player name
2 + extended multi-player game functions follow
I=Invite to game +player id
A=Accept game + player id
3 + horse functions
B=barnhrs + horse id
E=hrsprofile + horse id
C=cleanhrs + horse id
F=feedhrs + horse id
G=groomhrs + horse id
JI=shodhrs + (IRON) horse id
JS=shodhrs + (STEEL) horse id
I=feedobj + ojects id
K=tackobj + objectid tack object on horse
N=unmounthrs + horseid
O=mounthrs + horseid
M=removetack
O=lookhrs + horse id
P=pethrs + horse id
R=trainhrs + horse id
T=tackhrs + horse id
U=capturehrs+ horse id
V=vethrs + horse id
X=releasehrs + horse id
4 + object functions
A=obj Sell All
BF=buyobj + objects id buy FIVE existing objects
BE=buyobj + objects id buy existing object
BN=buyobj + object id buy new object
BE=buyobj + object id buy and consume new object (INN)
B5=buyobj + object id Buy 5 objects at once
C=craftobj + crafts id
D=dropobj + objects id
E=eatobj + objects id
G=grabobj + objects id
R=graball + object id
//I=dig
UR=userake UNCOVER
UB=usebinocs SEARCH
UM=usemagnify SEARCH
US=useshovel DIG
UT=usetelescope USE
K=drinkobj + objects id
LO=lookobj + objects id look at existing object
LN=lookobj + object id look at a new object
LC=lookobj + npc ID Look at NPC
O=openobj + objects id
V=readobj + R=read L=listall objects id
S=sellobj + objects id
T=throwobj + objects id
W=wearobj + objects id
X=removeobj + body part
Z=ripupobj + objects id
5 + Socials! xnay on the rest, make dynamic!
6 + Ranch functions
P=purchaseranch + ranch id BUY
U=upgraderanch UPGRADE
B=buildspot + building id + position BUILD
R=sellspot + position SELL
S=sell ranch + ranch id SELL
E=ranchprofile PROFILE
L=lookbuilding + building id ?
^A+ Stats Box
B+ stat;stat;stat;etc... - Create basic stat graph
A+ SP base;SP companion;SP tack; SP max; +etc.. - Create advanced stat graph
^P+ Input codes
L+ title | contents - Input line with title and contents settable
M+ title | contents - money Input line with title and contents settable (only numbers!)
B+ vpixsize | contents - Input box with vertical size and contents settable
S+ id | button label - Input Submission Button with id and label settable
^S+ Dynamic submission box codes
^D + code | label - Dynamic Button
^Lthis is a long line -full line of text
^H - header full multilines
^N - NPC Multiline text box, that leaves room for sigle button on bottom right
^M - back to map button
^MM - back to map button AND close module!! (used when looking at horses)
^X - Exit Building button
^Z - end of MetaCodes
----------------------------------------------------------------------------
=============================[ NETWORK CODES: ]=============================
----------------------------------------------------------------------------
TO SERVER: (bytes)
(20)+ : Chat code
(20)+text : Global Chat
(21)+text : Local Chat
(22)+name|text : Private Chat
(23)+text : Buddy Chat
(24)+text : HERE Chat
(21)+ : Movement Code (alone means, just update info screen!)
(20) : Move Up
(21) : Move Down
(22) : Move Right
(23) : Move Left
(24) : Exit Building
(22)+ : Who's online?
(20) : Who's online global info display
(21) : Local Players ** Not Implemented **
(22) : who's online global program call
(23) : Local Players program ** Not Implemented **
(23) : Inventory List Request
(24) : Player Status Request (blank=list status)
(20) : Send just Description, for editing
(21) : Save the following as player description!
(30)+amount : Earned money
(40)+id : Earned Object id
(41)+id : Lost Object id
(50)+id : Activate Quest id (for pyramidmaze module, etc)
(51)+id : Activate AWARD id (for awardable scores module, etc)
(55)+id|amount : Horse id Gains amount experience
(60)+(20)+gameid : Won Game
(60)+(21)+gameid : Lost Game
(61)+gameid|score : game score result for tracking high scores
(62)+gameid|time : game time result for tracking best times
(80)+gameid : show top winners
(81)+gameid : show top scores
(82)+gameid : show top times
(25)+ : Horse Stats Request (blank = list horses)
(20)+id : Look at horse
(21)+id : Feed Horse
(22)+id : Tack Horse **
(23)+id : Clean Horse **
(24)+id : Pet Horse
(25)+id : Release Horse
(26)+id : Train hrs
(27)+id : Feed Object to horse
(28)+id : try to Capture a horse
(29)+id : Captured horse
(30)+id : Horse Escaped
(40)+id : Shod Iron on horse id
(41)+id : Shod steel on horse id
(42)+id : Cure horse on horse id
(43)+id : Horse Drink Pond Water (1/20 get sick)
(44)+(20)+id : Edit horse profile
(44)+(21)+id : Save horse profile
(50)+id : Groom horse id
(55)+id : Barn rest horse id
(60)+id : Tack object on horse
(61)+part : Remove tack off horse part
(70)+id : ride horse
(71)+id : stop ride horse
(30) + : Object modification codes
(20) + id : Grab Object with id
(21) : grab all!
(22) + id : open object with id
(30) + id : Drop Object with id
(31) + id : Throw object id
(40)(20) + id : Look at Objects id (exisiting object)
(21) + id : Look at Object id (new object)
(22) + id : Look at NPC id
(42) + id : Read Objects
(43) + id : Rip Up message
(50) + id : Buy Existing Object
(51) + id : Buy new Object
(52) + id : Consume object and buy
(53) + id : Buy 5 of the object
(54) + id : Buy 5 of existing objects
(60) + id : Sell Object
(61) + id : Sell all object of same obbject id
(70) + id : Wear object
(71) + part : remove object
(80) + id : drink object
(81) + id : eat object
(82) + id : drink from fountain
(90) : Dig at current location
(91) : Use binoculars
(92) : Use Magnifying Lens
(93) : Use Lantern
(100)+ id : Craft Object (crafts id)
(35) + : Ranch Ownership Modification Codes
(20) + id : Buy Ranch id
(21) + id : Sell Ranch id
(22) + id : Look at building id
(23) + id : Click Codes +0= cabin +1=buildspot #1,etc.
(24) + id : Updrade Ranch home
(25) + id : Build at position id
(26) + id : destroy building at position id
(27) + id : Edit Ranch Profile
(36) + : Auction House Codes
(40) + id : Bid $10 more on horse
(41) + id : Bid $100 more on horse
(42) + id : Bid $1000 more on horse
(43) + id : Bid $10000 more on horse
(40) + : NPC
(20) + id : Start COnversation with NPC ID
(21) + code : COntinue conversation with npc at code
(41) + id : Activate Transport id
(42) + : Inter-Player Function Codes
(20) + id : look at player id
(30) + id : add player to buddy list
(31) + id : remove player from buddy list
(35) + id : TAG! buddy is it..
(40) + id : Begin trade procedure with player id
(50) + id : IGNORE playerid
(51) + id : unIGNORE playerid
(44) + wish : Wishing well Wish
(45) + score : Report Arena Competition Score result
(46) + gamecode : Show HighScores
(69) + code : Coded Dynamic Button Click with
(70) + code + input contents in order |+ : Coded Input Submission
#1 : Bank transactions
(79) + : Single player Module Requests
(80) + : Inter-Module Communication
(20) + id : Invite player id to play game
(21) + id : Accept game invitation with player id
(80) + data : send data to opponent
(81) + data : send data to everyone in room
(90) +
(20) + player id : Socials request
(21) + code : Dynamic Social Code Activated
(118) : Bird Eye Map request
(119) + X | Y : Client Map Click for info
(120) + : Builder Codes
(20) : +1 Ground Tile ID
(21) : -1 Ground Tile ID
(22) : +1 Overlay Tile ID
(23) : -1 Overlay Tile ID
(124) : Keep ALive Packet, ping-ponged after 1 min inactivity
(125) : CLient notification that player is quitting
(126) : MOTD Requested
(127)+user|pass : login
(127) (after login) ready for data, send all welcome packets
FROM SERVER: (bytes)
(20)+ : Chat code
(20)+text : Global Chat
(21)+text : Local Chat
(22)+text : Private Chat
(21)+XX+YY+DATA : Map Data includes a flag byte8 to determine whether to reset movie
(22) : System Whois Reply
(24)+description : Edit Player Profile
(25)+id|name|description : Edit horse profile
(30) : Meta Codes for dynamically building InfoPane
(35) : SFX Codes
(40)+filename : Display external swf
(41)+filename : Display external swf in protected mode (Map transmissions do not close movie) for cutscenes
(42)+filename : Display external swf gently.. (dont load if one exists)
(80)+data : Pass data straight to module buffer: DATARECEIVE
(117)+overlay data : Overlay Data on which tiles to hide player when on
(118)+map data : bird eye map data
(119)+text : Mouseclick Location info
(120)+update tile at location from build mode
(121)+areas data : send info on all areas for map viewer at login
(122)+time|day|weather //update every minute
(122)+(19)+WEATHER // sudden non transitionsed weather change
(123)+money|mail|players // status bar update
(124) : Keep ALive Reply
(126) : MOTD
(127)+ : Login Attempt
(20): Successful
(21): Incorrect user/pass
(22): Failked + message
(128)+ message : Disconnect with message.
(129)+ Byte Codes for packet checking + Admin Flag
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
HOMEMADE LIGHTWEGIHT PACKET ENCRYPTION:
Use a server Function to Check Code, and make code.
Use on all Packets which should be verified (Money earned in module, etc)
X= chr(40)-chr(140) the CODES
Y= chr(40)-chr(140) the checksum
i= a random increment value 1-99
p= coded packet number
Server sends random original code: [60][45][80][100][ i ]
[ X1 ][ X2 ][ X3 ][ Y ]
X(p%4)+=Y
X%100
Y=(X1+(X2*X3)-X2)%100
-----------------------------------------------------------------------------------------
FLASH MODULES:
0,0 at upper left
416pixel wide x 288pixel high
make a EXITMODULE() function! clear intervals and DO NOT set EXIT=true in it!!!
set DATASEND= whatever datastring should be sent to server. include trailing newline!
read DATARECEIVE often to receive data from server/other clients
set ALLOWMOVE=true to allow player to use arrows to leave place
set RELOADABLE=true to allow mod reloading Clicking OK again, etc.. (default to mods started with button code)
set DONOTDISTRUD=true to mods that CANNOT be overwritten. . (arenas)
set module music/sound volume to _parent.VOLUME periodically? to adjust to vol control.
set PLAYMUSIC=true to shutoff Main Game music (for store submusic)
_parent.PLAYERNAME = players username string
IF YOU START AN INTERVAL IN Module, you MUST remove it also!!
================MODULE MUSIC CODE EXAMPLE:
PLAYMUSIC=true; //shutoff Main game music for own music
if (MUSIC==undefined) {
MUSIC=new Sound(this);
MUSIC.attachSound("MUSIC");
MUSIC.start(0,9999);
}
if (_parent.VOLUME!=undefined) MUSIC.setVolume(_parent.VOLUME); //set volume to parent
function AdjustVolume() { MUSIC.setVolume(_parent.VOLUME); } ///callable function
====================END MUSIC CODE
===================EXAMPLE HEADER CODE:
_root.SendData(str); // send data to server
var DATASEND:String=""; //data to send to server
var DATARECEIVE:String=""; //data sent by server
var EXIT:Boolean=false; // kill this movie when true
var ALLOWMOVE:Boolean=false; //can player leave this movie by walking?
var DONOTDISTURB:Boolean=true; // DOnt allow loading a movie on top of this one.
=======================END HEADER
==================EXAMPLE EXIT CODE:
bEXIT.onPress= function() {
EXITMODULE();
EXIT=true;
}
function EXITMODULE() {
clearInterval(INTERVAL);
Key.removeListener(oKeyListener);
}
==============================END EXIT CODE
////// EXAMPLE EARN PLAYER MONEY CODE
DATASEND+=chr(24)+chr(30)+reward+"\n"; //send reward
////// EXAMPLE SEND BEST TIME CODE
DATASEND+=chr(24)+chr(62)+"Barrel Racing|"+Math.round(Timer*100)+"\n"; //send highscore
////// EXAMPLE SEND HIGH SCORE CODE
DATASEND+=chr(24)+chr(61)+"SLEIGHRIDE|"+Math.round(DISTANCE)+"\n"; //send highscore
//SQL Queiries
// Users with highes bad pass attempts
SELECT * , count( * ) AS c FROM `badpassattempts` WHERE 1 GROUP BY user ORDER BY c DESC ;
// USers that need removal
SELECT player.id,player.username, DATEDIFF(NOW(),GREATEST(FROM_UNIXTIME(player.loggedoff),FROM_UNIXTIME(playerextended.signedup),FROM_UNIXTIME(playerextended.subscribedtill))) AS timeoff, 30+playerextended.timesonline AS minimum FROM `player` LEFT JOIN playerextended ON player.id=playerextended.playerid WHERE 1 ORDER BY timeoff DESC;
// Refferals by players
SELECT count(*) AS referrals,SUM(totalpayments),referredby FROM playerextended WHERE referredby!="" AND activationcode="" GROUP BY referredby ORDER by referrals DESC;
// Income
SELECT type,MONTH(FROM_UNIXTIME(time)) AS RevenueMonth,SUM(fee) AS TotalFees,SUM(amount)-SUM(fee) AS TotalRevenue FROM payments where 1 GROUP BY MONTH(FROM_UNIXTIME(time)),type;
// End of month income
SELECT TYPE , server, MONTH( FROM_UNIXTIME( time ) ) AS RevenueMonth, SUM( fee ) AS TotalFees, SUM( amount ) - SUM( fee ) AS TotalRevenue FROM payments WHERE TYPE != 'HORSEBUCKS' GROUP BY MONTH( FROM_UNIXTIME( time ) ) , server;
// Particular Month Income for each server:
SELECT TYPE , server, MONTH( FROM_UNIXTIME( time ) ) AS RevenueMonth, SUM( fee ) AS TotalFees, SUM( amount ) - SUM( fee ) AS TotalRevenue FROM payments WHERE TYPE != 'HORSEBUCKS' AND MONTH( FROM_UNIXTIME( time ) )=4 AND YEAR(FROM_UNIXTIME( time ) )=2008 GROUP BY MONTH( FROM_UNIXTIME( time ) ) , server;
// VERIFY TOTAL MONTH INCOME for each month:
SELECT TYPE , server, MONTH( FROM_UNIXTIME( time ) ) AS RevenueMonth, SUM( fee ) AS TotalFees, SUM( amount ) - SUM( fee ) AS TotalRevenue FROM payments WHERE TYPE != 'HORSEBUCKS' AND YEAR(FROM_UNIXTIME( time ) )=2008 GROUP BY MONTH( FROM_UNIXTIME( time ) ) ;
/// List all current Subscribers
SELECT username, playerid FROM `playerextended` WHERE FROM_UNIXTIME( subscribedtill ) > NOW( );
//Find mods?
SELECT masterplayer.username, masterplayer.lastserver, masterplayer.age, masterplayer.email, sum( payments.amount ) AS payments, sum( ruleviolations.points ) AS vios FROM masterplayer LEFT JOIN payments ON payments.playerid = masterplayer.id LEFT JOIN ruleviolations ON ruleviolations.playerid = masterplayer.id WHERE masterplayer.age >17 AND masterplayer.lastserver = 'bay' AND masterplayer.moderator = 'NO' GROUP BY payments.playerid, ruleviolations.playerid ORDER BY vios, payments DESC

View file

@ -0,0 +1,414 @@
[ ] Think about adding characters: Unicorn, Zorro, Pegasus, Lone Ranger, Shadowfax, Hidalgo,
BLack Beauty, Black Stallion, Misty of chincoteague, Seabiscuit, Manowar, Tornado,
Fatty Lumpkin, Flicka, Mr Ed, Epona
Cooperative Games: Capture the flag? (bonsai)
Maze, need two people to get through it.
--------- PARENTAL CONTROL IDEAS --------------------------------------------
USer can set up an account, and then a parental control account can be added.
This account can do the following:
Set CHILDNOCHAT to Yes/No, Which disables all chat to this player.
Set playtimeper Multiple. Every this many minutes, they get to play online,
So, that effectively sets the following limits:
1= unlimited
2=12 hours per day
3= 8 hours per day
4= 6 hours
6 = 4 hours
8 = 3 hours
12 = 2 hours
16 = 1.5 hours
24 = 1 hours
48 = .5 hours
playtime can store up to a MAX of double the multiple production.
i.e. If parent sets playtimeper to 16 - and child stays logged off 2 days, they will have 3 hours of playable time. (Actual time would be 3 hours and 11 muinutes! cause they would earn some playtime WHILE playing...)
parental disable - temporarily disable the account.
Art ROom Disable? - dont allow art room use for player.
Session logs?
-------- WORLD LAYOUT AND STANDARDIZATION ----------------------------------------
MONEY:
Objects should be standardized as Being worth 10x their REAL WORLD value.
i.e. bluejeans, maybe($30.00us)=$300 game
QUESTS:
Please see detailed quest manual on top of Quest Editor!
TIME PERIOD:
No electricity, No Engines, No gadgets, loosely modeled after american west, but also a FEW modern
things will trickle in... Say bluejeans? Doubt they were around in pre-engine.
So this land is, Kind of Modern Day, BUT cutoff from all tecnological advances.
I.E. We use wagons for transport, not trains. etc.
CHARACTERS:
Unique Single First Named characters (a baby names site is great) for all characters EXCEPT storeowners
Storeowners Two names, first name with last name relating to store:
FISHING SHOP LASTNAMES: Jim Fisher, Jim Hook, Jim Bobber
FOOD STORE LAST NAME EXAMPLES: Jim Applecore, John Fig, Jim Peel.
VETS: Jim Sutre, Bob Stitch
etc...
CONVERSATIONS:
* Characters can give directions, etc.. But lets NOT have them Leave character and tell the player to "CLICK HORSES"
or anythign game specific, lets leave the characters completely in the game, (they do not know its a game)
* Actions should be placed in ( )'s Whether it's describing an action that took place, or allowing you to perform an action.
* Allow a response to exit every chat point, don't leave them blank (pretend there is no exit button at bottom, because there may not be in future)
LOCATION DESCRIPTIONS:
Descriptions should be First-person-this is what-you-see descriptive text
Good Examples:
* This building is a mess, there are actually Anthills on the floors out of all the dust..
* In looking at this Rock, you notice a Small Drawing, Looks like it's telling you to Dig?
* This building looks like it's ready to collapse onto you.. whoever owns it must not take care of it.
Poor Examples:
* I see a rock and a tree here. (dont use 'I')
* BUY STUFF HERE (lets not command a player)
* Small Rocks. (Lets prefix it with "You See some small rocks.")
HTML Formatting: <B>,<I>,<BR>
Go ahead and use the following codes:
to bold something just do it like <B>This</B> that was bolded.
For Italics, Do <I>This</I>.
And for new lines, use<BR>newline!
Directions Example:
%MAPD <B>NORTH:</B> Business District<BR><B>SOUTH:</B> Residential District
Formatting Guildelines:
DOnt over use it, Use it when structure will help the description.. I.e. A note text, Or Multiple items described, etc.
BUILDINGS:
On average, twice as many cabins as Shops per town.
MOST(2/3rds) Cabins should have an NPC, All Stores Should.
All buildings should have description text. describe what you see inside the building with a couple lines.
Most buildings should be spaced with one non-building tile between each
CLothes shops: One different set of clothing stocked per town.
Equipment shops: One Set of saddle/bridle/pad per town
Groomer Vary in quality from 500-1000
TOWN STRUCTURE
Cities named after the islands they are on
Streets named after the cities they are in
Northsouth= Avenues
EastWest=Streets
Title Conventions: Intersection of Bla Avenue and Blee Street / Blee Street / Bla Avenue
NEW ISLANDS ============================================================================
ISLAND: ART Isle
COMMUNITY?: Maybe a town of paintton? brushton? easleton?
STYLE: Maybe Several Art rooms close to eachother for drawing contests!!
----------------------------------------------------------------------------------
ISLAND: Cat Isle
COMMUNITY?: Small Town in center for forest? Whiskerton.
STYLE:
----------------------------------------------------------------------------------
ISLAND: Flower Isle
COMMUNITY?: Small tiny shop-less village Petal Meadow?
STYLE: Small village protected by a huge forest maze.
----------------------------------------------------------------------------------
ISLAND: Tail Isle
COMMUNITY?: Ranches, Lots of Ranches
STYLE: Ranches spread down the length of tail isle
----------------------------------------------------------------------------------
ISLAND: HARE Isle
COMMUNITY?: TOwn Caroton?
STYLE:
----------------------------------------------------------------------------------
ISLAND: PIRATE ISLE - Wait for Pirate Tiles
COMMUNITY?:
STYLE:
----------------------------------------------------------------------------------
ISLAND: Saddle Isle
COMMUNITY?:
STYLE: Huge Forest Maze(s)
----------------------------------------------------------------------------------
ISLAND:
COMMUNITY?:
STYLE:
----------------------------------------------------------------------------------
========================================================================================
CITIES/TOWNS:
Horse Isle Earton:
COMMUNITY: Big Town - First town new players see, Simple Layout, and Very Few Cabins, mostly stores.
GENERAL: Lots of Signs, Good descriptions.
TRAINER: SPEED
ARENA: Jumping Arena
GAMES:
STREET NAMES: Cochlea Canal Drum Wax Lobe
Horse Isle Treeton:
COMMUNITY: Biggest Town in game. LOTS of NPC's
GENERAL: Some of the quests in this town, Jump you to several of the tiny islands off the shore.
TRAINER: AGILITY
ARENA: Conformation Arena
GAMES: ** Memory match tree game
STREET NAMES: Maple Oak Aspen Elm Linden(smile) Cedar Pine Birch Spruce
Horse Isle Appleton:
COMMUNITY: Big Town, community full of Major horselovers, its why they grow so many apples.
GENERAL:
TRAINER: STRENGTH
ARENA: Racing Arena
GAMES: ** Apple bobbing, ** catch apples falling from trees ,make cider
STREET NAMES: Red Green Braeburn Golden Fuji McIntosh
SnowIsle Chillton:
COMMUNITY: Medium Town
GENERAL: Lots of Really nice people. Several will pay good$ for logs for their fires :)
A Few Delievery quests to people in Hotton
TRAINER: CONFORMATION
ARENA:
GAMES: SNowball fight, **Ice Skating, **snowflake catching, **ice skulptures, **snowman game
STREET NAMES: IceCube SnowFlake Wind Brisk Freeze Blizzard Frost Cold Chilly Nippy
DesertIsle Santon:
COMMUNITY: Tiny Desert Community, just a few desert huts, with a FEW NPCS..
Maybe one general store.
GENERAL:
TRAINER:
ARENA:
GAMES: Some sort of search for water game, Colored sand in bottles? sand castles?
DesertIsle Hotton:
COMMUNITY: Medium Town
GENERAL:
TRAINER: ENDURANCE
ARENA:
GAMES:Message in a bottle **coconut bowling
STREET NAMES: Sizzle HeatWave SunBurn Humid Arid Tropical Sticky
DolphinIsle Flipperton:
COMMUNITY: Small Retirement commmunity
GENERAL: lots of Characters and Quests, few stores
TRAINER: None
ARENA: None
GAMES: None
STREET NAMES: Blubber Aquatic Dorsal Lagoon Marine Sonar
BirdIsle Wington:
COMMUNITY: Small Town, More of a younger community, a lot of parents and children
GENERAL: Maybe some lost kids quests, Grow thier own food, Bookstores?
TRAINER:
ARENA:
GAMES: some sort of bird game. . fly as a bird? Hunt for feathers to get prize, make a birdhouse, paint by number bird scene?, bird shooting game
STREET NAMES: Nest Quill Span Feather Hatch Egg Migration Clutch Crest Flock Perch
NOTES: No stumps, they dont cut trees , dense forests
TurtleIsle Shellton:
COMMUNITY: Medium Town, Very Pretty and girlie , lots of girlie girl stuff.. . hmmm let sara and autumn figure this out :)
GENERAL:
TRAINER:
ARENA:
GAMES: **Capture butterfly game, **Flower match game **junk hidden under turtle shells
STREET NAMES: Turtle Carapace Scute Sea Box Painted Lady Spiny Snap Green Wood
Hoof Isle Horseshoe Village:
COMMUNITY: Small village. more secretive people. Kind of a "hidden community" lots of Secrets..
GENERAL:
TRAINER: None
ARENA: None
GAMES: **Throw Horseshoes game **another tetris type game with rocks
STREET NAMES: Anvil Iron Steel Alloy
----------------TACK STANDARDIZATION AND IDEAS:------------------------------------------------------
BONUS's Range from 0-500 for saddle, 0-200 for pad & 0-300 for bridle
AND ONLY for strength,speed,endurance,conformation,agility,intelligence,personality
(the last 2 probably unused??)
The Most basic Gear will do nothing. it is cheap, and simply allows for riding/competitions.
More advanced gear should be priced as follows:
no bonus =$500 saddle, $250 pad/bridle
bonus' of around 50 = $1,500
bonus' of around 100 = $2,000
bonus' of around 200 = $10,000
bonus' of around 300 = $100,000
bonus' of around 400 = $1,000,000
bonus' of around 500 = $10,000,000
example bonuses are 250 speed, 100 endurance, lets price it roughly: 50k for speed +5k for endurance=$55k
Tack Ideas:
Simple Set = no bonus's
Simple $5k saddle 3k bridle 2k pad +10 in somethine
improved $50k saddle 30k bridle 20k pad +100 in something +50 something else
awesome $500k saddle $300k bridle $200k pad +300 in something +150 something else
magical $5M saddle $3M bridle $2M pad +500 in something +250 something else
//conformation enhancers
Fancy Set = SADDLE(100con)$50K PAD(40con)$20k BRIDLE(60con)$30K
Beautiful Set= SADDLE(300con+150per)$500k PAD(100con+50per)$200k BRIDLE(200con+100per)$300K
Glorious Set = SADDLE(500con+250per)$5M PAD(200con+100per)$2M BRIDLE(300con+150per)$3M
//Racetrack enhancers
Racing Set = SADDLE(100spd)$50K PAD( 40spd)$20k BRIDLE(60spd)$30K
FireBall Set = SADDLE(300spd+150end)$500k PAD(100spd+ 50end)$200k BRIDLE(200spd+100end)$300K
Icarus Set = SADDLE(500spd+250end)$5M PAD(200spd+100end)$2M BRIDLE(300spd+150end)$3M
//Jumping enhancers
Jumping Set = SADDLE(100str)$50K PAD(40str)$20k BRIDLE(60str)$30K
Jackrabbitt Set= SADDLE(300str+150spd)$500k PAD(100str+50spd)$200k BRIDLE(200str+100spd)$300K
Pegasus Set = SADDLE(500str+250spd)$5M PAD(200str+100spd)$2M BRIDLE(300str+150spd)$3M
//Agility enhancers
Smooth Set =
Graceful Set =
Nimble Set =
==========================================RANCH SYSTEM THOUGHTS==============================
Ranch houses are scattered around the empty lands of horseisle.
Either a single tile? Or a center tile with options to build out around it.
They have a set Value, and then an Adjustable Market Value based on Number of open ranches?
A Subscribed player can Buy a ranch. Once bought, they can TItle it, write adescriptions for it
and Even Decorate it. (generic FLash Background, allow positioning Couch, chair, painting, etc.)
These do nothing other than look cozy.
At your ranch house, you can receive mail, and send mail
You can also Build new structures:
Training Pen: Allows you to train one horse/for free/day 5 points in anything!
Barn: Allows you to Own 2 more horses! in addition to base # of 3?
Shed: Allows you to store Items here. STORE button, and GRAB button..
Different ranches have a different number of expandable slots.
Some cheap ones only have 1. so a player could only build a shed for instance.
Others could have All Around for a max of 7 buildings (need an entrance)
that would allow 3 barns (6+3 horses) 2 trainers and 2 sheds for lotsa junk
example ranch layout: H=house, B=barns, Shed,Trainer
BSS
BH===
BTT
Once built, a building can be torn down, but only 1/4 cost salvaged?
-------------------------------------------------------------------------------
==================================[ RANDOM IDEAS ]====================================
-------------------------------------------------------------------------------
WORLD:
CatIsle - Whiskerton
TigerIsle - Stripeton
MARY:
search for the golden horse shoe,and a saloon Add buterflies
GENERAL:
Horse can be put to work at the Wagon transport office!
After a certain nnumber of OTHERplayer trips, you get paid, and horse sent back!
Horse is broken/unbroken??
Add a horse aging system??
Adda highscores System.. View RIchest players, Landowners, Most compets one, most winning horse..
Arena Loudspeaker, does "localchat" to everyone nearby announcing start of races, etc.
Pack horse competition, see if your horse can carry all the gear...
Pasture = free place to let a horse roam around, gets happy and tired
GRAPHICS:
animated birds flying overhead
blended clouds hovering/moving above
ITEMS:
RANDOM WORLD ITEMS:
Iron Ore / Copper / gold nugget
Clams /coral
snails
TO BUY:
Saddle (types: racing, dressage, western, english) / Bridle / Horse Blanket
Oats / Hay
Brush
Allow players to make "books" at a printer shop. and also make "copies"
GAMES:
Sleigh ride in snow area...
water tank stop leak
Wishing well, fins a wishing well coin, and then wish for "money" or "things" or "world peace" and get a random return
Horse Jumping
Horse Racing (how player make faster??)
Barrel racing
Horse Show (FFR style )
Quests to find things
[X] Capture wild horse!! (throw rope loop)
throw horseshoes
cow tipping??!!?!? if you do it, someone can turn you in to police for reward!
fishing sideview requires fishing pole and lure or bait
construction - laying bricks (tetris)
count sheep while sleeping
digging with a shovel out in map.. ore veins hidden about...
Disturb a bee's nest - Avoid bee's while picking up honey combs...
Slider puzzle game.
MODULES:
Farrier, see guy banging on horseshoes blacksmith style...
Flowershop.. Bunch of flowers all around.. accidentally break a vase if
click on something , have to pay! :)
STORES:
fishing store
Vetrinarian
ferrier / blacksmith
trainers = speed / strength / conformation / endurance
arenas - jumping /racing /dodgeing/ conformation
Human food
Horse Feed
Human Drink Store
Rock Store
flower Shop
MIsc Store
clothes store
horse equipment store
Realtors office
police station - test horse for doping
mail station
wagon station (warp)
///////////////////// FROM OLD HTML VERSION OF GAME DEVELOPMENT ////////////////////
idea: offer to email parents Chat logs for sessions.???
soon:
player buyable/ownable estates
ESTATES:
House - Free Sleeping / Rent Beds
Pen - House 2 horses / Rent 2 stalls
Barn - House 6 horses / Rent 6 stalls
Ferrier - Shod / Buy wood/metal
Vet - Medicalize
Workshop - Craft Junk
Kitchen - Cook Junk
WAYS TO MAKE MONEY:
Add a postal mail system
Add a newspaper system
Add a Garbage Collection Job. (MIRANDA SAYS NO)
Groom horses for money
win competitions
rent barnspace
craft and sell stuff??
rent beds inhouses?
do ferriation
do vet work
Find Wild horses
Allow cooking

View file

@ -0,0 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /dev/MUSIC was not found on this server.</p>
</body></html>

View file

@ -0,0 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /dev/MUSIC was not found on this server.</p>
</body></html>

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

View file

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View file

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

Before

Width:  |  Height:  |  Size: 583 B

After

Width:  |  Height:  |  Size: 583 B

View file

Before

Width:  |  Height:  |  Size: 343 B

After

Width:  |  Height:  |  Size: 343 B

View file

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View file

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

Before

Width:  |  Height:  |  Size: 925 B

After

Width:  |  Height:  |  Size: 925 B

View file

Before

Width:  |  Height:  |  Size: 560 B

After

Width:  |  Height:  |  Size: 560 B

View file

@ -0,0 +1,7 @@
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /dev/TILES was not found on this server.</p>
</body></html>

View file

@ -0,0 +1,469 @@
[ ] Wiches, or Wizards, or Pirates for us to choose from. CHARS
[ ] Add Server-specific forums in-game? or out?
[ ] Make more volehole levels and release (+ art)
[ ] PM auto reply
[ ] Muting of channels (Global, etc)
[ ] POSSIBLY raise pawneer for trained horses
[ ] List of all "Counted" Stats
[ ] And adding more horse quizes/games.
[ ] A circus competition, where it requires intelligence and personality, so there is something that the smaller and less talented breeds can excel in =].
[ ] goat companion
[ ] Clear Rules and Violation Values, Clear moderaotr guidelines
[ ] Gold Mine
[X] option to resend auth email?
[ ] Parental controls via email?
[X] track last server connected to
[X] ADD AUCTION HOusE
[X] Profiles filters/rules?? Players are stating their ages, etc.
[X] Add a BUY 5 or BUY 10 buttons in shops
[ ] Mark stuff you can craft and those you cant.??
[X] Top 10
[X] BestHorseGames.com
[ ] Throwa quest referencing the silver brumbi character (jessielala loves it)
http://www.hotkey.net.au/~sasami/brumby/tree/thowra.html
[X] Add a change password system for players
[X] Add random SIckness/health problems for horses TWISTED ANCKLES /COLDS? etc...
[X] Remove Button Disable for CRAFT ing
[ ] Add a password to checkgateway.php
[ ] Add Max - wrong passwords detection
[ ] Add a Max number of packets per minute to Clients in server?
[X] Add a cached object table?
[X] Use Cached MAPTABLE everywhere in place of sql
[ ] Add SPLAT sfx for tomato etc.
[ ] Put up a dialog box: Are you playing? Disconnect in 1 minute...
[X] If chatin is focused, then new chat should scroll boxes
[X] Build a check entering system
[X] Horses spawning does not check exteneded tiles properly...
[ ] Show ranch locations on autosell lists
[X] Put a limit on Crafting items when inventory full
[X] Fix Basketball game network code errors
[X] test ban / trade system on beta
[X] Lieffrings do cash/checks??? PO BOX??
[X] Remove tools from inventory make eternal
[X] Allow BBCODE in descriptions?
[X] Fix Arenas?? Racing arena not doing proper player updates?!!?
[X] Allow commas in numbers!!! 4,000 = 4000 NOT 4!!!
[X] Add /buddy /all /near chat shortcuts
[X] get support mail properly labeled
[X] See about proper reply addressing, what does gmail offer?
SOON NOW THAT LIVE:
[X] Moderator Abilities /Positions
[X] Moderator Application
[X] Moderators and Admins different colored chat for recognition
[X] Make CHAT ADMIN to allow mods to chat with each other
[ ] Have an easy way for players to be able to chat with a moderator
[X] Why Subscribe?
[X] Game Manual / Tech Tips (knowledge base)
[X] CLeanup scripts - (remove new accounts when not verified for??? 2 days?) 50 hours
[X] Cleanup accounts after 30days+number of logins of inactivity
[X] Limit global chat text length
[ ] Fix admin commands up some, none do enough error checking.. .
BEFORE GOING LIVE:
[X] snow weather
[X] darken fog
[X] Playtime limits enforced
[X] Admin silence Function
[X] IP Blocking?
[X] Get a server online
[X] Get New User SIgnup system
[X] Clear rules/policies
[ ] Parental COntrols System
[/] Migrate Betas to live server that want credit.
[X] Horse ISle Logo? Remake site?
[X] Competition clothes
[X] 200+ Quests
[X] Pirate Isle + Tiles
[X] FLower Isle Redone
[X] Security Enhancement
[X] Fix Telescope extended tiles
[X] Player ghosts once in a while...
[X] Other weather FX - weather system
Anyone TODO:
[ ] Make up more Pictionary Random Words for Drawing room
[ ] Make up Riddle Room Horse RIddles
[ ] Make up more generic riddles
[ ] Make up More Poetry room word lists?
[ ] COme up with slick minigame ideas
[ ] Report bugs
Miranda TODO:
[X] Work on RULES
[X] Work on TECHNICAL POINTS
[X] Work on GAME MANUAL for horse isle
[X] TItle forest areas
[ ] more horse specific games
[ ] Make 1-2 quests per day :) - Clean up other quests
[/] Re Build new competition clothes in stead of normal clothes
[X] Sound Effects for games
[X] Develop a list of CLient sound effects actvated by server (Slap, rip, break, hit,Growl) for some socials, and also for other random events.
[X] Proof Riddles / add riddles
[X] Map colorings #1 Snow whiter green
[X] add objects to better balance spawning over larger world now
[X] Add map areas for new islands
[X] Assign existing icons to all the objects with iconid 1 that you can. And then tell jo to draw rest.
[X] Fala painting too hard.
[X] Tuttle Painting - Too hard?!?! I cant get it? (Onlooker) too
[X] Arica Offered to make the different color versions of pixel horse?! Do we want?
[X] Think about/plan workshops
[X] 3 More music quests
[X] Jornak: And with the T-Rex quest, I don't get a reminder in the right text box, just something to note.
[X] convert charla mae to a collecting oranges additional step
[X] Add playerextendeds for all
[X] Muzzle forest is pretty 'gappy'
[X] Add a fish cooker : accepts any sized fish and exchanges an eatable version big/med/small
[X] Help topic: HOw Can I Improve my HOrses Abilities?
[X] Help topic: Ranches?
[X] Sort order objects better
[X] maybe add some more breed description detail
[X] Ricardo painting too hard? (momma)
[X] Decide whether games should show just horses, or rider+horse
[X] Work on documentation
[/] Add more overlay proper coloring (Bridges, etc)
[X] Normalize Object Pricing at 10x real world
[/] Design a Jumping game, top view like 3d one
[/] Design some more horse-centric games
[X] Welcome signs/Direction signs/ Turn buildings on
[X] Submit website to search engines (joe worked on this)
[X] Make a list of Minigames and locations (joe built into library)
[X] Maybe have her build horse-versions of chars
[X] Proofread website / beta tester application
[X] Abigails skates are too hard to find without another clue. . .
[X] Fix twig back to 1000 (momma) says but not gives
[X] Tobias offers the quest again after completion? (momma found)
[X] Is my "Playthis song quest" cool? If so, devise several tunes playablae in single octave sharpless
[X] Scatter mudholes around the planet
[X] put a space in between checkers/chess
[X] Have welcome willy give out the various quest tools! and explain them.
[X] enter in all Tack objects, and proper price/benefits
[X] add pet stores
[X] Add breed Descriptions
[X] Add new objects into database (non quest specific)
[X] Think of other tack items
[X] Design a Barrel racing game
[X] Design conformation arena
[X] Add wagon transport setup for near horseshoe.. from??? Appleton??
[X] Get proper values in for all of the Horse breed base stats
[X] Make more "areas" defined
JOE TODO:
[ ] Check on Horse Run, when you get over 100 orbs
[X] Redirect horseisle.net to horseisle.com
[X] WEATHER: Birds / Bats / Flys? / Rainbows
[X] GAME IDEA: Rock Mine -- Rocks with numbers on them - click proper rock to chip away (even, odd, multiple of 4, 3 5 , 7 ,8,9,10,2
[ ] Boat Multipass type object for travelling.
[ ] Add a simple typing game. . maybe have to type the horse descriptions out :)
[/] Add Phrases to ban including swears such as: "phone number" "What town" "how old"
[ ] Funny horsie FOrtune cookies?
[ ] Make a geo-hunt US States / Canada provinces
[ ] Alternative to paying $$ for sub
[ ] double? word path payout
[ ] 1 player Whats different in these 2 scenes Quest game??
[ ] Possibly do MAX object Spot Culling: SELECT *,COunt(*) as C from objects WHERE playerid=0 AND storeid=0 GROUP BY X, Y ORDER by C DESC LIMIT 5
[ ] Likely DO Max Object Store Culling: SELECT *,COunt(*) as C from objects WHERE playerid=0 AND storeid!=0 GROUP BY storeid ORDER by C DESC LIMIT 5
[ ] 2 Player Team work games?!?!
[ ] Simonish 1 player mini game
[ ] Join WOrds that have been cut in half and mixed around
[ ] Goup Game: ShapeForms (ColorFOrms) Dynamic shape producing, and then move them around (minet)
[ ] BUG: Treasue hunter still lags some players?
[X] BUG: Racing aarena AIYA button buggy?
[ ] BUG: IE6 wont let you view parent page from game?!
[ ] CRITICAL: FIX ANNOYING SPACING IN MAC CHAT TEXT!!!! Off = O ff?!?!?! etc..
[ ] remake my old TONG game
[ ] Air hockey game :)
[ ] tipping cows game???
[ ] Integrate Message in a bottle with FLotsam! . . .. A Message in a bottle is something you bring to city hall for a reward??? i donno yet. . .
[ ] 1v1 Bommerman clone.. Horsebombs! They shoot out in 4 directions eating something in path, usually apple/players.
[ ] Hide and seek multiuser room? Take turns clicking things to hide under/behind in a house?
[ ] Pony Express Some sort of delivery system within the game??????????????
[ ] Ring Jousting - first person fake 3d Guuide stick into oncomming ring while gighting random movements
[ ] Ice skating game Multiplayer??
[ ] make a pin the tail on the horse game.
[ ] allow key objects to open certain buildings
[ ] Tetherball game, Frisbee, bean bag toss
[ ] fish shadow swimming around water?
[ ] multiplayer synonyms game?? Tried long time finding a nnice sysnonyms list..
[ ] Jumping arena Hold Down up arrow for bigger jump, let go to activate jump
[ ] Scorpions can bite a horse!
[ ] snowballs melt in inventory
[ ] IDEAS: Memory game, slingshot game, squish bug game
[ ] depending on terrain, player and horses get more thirsty! (desert)
[ ] Update player views when a same tile player GRABS/DROPS objects
[ ] wandering horses gain experience! so longer they wander, more valuable :)
[ ] Add Game/help Info to Flash Menu
[ ] GFX: Move chat bubbles when multiple
[/] (objects removed in 12 hours) Store object limit
[/] CRITICAL: FIGURE OUT WHY SOUND EFFECTS DELAYED IN MINIGAMES!!! ?? Just up the FPS of that game???
[/] Get Login and signup webpage portions done.
[/] Make screenshots, and fix verbage, meta/keywords..
[/] mouse,gerbil,Genet,Servel, Fennec Fox, Kinkajou, parrot, pidgeon,ferret, rabbitt,rat,hampster,gecko,toad,treefrog,turtle, spider, pig, lots of dogs
[/] PET: KITTENS: Black,Calico,Brown Tabby,Orange Tabby,Tuxedo Kitty,White,Bengal,Himalayan,Persian,Siamese
[/] MARBLE BUG: i didnt get player updates at all?!?! - may be transient
[/] CHESS BUGS: sits on grabber frame - & Sometimes not dropped at a snap point for opponent!? could not duplicate?
[?] Find javascript to Set game as 'focused' so no need to click it when switching windows. - LOooked for a while.. onblur, onload not cutting it..
[/] Put limits on # of different objects in player inventory, and quantity.
[/] Don't Allow horses to spawn/wander into towns
[?] Cactus can injure a horse!
[/] parental controls - Disable chat option? - Email chat logs?
[/] Make sure server cannot "bunch" up packets sent to client!
[/] Make sure server waits to send client welcome packets until client ready
[/] get all horse breeds drawn
[/] (dressup mod)Build a "build a snowman" game :) -sara
[/] Snowman Dressup/Doll/horse dressup?
[/] add town center building - Allows mail sent/receive And community messages
[/] First Person Cave Exploration module/garden hedge????
[/] get game assets professionally drawn
[X] sara suggested allowing the socials to make noises when you hit someone :)
[X] Horse Whisperer - Building of info where you can locate a certain breed
[X] CRITICAL: Server Lockup 12 players online, :59 locked at end of minute.
[X] CRITICAL: Server Crash March 1st - 15 players - middle of minute - Looks like a Player Disconnected right before??
[X] Maybe a Pirate Treasue Award.
[X] Make a Geo-hunt Style HOrse Parts/Bones?
[X] Crash happened 14 people online - 5 person races possibly on startup
[X] BUG: Huge Server Lockup problem! >7 people online???
[X] Some sort of a Horse Running with other horses.. Maybe your horse runs around finding other horses and then they follow??
[X] Players get a first place 2 star ribbon when they beat 2 other opponents 4star when 4opponents, etc
[X] (single) multiplayer baloon game, shoot same colors
[X] Frog Jumping on Twigs up waterfall game
[X] setup a subscription/payment system
[X] boggle game - server checks dictionary file
[X] Pasture Free place to sit and let your horses stand in pasture for free, but they all gain moo+food slowly over time
[X] Stop making players invisibile on MapCoded spots.. Leave it to the overlay tile definitions instead.
[X] What happens when player you are private chatting with leaves???
[X] NOPE Objects change into something else after so long a time in inventory. . .
[X] Only spawn objects on walkable terrain NOT inside buildings,etc
[X] Create server timeouts, close connections during login after 5 minutes of no login,
[X] title graphic
[X] Fix arrow keys while editing profile!!
[X] 15 minute inactivity logoff
[X] Add an exit button either shortcut or key to exit back to main page. .
[X] Fix char 32 bug, Stop covering Chat Boxes on Disconnect, Add X button, add dynamic errors
[X] DONT Possibly rent barn space from other players?? ack. . . too hard..
[X] riding a low-experience horse will BUCK you every once in a while :)
[X] Add Geo Hunt Award --
[X] DO BY HAND Random presents given on CHristmas/ newyears?? maybe birthdays?
[X] Add an Awards system
[X] Add a Session Log? IP, ID, Username Logon, logoff
[X] Allow a QUANTITY in item trading
[X] Backwards BOGGLE find a word placed in a boggle type setup
[X] Workshops: ex. jeweler - combines 20 pearls + necklace chain = pearl necklace
Need Tiles and lots more objects
[X] Add conditions to send player to Prison :) (starving horse)
[X] LONG TERM: Switch to EXTENDED Tileset (64 tiles) Selectable by Island TYPE! Maybe "Cloud" other islands of different type in view....
[?] CLIENT: BLock Chat boxes while on welcome isle
[X] Maybe cant move (fails once in a while ) when hungry thirsty?
[X] NOPE! COnsider horses starting as FOALS as a percentage restriction on height and abilities
[X] Limit Trading when inventory full
[X] Limit Number of objects in a GRAB ALL
[X] sending list of overlays which hide player, and then hiding player on client side whenever character is "rounded" into a hiding one. in this way you'll be able to see movement into shops, etc!
[X] Extend the time before race end! SOme racers get cutoff!!
[X] GFX: Cutoff legs in bushes/grass
[X] Horse Game: Riding bull - stay on bull
[X] QUEST GAME: tangrams :)
[X] Add rotten tomatoes
[X] BUG: Wishing Well, too many items (purplemuffin)
[X] Reward for completing all quests - nice set of tack? (Onlooker)
[X] CLIENT: Dont close arenas on ^MM even!
[X] CLIENT: Add a clear chat boxes again?
[X] CLIENT: Switch WEAR buttons for clothes to SELECT?
[X] BUG: if a person you are private chatting with leaves, remove them from chat box
[X] BUG: a certain char cauases everything to go water.. . screws up maps ???
[X] BUG: Encode < as &lt;
[X] BUG: Money being added to accounts?!?! Goingcrazy=22000 firechild=11000?!? windmill?
[X] Add a quantity requirement for first object on actions :)
[X] Add a bonus/$? of somekind for beating the top score on any game. (onlooker)
[X] BUG: Private Chat messes up
[X] BUG: dont allow entering an arena more than once!!
[X] Allow researching Quests/minigames at library???
[X] Finish up Ranch Functionality trainer, garden , etc..
[X] HOt air balloon game
[X] CRITICAL: FIx ARENA startup bugs (when looking at horses, etc..)
[X] fix private chat bug, when a player leaves?
[X] get characters professionally drawn
[X] disable back button???? (just force new window)
[X] (prolly not) COnsider switching to a quantity based inventory, rather than individual objects.. .
[X] Switch gaia varialbles to global table (# horses, # buried treasure, etc.)
[X] When riding horse have players move FASTER to locations rather than Jumping 2 spots...
[X] Show characters actually riding a generic horse
[X] Fix PROFILE page being blank upon clicking off it. It's a ScrollPane + ComboBox Flash bug!!! aike. .
[X] force full map sends on diagonal movement. or expand the array shift widths.. (prolly best)
[X] Fix Arena Timing Bug!??!?
[X] Fix rainbowstreasures so they disappear now somehow. . . .
[X] Get Player Timeouts working. Make sure no "ghosts" are left behind.
[X] Get Barns To Work
[X] Allow an action to trigger consuming objects? ex. nap for Sera
[X] Add yellow daiseys to daisey terrain
[X] 1v1 Game of Making boxes, take turns making segments, if you make a box, its yours + go again. winner has most boxes
[X] Switch clothing to be "Competiton Gear"
[X] Fatten EXIT THIS PLACE button
[X] Adding Tack list and Pet list to Library?
[X] Add code to Deamonize Server
[X] CRITICAL: Switch competitions to happen every minute MULTIPLE rather than tracking start/end times...
[X] Limit # Horses & # Items!!
[X] Add a simple - play this song Quest(s)
[X] Coloring Book??
[X] bug: buddies list bug? People marked as buddies appeard offline when not?! (not really a bug) database was modified indirectly)
[X] bug: fix exiting feed or profile to close horse view - OR show horse details instead
[X] bug: If moving while arena start-up sent to you, you might receive a move code after, and thus stat back up map view below. . .
[X] make orange trees
[X] Trail Riding MiniGame
Top view/control like Maze game... but timed and random? something about something jumping out
[X] Stable - place to pay to keep your horses fed,drunk,slept for $/day (dont bother, jsut use barn)
[X] add dates? to messages
[X] Add Effects Table, Which positions chimney smoke, and Door Paths under buildings.
[X] multiplayer music room?!?!?
[X] Horses tired/hungry/shoes worn after competition
[X] get external module storfronts professionaly drawn
[X] Build new Terrain tiles
[X] Build new Overlay tiles
[X] Enter breed data
[/] Make Horse module views
[/] design bunch of items - get them drawn
[X] Solve disconnect problems tim was having! (didn't happen anymore?!)
[/] light grass to dark forest grass transition
[/] implement Settings (sound volume, graphics detail, ??)
[X] make list of tiles needed online for emma
[/] Main game loader - sub game loader
[/] CutScenes, sleeping/Wagon ride/boat ride, quick swf's
[X] multiplayer games ideas: Snowball/coconut Toss (old monkey and banaana game)
[/] fix chat text not bolding ?? not sure its a problem
[X] brighten darkness a little more..
[X] Track compettion highscores!
[X] Have other players "walk" to locations, rather than "jump"
[X] Bug: reid noticed you can move faster holding down diagonals.
[X] Wrap objects and they become presents!
[X] Bug: Private chat not available until an existing player moves upon login..
[X] 2player game ideas: battle ship,
[X] Remake water so less "busy"
[X] Dont allow dropping on the ground when at a shop, etc..
[X] figure out trades system
[X] Make binoc water solid blue
[X] Add compass to map view
[X] figure out what white thing in on login page upper left corner!
[X] Fix Players Idle being disconnected?!?!
[X] PLace "CLick anywhwere to return" on Binoc page
[X] Fix strange Wishingwell appearance during login in earton bug
[X] add a UpdateVolume Function for parent to call in modules when volume hit
[X] allow module games to activate quests..
[X] add buddy chat
[X] add emmas new icons, send her back some ideas
[X] Dont reset views at all locations when another player enters.. screws up npc, etc..
[X] Fixed BUG: allow admin commands from buddy and NEAR chat
[X] SELL all items on a stack of same item (client ready)
[X] GRAB all items function off ground (client ready)
[X] Allow horses to drink from pond.... Randomly get sick! (client ready)
[X] do not allow dropping quest items
[X] Add a library, that allows you to view all the different horses.
[X] Switch binoculars to telescope, allow binoculars for something else?
[X] Allow Searching with Magnifying glass
[X] Allow Uncovering with a Rake
[X] CHECKERS BUG: Game close not recognized by other player?
[X] Herd Cattle - wow. thats all i got ta say.
[X] build module gui buttons X ? ! +
[X] COnsider removing betting system???? complicated and may not be for kids?
[X] Multiuser Fridge Magnets
[X] Rebuild old Pushblock game. . maybe make one level per town, etc.
[X] Buddies can TAG eachother.
[X] Horses can eat carrots and apples too
[X] Add ability to click on tiles to identify (mouseover)
[X] fix stuck in store bug when login/logout from store
[X] Implement social commands? !hit joe
[X] Map not reloading newest changes on restart...
[X] Get MAPD/T to allow apostrophes
[X] Add shadows to all Overlay objects that need it!
[X] when look at players, allow looking at horses
[X] make sure all modules have an EXITMODULE() function which destroys intervals..
[X] allow ENTER key to do LOGIN on login page
[X] Add CHAT HERE option forchatting in same room only
[X] BUG: MAP bttons on player list duplicate when players at same spot!! duh.
[X] Get NPC's to move around if they should. (certain terrain?)
[X] send time/weather on login
[X] institute game time
[X] Get admin to SendInfo to self after jumping?
[X] Clear Game intervals for certain! whackamole/math
[X] Shovel, Allows DIG , finds BURIED objects!
[X] fishing shop guy takes a strong branch and converts to pole...
[X] Make a 2+ player drawing game (emma)
[X] Move Modules into mod folder on server and client
[X] Implement NPC static points, so that Quests can set a different conversation point for npc
[X] VIEW <player> STATS/INVENTORY admin commands
[X] See if possible to return to same place on a store item display instead of top.
[X] BUG: when logging in, and player is at a store, they will be visible.
[X] Build a game music Volume/mute button
[X] Buiild a goto Player admin function
[X] build a terrain tile floodfill! (recursive functions) limit recursion to 100 deep though in php!
[X] go through sql selects and make sure limited *'s!
[X] Allow apple trees to spawn apples around it, etc.
[X] Allow Other players shown on map
[X] figure out solution for tiles in SQL (terrain/orverlay in tiles table)
[X] Redo GUI buttons
[X] chat language filter
[X] implement player Eatable items
[X] Make GIVE server command $ or object to player
[X] Send location of players when logging in
[X] Quests can give you a new location (NPC's bring you places?)
[X] Get map button to show world map.
[X] View Worn items in inventory, and allow disrobing
[X] Add LOOK at player buttons to Who's online view
[X] Implement player wearable items
[X] implement farrier
[X] implement vet
[X] implement groomer
[X] Figure out method for passing data to/from external modules
[X] Move Documentation online
[X] Redo demo stores/map locations
[X] Make npc scripting more flexible
[X] Send mary info on making npc scripts
[X] build povray demo fence/well/pen
[X] Allow editing Player Details
[X] Allow editing Horse Details
[X] NPC's can activate quests
[X] Buddy List
[X] Build GAIA script
[X] Wagon transports
[X] Boat Transports
[X] Click on players on map for name/description
[X] Get chat bubbles to work.
[X] BUG: When player exits , client chatlist is reset, and player loses current private chat
[X] have the Quest COmpleted text changed to tell you exactly what transactions took place.
[X] BUG Ooops you can feed and Etc. . other peoples horses at arena!!! :)
[X] dont allow horses/npcs/objects to spawn/move on unwalkable overlays..
[X] BUG: it kept saying emma was logging in every time she said something?!
[X] Probably Build the NPC chat scripting into database. ..
[X] Make daisy overlay
[X] Fix training MAX's
[X] snowballs can be thrown
[X] allow some games to track scores scores table: playerid:gamename:wins:loses
[X] Build a compute tack bonus' function -return assoc array
[X] BUG: when in drawing room and view map, background goes bubye.
[X] BUG: When player disconnects Clear the OPPONENTS OPPONENT setting!
[X] View a 50% tile size View of area in addition to map
[X] Add detailed island/town info to client map display
[X] Add socials: shoulder pat, nod , tickle , yell, push, thumbsup, kick
[X] allow riding your horse to move 2 tiles quicker
[X] Hay tile! Use a pitch fork to make own haybales. for free.
[X] Add random game tip to loading screen
LONG TERM
security prior to going beta
[ ] Check for possible SQL injection attacks!
[ ] Set Database Passwords
[ ] Web Server Read only Server
[ ] Password protect dev site
[X] Encode username along with password encoding
[ ] complicate flash cryptor
[ ] Add a packet per second max on client using interval (and server?)
LONG TERM
maybe someday
[ ] Get a life
[ ] Character displayed as IN water on first depth terrain

View file

@ -0,0 +1,641 @@
CLOUD ISLE IDEAS:
[ ]CASTLES will be Baby Pegusas Minigame Quests + Timed Games.
[ ]Girl in the Tower - Rapunzel
[ ]Candy landish area
[ ]Little Cat house?
[ ]Pegasus Statues
[ ]Sign Following
[ ]Cotton Candy Trees. . Spawn.. cotten candy?
[ ]NEW TILE?: Old Shoe HOuse
[ ]NEW TILE?:Apple or Watermelon house
PIRATE ISLE:
[X]GHOST RECON: Recover 3 Manifest Logs off the 3 ghost ships. This will require convincing each dingy operator to take you to each boat, use magnifying glass on boat, and then head back.
[ ]ANTIQUITIES: Bring back important objects to this store owner, has you search all of the empty treasuere chests around the isle (im sure we might have missed somethhin)
[X]Black Bart wants anchors from the ship wrecks, maybe get one from skull too
[X]Dirty Nathaniel likes Cannonball Cate, deliver notes between them since they're in different factions
WRITING/ADVENTURES IDEAS:
PLAYER: bleasi: centaurs and a Brook Horse (Scandinavian legend about a mythological white horse that lures people to ride on it and then carries them off to sea and drowns them) That is of course a little violent legend but it'd be nice with a horse that sometimes comes up from the sea to roam a beach somewhere. :)
PLAYER: Featheredequine: Beauty/music contest between Harmony and Melody... talk to a bunch of people... don't really want one to win... make both happy somehow
NEVERENDIGN STORY HORSE: Atreyu, his horse Artax
Random locaitons that could be the basis for a story:
[ ] you could make up an island adventure quest... I can put whatever you like on
one of the empty little islands. . . Some resident some where can offer to "take
you to thier island, or relatives, etc.." ormaybe even take you treasure hunting. . .
that transports you to the island and then blalblabla :)
[ ]old rickity shack above flipperton
In the description there talks of many tiny little pieces of paper on the ground..
Upon using magnifying glass, you find a note that talks of the old owners need to Leave town.
He left his lifes savings to anyone there that is worthy of finding it.
This first scrap starts you on a clue chase around flipperton.
he used to work in flipperton general store, so a clue could be found there with magnifying glass also :)
Eventually its a nice big treasure.
[X] single cabin in grass spot in southern Center on Desert Isle %goto 516,456
[X] igloo at the northernmost part of the world %goto 525,18
[ ] use a magnifying glass at a certain pyramid to find heiroglyphics blocks or something for someone..
One of the residents of hotton is a Heiroglyphics expert. but he has mobility issues.
Using magnifying glass on each pyramid you can find Tablets and return them to him.
[ ] Beach shack on the huge horseisle beach. . %goto 527,256
Using a magnfying glass, you find an old family photo. Upon looking at it, you see it belongs to some
resident in treeton. Returning it to them is rewarded.
[ ] Another adventure on quiet isle
Rafikis mother could have something needed .. etc..
[ ] SANTA! Santa needs to have a cool adventure. . . There's already a reindeer wandering christmas isle, one adventure could be to let the reindeer know he has to work a double-shift this season :) %GOTO santa
[X] Spider aka charlottes web spoof %GOTO NPC SPIDER
The spider communicates with you slowly be drawing in web.
Eventually it makes a trade with you. A Super-secret treasure location for a Pet Spider.
Some Horse Characters to center stories around/allow encountering NPC's
Unicorn, Zorro, Pegasus, Lone Ranger, Shadowfax, Hidalgo,
BLack Beauty, Black Stallion, Misty of chincoteague, Seabiscuit, Manowar, Tornado,
Fatty Lumpkin, Flicka, Mr Ed, Epona??
Jayne missing his cunning hat :)
---------------------------------------------------------------------
1/19/07 Jenn: $5.00 paid Daltons Quest,+ training
1/22/07 Jenn: $2.50 Ryland $6 Abigale $4 Waverly
1/27/07 Jenn: Ryland#2 $6 + Nolan#1,#2,#3 $6 + Nolan#4 $5
2/01/07 Jenn: ($20) Cedric $5.50 Kele $4 Dakota $1.50 Octavio $2.50 Larissa $6.50
2/14/07 Jenn: ($27) Larissa Part 2 $3 + Muffin $2.50 + Lajita $6 + Lajita $1 + Kendi $1 + Mandala $2 + rainey $2.50? + dakota 1 + leroy $8
3/ 2/07 Jenn: ($24) Sando 4 + Sera 2 + Abril 6 + Loyado 9 + Cosmo 3
4/31/07 Jenn: ($9.50) Ormand 2.5 + Salvador 2 + Mice 5
Jenn BOnus $115 - Arrangement Complete
Minet:
Elves - 25 Candy Canes
Elves - 25 Snow Balls
Spider - brother spider
Holly
Daedalus
Scurvy Gums' Delivery
Flavius' Treasure
Viola's Apples
---
Hazel's Delivery #1,2&3 - $25
Artemis:
Mona-Clay
Triggers
Gandalf
Easter Bunny-eggs
Easter Bunny-shopping list
Hidalgo
Odysseus
Bonsai: paying in Horse Bucks
Apples' Horseshoes
A bunch of descriptions
NPC scripts:
amelia hays
jean stonwasht
britt
audrey givshots
anika
Calla Lilly - $2 x
Penny Counts - $2 x
Helena Bloom - $3 x
====================================================
Arica: paypal: trader1927@shaw.ca
Rosemary's Present
Demetrius' Poetry Woes
Robin's Lost Trinket
Will's Quest
JULY:$400
Rose's Quest - $13
Sailor's Quest - $22
SEPT: $35
HI2 Scripting Test: $50
OCT 08: $50
====================================================
Miri: paypal: miri@3moonsmedia.com
Arbuckle's Cattails
Reindeer's Treats
Witherton Jones and the Statues of the Tumetai
JULY:$100
HI2 Scripting Test: $250
OCT 08: $250
====================================================
Autumn: paypal: autumn@sweetheartart.com
JUNE 2007:$500
SEPT 2008: $700 Email prefiltering for Sept
OCTOBER 08: $700 Email prefiltering for Oct
NOVEMBER 08: $700 Email prefiltering for Nov
$700 Email for Dec
$280 10% bonus
DECEMBER 08: $980
JANUARY 09: 700
====================================================
Pam/WriterMom: paypal: pamelarowell@yahoo.com
Tropicton descriptions/Characters
Tulippes Wildflowers
JULY: $100
Cinnamon's Letter - $4
Cookie's Banana Pudding - $40
Krista's Baskets - $10
Parry's Long Lost Love - $12
AUGUST: $66
Wynona script - $4
Tuttle & hoof descr - $2
====================================================
Fara/SpottedRose - paypal: fshimbo@shimbopottery.com
Kilye's Embroidered Saddle Pad - $6
Kilye's Teke Bridle - $17
Dolly's Handmade Mugs - $11
Grey Slate's Gaudy Crown - $50
Ruthie's Doubloons - $9
Ruthie's Retiree's - $20
Cadee's Grammar Challenge - $10
+ $50 Jenny's wacom tablet
AUGUST: $173 PAID
Opal Sandstone's Stolen Sapphire - $100
Nicolette buys copper ore - $3
Sumiko's Buckets - $20
Sumiko's Saddles - $20
Sumiko's Custom Mounting Block - $15
Warn the Pigs - $6
Pecos Bill's Lost Horse - $12
Whystan's Building Set - $35
Ugly Duckling Sculpture - $5
Kitten's Lost Mittens - $14
Aladdin's New Lamp - $10
Princess Liliana's Frogs - $14
Para's Feathers - $6
Play Guide - $70
Pig's Rescue - $10
Little Red Riding Hood's Party - $25
Arena NPC scripts - $5
Winchell script and desc - $3
SEPT: $375
Harold Nickelendime's Sock Puppet - $8
Sandy Flint chat - $5
Silver Mary's Big Production - $65
OCT: $78
First Pig buys cattails - $5
Second Pig buys venetian food - $5
The Literary Little Pig - $15
Xyzzy's Adventure - $20
PawneerWhisperer Scripts - $8
Monsieur Renard's Cheeses - $45
Stickler - $30
Royal Chocolatier - $20
Workbook - $100
NOV: $248 + 5 mail*20 = $348
400 Quiz Q's - $100
Mail Clearing: $700/mo (dec,jan,feb,mar) - $2800
The Royal Wedding - $100
Princess Pookie's Kooky Shoes - $20
DEC: $3020
Freddy's Pumice Stones - $5
Pookie's Purple Ink - $17
Selena buys Moon Beams - $10
Xiang and the Volcanoes - $15
Amariel's Seven Orbs - $50
Sir Sleepwell getting to and from Lava - $12
Find Pella - $15
Lenny's Rock-Glass Goblets - $10
Lenny's Brass Valve - $10
Rolando's Butterflies - $5
Pookie's Little Brother - $12
JAN: $161
Item Suggestions: $50
Dictionary Editing: $200
Misc Assistance: $100
FEB: $350
March Brainstorming: $300
MAR 08: $300 (paid)
Itemslist/Recipe Help/Brainstorming = $104
Quiz Questions: (1117*.25) = $280
Analogy Data set: (272*.50) = $136
Nomasonto's Lost Daughter - $30
Gina's Scavenger Hunt - $50
April Email: $700
APR 08: $1300
SFX Help: $50
NPC Testing: $50
Dictionary Help: $25
May Email: $700
Scripting Help: $325
MAY 08: $1150
Vixen's Missing Calf - $15
Bess and descriptions - $5
Mortimer's Treasure - $20
June Email: $700
Scripting help: $100
JUNE 08: $840
Voiceover demo: $20
Coloring book pages: 30 x $10 = $300
Interactables Brainstorm: $30
July Email: $700
JULY: $1050
Heiroglyps: 29* $5 = $145
growables/help: $30
Shakespeare with Ethel Barryjam - $20
August Email: $700
HI2 Scripting: $200
HI2 Brain storming: $100
AUGUST 2008: $1195
Goldilocks' Interior Design - $70
Mrs. Beesdale's Lost Excellency - $60
Various HI2 Tasks: $1000
SEPTEMBER 2008: $1130
Various HI2 Tasks: $1250
OCTOBER 2008: $1250
Jack B. Nimble's Candlestick - $15
Waldo's Missing Pail - $30
Various HI2 Tasks: $1500
NOVEMBER 2008: didnt pay...
November $1545
Various HI2 Tasks: $1200
2008 ~10% Bonus: $1100
DECEMBER 2008: $3845
paypal: fashimbo@earthlink.net
The Blue Dragon's Treasure - $75
Anika's Lost Hat - $12
The Magenta Dragon's Egg - $115
JANUARY 2009: 1500
Spister Mooner's Coconuts - $10
JUNE: $10
Fa is not paid per quest....
====================================================
JuleAlastrine paypal: a911jul@yahoo.com
Lief's Allergy Medicine Delivery - $10
Barnacle Ben's Home Improvement - $20
Barnacle Ben's Decorating Quest - $15
AUGUST: $45 PAID
Rocco Shale's New Shop Sign - $35
Santa's Anniversary Gift - $10
Mrs Claus' Anniversary Gift - $60
Peter the Pumpkin Eater's Glittery Decor - $6
Rapunzel's Hairpiece - $13
SEPT: $125
King Phil's Menorah - $35
Prince Charming's Glass Slipper - $10
Mrs. Claus buys Pixie Dust - $5
OCT: $50
Barrett's Supply Delivery - $10
Yorick's Preperations - $50
NOV: $60
Lelu's Crunchy Quest - $75
Minnie's Spice Supply - $10
Rose's Missing Ingredients - $25
DEC: $110
====================================================
Tempest paypal: jlm@sunspotted.com
Supplies for the Easter Bunny - $5
Magnolia's Nursery - $30
AUGUST: $35 PAID
Alati's Invention - $40
Candide's Golden Sheep - $100
Galvin's Birthday Present - $10
Kiah's Harvest - $75
Elowyn's Wings - $25
The Triumph of Sam McGee - $40
Robin's Secret Crush - $10
Dewey's Lures - $7
Marisole's New Friend - $10
SEPT: $320
Jayne's Cunning Hat - $35
OCT: $35
====================================================
CheshireKitty (x means HorseBucks)PAYPAL:klsisley@yahoo.com
Phyllis Broom - $10 x
Materia's Astrological Map - $20 x
Scuttle's Golden Acorn - $15 x
Bubba Topaz buys agates - $4 x
Cheshire's Grin - $8
Cheshire's Body - $12
Omand's Horse Isle Quiz - $8
NOV: $28
Soup for Santa - $18
DEC: $18
Zik and Zak's Broken Ship - $20 -gave $14 in HB for a sub on white
Ariela's Lost Necklace - $12
Penfold's Missing Guinea Pig - $12
Holiday Horse - $5 -gave her 5HB
JAN: $40
Cupid's Valentines - $30
FEB: $30
Venus' Potion - $50
Nerina's Lulu - $20
Lulu's Medicine - $15
$15 bonus
MARCH: $100
Epona's Horse Breed Quiz - $15
Parisa's Bones - $20
Asher's Maze Woes - $20
Eros' Concern - $25
APRIL 2008: $80
Isleen's Dreams - $50
JUNE 2009: $50
Ted's Racing Saddle - $20
Ted's Hay and Grain - $25
JULY 2009: 45
Anabelle's Nest - $15
Eaglets' Dinner - $15
AUGUST 2009: $30
Griffin's Niece - $25
SEPTEMBER 2009: $25
Olivia's Pies #1 - $25
OCTOBER 2009: $25
Olivia's Pies #2 & #3 - $50
NOVEMBER 7 2009: $50
====================================================
LinuxDude - Darrinritter@gmail.com
Mathilda's Medicine Delivery - $10
WildFire's Delivery - $10
FEB: $20
Holly's Snowman Supplies - $17
Holly's Snowman Hat - $13
MAR: $30
Admiral Leonard's Sextant - $15
Barramundi fish for Louis Penguin - $60
Cara's Lost Niece - $25
Truffles for Cara Cook - $45
Truffles and Quail for the King - $12
JULY: $160
Grapeseed Oil for Mandy - $15
Fish for Louis - $30
AUGUST: $45
Turkish Delight for King Phil - $35
SEPTEMBER 2008: $35
====================================================
Bazjack - Lindax343@aol.com
Patricia's Plum Jelly - $10
Lucy's Mouse Problem - $25
Harmony's New Clarinet - $50
FEB: $85
Jade's Gifts - $45
OCT 08: $45
====================================================
Vetiver - Scull@westriv.com
Pillan's Anniversary Gift - $10
Shark Soup Brady's Mysterious Ailment - $35
Jubal's Healing Liniment - $60
Jubal's Puzzle of the Scraps - $75
FEB: $180
Wandering Baby Troll - $50
Linnea's Donations - $60
MAR: $110
Omand's Unidentified Animal - $25
Francis' Disguise - $25
APR: $50
Francis' New Home - $25
JUNE: $25
Quest editing(2) - $50
Peru's Fennel - $20
AUGUST: $70
Selena's Ethereal Summons - $35
Big Blue's Fishy Friends - $75
Dotti's Scary Noise - $20
Liza's Leaky Bucket - $75
Yellow Dragon's Greenery - $10
Yellow Dragon's Better Greenery - $30
HI2 Review: 55
OCTOBER 08: $300
Miah's Missing Pony - $25
NOVEMBER 08: $25
editing The Blue Dragon's Treasure - $75 X paid for in Pawneer Orders
Missing Maude - $18
Maude's Modern Spinning Wheel - $25
AUGUST 2009: $43
Vivian's Inspiration - $25
SEPTEMBER 2009: $25
====================================================
BklynFilly PAYPAL:rayvids_mom@yahoo.com
Brea's Groceries - $20 <-was her first quest so spent a lot more time than normal on it
Bailey's Rose Trellis - $20
Joe Longbread's Beard - $20
Betsy's Long Lost Brother - $15
Burlap Family Reunion - $30
APR: $105
Sir Sleepwell's Armament - $60
John O'Lantern's First Deliveries - $20
John O'Lantern's Multiple Deliveries - $60
JUNE: $140
Viola's Recipe - $12
Fourfingered Frank's Request - $75
Holli Daysin's Poem - $125
JULY: $212
John O'Lantern's Friend - $40
Wu Kung and the Masters - $65
Wu Kung and the Grand Master - $25
AUGUST: $130
Murray's Fences - $50
Carly Cobbler's New Home - $50
SEPTEMBER 2008: $100
Fergus' New Pot - $30
NOVEMBER 2008: $30
Katinka's Family Ties - $80
Hansel's Little List - $175
APRIL 2009: $255
Hyrokkin's Feast - $20
JUNE: $20
Candide's Gift - $30
Laurence's Turban - $25
AUGUST 2009: $55
Puck's Midsummer Adventure - $100
Oberon's Midsummer Celebration - $50
SEPTEMBER 2009: $150
Robinson's Fruit - $15
Weekday's Request - $40
DECEMBER 2009: $55
Laurence's Companion
Olav's Supplies
Quest writing 18hrs * $8 = $144
SEPTEMBER 2010: $144
Quest writing 19.5hrs * $8 = $156
NOVEMBER 2010: $156
Lilibeth's Deliveries
Alton's Centerpieces
Woody's Zoo
Chanda's Candles
Shoneah's Supplies
Sani's Anniversary
Quest writing 36 hrs * $10 = $360
JANUARY 2011: $360
Jack Reelin's Fish
====================================================
DesesrtMorn PAYPAL:desertmorn@aol.com
Twig Reconciles with Daf - $20
Ebenezer's Umbrella - $20
Roxie Quiz - $30
JUNE: $70
Carlotta taking scorpions - $7
Mino's Anniversary Gift - $100
Elvira's Tea Party - $20
Just Gus Wants Pie - $18
JULY: $145
Smelly Toes' New Boots - $25
APRIL 2009: $25
Just Gus Makes Amends - $100
OCTOBER 2009: $100
Alexi's Missing Abacus - $13
NOVEMBER 2009: $13
Smelly Toes' Sea Surge Mess - $35
Edgar's Missing Friend - $25
Stinky Breeches' Family Cookbook - $20
Stinky Breeches' Red Beans & Rice - $150
Augie Needs Shelter - $20
JANUARY 2010: $250
Stacie's Flytraps - $20
Heather's Quest for Flies - $15
Heather's Missing Niece - $30
Heather's Pitcher Plants - $20
MARCH 2010: $85
Rick's Missing Wind Chimes - $20
Scallops for Shadow - $18
Augie Learns to Fish - $12
APRIL 2010: $50
Allaire's Missing Apples - $35
Bruno's Apple Deliveries - $30
Bruno's Special Delivery - $15
Marina's Missing Headsail - $45
Senor Cangrejo's Welcome - $35
Andrea's Mysterious Noise - $20
Murigal's Missing Gemstones - $40
Carlotta's Big Secret - $175
Carlotta's Fiesta Deliveries - 17.5 * 10 = $175
Captain Solomon's Quest for Quiet - $150
Crow's Nest Carrie's Missing Foghorn - $40
Madame Babushka's Missing Scarves - $40
SEPTEMBER 2011: $800
Quest writing - 38.25 * 10 = $383
OCTOBER 2011: $383
Quest writing - 25 * 10 = $250
NOVEMBER 2011: $250
Quest writing - 13.25 * 10 = $133
JULY 2012: $133
====================================================
Connie Boney -- CCDesert@msn.com
July: $50 for a couple days of abuse report work ($10hr avg)
August: $700 abuse report work
September: $800 abuse report work (+$100 for filling in some)
October: $700 abuse report work
November: $1100 abuse report and moderator review
%10 bonus $450
$1100 abuse report and moderator review
December: $1550
=====================================================
Nuova to.renee@gmail.com
Minnie's Blue Ribbon Berry Pie - $10
Gingerbread Man's Missing Button - $20
NOVEMBER 2008: $30
Peppermints for Marcus - $15
Marcus' Peppermint Gift - $20
Pony Express - $50
DECEMBER 2008: $85
more Pony Express - $50
Monkey Theives Guild - $60
Mama Bunny's Missing Babies - $15
JANUARY 2009: $125
The Search for Rodney's Wacky Tube Men - $80
Wax for Crash - $13
A Dolphin's Purpose - $15
NPC icons - $25
FEBRUARY 2009: $133
more Pony Express - $25
Venda's Errand - $15
New Scoops For Ginger - $20
MARCH: $60
Crash's Crush - $15
Under The Sea Mystery - $50
Cat Construction Job #1 - $12
Cat Construction Job #2 - $12
Cat Construction Job #3 - $10
Soporta's Band Practice - $50
APRIL: $150
Azmaguru's Honor - $30
Getting Betty Garments Organized - $50
more Pony Express - $25
Formula for the Foals - $15
JUNE: $120
icons - $50
AUGUST 2009: $50
More Monkey Business - $30
HI2 NPC Writing Worlklog (sent to joe email): 14.25 hrs *10= $145
SEPTEMBER 2009: $175
Icy's Lost Button - $20
Jada's Errand - $12
Cap'n D's Ship Repairs - $40
OCTOBER 2009: $72
===================================
OkamiFreak - zoner_xyz@yahoo.com
Mother Goose script - $4
Proofreading NPCs - 19 hours * 8 = 152
FEBRUARY 2009: $152
Proofreading NPCs - 3 hours * 8 = 24
MARCH 2009: $24
Proofreading NPCs - 5 hours * 8 = 40
APRIL 2009: $40
Proofreading NPCs - 1.1 hours 8 = 9
MAY 2009: $9
Proofreading NPCs - 2.5 hours * 8 = 20
JUNE 2009: $20
Proofreading NPCs - 6.6 hours * 8 = 53
JULY 2009: $55
Proofreading NPCs - 14 hours * 8 = 112
AUGUST 2009: $112
Proofreading NPCs - 20 hours * 8 = 160
SEPTEMBER 2009: $160
Proofreading NPCs - 11.75 hours * 8 = $94
OCTOBER 2009: $94
Cookies from Hansel and Gretel - $20
Proofreading NPCs - 6.5 hours * 8 = $52
NOVEMBER 2009: $72
Proofreading - 4.5 house * 8 = $36
JANUARY 2010: $36
Proofreading - 3 hours * 8 = $24
FEBRUARY 2010: $24
Proofreading - 5 hours * 8 = $40
MARCH 2010: $40
Proofreading - 5 hours * 8 = $40
APRIL 2010: $40
Bits for Goodwin Ryder - $12
Proofreading - 11 hours * 8 = $88
MAY 2010: $100
The Third Little Pig's Brick Mix-Up
Barney's Birthday Present
Proofreading - 7.5 * 8 = $60
Quest Writing - 2.75 * 10 = $28
JUNE 2010: $88
Saplings for Charla Mae
Quest Writing - 4.5 * 10 = $45
JULY 2010: $45
Quest Writing - 1.2 * 10 = $12
AUGUST 2010: $12
Basil Snoremore's Ironic Hobby
Proofreading - 2.25 hours * 8 = 18
JANUARY 2011: $18

View file

@ -6,6 +6,7 @@
"login_format":"Player %USERNAME% has logged in",
"logout_format":"Player %USERNAME% has disconnected",
"profile_save":"Your profile changes were saved.",
"private_notes_save":"Saved Private Notes.",
"buddy_request":"Attempting to Add Buddy. The other player must click ADD BUDDY as well. (Many players reserve this for just a couple players so don't feel insulted if they do not).",
"drawing_notice":"Drawing not sent to other players when you are not a subscriber.",
"click_nothing_message":"Nothing interesting here...",
@ -17,7 +18,6 @@
"equip_competition_gear_format":"The %ITEM% are now selected as competition gear.",
"max_jewelry":"Only 4 pieces of jewelry can be worn at one time.",
"equip_jewelry":"You are now wearing %ITEM%."
},
"sec_code":{
"invalid_sec_code":"Data Code Error. You did not get the bonus. You should reconnect if you get this message again.",
@ -83,14 +83,14 @@
"area_format":" in %AREA%",
"location_format":" <I>You are%META% </I>",
"tile_format":"<B>%TILENAME%</B>",
"transport_format":"^LTransport via %METHOD% to %PLACE%^R1^I%ICON%^T4Trip Costs $%COST% one way. ^B1M%XY%^BY%ID%",
"private_notes_format":"^ATMy Private Game Notes^H^PB160|%PRIVATENOTES%^PS7|SAVE NOTES",
"exit_this_place":"^X",
"end_of_meta":"^Z",
"back_to_map":"^M",
"long_full_line":"^L",
"stats_page":{
"stats_bar_format":"^ATPlayer %USERNAME%'s Details^H",
"stats_area_format":"Currently in %AREA%",
"stats_area_format":"Currently %AREA%",
"stats_money_format":"<BR>Money: <FONT COLOR='#003300'>$%MONEY%</FONT>",
"stats_freetime_format":"<BR>Today's Free Time Remaining: <B>%FREEMINUTES% minutes.</B>",
"stats_description_format":"<BR>Description: <B>%PLAYERDESC%</B>",
@ -134,7 +134,7 @@
"competition_gear_selected":"^LYou have the following selected for competition gear:",
"jewelry_selected":"You have the following lovely jewelry on:",
},
}
},
"shop":{
"selling":"^LThings I am selling:",

View file

@ -40,11 +40,11 @@ namespace HISP.Game
public static string CompetitionGearLegsFormat;
public static string CompetitionGearFeetFormat;
public static string StatsPrivateNotes;
public static string StatsQuests;
public static string StatsMinigameRanking;
public static string StatsAwards;
public static string StatsMisc;
public static string StatsPrivateNotesButton;
public static string StatsQuestsButton;
public static string StatsMinigameRankingButton;
public static string StatsAwardsButton;
public static string StatsMiscButton;
public static string NoJewerlyEquipped;
public static string NoCompetitionGear;
@ -67,6 +67,8 @@ namespace HISP.Game
// Records
public static string ProfileSavedMessage;
public static string PrivateNotesSavedMessage;
public static string PrivateNotesMetaFormat;
// Hay Pile
public static string HasPitchforkMeta;
@ -214,7 +216,10 @@ namespace HISP.Game
// Click
public static string NothingInterestingHere;
public static string FormatPrivateNotes(string privateNotes)
{
return PrivateNotesMetaFormat.Replace("%PRIVATENOTES%", privateNotes);
}
public static string FormatRandomMovementMessage(string statName)
{
return RandomMovement.Replace("%STAT%", statName);

View file

@ -226,7 +226,7 @@ namespace HISP.Game
}
public static string EvenUserStatDistribution(int statValue)
public static string SelectPlayerStatFormat(int statValue)
{
int curValue = 1000;
int devisibleBy = Convert.ToInt32(Math.Floor((decimal)curValue / Messages.StatPlayerFormats.Length));
@ -240,6 +240,16 @@ namespace HISP.Game
}
throw new Exception("A mathematically impossible error occured. please check wether the laws of physics still apply.");
}
public static string BuildPrivateNotes(User user)
{
string message = "";
message += Messages.FormatPrivateNotes(user.PrivateNotes);
message += Messages.ExitThisPlace;
message += Messages.MetaTerminator;
return message;
}
public static string BuildNpcInfo(Npc.NpcEntry npcInfo)
{
string message = "";
@ -282,17 +292,17 @@ namespace HISP.Game
message += Messages.FormatFreeTime(user.FreeMinutes);
message += Messages.FormatPlayerDescriptionForStatsMenu(user.ProfilePage);
message += Messages.FormatExperience(user.Experience);
message += Messages.FormatHungryStat(Messages.FormatPlayerStat(EvenUserStatDistribution(user.Hunger), Messages.StatHunger));
message += Messages.FormatThirstStat(Messages.FormatPlayerStat(EvenUserStatDistribution(user.Thirst), Messages.StatThirst));
message += Messages.FormatTiredStat(Messages.FormatPlayerStat(EvenUserStatDistribution(user.Thirst), Messages.StatTired));
message += Messages.FormatHungryStat(Messages.FormatPlayerStat(SelectPlayerStatFormat(user.Hunger), Messages.StatHunger));
message += Messages.FormatThirstStat(Messages.FormatPlayerStat(SelectPlayerStatFormat(user.Thirst), Messages.StatThirst));
message += Messages.FormatTiredStat(Messages.FormatPlayerStat(SelectPlayerStatFormat(user.Thirst), Messages.StatTired));
message += Messages.FormatGenderStat(user.Gender);
message += Messages.FormatJewelryStat(buildWornJewelery(user));
message += Messages.FormatCompetitionGearStat(buildEquippedCompetitionGear(user));
message += Messages.StatsPrivateNotes;
message += Messages.StatsQuests;
message += Messages.StatsMinigameRanking;
message += Messages.StatsAwards;
message += Messages.StatsMisc;
message += Messages.StatsPrivateNotesButton;
message += Messages.StatsQuestsButton;
message += Messages.StatsMinigameRankingButton;
message += Messages.StatsAwardsButton;
message += Messages.StatsMiscButton;
message += Messages.BackToMap;
message += Messages.MetaTerminator;

View file

@ -38,6 +38,9 @@
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>icon.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
<Reference Include="MySqlConnector, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d33d3e53aa5f8c92, processorArchitecture=MSIL">
@ -130,6 +133,9 @@
<ItemGroup>
<None Include="Resources\default_cross_domain.xml" />
</ItemGroup>
<ItemGroup>
<Content Include="icon.ico" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<PostBuildEvent>copy "$(SolutionDir)..\DataCollection\GameData.json" "$(TargetDir)GameData.json" /Y

View file

@ -107,6 +107,19 @@ namespace HISP.Player
}
}
public string PrivateNotes
{
get
{
return privateNotes;
}
set
{
Database.SetPlayerNotes(Id, value);
privateNotes = value;
}
}
public string ProfilePage {
get
{
@ -269,6 +282,7 @@ namespace HISP.Player
private int subscribedUntil;
private bool subscribed;
private string profilePage;
private string privateNotes;
private int x;
private bool stealth = false;
private int y;
@ -351,7 +365,7 @@ namespace HISP.Player
subscribed = Database.IsUserSubscribed(UserId);
subscribedUntil = Database.GetUserSubscriptionExpireDate(UserId);
profilePage = Database.GetPlayerProfile(UserId);
privateNotes = Database.GetPlayerNotes(UserId);
hunger = Database.GetPlayerHunger(UserId);
thirst = Database.GetPlayerThirst(UserId);
tired = Database.GetPlayerTiredness(UserId);

View file

@ -1,4 +1,5 @@
using System.IO;
using System;
using System.IO;
using System.Reflection;
using HISP.Game;
using HISP.Security;
@ -9,7 +10,7 @@ namespace HISP
{
static void Main(string[] args)
{
Console.Title = "HISP - Horse Isle Server Emulator";
Directory.SetCurrentDirectory(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location));
ConfigReader.OpenConfig();
CrossDomainPolicy.GetPolicy();

View file

@ -16,7 +16,7 @@ namespace HISP.Server
{
db.Open();
string UserTable = "CREATE TABLE Users(Id INT, Username TEXT(16),Email TEXT(128),Country TEXT(128),SecurityQuestion Text(128),SecurityAnswerHash TEXT(128),Age INT,PassHash TEXT(128), Salt TEXT(128),Gender TEXT(16), Admin TEXT(3), Moderator TEXT(3))";
string ExtTable = "CREATE TABLE UserExt(Id INT, X INT, Y INT, Money INT, QuestPoints INT, BankBalance BIGINT,ProfilePage Text(1028), CharId INT, ChatViolations INT,Subscriber TEXT(3), SubscribedUntil INT, Experience INT, Tiredness INT, Hunger INT, Thirst INT, FreeMinutes INT)";
string ExtTable = "CREATE TABLE UserExt(Id INT, X INT, Y INT, Money INT, QuestPoints INT, BankBalance BIGINT,ProfilePage Text(1028),PrivateNotes Text(1028), CharId INT, ChatViolations INT,Subscriber TEXT(3), SubscribedUntil INT, Experience INT, Tiredness INT, Hunger INT, Thirst INT, FreeMinutes INT)";
string MailTable = "CREATE TABLE Mailbox(IdTo INT, PlayerFrom TEXT(16),Subject TEXT(128), Message Text(1028), TimeSent INT)";
string BuddyTable = "CREATE TABLE BuddyList(Id INT, IdFriend INT, Pending BOOL)";
string WorldTable = "CREATE TABLE World(Time INT,Day INT, Year INT, Weather TEXT(64))";
@ -207,7 +207,6 @@ namespace HISP.Server
}
public static void SetServerTime(int time, int day, int year)
{
using (MySqlConnection db = new MySqlConnection(ConnectionString))
@ -262,6 +261,10 @@ namespace HISP.Server
return creationTime;
}
}
public static string GetWorldWeather()
{
using (MySqlConnection db = new MySqlConnection(ConnectionString))
@ -1337,7 +1340,7 @@ namespace HISP.Server
throw new Exception("Userid " + id + " Allready in userext.");
MySqlCommand sqlCommand = db.CreateCommand();
sqlCommand.CommandText = "INSERT INTO UserExt VALUES(@id,@x,@y,0,0,0,'',0,0,'NO',0,0,1000,1000,1000, 360)";
sqlCommand.CommandText = "INSERT INTO UserExt VALUES(@id,@x,@y,0,0,0,'','',0,0,'NO',0,0,1000,1000,1000, 360)";
sqlCommand.Parameters.AddWithValue("@id", id);
sqlCommand.Parameters.AddWithValue("@x", Map.NewUserStartX);
sqlCommand.Parameters.AddWithValue("@y", Map.NewUserStartY);
@ -1371,6 +1374,53 @@ namespace HISP.Server
}
}
public static string GetPlayerNotes(int userId)
{
using (MySqlConnection db = new MySqlConnection(ConnectionString))
{
db.Open();
if (CheckUserExtExists(userId))
{
MySqlCommand sqlCommand = db.CreateCommand();
sqlCommand.CommandText = "SELECT PrivateNotes FROM UserExt WHERE Id=@id";
sqlCommand.Parameters.AddWithValue("@id", userId);
sqlCommand.Prepare();
string privateNotes = sqlCommand.ExecuteScalar().ToString();
sqlCommand.Dispose();
return privateNotes;
}
else
{
throw new KeyNotFoundException("Id " + userId + " not found in database.");
}
}
}
public static void SetPlayerNotes(int id, string notes)
{
using (MySqlConnection db = new MySqlConnection(ConnectionString))
{
db.Open();
if (CheckUserExist(id))
{
MySqlCommand sqlCommand = db.CreateCommand();
sqlCommand.CommandText = "UPDATE UserExt SET PrivateNotes=@notes WHERE Id=@id";
sqlCommand.Parameters.AddWithValue("@notes", notes);
sqlCommand.Parameters.AddWithValue("@id", id);
sqlCommand.Prepare();
sqlCommand.ExecuteNonQuery();
sqlCommand.Dispose();
}
else
{
throw new KeyNotFoundException("Id " + id + " not found in database.");
}
}
}
public static int GetPlayerCharId(int userId)
{
using (MySqlConnection db = new MySqlConnection(ConnectionString))

View file

@ -218,6 +218,12 @@ namespace HISP.Server
case PacketBuilder.PACKET_INVENTORY:
GameServer.OnInventoryRequested(this, Packet);
break;
case PacketBuilder.PACKET_DYNAMIC_BUTTON:
GameServer.OnDynamicButtonPressed(this, Packet);
break;
case PacketBuilder.PACKET_DYNAMIC_INPUT:
GameServer.OnDynamicInputReceived(this, Packet);
break;
case PacketBuilder.PACKET_ITEM_INTERACTION:
GameServer.OnItemInteraction(this,Packet);
break;

View file

@ -384,11 +384,15 @@ namespace HISP.Server
Map.NewUserStartX = gameData.new_user.starting_x;
Map.NewUserStartY = gameData.new_user.starting_y;
// Records
Messages.ProfileSavedMessage = gameData.messages.profile_save;
Messages.PrivateNotesSavedMessage = gameData.messages.private_notes_save;
Messages.PrivateNotesMetaFormat = gameData.messages.meta.private_notes_format;
// Announcements
Messages.WelcomeFormat = gameData.messages.welcome_format;
Messages.MotdFormat = gameData.messages.motd_format;
Messages.ProfileSavedMessage = gameData.messages.profile_save;
Messages.LoginMessageFormat = gameData.messages.login_format;
Messages.LogoutMessageFormat = gameData.messages.logout_format;
@ -417,11 +421,11 @@ namespace HISP.Server
Messages.CompetitionGearLegsFormat = gameData.messages.meta.stats_page.competition_gear.legs_format;
Messages.CompetitionGearFeetFormat = gameData.messages.meta.stats_page.competition_gear.feet_format;
Messages.StatsPrivateNotes = gameData.messages.meta.stats_page.stats_private_notes;
Messages.StatsQuests = gameData.messages.meta.stats_page.stats_quests;
Messages.StatsMinigameRanking = gameData.messages.meta.stats_page.stats_minigame_ranking;
Messages.StatsAwards = gameData.messages.meta.stats_page.stats_awards;
Messages.StatsMisc = gameData.messages.meta.stats_page.stats_misc;
Messages.StatsPrivateNotesButton = gameData.messages.meta.stats_page.stats_private_notes;
Messages.StatsQuestsButton = gameData.messages.meta.stats_page.stats_quests;
Messages.StatsMinigameRankingButton = gameData.messages.meta.stats_page.stats_minigame_ranking;
Messages.StatsAwardsButton = gameData.messages.meta.stats_page.stats_awards;
Messages.StatsMiscButton = gameData.messages.meta.stats_page.stats_misc;
Messages.JewelrySelected = gameData.messages.meta.stats_page.msg.jewelry_selected;
Messages.NoJewerlyEquipped = gameData.messages.meta.stats_page.msg.no_jewelry_equipped;

View file

@ -17,7 +17,7 @@ namespace HISP.Server
{
public static Socket ServerSocket;
public static GameClient[] ConnectedClients // Done to prevent Enumerator Changed errors.
{
get {
@ -35,7 +35,7 @@ namespace HISP.Server
*/
private static int gameTickSpeed = 4320; // Changing this to ANYTHING else will cause desync with the client.
private static int totalMinutesElapsed = 0;
private static int oneMinute = 1000 * 60;
private static int oneMinute = 1000 * 60;
private static List<GameClient> connectedClients = new List<GameClient>();
private static Timer gameTimer; // Controls in-game time.
private static Timer minuteTimer; // ticks every real world minute.
@ -49,7 +49,7 @@ namespace HISP.Server
{
totalMinutesElapsed++;
if(totalMinutesElapsed % 8 == 0)
if (totalMinutesElapsed % 8 == 0)
{
Database.IncAllUsersFreeTime(1);
}
@ -62,15 +62,96 @@ namespace HISP.Server
* This section is where all the event handlers live,
* eg: OnMovementPacket is whenever the server receies a movement request from the client.
*/
public static void OnCrossdomainPolicyRequest(GameClient sender)
{
Logger.DebugPrint("Cross-Domain-Policy request received from: " + sender.RemoteIp);
byte[] crossDomainPolicyResponse = CrossDomainPolicy.GetPolicy();
byte[] crossDomainPolicyResponse = CrossDomainPolicy.GetPolicy();
sender.SendPacket(crossDomainPolicyResponse);
}
public static void OnDynamicInputReceived(GameClient sender, byte[] packet)
{
if (!sender.LoggedIn)
{
Logger.ErrorPrint(sender.RemoteIp + " Sent dyamic input when not logged in.");
return;
}
string packetStr = Encoding.UTF8.GetString(packet);
string dynamicInputStr = packetStr.Substring(1, packetStr.Length - 2);
if(dynamicInputStr.Contains("|"))
{
string[] dynamicInput = dynamicInputStr.Split('|');
if(dynamicInput.Length >= 1)
{
int inputId = 0;
try
{
inputId = int.Parse(dynamicInput[0]);
}
catch (FormatException)
{
Logger.ErrorPrint(sender.LoggedinUser.Username + " Tried to send a invalid dynamic input ");
return;
}
if(inputId == 7) // Private Notes
{
if(dynamicInput.Length >= 2)
{
sender.LoggedinUser.PrivateNotes = dynamicInput[1];
byte[] chatPacket = PacketBuilder.CreateChat(Messages.PrivateNotesSavedMessage, PacketBuilder.CHAT_BOTTOM_RIGHT);
sender.SendPacket(chatPacket);
return;
}
else
{
Logger.ErrorPrint(sender.LoggedinUser.Username + " Tried to send a invalid dynamic input (private notes, wrong size)");
return;
}
}
}
else
{
Logger.ErrorPrint(sender.LoggedinUser.Username + " Tried to send a invalid dynamic input (wrong size)");
return;
}
}
}
public static void OnDynamicButtonPressed(GameClient sender, byte[] packet)
{
if (!sender.LoggedIn)
{
Logger.ErrorPrint(sender.RemoteIp + " Clicked dyamic button when not logged in.");
return;
}
string packetStr = Encoding.UTF8.GetString(packet);
// Determine which button it is
int buttonId = 0;
string buttonIdStr = packetStr.Substring(1, packetStr.Length - 2);
try
{
buttonId = int.Parse(buttonIdStr);
}
catch (FormatException)
{
Logger.ErrorPrint(sender.LoggedinUser.Username + " Tried to click a invalid dynamic button");
return;
}
if(buttonId == 21) // Private Notes
{
byte[] metaPacket = PacketBuilder.CreateMetaPacket(Meta.BuildPrivateNotes(sender.LoggedinUser));
sender.SendPacket(metaPacket);
}
}
public static void OnUserInfoRequest(GameClient sender, byte[] packet)
{
if (!sender.LoggedIn)

View file

@ -27,6 +27,8 @@ namespace HISP.Server
public const byte PACKET_TILE_FLAGS = 0x75;
public const byte PACKET_PLAYSOUND = 0x23;
public const byte PACKET_KEEP_ALIVE = 0x7C;
public const byte PACKET_DYNAMIC_BUTTON = 0x45;
public const byte PACKET_DYNAMIC_INPUT = 0x46;
public const byte PACKET_PLAYER = 0x18;
public const byte PACKET_INVENTORY = 0x17;
public const byte PACKET_TRANSPORT = 0x29;

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB