From 6e23de8f1268a240923f804dbf19026fbd2a0e0f Mon Sep 17 00:00:00 2001 From: TommySalami Date: Mon, 15 Sep 2025 16:30:24 -0600 Subject: [PATCH] v0.0.2 --- CHANGELOG.md | 14 + CODE_OF_CONDUCT.md | 127 ++++++++ CONTRIBUTING.md | 23 ++ ISSUES.md | 2 + IdleRPG.sln | 111 ++++--- LICENSE | 37 +++ README.md | 57 ++++ TODO.md | 2 + bot.v3.1.2/README | 62 ---- {bot.v3.1.2 => irpg-bot}/.irpg.conf | 115 +++---- {bot.v3.1.2 => irpg-bot}/ChangeLog.txt | 8 +- irpg-bot/INSTALL.txt | 30 ++ {bot.v3.1.2 => irpg-bot}/events.txt | 0 bot.v3.1.2/bot.v3.1.2.pl => irpg-bot/irpg.pl | 53 ++-- {bot.v3.1.2 => irpg-bot}/irpgdbtool | 0 {bot.v3.1.2 => irpg-bot}/modifiers.txt | 0 {bot.v3.1.2 => irpg-bot}/questinfo.txt | 0 irpg-release/App.config | 6 + irpg-release/irpg-release.csproj | 75 +++++ irpg/ChangeLog => irpg-web/ChangeLog.txt | 8 +- irpg-web/INSTALL.txt | 48 +++ {irpg => irpg-web}/admincomms.txt | 3 +- {irpg => irpg-web}/commonfunctions.php | 0 irpg-web/config.php | 61 ++++ irpg-web/contact.php | 55 ++++ {irpg => irpg-web}/db.php | 20 +- {irpg => irpg-web}/down.png | Bin {irpg => irpg-web}/dump.php | 2 +- irpg-web/footer.php | 39 +++ {irpg => irpg-web}/g7.css | 0 {irpg => irpg-web}/head.png | Bin irpg-web/header.php | 44 +++ irpg-web/hits.db | 10 + {irpg => irpg-web}/idlerpg-adv.txt | 0 irpg-web/idlerpg.png | Bin 0 -> 6780 bytes irpg-web/idlerpg_000000.png | Bin 0 -> 6780 bytes irpg-web/idlerpg_025D30.png | Bin 0 -> 8122 bytes irpg-web/idlerpg_ff0000.png | Bin 0 -> 6959 bytes {irpg => irpg-web}/index.php | 297 +++++++------------ {irpg => irpg-web}/makemap.php | 13 +- {irpg => irpg-web}/makequestmap.php | 10 +- {irpg => irpg-web}/makeworldmap.php | 10 +- {irpg => irpg-web}/maperror.png | Bin {irpg => irpg-web}/newmap.png | Bin {irpg => irpg-web}/players.php | 29 +- {irpg => irpg-web}/playerview.php | 30 +- {irpg => irpg-web}/quest.php | 3 +- irpg-web/rw.css | 117 ++++++++ {irpg => irpg-web}/tablegrad.gif | Bin {irpg => irpg-web}/up.png | Bin irpg-web/wall.gif | Bin 0 -> 2154 bytes {irpg => irpg-web}/worldmap.php | 11 +- {irpg => irpg-web}/xml.php | 32 +- irpg/README | 42 --- irpg/config.php | 39 --- irpg/contact.php | 47 --- irpg/footer.php | 35 --- irpg/header.php | 47 --- irpg/hits.db | 16 - screenshot1.png | Bin 0 -> 59203 bytes screenshot2.png | Bin 0 -> 80081 bytes 61 files changed, 1103 insertions(+), 687 deletions(-) create mode 100644 CHANGELOG.md create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 ISSUES.md create mode 100644 LICENSE create mode 100644 README.md create mode 100644 TODO.md delete mode 100644 bot.v3.1.2/README rename {bot.v3.1.2 => irpg-bot}/.irpg.conf (79%) rename {bot.v3.1.2 => irpg-bot}/ChangeLog.txt (99%) create mode 100644 irpg-bot/INSTALL.txt rename {bot.v3.1.2 => irpg-bot}/events.txt (100%) rename bot.v3.1.2/bot.v3.1.2.pl => irpg-bot/irpg.pl (98%) rename {bot.v3.1.2 => irpg-bot}/irpgdbtool (100%) rename {bot.v3.1.2 => irpg-bot}/modifiers.txt (100%) rename {bot.v3.1.2 => irpg-bot}/questinfo.txt (100%) create mode 100644 irpg-release/App.config create mode 100644 irpg-release/irpg-release.csproj rename irpg/ChangeLog => irpg-web/ChangeLog.txt (95%) create mode 100644 irpg-web/INSTALL.txt rename {irpg => irpg-web}/admincomms.txt (96%) rename {irpg => irpg-web}/commonfunctions.php (100%) create mode 100644 irpg-web/config.php create mode 100644 irpg-web/contact.php rename {irpg => irpg-web}/db.php (97%) rename {irpg => irpg-web}/down.png (100%) rename {irpg => irpg-web}/dump.php (100%) create mode 100644 irpg-web/footer.php rename {irpg => irpg-web}/g7.css (100%) rename {irpg => irpg-web}/head.png (100%) create mode 100644 irpg-web/header.php create mode 100644 irpg-web/hits.db rename {irpg => irpg-web}/idlerpg-adv.txt (100%) create mode 100644 irpg-web/idlerpg.png create mode 100644 irpg-web/idlerpg_000000.png create mode 100644 irpg-web/idlerpg_025D30.png create mode 100644 irpg-web/idlerpg_ff0000.png rename {irpg => irpg-web}/index.php (79%) rename {irpg => irpg-web}/makemap.php (95%) rename {irpg => irpg-web}/makequestmap.php (93%) rename {irpg => irpg-web}/makeworldmap.php (90%) rename {irpg => irpg-web}/maperror.png (100%) rename {irpg => irpg-web}/newmap.png (100%) rename {irpg => irpg-web}/players.php (53%) rename {irpg => irpg-web}/playerview.php (93%) rename {irpg => irpg-web}/quest.php (99%) create mode 100644 irpg-web/rw.css rename {irpg => irpg-web}/tablegrad.gif (100%) rename {irpg => irpg-web}/up.png (100%) create mode 100644 irpg-web/wall.gif rename {irpg => irpg-web}/worldmap.php (77%) rename {irpg => irpg-web}/xml.php (72%) delete mode 100644 irpg/README delete mode 100644 irpg/config.php delete mode 100644 irpg/contact.php delete mode 100644 irpg/footer.php delete mode 100644 irpg/header.php delete mode 100644 irpg/hits.db create mode 100644 screenshot1.png create mode 100644 screenshot2.png diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..8285ff6 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,14 @@ +Version 0.0.2 - 2025-09-15 + +* Add Release project for building version releases +* Add option for turning on or off email ad in footer and contact form submissions +* Add support for bot SASL connection and password to IRC server +* Update and implement new web settings +* Update and fix all PHP opening, closing and short tags +* Cleanup all PHP and HTML code +* Update docs +* Minor changes + +Version 0.0.1 - 2004-07-17 + +* The original 2004 version forked from idlerpg.net diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..41dd9eb --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,127 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..3e0bb28 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,23 @@ +## Contributing +Let's work better together. We are looking to collaborate with like-minded people who want to contribute in any capacity. Collaboration is open to everyone and we need your help if you are a: +* Collector +* Database Administrator +* Datter +* Developer +* Dumper +* Graphic Artist +* Translator +* Player +* Tester + +Feel free to: +* Fork the repository +* Create an issue +* Branch your repository with the issue number and a meaningful name related to the changes you are making +* Create a pull request + +## Contact +GitEmAll: [https://gitemall.devemall.int.eu.org/TommySalami/IdleRPG](https://gitemall.devemall.int.eu.org/TommySalami/IdleRPG "GitEmAll") + +--- +###### Copyright (c) 2004-2025 IdleRPG - All Rights Reserved diff --git a/ISSUES.md b/ISSUES.md new file mode 100644 index 0000000..dc6ac3a --- /dev/null +++ b/ISSUES.md @@ -0,0 +1,2 @@ +### Issues +All issues, bugs and features are tracked using GitEmAll diff --git a/IdleRPG.sln b/IdleRPG.sln index 759a0c4..f0da533 100644 --- a/IdleRPG.sln +++ b/IdleRPG.sln @@ -1,53 +1,86 @@  Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 17 -VisualStudioVersion = 17.14.36414.22 d17.14 +VisualStudioVersion = 17.14.36414.22 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "bot.v3.1.2", "bot.v3.1.2", "{02EA681E-C7D8-13C7-8484-4AC65E1B71E8}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8EC462FD-D22E-90A8-E5CE-7E832BA40C5D}" ProjectSection(SolutionItems) = preProject - bot.v3.1.2\.irpg.conf = bot.v3.1.2\.irpg.conf - bot.v3.1.2\bot.v3.1.2.pl = bot.v3.1.2\bot.v3.1.2.pl - bot.v3.1.2\ChangeLog.txt = bot.v3.1.2\ChangeLog.txt - bot.v3.1.2\events.txt = bot.v3.1.2\events.txt - bot.v3.1.2\irpgdbtool = bot.v3.1.2\irpgdbtool - bot.v3.1.2\modifiers.txt = bot.v3.1.2\modifiers.txt - bot.v3.1.2\questinfo.txt = bot.v3.1.2\questinfo.txt - bot.v3.1.2\README = bot.v3.1.2\README + .gitattributes = .gitattributes + .gitignore = .gitignore + CHANGELOG.md = CHANGELOG.md + CODE_OF_CONDUCT.md = CODE_OF_CONDUCT.md + CONTRIBUTING.md = CONTRIBUTING.md + ISSUES.md = ISSUES.md + LICENSE = LICENSE + README.md = README.md + TODO.md = TODO.md + screenshot2.png = screenshot2.png + screenshot1.png = screenshot1.png EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "irpg", "irpg", "{440DEC4B-57C9-4361-9949-7CF55F9CFED8}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "irpg-bot", "irpg-bot", "{3784E8C8-32DE-4740-8F55-324EF1EC4E86}" ProjectSection(SolutionItems) = preProject - irpg\admincomms.txt = irpg\admincomms.txt - irpg\ChangeLog = irpg\ChangeLog - irpg\commonfunctions.php = irpg\commonfunctions.php - irpg\config.php = irpg\config.php - irpg\contact.php = irpg\contact.php - irpg\db.php = irpg\db.php - irpg\down.png = irpg\down.png - irpg\dump.php = irpg\dump.php - irpg\footer.php = irpg\footer.php - irpg\g7.css = irpg\g7.css - irpg\head.png = irpg\head.png - irpg\header.php = irpg\header.php - irpg\hits.db = irpg\hits.db - irpg\idlerpg-adv.txt = irpg\idlerpg-adv.txt - irpg\index.php = irpg\index.php - irpg\makemap.php = irpg\makemap.php - irpg\makequestmap.php = irpg\makequestmap.php - irpg\makeworldmap.php = irpg\makeworldmap.php - irpg\maperror.png = irpg\maperror.png - irpg\newmap.png = irpg\newmap.png - irpg\players.php = irpg\players.php - irpg\playerview.php = irpg\playerview.php - irpg\quest.php = irpg\quest.php - irpg\README = irpg\README - irpg\tablegrad.gif = irpg\tablegrad.gif - irpg\up.png = irpg\up.png - irpg\worldmap.php = irpg\worldmap.php - irpg\xml.php = irpg\xml.php + irpg-bot\.irpg.conf = irpg-bot\.irpg.conf + irpg-bot\ChangeLog.txt = irpg-bot\ChangeLog.txt + irpg-bot\events.txt = irpg-bot\events.txt + irpg-bot\INSTALL.txt = irpg-bot\INSTALL.txt + irpg-bot\irpg.pl = irpg-bot\irpg.pl + irpg-bot\irpgdbtool = irpg-bot\irpgdbtool + irpg-bot\modifiers.txt = irpg-bot\modifiers.txt + irpg-bot\questinfo.txt = irpg-bot\questinfo.txt EndProjectSection EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "irpg-web", "irpg-web", "{B2C6CD83-5E84-40A2-8D1A-A57517EC36D9}" + ProjectSection(SolutionItems) = preProject + irpg-web\admincomms.txt = irpg-web\admincomms.txt + irpg-web\ChangeLog.txt = irpg-web\ChangeLog.txt + irpg-web\commonfunctions.php = irpg-web\commonfunctions.php + irpg-web\config.php = irpg-web\config.php + irpg-web\contact.php = irpg-web\contact.php + irpg-web\db.php = irpg-web\db.php + irpg-web\down.png = irpg-web\down.png + irpg-web\dump.php = irpg-web\dump.php + irpg-web\footer.php = irpg-web\footer.php + irpg-web\g7.css = irpg-web\g7.css + irpg-web\header.php = irpg-web\header.php + irpg-web\hits.db = irpg-web\hits.db + irpg-web\idlerpg-adv.txt = irpg-web\idlerpg-adv.txt + irpg-web\idlerpg.png = irpg-web\idlerpg.png + irpg-web\idlerpg_000000.png = irpg-web\idlerpg_000000.png + irpg-web\idlerpg_025D30.png = irpg-web\idlerpg_025D30.png + irpg-web\idlerpg_ff0000.png = irpg-web\idlerpg_ff0000.png + irpg-web\index.php = irpg-web\index.php + irpg-web\INSTALL.txt = irpg-web\INSTALL.txt + irpg-web\makemap.php = irpg-web\makemap.php + irpg-web\makequestmap.php = irpg-web\makequestmap.php + irpg-web\makeworldmap.php = irpg-web\makeworldmap.php + irpg-web\maperror.png = irpg-web\maperror.png + irpg-web\newmap.png = irpg-web\newmap.png + irpg-web\players.php = irpg-web\players.php + irpg-web\playerview.php = irpg-web\playerview.php + irpg-web\quest.php = irpg-web\quest.php + irpg-web\rw.css = irpg-web\rw.css + irpg-web\tablegrad.gif = irpg-web\tablegrad.gif + irpg-web\up.png = irpg-web\up.png + irpg-web\wall.gif = irpg-web\wall.gif + irpg-web\worldmap.php = irpg-web\worldmap.php + irpg-web\xml.php = irpg-web\xml.php + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "irpg-release", "irpg-release\irpg-release.csproj", "{3C3C4730-9D32-418C-BFDC-CE89148AA6CA}" +EndProject Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + Description = The Original Automated IRC Idle Role Playing Game + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {3C3C4730-9D32-418C-BFDC-CE89148AA6CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3C3C4730-9D32-418C-BFDC-CE89148AA6CA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3C3C4730-9D32-418C-BFDC-CE89148AA6CA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3C3C4730-9D32-418C-BFDC-CE89148AA6CA}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..59760bb --- /dev/null +++ b/LICENSE @@ -0,0 +1,37 @@ +*************************************************************** +IdleRPG - License version 20250912 +Copyright (c) 2004-2025 IdleRPG - All Rights Reserved +*************************************************************** + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Redistributions in any form are not permitted whatsoever, +under any conditions. + +2. This software may not be reverse engineered, decompiled, +or disassembled. + +3. IdleRPG may publish revised and/or new versions of the +license from time to time. Each version will be given a +distinguishing version number. No one other than +IdleRPG has the right to modify the terms applicable +to covered code created under this License. + +4. It is your responsibility to use this software in accordance +with all applicable laws. + +*************************************************************** + +THIS SOFTWARE IS PROVIDED BY THE IDLERPG DEVELOPMENT TEAM +'AS IS' AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT +NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT +SHALL THE IDLERPG DEVELOPMENT TEAM OR ITS CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED +TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING +IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..90f71b1 --- /dev/null +++ b/README.md @@ -0,0 +1,57 @@ +# @IdleRPG +### The Original Automated IRC Idle Role Playing Game + +## About +IdleRPG or IRPG is the original automated IRC idle role playing game. + +This is a modified and updated version of the 2004 version forked from idlerpg.net. + +IdleRPG comes with a bot written in Perl, a graphical web interface written in PHP and uses a file based database. + +## Screenshots +![IdleRPG Screenshot 1](screenshot1.png?raw=true "IdleRPG Screenshot 1") +![IdleRPG Screenshot 2](screenshot2.png?raw=true "IdleRPG Screenshot 2") + +## Installation +INSTALL.txt files are included in the irpg-bot and irpg-web directories + +## Dependencies +The following frameworks and SDKs are required to develop and build this app: +* Perl +* PHP +* GD 2.0+ (or have it enabled in your php.ini, on Win32) + +The following NPM Packages are required to develop and build this app: +* None yet + +The following tools and extensions are required to develop and build this app: +* None yet + +## Projects +* irpg-bot - Bot Source +* irpg-web - Web Source +* irpg-release - Release Project + +## Contributing +Let's work better together. We are looking to collaborate with like-minded people who want to contribute in any capacity. Collaboration is open to everyone and we need your help if you are a: +* Collector +* Database Administrator +* Datter +* Developer +* Dumper +* Graphic Artist +* Translator +* Player +* Tester + +Feel free to: +* Fork the repository +* Create an issue +* Branch your repository with the issue number and a meaningful name related to the changes you are making +* Create a pull request + +## Contact +GitEmAll: [https://gitemall.devemall.int.eu.org/TommySalami/IdleRPG](https://gitemall.devemall.int.eu.org/TommySalami/IdleRPG "GitEmAll") + +--- +###### Copyright (c) 2004-2025 IdleRPG - All Rights Reserved diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..dffd979 --- /dev/null +++ b/TODO.md @@ -0,0 +1,2 @@ +### ToDo +All ToDo lists and milestones are tracked using GitEmAll diff --git a/bot.v3.1.2/README b/bot.v3.1.2/README deleted file mode 100644 index b07a016..0000000 --- a/bot.v3.1.2/README +++ /dev/null @@ -1,62 +0,0 @@ --------------------------------------------------------------------------------- -First-time users: --------------------------------------------------------------------------------- - -1. Using your favorite text editor, open the bot's source. Read the file header. - If you don't agree with the license, please delete the source and remove - each of your brain cells associated with it. Kthx. -2. Open the file .irpg.conf and edit the bot's options to suit you. You must - also move this file into the same directory where the bot resides. -3. Run it with: perl bot.filename.pl -4. If you have problems, try running it in debug mode: - perl bot.filename.pl --debug - If you cannot diagnose the problem, post to http://idlerpg.net/forum.php -5. Thanks for your interest in Idle RPG! - --------------------------------------------------------------------------------- -IRPG 3.0 users looking to upgrade: --------------------------------------------------------------------------------- - -1. Using your favorite text editor, open the bot's source. Read the file header. - If you don't agree with the license, please delete the source and remove - each of your brain cells associated with it. Kthx. -2. Open the file .irpg.conf and edit the bot's options to suit you. You must - also move this file into the same directory where the bot resides. -3. Replace your old bot source with the new one, ie, rm -f that old, buggy crap. -4. Run it with: perl bot.filename.pl -5. If you have problems, try running it in debug mode: - perl bot.filename.pl --debug - If you cannot diagnose the problem, post to http://idlerpg.net/forum.php -6. Thanks for your interest in Idle RPG! - - --------------------------------------------------------------------------------- -IRPG 2.4 users looking to upgrade: --------------------------------------------------------------------------------- - -1. Using your favorite text editor, open the bot's source. Read the file header. - If you don't agree with the license, please delete the source and remove - each of your brain cells associated with it. Kthx. -2. Run the db conversion tool: perl irpgdbtool -3. Answer the questions to suit you. -4. Open the file .irpg.conf and edit the bot's options to suit you. You must - also move this file into the same directory where the bot resides. -5. Run it with: perl bot.filename.pl -6. If you have problems, try running it in debug mode: - perl bot.filename.pl --debug - If you cannot diagnose the problem, post to http://idlerpg.net/forum.php -7. Thanks for your interest in Idle RPG! - - --------------------------------------------------------------------------------- -Pre-2.4 users looking to upgrade: --------------------------------------------------------------------------------- - -1. Using your favorite text editor, open the bot's source. Read the file header. - If you don't agree with the license, please delete the source and remove - each of your brain cells associated with it. Kthx. -2. I don't think the irpgdbtool will help you unless you're comfortable with - Perl, sorry. :/ If you are, though, you can pull the loaddb() sub from the - bot that you're currently using instead of using the loaddb() supplied in - irpgdbtool. You'll also need to add code to add in the other missing fields - that exist in v2.4. diff --git a/bot.v3.1.2/.irpg.conf b/irpg-bot/.irpg.conf similarity index 79% rename from bot.v3.1.2/.irpg.conf rename to irpg-bot/.irpg.conf index b8a4d6d..3f4af50 100644 --- a/bot.v3.1.2/.irpg.conf +++ b/irpg-bot/.irpg.conf @@ -1,67 +1,95 @@ -# Configuration file for IRPG bot. Prefix comments with a #. Line must start -# with a # to be a comment (no leading spaces and no comments starting in the -# middle of a line). +# .irpg.conf +# +# Configuration file for the bot. +# +# Prefix comments with a #. Line must start with a # to be a comment. +# (no leading spaces and no comments starting in the middle of a line). # # If you don't personally know your admins, or you're just not the trusting # type, you may want to look at the ownerpevalonly, owneraddonly, and # ownerdelonly options. ownerpevalonly prevents non-owner accounts from using # the PEVAL command, which can allow admins to execute arbitrary code under the # username that the bot runs as. owneraddonly prevents non-owner accounts from -# assigning admin status to users. ownerdelonly prevents non-owner accounts from -# removing admin status from users -# -# 'disablepeval' option was renamed to 'ownerpevalonly' +# assigning admin status to users. ownerdelonly prevents non-owner accounts +# from removing admin status from users. # # Command line options override options in this file. -# remove or comment out this line so the bot knows that you edited the config -# file +# remove or comment out this line to prove that you edited the config file. die -# local hostname or address to bind to. leave blank or comment out if you don't -# want to use a vhost -#localaddr myvhost.domain.com +# local hostname or address to bind to. +# leave blank or comment out if you don't want to use a vhost. +#localaddr irc.mynet.org +#localaddr 10.10.23.23 # server name:port, enter as many as you like -server miami.fl.us.irc-network.org:6667 +#server miami.fl.us.irc-network.org:6667 server dallas.tx.us.irc-network.org:7000 server brussels.be.eu.irc-network.org:6660 +#server irc.mynet.org:7000 +#server 127.0.0.1:7000 # bot's nickname -botnick bot +botnick IdleBot + +# bot's password +# this is the normal password usually registered on IRC +botpass iL@ved1nk + +# bot's SASL password +# this is a different password than the one you usually register on IRC +# known working on current unrealircd and all others are untested +# please contact me if you know anything about the IRC connection +# and login procedure with SASL and the codes that are transmitted +botsaslpass iL@ved1nkMor3 # bot's username -botuser bot +botuser IdleBot -# real name field -botrlnm http://www.slashnet.org/~bot/ +# bot's real name field +botrlnm IdleBot -# channel name (followed by key, if your channel uses a key -botchan #irpg s3cr3t.p4ss +# channel name (followed by key, if your channel uses a key) +# botchan #IdleRPG s3cr3t.p4ss +botchan #IdleRPG # (identify) command to send upon successful connect. if using a privmsg -# command, you must begin the text of the message with a ":" -- see below -botident PRIVMSG NickServ :identify ilovedink +# command, you must begin the text of the message with a ":" +botidentcmd PRIVMSG NickServ :identify %botpass% # modes to set bot upon successful connect botmodes +ix -# command to send upon joining channel. %botnick% will evaluate to the bot's -# current nickname, so you don't have to worry about opping the wrong person. if -# using a privmsg command, you must begin the text of the message with a ":" -- -# see below -botopcmd PRIVMSG ChanServ :op #idlerpg %botnick% +# (op) command to send upon joining channel. %botnick% will evaluate to the +# bot's current nickname, so you don't have to worry about opping the wrong +# person. if using a privmsg command, you must begin the text of the message +# with a ":" +botopcmd PRIVMSG ChanServ :op %botchan% %botnick% -# command sent to recover nick if bot's primary nickname is in use if using a -# privmsg command, you must begin the text of the message with a ":" -- see -# below -botghostcmd PRIVMSG NickServ :ghost bot ilovedink +# (ghost) command sent to recover nick if bot's primary nickname is in use if +# using a privmsg command, you must begin the text of the message with a ":" +botghostcmd PRIVMSG NickServ :ghost %botnick% %botpass% -# URL to send users to for help -helpurl http://idlerpg.net/ +# URL where users can reach the help page +helpurl https://www.mynet.org/irpg/ -# admin commands list (for admin help) -admincommurl http://idlerpg.net/admincomms.txt +# URL where users can reach the admin commands list (for admin help) +admincommurl https://www.mynet.org/irpg/admincomms.txt + +# URL where users can reach the online quest map, if available. if not +# offering a map to users, leave this blank +mapurl https://www.mynet.org/irpg/quest.php + +# URLs containing these terms will not be banned by the 'http:' +# advertisement ban (if you have it turned on). enter as many as you like +okurl ultrazone.org +okurl idlerpg.net +okurl mynet.org + +# Use URL-type banning for non-logged-in users that have been on the channel +# less than 90 seconds? +doban on # base time to level up, 600 = 10 minutes rpbase 600 @@ -87,15 +115,6 @@ debug off # while the bot is in debug mode, in lieu of STDOUT debugfile debug.txt -# Use URL-type banning for non-logged-in users that have been on the channel -# less than 90 seconds? -doban on - -# URLs containing these terms will not be banned by the 'http:' -# advertisement ban (if you have it turned on). enter as many as you like -okurl ultrazone.org -okurl idlerpg.net - # modes of silence. in mode 0, bot sends all privmsgs. in mode 1, only # chanmsg() is disabled. in mode 2, only privmsg() to non-channels is # disabled. in mode 3, privmsgs to users and channels are disabled @@ -124,10 +143,6 @@ noccodes on # problems in the past with using binary hash keys nononp on -# URL where users can reach the online quest map, if available. if not -# offering a map to users, leave this blank -mapurl http://idlerpg.net/quest.php - # allow a STATUS command for users? this is a p0 command to view information # on an irpg user. useful if you don't have a website where users can view # their stats @@ -188,11 +203,11 @@ noscale off # allow bot to access http://jotun.ultrazone.org/g7/count.php?new=1 each # time someone registers a new username? it only takes a second, and I'd # really like to be able to keep up with the total player count :^) -phonehome on +phonehome off # username of the bot's owner. this account cannot be DELADMINed and has access # to PEVAL even if it is disabled -owner jotun +owner admin # disable the PEVAL command for non-owner accounts? this command allows the # execution of arbitrary Perl code by bot admins, effectively giving them @@ -211,7 +226,7 @@ ownerdelonly on # check for newer versions each time the bot starts up? this will access the # URL http://jotun.ultrazone.org/g7/version.php?version=$version and report on # any updated versions and what features there are/bugs have been fixed -checkupdates on +checkupdates off # send list of usernames that are automatically logged back in when we restart # (iff that list is < 1 k)? this should, hopefully, no longer cause the bot to diff --git a/bot.v3.1.2/ChangeLog.txt b/irpg-bot/ChangeLog.txt similarity index 99% rename from bot.v3.1.2/ChangeLog.txt rename to irpg-bot/ChangeLog.txt index 2985918..72c2f95 100644 --- a/bot.v3.1.2/ChangeLog.txt +++ b/irpg-bot/ChangeLog.txt @@ -1,7 +1,7 @@ -This is the changelog for the Idle RPG bot by jotun, jotun@idlerpg.net, -http://idlerpg.net. Entries are written backwards. That is, items at the bottom -of the file were added first, and each subsequent addition is placed on a line -before it. Don't ask me why I do it that way: I do not know. +This is the ChangeLog for the old Idle RPG Bot Code. +Entries are written backwards. That is, items at the bottom of the file +were added first, and each subsequent addition is placed on a line before it. +Don't ask me why I do it that way: I do not know. Thanks for your interest in the Idle RPG! Feel free to contact me with ideas and comments, or post them in the forum on the website for public view. diff --git a/irpg-bot/INSTALL.txt b/irpg-bot/INSTALL.txt new file mode 100644 index 0000000..dfbb14a --- /dev/null +++ b/irpg-bot/INSTALL.txt @@ -0,0 +1,30 @@ +------------------------------------------------------------------------------- +First-time Installation: +------------------------------------------------------------------------------- + +1. Copy all of the irpg-bot files to your private web folder. The folder must + be readable and writable by the web server and able to execute Perl and PHP. +2. Edit .irpg.conf with your favorite editor. This file must be in the same + private directory where the bot resides. +3. Run the bot with: perl irpg.pl +4. If you have problems, try running it in debug mode with: + perl irpg.pl --debug +5. Edit the bot ANY WAY you see fit. +6. All milestones, issues, bugs and features are tracked using GitEmAll. + Thanks for your interest in IdleRPG! :^) + +------------------------------------------------------------------------------- +Upgrading: +------------------------------------------------------------------------------- + +1. Remove your old bot source, ie, rm -rfv that old buggy crap and start over. +2. Copy all of the irpg-bot files to your private web folder. The folder must + be readable and writable by the web server and able to execute Perl and PHP. +2. Edit .irpg.conf with your favorite editor. This file must be in the same + private directory where the bot resides. +4. Run the bot with: perl irpg.pl +5. If you have problems, try running it in debug mode with: + perl irpg.pl --debug +6. Edit the bot ANY WAY you see fit. +7. All milestones, issues, bugs and features are tracked using GitEmAll. + Thanks for your interest in IdleRPG! :^) diff --git a/bot.v3.1.2/events.txt b/irpg-bot/events.txt similarity index 100% rename from bot.v3.1.2/events.txt rename to irpg-bot/events.txt diff --git a/bot.v3.1.2/bot.v3.1.2.pl b/irpg-bot/irpg.pl similarity index 98% rename from bot.v3.1.2/bot.v3.1.2.pl rename to irpg-bot/irpg.pl index 11d0bb1..1caba8d 100644 --- a/bot.v3.1.2/bot.v3.1.2.pl +++ b/irpg-bot/irpg.pl @@ -1,20 +1,17 @@ #!/usr/local/bin/perl -# irpg bot v3.1.2 by jotun, jotun@idlerpg.net, et al. See http://idlerpg.net/ +# irpg.pl # -# Some code within this file was written by authors other than myself. As such, -# distributing this code or distributing modified versions of this code is -# strictly prohibited without written authorization from the authors. Contact -# jotun@idlerpg.net. Please note that this may change (at any time, no less) if -# authorization for distribution is given by patch submitters. +# The bot modified, released and maintained by TommySalami +# https://gitemall.devemall.int.eu.org/TommySalami/IdleRPG +# based on +# The bot originally written and released by jotun, jotun@idlerpg.net, et al. +# http://idlerpg.net/ # -# As a side note, patches submitted for this project are automatically taken to -# be freely distributable and modifiable for any use, public or private, though -# I make no claim to ownership; original copyrights will be retained.. except as -# I've just stated. +# Thanks to everyone that's contributed! # -# Please mail bugs, etc. to me. Patches are welcome to fix bugs or clean up -# the code, but please do not use a radically different coding style. Thanks -# to everyone that's contributed! +# As a side note, contributions submitted for this project are automatically +# taken to be freely distributable and modifiable for any use, public or +# private, though I make no claim to ownership. # # NOTE: This code should NOT be run as root. You deserve anything that happens # to you if you run this code as a superuser. Also, note that giving a @@ -36,7 +33,7 @@ my %opts; readconfig(); -my $version = "3.1.2"; +my $version = "0.0.2"; # command line overrides .irpg.conf GetOptions(\%opts, @@ -46,10 +43,12 @@ GetOptions(\%opts, "debugfile=s", "server|s=s", "botnick|n=s", + "botpass|a=s", + "botsaslpass|z=s", "botuser|u=s", "botrlnm|r=s", "botchan|c=s", - "botident|p=s", + "botidentcmd|p=s", "botmodes|m=s", "botopcmd|o=s", "localaddr=s", @@ -365,13 +364,19 @@ sub parse { penalize(finduser($usernick),"kick"); delete($onchan{$usernick}); } + elsif ($arg[1] eq 'notice' && $arg[2] eq $opts{botnick} && $arg[8] eq 'authenticate' && $arg[9] eq 'now') { + # send our SASL info + # known working on current unrealircd and all others are untested + # please contact me if you know anything about the IRC connection + # and login procedure with SASL and the codes that are transmitted + sts("AUTH $opts{botnick}:$opts{botsaslpass}"); + } # don't penalize /notices to the bot elsif ($arg[1] eq 'notice' && $arg[2] ne $opts{botnick}) { penalize($username,"notice",length("@arg[3..$#arg]")-1); } elsif ($arg[1] eq '001') { # send our identify command, set our usermode, join channel - sts($opts{botident}); sts("MODE $opts{botnick} :$opts{botmodes}"); sts("JOIN $opts{botchan}"); $opts{botchan} =~ s/ .*//; # strip channel key if present @@ -424,8 +429,7 @@ sub parse { if (lc($arg[2]) eq lc($opts{botnick})) { # to us, not channel $arg[3] = lc(substr($arg[3],1)); # lowercase, strip leading : if ($arg[3] eq "\1version\1") { - notice("\1VERSION IRPG bot v$version by jotun; ". - "http://idlerpg.net/\1",$usernick); + notice("\1VERSION IdleRPG bot v$version\1", $usernick); } elsif ($arg[3] eq "peval") { if (!ha($username) || ($opts{ownerpevalonly} && @@ -933,12 +937,11 @@ sub parse { elsif ($arg[3] eq "info") { my $info; if (!ha($username) && $opts{allowuserinfo}) { - $info = "IRPG bot v$version by jotun, ". - "http://idlerpg.net/. On via server: ". + $info = "IdleRPG bot v$version, via server: ". $opts{servers}->[0].". Admins online: ". join(", ", map { $rps{$_}{nick} } grep { $rps{$_}{isadmin} && - $rps{$_}{online} } keys(%rps))."."; + $rps{$_}{online} } keys(%rps)); privmsg($info, $usernick); } elsif (!ha($username) && !$opts{allowuserinfo}) { @@ -1692,9 +1695,10 @@ usage: $prog [OPTIONS] --server, -s Specify IRC server:port to connect to --botnick, -n Bot's IRC nick --botuser, -u Bot's username + --botsaslpass -z Bot's SASL password --botrlnm, -r Bot's real name --botchan, -c IRC channel to join - --botident, -p Specify identify-to-services command + --botidentcmd, -p Specify identify-to-services command --botmodes, -m Specify usermodes for the bot to set upon connect --botopcmd, -o Specify command to send to server on successful connect --botghostcmd, -g Specify command to send to server to regain primary @@ -1703,8 +1707,9 @@ usage: $prog [OPTIONS] --okurl, -k Bot will not ban for web addresses that contain these strings --debug Debug on/off flag - --helpurl URL to refer new users to - --admincommurl URL to refer admins to + --helpurl URL where users can reach the help page + --admincommurl URL where users can reach the admin commands list + --mapurl URL where users can reach the online quest map Timing parameters: --rpbase Base time to level up diff --git a/bot.v3.1.2/irpgdbtool b/irpg-bot/irpgdbtool similarity index 100% rename from bot.v3.1.2/irpgdbtool rename to irpg-bot/irpgdbtool diff --git a/bot.v3.1.2/modifiers.txt b/irpg-bot/modifiers.txt similarity index 100% rename from bot.v3.1.2/modifiers.txt rename to irpg-bot/modifiers.txt diff --git a/bot.v3.1.2/questinfo.txt b/irpg-bot/questinfo.txt similarity index 100% rename from bot.v3.1.2/questinfo.txt rename to irpg-bot/questinfo.txt diff --git a/irpg-release/App.config b/irpg-release/App.config new file mode 100644 index 0000000..193aecc --- /dev/null +++ b/irpg-release/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/irpg-release/irpg-release.csproj b/irpg-release/irpg-release.csproj new file mode 100644 index 0000000..23c7702 --- /dev/null +++ b/irpg-release/irpg-release.csproj @@ -0,0 +1,75 @@ + + + + + Debug + AnyCPU + {3C3C4730-9D32-418C-BFDC-CE89148AA6CA} + + + AnyCPU + bin\Debug\ + + + AnyCPU + bin\Release\ + + + + + + + IdleRPG + 0.0.2 + IdleRPG-Bot + IdleRPG-Web + IdleRPG-Source + $(OutputPath)Bot\ + $(OutputPath)Web\ + $(OutputPath)Source\ + $(OutputPath)Releases\ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/irpg/ChangeLog b/irpg-web/ChangeLog.txt similarity index 95% rename from irpg/ChangeLog rename to irpg-web/ChangeLog.txt index 570b698..a2eb6be 100644 --- a/irpg/ChangeLog +++ b/irpg-web/ChangeLog.txt @@ -1,7 +1,7 @@ -This is the ChangeLog for the Idle RPG Website Code. I'm not as religious about -making sure my updates make it here as I am about changes to the IRPG code -making it into that ChangeLog, so there may be changes between versions that you -don't see listed here. +This is the ChangeLog for the old Idle RPG Website Code. +I'm not as religious about making sure my updates make it here as I am about +changes to the IRPG code making it into that ChangeLog, so there may be changes +between versions that you don't see listed here. Also, please note that any use of "incowrect" or other cow-related "typos" are NOT typos. I like cattle. A lot. Please stop fixing them :^) diff --git a/irpg-web/INSTALL.txt b/irpg-web/INSTALL.txt new file mode 100644 index 0000000..8fd3619 --- /dev/null +++ b/irpg-web/INSTALL.txt @@ -0,0 +1,48 @@ +------------------------------------------------------------------------------- +First-time Installation: +------------------------------------------------------------------------------- + +1. Make sure you have the irpg-bot functional and running. +2. Copy all of the irpg-web files to your public_html/irpg web folder. +3. Edit config.php with your favorite editor. This file must be in the same + public directory where the irpg web resides. +4. chmod 644 * && chmod 666 hits.db +5. If you change the default settings in the IRPG bot (for example, if you turn + off the option to write quest info to file, you'll have to manually edit + some scripts to take this into account. If you disable the INFO command, + you might want to remove it from the index.php page. +6. Some code in this package requires that your system have GD 2.0+ (or have it + enabled in your php.ini, on Win32). If you don't want this functionality to + be available, edit the script playerview.php to remove the use of the map + and header.php to remove the links to the world map and the quest info page. + You can also delete the worldmap.php, makeworldmap.php, makemap.php, + quest.php, and makequestmap.php scripts. +7. Edit the website ANY WAY you see fit. You don't have to keep all of the + links to me, I just thought they might be useful or interesting to users :^) +8. All milestones, issues, bugs and features are tracked using GitEmAll. + Thanks for your interest in IdleRPG! :^) + +------------------------------------------------------------------------------- +Upgrading: +------------------------------------------------------------------------------- + +1. Remove your old web source, ie, rm -rfv that old buggy crap and start over. +2. Make sure you have the irpg-bot functional and running. +3. Copy all of the irpg-web files to your public_html/irpg web folder. +4. Edit config.php with your favorite editor. This file must be in the same + public directory where the irpg web resides. +5. chmod 644 * && chmod 666 hits.db +6. If you change the default settings in the IRPG bot (for example, if you turn + off the option to write quest info to file, you'll have to manually edit + some scripts to take this into account. If you disable the INFO command, + you might want to remove it from the index.php page. +7. Some code in this package requires that your system have GD 2.0+ (or have it + enabled in your php.ini, on Win32). If you don't want this functionality to + be available, edit the script playerview.php to remove the use of the map + and header.php to remove the links to the world map and the quest info page. + You can also delete the worldmap.php, makeworldmap.php, makemap.php, + quest.php, and makequestmap.php scripts. +8. Edit the website ANY WAY you see fit. You don't have to keep all of the + links to me, I just thought they might be useful or interesting to users :^) +9. All milestones, issues, bugs and features are tracked using GitEmAll. + Thanks for your interest in IdleRPG! :^) diff --git a/irpg/admincomms.txt b/irpg-web/admincomms.txt similarity index 96% rename from irpg/admincomms.txt rename to irpg-web/admincomms.txt index 1f9e5f2..1a53de1 100644 --- a/irpg/admincomms.txt +++ b/irpg-web/admincomms.txt @@ -1,6 +1,5 @@ This is not the full list of commands for the Idle RPG bot, but only the list -of admin commands. For more information on the Idle RPG bot, visit -http://idlerpg.net/ +of admin commands. INFO, retrieve some fairly useless stats about the bot. diff --git a/irpg/commonfunctions.php b/irpg-web/commonfunctions.php similarity index 100% rename from irpg/commonfunctions.php rename to irpg-web/commonfunctions.php diff --git a/irpg-web/config.php b/irpg-web/config.php new file mode 100644 index 0000000..2287f87 --- /dev/null +++ b/irpg-web/config.php @@ -0,0 +1,61 @@ + diff --git a/irpg-web/contact.php b/irpg-web/contact.php new file mode 100644 index 0000000..4efd232 --- /dev/null +++ b/irpg-web/contact.php @@ -0,0 +1,55 @@ +Contact"; + if (!$irpg_site_email) { + echo "
Config error. The config file was not loaded correctly.
\n"; + } + else if ($irpg_site_email == "disabled") { + echo "
Email is disabled.
\n"; + } + else if ($irpg_site_email == "php" && $_POST['from'] && $_POST['text']) { + $to = $admin_email; + $subject = "IdleRPG: ".$_POST['from']; + $message = "Name: ".$_POST['name']."\nE-mail: ".$_POST['from']."\n\n".$_POST['text']; + $additional_headers = "From: ".$_POST['from']."\r\n"; + mail($to, $subject, $message, $additional_headers); + echo "
Thanks for your submission.
\n"; + } + else if ($irpg_site_email == "smtp" && $_POST['from'] && $_POST['text']) { + echo "
SMTP Email is under construction. Your submission was not submitted.
\n"; + } + else { + echo "
\n". + " \n". + " \n". + " \n". + " \n". + " \n". + " \n". + " \n". + " \n". + " \n". + " \n". + " \n". + " \n". + " \n". + " \n". + " \n". + "
:\n". + " \n". + "
:\n". + " \n". + "
\n". + "
\n". + "
\n". + " \n". + "
\n". + "
\n"; + } + + include("footer.php"); +?> diff --git a/irpg/db.php b/irpg-web/db.php similarity index 97% rename from irpg/db.php rename to irpg-web/db.php index 78ba930..ab9c35c 100644 --- a/irpg/db.php +++ b/irpg-web/db.php @@ -1,12 +1,9 @@ - +
\n"; } - echo(' -
User @@ -248,10 +245,9 @@ "
-

- * Accounts created before Aug 29, 2003 may have incowrect data fields. - '); + echo " \n". + "

\n". + " * Accounts created before Aug 29, 2003 may have incorrect data fields.\n"; + include("footer.php"); ?> diff --git a/irpg/down.png b/irpg-web/down.png similarity index 100% rename from irpg/down.png rename to irpg-web/down.png diff --git a/irpg/dump.php b/irpg-web/dump.php similarity index 100% rename from irpg/dump.php rename to irpg-web/dump.php index 2f29898..193bc57 100644 --- a/irpg/dump.php +++ b/irpg-web/dump.php @@ -4,8 +4,8 @@ // should use the new xml.php to glean player info, which is much more // suited to db changes. header('Content-Type: text/plain'); - include("commonfunctions.php"); include("config.php"); + include("commonfunctions.php"); $file = file($irpg_db); $header = explode("\t",$file[0]); unset($header[1]); // password diff --git a/irpg-web/footer.php b/irpg-web/footer.php new file mode 100644 index 0000000..9c4d0d4 --- /dev/null +++ b/irpg-web/footer.php @@ -0,0 +1,39 @@ + + + + diff --git a/irpg/g7.css b/irpg-web/g7.css similarity index 100% rename from irpg/g7.css rename to irpg-web/g7.css diff --git a/irpg/head.png b/irpg-web/head.png similarity index 100% rename from irpg/head.png rename to irpg-web/head.png diff --git a/irpg-web/header.php b/irpg-web/header.php new file mode 100644 index 0000000..13b2982 --- /dev/null +++ b/irpg-web/header.php @@ -0,0 +1,44 @@ + + + + + <?php echo $irpg_page_title; ?> :: <?php echo $irpg_chan; ?> + + + + + +
+\n"; +?> +
+ +
diff --git a/irpg-web/hits.db b/irpg-web/hits.db new file mode 100644 index 0000000..fce6d51 --- /dev/null +++ b/irpg-web/hits.db @@ -0,0 +1,10 @@ +contact.php 420 Jul 4, 2016 +db.php 420 Jul 4, 2016 +forum.php 420 Jul 4, 2016 +index.php 420 Jul 4, 2016 +playerview.php 420 Jul 4, 2016 +players.php 420 Jul 4, 2016 +quest.php 420 Jul 4, 2016 +worldmap.php 420 Jul 4, 2016 +g7.css 420 Jul 4, 2016 +idlerpg.png 420 Jul 4, 2016 diff --git a/irpg/idlerpg-adv.txt b/irpg-web/idlerpg-adv.txt similarity index 100% rename from irpg/idlerpg-adv.txt rename to irpg-web/idlerpg-adv.txt diff --git a/irpg-web/idlerpg.png b/irpg-web/idlerpg.png new file mode 100644 index 0000000000000000000000000000000000000000..d250b0ace4f9c142ecc5203174cdfd80cd223234 GIT binary patch literal 6780 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 B&o%%6 literal 0 HcmV?d00001 diff --git a/irpg-web/idlerpg_000000.png b/irpg-web/idlerpg_000000.png new file mode 100644 index 0000000000000000000000000000000000000000..d250b0ace4f9c142ecc5203174cdfd80cd223234 GIT binary patch literal 6780 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 B&o%%6 literal 0 HcmV?d00001 diff --git a/irpg-web/idlerpg_025D30.png b/irpg-web/idlerpg_025D30.png new file mode 100644 index 0000000000000000000000000000000000000000..e9321ff05cf245e652d6188f6c2312a278cf75a5 GIT binary patch literal 8122 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 Csbs_e literal 0 HcmV?d00001 diff --git a/irpg-web/idlerpg_ff0000.png b/irpg-web/idlerpg_ff0000.png new file mode 100644 index 0000000000000000000000000000000000000000..8b278cee8e9de040c987bd28f9e8342e33d39a85 GIT binary patch literal 6959 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 I?Z5NC0GRUi6#xJL literal 0 HcmV?d00001 diff --git a/irpg/index.php b/irpg-web/index.php similarity index 79% rename from irpg/index.php rename to irpg-web/index.php index 4ec015e..c44dfce 100644 --- a/irpg/index.php +++ b/irpg-web/index.php @@ -1,93 +1,72 @@ -

Game Info

-

The Idle RPG is just what it sounds like: an RPG in which the players - idle. In addition to merely gaining levels, players can find items and - battle other players. However, this is all done for you; you just idle. - There are no set classes; you can name your character anything you like, and - have its class be anything you like, as well.

-

Location

-

- The Idle RPG can be played on the - SlashNET IRC Network in the - channel #G7. See this - link for a list of servers. -

- +

Idle RPG

-

Registering

- +

Game Info

+

The Idle RPG is just what it sounds like: an RPG in which the players + idle. In addition to merely gaining levels, players can find items and + battle other players. However, this is all done for you; you just idle. + There are no set classes; you can name your character anything you like, + and have its class be anything you like, as well.

+ +

Location

+

The Idle RPG can be played on the + + in the channel + . +

+ +

Registering

To register, simply:

- - - /msg REGISTER <char name> <password> + + /msg REGISTER <char name> <password> <char class> - - +

Where 'char name' can be up to 16 chars long, 'password' can be up to 8 characters, and 'char class' can be up to 30 chars.

- -

Logging In

- +

Logging In

To login, simply:

- - - /msg LOGIN <char name> <password> - - + + /msg LOGIN <char name> <password> +

This is a p0 (see Penalties) command.

- -

Logging Out

- +

Logging Out

To logout, simply:

- - - /msg LOGOUT - - + + /msg LOGOUT +

This is a p20 (see Penalties) command.

- -

Changing Your Password

- +

Changing Your Password

To change your password, simply:

- - - /msg NEWPASS <new password> - - + + /msg NEWPASS <new password> +

This is a p0 (see Penalties) command.

If you have forgotten your password, please use the INFO command to find an online admin to help you. If your administrator does not have the INFO command enabled, then just message an op in the channel. They can probably help you.

- -

Removing Your Account

- +

Removing Your Account

To remove your account, simply:

- - - /msg REMOVEME - - + + /msg REMOVEME +

This is a p0 (see Penalties) command :^)

- -

Changing Your Alignment

- +

Changing Your Alignment

To change your alignment, simply:

- - - /msg ALIGN <good|neutral|evil> - - + + /msg ALIGN <good|neutral|evil> +

This is a p0 (see Penalties) command.

Your alignment can affect certain aspects of the game. You may align with good, neutral, or evil. 'Good' users have a 10% boost to their item @@ -105,73 +84,54 @@ off as neutral.

I haven't run the numbers to see which alignment it is better to follow, so the stats for this feature may change in the future.

- - -

Obtaining Bot Info

- + + + +

Obtaining Bot Info

To see some simple information on the bot, simply:

- - - /msg INFO - - + + /msg INFO +

This is a p0 (see Penalties) command.

This command gives info such as to which server the bot is connected and the nicknames of online bot admins.

This command is optional, and may be disabled by your bot admin.

- - -

Levelling

- +

Levelling

To gain levels, you must only be logged in and idle. The time between levels is based on your character level, and is calculated by the formula:

- - 600*(1.16^YOUR_LEVEL) - +

600*(1.16^YOUR_LEVEL)

Where ^ represents the exponentiation operator.

Very high levels are calculated differently as of version 3.0. Levels after level 60 have a next time to level of:

- - (time to level @ 60) + ((1 day) * (level - 60)) - +

(time to level @ 60) + ((1 day) * (level - 60))

The exponent method code had simply gotten to that point that levels were taking too long to complete.

- -

Checking the Active Quest

- +

Checking the Active Quest

To see the active quest, its users, and its time left to completion:

- - - /msg QUEST - - + + /msg QUEST +

This is a p0 (see Penalties) command.

- -

Checking Your Online Status

- +

Checking Your Online Status

To see whether you are logged on, simply:

- - - /msg WHOAMI - - + + /msg WHOAMI +

This is a p0 (see Penalties) command.

- -

Penalties

+ - +

Penalties

If you do something other than idle, like part, quit, talk in the channel, change your nick, or notice the channel, you are penalized. The penalties are time, in seconds, added to your next time to level and are based on your character level. The formulae are as follows:

- @@ -208,10 +168,8 @@

Penalty shorthand is p[num]. So, a nick change is a p30 event, parting the channel is a p200 event, and quitting IRC is a p20 event. Messages and notices are p[length of message in characters].

- -

Items

- +

Items

Each time you level, you find an item. You can find an item as high as 1.5*YOUR_LEVEL (unless you find a unique item). There are 10 types of items: rings, @@ -223,82 +181,59 @@ enabled, but you cannot see which items you have over IRC (only your total item sum). You can, however, see which items you have on the web here.

-

As you may guess, you have a higher chance of rolling an item of a lower value than you do of rolling one of a higher value level. The exact formula is as follows:

- - - for each 'number' from 1 to YOUR_LEVEL*1.5
-   you have a 1 / ((1.4)^number) chance to find an - item at this level
- end for - - +

for each 'number' from 1 to YOUR_LEVEL*1.5
+   you have a 1 / ((1.4)^number) chance to find an + item at this level
+ end for

As for item type, you have an equal chance to roll any type.

- - -

Battle

- +

Battle

Each time you level, if your level is less than 25, you have a 25% chance to challenge someone to combat. If your level is greater than or equal to 25, you have a 100% chance to challenge someone. A pool of opponents is chosen of all online players, and one is chosen randomly. If there are no other online players, you fight no one. However, if you do challenge someone, this is how the victor is decided:

-
    -
  • Your item levels are summed.
  • -
  • Their item levels are summed.
  • -
  • A random number between zero and your sum is taken.
  • -
  • A random number between zero and their sum is taken.
  • -
  • If your roll is larger than theirs, you win.
  • +
  • Your item levels are summed.
  • +
  • Their item levels are summed.
  • +
  • A random number between zero and your sum is taken.
  • +
  • A random number between zero and their sum is taken.
  • +
  • If your roll is larger than theirs, you win.
-

If you win, your time towards your next level is lowered. The amount that it is lowered is based on your opponent's level. The formula is:

- - - ((the larger number of (OPPONENT_LEVEL/4) and 7) / 100) * - YOUR_NEXT_TIME_TO_LEVEL - - +

((the larger number of (OPPONENT_LEVEL/4) and 7) / 100) * + YOUR_NEXT_TIME_TO_LEVEL

This means that you lose no less than 7% from your next time to level. If you win, your opponent is not penalized any time, unless you land a Critical Strike.

-

If you lose, you will be penalized time. The penalty is calculated using the formula:

- - - ((the larger number of (OPPONENT_LEVEL/7) and 7) / 100) * - YOUR_NEXT_TIME_TO_LEVEL - - +

((the larger number of (OPPONENT_LEVEL/7) and 7) / 100) * + YOUR_NEXT_TIME_TO_LEVEL

This means that you gain no less than 7% of your next time to level. If you lose, your opponent is not awarded any time.

-

Battling the IRPG bot is a special case. The bot has an item sum of 1+[highest item sum of all players]. The percent awarded if you win is a constant 20%, and the percent penalized if you lose is a constant 10%.

-

As of version 3.0, if more than 15% of online players are level 45 or higher, then a random level 45+ user will battle another random player every hour. This is to speed up levelling among higher level players.

-

Also as of version 3.0, there is a grid system. The grid is a 500 x 500 area in which players may walk. If you encounter another player on the grid, you have a 1 / (NUMBER_OF_ONLINE_PLAYERS) chance to battle them. Battle awards are calculated using the above formulae. More information on the grid system is available here.

-

Also as of version 3.0, a successful battle may result an item being stolen.

- - -

Unique Items

- + + + +

Unique Items

As of v2.1.2, after level 25, you have a chance to roll items significantly higher than items you would normally find at that level. These are unique items, and have the following stats:

@@ -358,34 +293,28 @@
Nick change 1 / 40
- -

The Hand of God

- + +

The Hand of God

As of v3.0, every online user has a (roughly) 1/20 chance per day of a "Hand of God" affecting them. A HoG can help or hurt your character by carrying it between 5 and 75 percent towards or away from its next time to level. The odds are in your favor, however, with an 80% chance to help your character, and only a 20% chance of your character being smitten.

-

In addition to occurring randomly, admins may summon the HoG at their whim.

- -

Critical Strike

- + + +

Critical Strike

As of v2.0.4, if a challenger beats his opponent in battle, he has a 1/35 chance of landing a Critical Strike. If this occurs, his opponent is penalized time towards his next time to level. This amount is calculated by the formula:

- - ((random number from 5 to 25) / 100) * OPPONENT'S_NEXT_TIME_TO_LEVEL - +

((random number from 5 to 25) / 100) * OPPONENT'S_NEXT_TIME_TO_LEVEL

Meaning he gains no less than 5% and no more than 25% of his next time to level.

- -

Team Battles

- +

Team Battles

As of v3.0, every online user has (roughly) 1/4 chance per day of being involved in a 'team battle.' Team battles pit three online players against three other online players. Each side's items are summed, @@ -393,34 +322,24 @@ the second group in combat, 20% of the lowest of the three's TTL is removed from their clocks. If the first group loses, 20% of their lowest member's TTL is added to their TTL.

- -

Calamities

- +

Calamities

As of v3.0, every online user has a (roughly) 1/8 chance per day of a calamity occurring to them. A calamity is a bit of extremely bad luck that either:
- a) slows a player 5-12% of their next time to level
b) lowers one of their item's value by 10% -

- -

Godsends

- +

Godsends

As of v3.0, every online user has a (roughly) 1/8 chance per day of a godsend occurring to them. A godsend is a bit of extremely good luck that either:
- a) accelerates a player 5-12% of their next time to level
b) increases one of their item's value by 10% -

- -

Quests

- +

Quests

As of v2.3, there are Quests. Four level 40+ users that have been online for more than ten hours are chosen to represent and assist the Realm by going on a quest. If all four users make it to the quest's end, @@ -433,48 +352,50 @@ must reach certain points on the map for their quest to be complete. If the quest is not completed, ALL online users are penalized a p15 as punishment.

- - -

Grid System

- + + + +

Grid System

As of v3.0, the IRPG has a grid system. The grid can be considered a 500 x 500 point map on which the players may walk. Every second, each player has an equal chance to step up, down, or neither, and an equal chance to step left, right, or neither. If a user encounters another player, there is a 1/(NUMBER_OF_ONLINE_PLAYERS) chance that they will battle one another. Normal battling rules apply.

-

Some quests require that users walk to certain points on the map. In the spirit of IRPG, of course, the trek is made for you. Your character will automatically walk in the direction that it is supposed to, although at a much slower than normal pace (to avoid accidents, of course. you don't want to fall down and risk a Realm-wide p15!).

- - -

Item Stealing

- + + + +

Item Stealing

As of v3.0, the IRPG has item stealing. After each battle, if the challenger wins, he has a slightly less than 2% chance of stealing an item from the challengee. Only items of a higher value are stolen, and the challenger's old item is given to the challengee in a moment of pity.

- - -

Credits

- +

Credits

Many thanks to version 3.0's map creators, res0 and Jeb! The game wouldn't be the same without you.

-

- The IRPG would not be possible without help from a lot of people. +

The IRPG would not be possible without help from a lot of people. To jwbozzy, yawnwraith, Tosirap, res0, dwyn, Parallax, protomek, Bert, clavicle, drdink, jeff, rasher, Sticks, Nerje, Asterax, emad, inkblot(!), schmolli, mikegrb, mumkin, sean, Minhiriath, and Dan, I give many thanks. Unfortunately, this list has grown too large to maintain. More user contributions can be seen in the - ChangeLog. + ChangeLog.

- - +

Source

+

The new source code, + modified, released and maintained by TommySalami

+

based on

+

The old source code, + originally written and released in 2004 by jotun, jotun@idlerpg.net, et al.

+ diff --git a/irpg/makemap.php b/irpg-web/makemap.php similarity index 95% rename from irpg/makemap.php rename to irpg-web/makemap.php index d5ace6a..d2b180d 100644 --- a/irpg/makemap.php +++ b/irpg-web/makemap.php @@ -1,20 +1,19 @@ - 0) { // $rgb is 0 on our parchment-colored areas @@ -54,6 +52,7 @@ // text itself imageString($map,5,$stringx+7+($width/2),$stringy-($height/2)-1,$user,$parchment); } + header("Content-type: image/png"); imagePNG($map); imageDestroy($map); diff --git a/irpg/makequestmap.php b/irpg-web/makequestmap.php similarity index 93% rename from irpg/makequestmap.php rename to irpg-web/makequestmap.php index 50bf488..c7342f5 100644 --- a/irpg/makequestmap.php +++ b/irpg-web/makequestmap.php @@ -1,15 +1,15 @@ - -

Players

Pick a player to view

[gray=offline]

@@ -15,23 +15,20 @@ usort($file, 'cmp_level_desc'); foreach ($file as $line) { list($user,,,$level,$class,$secs,,,$online) = explode("\t",trim($line)); - $class = htmlentities($class); $next_level = duration($secs); - - print " ".htmlentities($user). - ", the level $level $class. Next level in $next_level.\n"; - + echo " ".htmlentities($user). + ", the level $level $class. Next level in $next_level.\n"; } ?> -

For a script to view player stats from a terminal, try this perl script by +

For a script to view player stats from a terminal, try + this perl script by daxxar.

-

See player stats in table format.

- - + diff --git a/irpg/playerview.php b/irpg-web/playerview.php similarity index 93% rename from irpg/playerview.php rename to irpg-web/playerview.php index ca201f3..afc4431 100644 --- a/irpg/playerview.php +++ b/irpg-web/playerview.php @@ -1,18 +1,15 @@ Player Info"; $file = fopen($irpg_db,"r"); fgets($file,1024); // skip top comment @@ -101,7 +98,6 @@ "

". "

Penalties

\n". "

\n"; - ksort($pen); $sum = 0; foreach ($pen as $key => $val) { @@ -109,7 +105,6 @@ $sum += $val; } echo "
\n total: ".duration($sum)."

\n"; - $file = fopen($irpg_mod,"r"); $temp = array(); while ($line=fgets($file,1024)) { @@ -124,9 +119,9 @@ } fclose($file); if (!is_null($temp) && count($temp)) { - echo('

'); + echo "

"; echo $_GET['allmods']!=1?"Recent ":""; - echo('Character Modifiers

'); + echo "Character Modifiers

"; if ($_GET['allmods'] == 1 || count($temp) < 6) { foreach ($temp as $line) { $line=htmlentities(trim($line)); @@ -144,13 +139,10 @@ } } if ($_GET['allmods'] != 1 && count($temp) > 5) { -?> -
- [View all Character Modifiers ()] -

-\n". + " [View all Character Modifiers (".count($temp).")]\n". + "

\n"; } } include("footer.php"); ?> - diff --git a/irpg/quest.php b/irpg-web/quest.php similarity index 99% rename from irpg/quest.php rename to irpg-web/quest.php index e6aab1a..9429505 100644 --- a/irpg/quest.php +++ b/irpg-web/quest.php @@ -1,9 +1,10 @@ Current Quest\n"; - include("commonfunctions.php"); $file = fopen($irpg_qfile,"r"); $type=0; while ($line=fgets($file,1024)) { diff --git a/irpg-web/rw.css b/irpg-web/rw.css new file mode 100644 index 0000000..8384fcf --- /dev/null +++ b/irpg-web/rw.css @@ -0,0 +1,117 @@ +body { + font-family: "Trebuchet MS", Arial, Helvetica, sans-serif; + background-color: #202020; + background-image: url(wall.gif); + color: #c0c0c0; + margin: 10px; + text-align: justify; +} + +h1 { margin-bottom: 0px; margin-top: 0px; } +h2 { margin-bottom: 0px; } + +p.small { margin: 0px; font-size: smaller; } + +a { text-decoration: none; color: #FF4040; } +a:hover { text-decoration: underline; color: #FF8080; } + +div.head { + border: 1px solid #c0c0c0; + text-align: left; + width: 100%; + margin-bottom: 10px; + background: #151515; +} + +div.menu { + width: 120px; + position: relative; + float: left; + border: 1px solid #c0c0c0; + background: #151515; +} +div#menu a.home { color: #c0c0c0; background: #202020; border: 1px solid #c0c0c0; } +div#menu a.home:hover { background: #202020; border: 1px solid #c0c0c0; } +div#menu a { + text-align: center; + width: 118px; + margin: 0px; + display: block; + border: 1px solid #c0c0c0 +} + +div#menu a:hover { border: 1px solid #c0c0c0; background: #202020; text-decoration: none; } + +div.content { + border: 1px solid #c0c0c0; + margin-left: 130px; + margin-top: 0px; + padding: 10px; + background: #202020; +} + +div.footer { + border: 1px solid #c0c0c0; + margin-left: 130px; + margin-top: 10px; + padding: 10px; + background: #202020; + text-align: center +} + + +table.uniques { + border: 1px solid #c0c0c0; + padding: 5px; + text-align: left; +} +table.uniques td { + padding-left: 10px; +} + +table.penalty { + border: 1px solid #c0c0c0; + padding: 5px; + text-align: left; +} +table.penalty th { + text-align: right; +} +table.penalty td { + +} + +/* Styles for the userlist */ +li.online { font-weight: bold; } +li.offline { color: #c0c0c0; } +a.offline { color: #707070; } +#map { + width: 500px; + height: 500px; + background-image: url(newmap.png); +} + + +table.forum { + border: 1px solid #c0c0c0; + table-layout: fixed; + overflow: auto; +} + +table.forum td,tr,caption,thead,tfoot,th { + padding-left: 10px; + padding-right: 10px; +} +.tdblue { background-color: #ffffdf; } +.tdgray { background-color: #eeeee0; } +.tdred { + border: 1px solid red; + background-color: #202020; +} +.smallest { + font-size: 11px; +} + +table th { +white-space: nowrap; +} \ No newline at end of file diff --git a/irpg/tablegrad.gif b/irpg-web/tablegrad.gif similarity index 100% rename from irpg/tablegrad.gif rename to irpg-web/tablegrad.gif diff --git a/irpg/up.png b/irpg-web/up.png similarity index 100% rename from irpg/up.png rename to irpg-web/up.png diff --git a/irpg-web/wall.gif b/irpg-web/wall.gif new file mode 100644 index 0000000000000000000000000000000000000000..645aba4671887a05cb2709843a642ca03f0fdbc9 GIT binary patch literal 2154 zcmV-w2$lCoNk%w1VE_RD0kZ%A000082nY}m5EvL3At53E|NsC0|NsC0|NsC0|NsC0 z|NsC0|NsC0|NsC0|NsC0EC2ui000310RRO4aL7rky)@{}yZ>M)j%3*hXsWJk>%MR- z&vfl#cwU)&@BclUa7Zi~g}NjT$ZR@I$Eb8ly(zDmr*`|SdcR;Ac0Ayk&%CgDttMm9 z@VJLfuSeZixjt_1`^9)kdxK_whKDPGf`p7th>wPfI*pV-ke7CnIhCAgn4fK$7@ede zpr>D=qou5KsIOA07p=4#u(w9C7PYmwzDT-RysW>)Gr_{cq{hrI$P>!M&C@E+649m9 z+5*;P*qz(d-QVEh&Ew>i=I7Sw>g&en?u_v9?ep~Yzw-Ed`uq3#`TK{9pFlnYZy7v@ zCZWQB4Bzhw4}%;?G8D~;Er$i&m~vUUNlmA<+mu~u)=^(?Ydm9_f-*8b<-egu-ypBMB6sNi`67U>~p)@AS=c1wp(T0pZ{w{$mlgdWQY_l0gh-kEK`bzDn)|QH`m&^qj%4=S@ie9)mjvHLL z=9-6YjOrfuMZ4}w7iPTK%}ejQDdKw>81xdrZ;1Ym2JpW2W?67;2e&&ghzn2Gu(=Oo z81Z6Z1YGfj7e|&c!r1xQac3VpoN$yQH&-&nCnuS*8)|6Wvbb!LTZPOa-}y2bF@p>o zqdSk$v&lKb88j9{vs`qVM_-Y&s~bPqv=UE88nuH{CsDPTR~MMI4qJmebGkLJd$Z5X zr22IZVO!ZXfotQ?wv%t~7dHlT8(Fu0cVCdVk9)({w*`OO82EdGS5UZ%hliIq1&f>5 zICzgw5P66GlRrhG*;L^CbD@<>aCwETu^Vu^nln?JzNed;x-qMp-g>037Zdy0v(r9T zGq-o1yY4pIUOMi-TUq-ry-!iRnaBH*ycElO**q@KM-jd8yQ@CD@7Mb{{VmlW(Y=x1 z!xFv`<9nYy?At4!zKi9*a()r-!@s`pFRfg^g7Kp=KN0)uQ2$Qxzaa#WLIVUv0flhD z1tstk3$#H4`FB6$wGVm|1keL95y2W{P=gh8-UY4qLHlg*5*?&L2~8M6>Wxr*D`d|J zA(6rv#88GU1m6qMcSH5e@DVkXK@WYHL-XyBenUjh4-pZ>7$i}NMU>wW0r*7oEb$Oc zghBoltr$iBP0@f`ykbX;;W^?wi%MM_V+zVxg2+A&@PwV?7Lc1Vpkxk?>%o5geHaKB`fYMWAFgEICF@57^x)mo`9rhp#JQc z5QVOQp&oOnA0c{3i9TwWs)u!4CZt^6LVEe5BSqH1r>P6FlkYTLp-7Ol%=9dDNLU#)2O=CgH!!h43`?tqcV@G zM71hSNoZ58u8^x7(H~NSp;WQzRCZ1^YYEZ18n~`i7j4~?RLh#wFuE0}JB@2!t4P=0 z*!8P&#pz#-8rZwaBCnL%D^C;a)5S8Cdy^gP6APOhuSyTB0p#prUh6N1rAe!6?R}rEI3LJc3FcJ5#b!W`<1y^mK|l6d zkFgMB0u|YAL%zb1^|NHbC0PkgeovGg_v9o@89Y~>Wh*s|Kn|yv!6hbcX4yMj`i2?4 zWybH9QC4LgWEr{vQd^sI@MbPQcT?(JbCT)|QfQgDx|HJcIKA~J=h6mR&on!;ebek; gL}Pe!Vg@gY8Ev#V<3P}89 @@ -11,12 +12,12 @@
IdleRPG World Map -\n"; } fclose($file); @@ -24,4 +25,6 @@
- + diff --git a/irpg/xml.php b/irpg-web/xml.php similarity index 72% rename from irpg/xml.php rename to irpg-web/xml.php index 4fbc158..cf0c901 100644 --- a/irpg/xml.php +++ b/irpg-web/xml.php @@ -1,20 +1,14 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/irpg/contact.php b/irpg/contact.php deleted file mode 100644 index bc29914..0000000 --- a/irpg/contact.php +++ /dev/null @@ -1,47 +0,0 @@ -Contact"; - if ($_POST['from'] && $_POST['text']) { - mail($admin_email,"IRPG: ".$_POST['from'], - "Name: ".$_POST['name']."\nE-mail: ".$_POST['from']."\n\n". - $_POST['text'],"From: ".$_POST['from']."\r\n"); - echo('
Thanks for your submission.
'); - } - else { - echo(' -
- - - - - - - - - - - - - - - -
: - -
: - -
-
-
- -
-
-'); - } - include("footer.php"); -?> diff --git a/irpg/footer.php b/irpg/footer.php deleted file mode 100644 index c7a33bb..0000000 --- a/irpg/footer.php +++ /dev/null @@ -1,35 +0,0 @@ -
- - - diff --git a/irpg/header.php b/irpg/header.php deleted file mode 100644 index 8b05113..0000000 --- a/irpg/header.php +++ /dev/null @@ -1,47 +0,0 @@ - - - - - <?echo $irpg_chan;?> Idle RPG: <?echo $irpg_page_title;?> - - - - - - - -
-'); -?> -
- - - -
diff --git a/irpg/hits.db b/irpg/hits.db deleted file mode 100644 index f05175c..0000000 --- a/irpg/hits.db +++ /dev/null @@ -1,16 +0,0 @@ -contact.php 3992 Apr 22, 2003 -db.php 5869 Jun 13, 2003 -index.php 66845 Apr 22, 2003 -playerview.php 144029 Apr 5, 2004 -players.php 51366 Apr 5, 2004 -source.php 13036 Apr 5, 2004 -sitesource.php 7956 Apr 5, 2004 -others.php 13649 Apr 5, 2004 -donate.php 1333 Apr 5, 2004 -donated.php 4 Apr 6, 2004 -forum.php 1799 Jul 13, 2004 -quest.php 242 Jul 13, 2004 -worldmap.php 235 Jul 13, 2004 -1 Jul 15, 2004 -g7.css 1 Jul 15, 2004 -idlerpg.png 1 Jul 15, 2004 diff --git a/screenshot1.png b/screenshot1.png new file mode 100644 index 0000000000000000000000000000000000000000..a04967fde4a6936a0582430a6f004a5ac960f2d8 GIT binary patch literal 59203 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 XHMRg@8}xI43LqspwL67>89)0UHjsN! literal 0 HcmV?d00001 diff --git a/screenshot2.png b/screenshot2.png new file mode 100644 index 0000000000000000000000000000000000000000..019bd254ab93cbffeaeb54736eafb849fc92e526 GIT binary patch literal 80081 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