Jump to content
xisto Community

8ennett

Members
  • Content Count

    435
  • Joined

  • Last visited

Everything posted by 8ennett

  1. I came across slitaz a few years ago and found it a nifty little distro. I only really got the distro to use aircrack with. I threw it on my acer aspire one (slitaz was originally designed for that netbook) booting it off a flash disk using unetbootin to put it on. It was incredibly handy because I was able to just carry the key around with me and 'test' wireless security around my various friends homes.I couldn't find much use for the previous versions beyond aircrack through as KDE would crash four out of five times when startx'ing it up and it didn't really have any other software worth using on the command line. I thought the crash might have been related to the flash disk, so I tried putting it on cd and still the same problem. After that I installed it off the cd on to a hdd and yet still the KDE server would crash when loading the GUI.What you were saying about the german keyboard layout being default wasn't the case the previous versions, it was US, but you also had 5 seconds on the initial startup to change the keyboard layout as well simply by typing uk, us, de etc. during startup (which was handy because i'm sick of US default OS's lol) but the selection was kind of limited. I think there were only about 10 different keyboard layouts.Downloading the latest version of slitaz now to have a little look. Since they've released a newer version recently hopefully they have sorted the stability issues. I noticed they've updated it with a 2.6 kernel, the older one was only 2.2 so that's a bonus. Also they've included a wider variety of keyboard layouts and expanded the UTF library.Glad to see slitaz is back in development though.
  2. So I discovered today a curious game named Foldit. To quote from the site: Source: http://fold.it/portal/info/science Now this unique game came to my attention after an announcement on the news that Foldit has actually yielded a scientific breakthrough in combatting AIDS. The breakthrough saw online gamers complete a challenge in three weeks that had puzzled scientists for over a decade. Foldit gamers were able to create a protein model that enabled researchers to refine into a workable model. This is really very intriguing and opens the concept of using "gamers" to tackle other problems that have baffled scientists. Imagine using online puzzle games to create protein strands to combat cancer for instance. Converting scientific methods in to a more user friendly format that will appeal and attract people to interact with (such as games) is a great way of finding those hidden minds out there that have abilities they never knew they had. There is always someone out there who has mastered a game to its full extent as most of you probably know. I think this recent breakthrough though is a sign that we may see more scientific research-based games being created in the future and possibly being integrated in to our every day life. I already support the fact that we can share computing power for scientific gain (grid computing), but imagine if we all had a little piece of software running in the background of our computers that aided in scientific breakthroughs. If everyone who owned a computer and internet connection was running this software then the amount of computing power provided would be immense. Let's turn the world in to one massive supercomputer lol
  3. Welcome to Xisto, looking forward to your contributions
  4. Just a quick update regarding my personal programmer, I tried visiting the old website for the company that designed the software as well http://www.mpacttech.com/ and it's displaying the exact same under construction page so it looks like mpact technologies are making a comeback with a new version of MPP.
  5. Well the software I was planning on designing was actually a wizard style layout for designing a game using PGE, a lot of people find it easier to use desktop software more than web interfaces, then once you had finished designing your game in the wizard it would compile the php code then upload the files via ftp to the users web host. From the sounds of it C# is probably the better option for this. The only functions I would really need to build in to the wizard would be forms and such (for designing the game), file writing (for compiling the php source code) and ftp connectivity to upload the files and execute database commands (although that would probably need to be done through php execution). I'm just not all that happy with the current web interface for PGE at the moment, it's fine for advanced users but the whole point of PGE is to offer the ability to build php mmorpg games with little to no advanced skills with web design. Through ftp I would be able to get the software to configure the file structures properly and also to make updating the engine with patches, newer versions and module installations so much easier. With Java as well I also have to consider the JVM requires more resources than a compiled C# program and some of my users may not have very fast computers. Think I'll go with C# for the wizard, seems much easier. There's always My Personal Programmer, I've still got an old copy of that lying round somewhere with a license key. If it does still work on later machines then it might be easier than learning C# (for now anyway), would give me more time to work on the game engine. It's probably really out-dated now, I don't think the company that made it still exists.I was looking for it again a couple of years back and the website had completely vanished from the web, and the only downloads for it were all download sites that connected to the homepage for the software to download it, so it literally vanished from the web. A new site is under construction now with the old address, http://www.mypersonalprogrammer.com/ but if it's a new version of the old software being designed or something similar then it would be interesting to see what they come up with.
  6. So I've decided to extend my coding knowledge further and am wondering which direction I should take, the Microsoft .NET route with C# or the JAVA route.From what I've been able to ascertain, C# offers greater efficiency when it comes to computer resources, however Java actually uses a lot more resources for its graphical interface side.It's not so much web content I'm after, if it was then Java would be the obvious choice, but if I learned C# then I would be able to create a more advanced gaming engine software, or at least a construction wizard for completely designing my php game engine before constructing.Well anyway, what are your opinions on the subject? C# vs Java...
  7. 8ennett

    Process Tamer

    'kill', shame it isn't that easy in windows lolMy previous windows machine was an old throw-out from college when I was a student there, I had to get three of them just to salvage parts to create one working machine lol and I used it for a long time with an OEM copy of Windows Proffesional on it. It had a pentium 4, viglen bios and an old phoenix board with 768mb ram, three hdd (30gb, 20gb, 10gb) and a cdrom drive (I removed the floppy). Now this had a serious problem with system resources becoming drained and being forced to reboot every now and then, although like you said it was a lot better than previous versions of windows. After a while I got a laptop with Vista home on it and although it was actually faster than the XP home it had the same problem. It was a lot less gradual drain on resources than xp home but still it eventually it would require a reboot.Now I'm running a pc tower with the latest version of Vista Business Edition, when I bought the pc I ran a windows update like you do and there was only two security updates which was a bonus (I'm sure you guys have experienced a fresh install update of an older copy of windows, it can take hours lol). This new pc has been running now for 3 weeks and I've had no drain on resources at all. I've not had to reboot or power off at all so it would seem Microsoft are finally starting to get things right. Hopefully the problem has been fully resolved in Win7 and if not then maybe when 8 comes out, but for now I'm happy using my business edition of vista.Process Tamer sounds perfect though for my older windows machine. I was considering wiping it and throwing a debian distro on there, but I'll give Process Tamer a go as there as I've gathered up a small collection of different softwares which I really can't be bothered hunting for again lol. I might however just go with the debian distro then turn it in to a server machine.
  8. Maybe try switching the channel your router is using. I've found this is the case a lot of the time with other peoples wireless connections, especially in places such as apartment buildings. The problem with the channel comes from other equipment in your home using similar frequencies, cordless phones for instance. These don't tend to affect pc towers as they generally provide more power to their wireless devices negating a lot of the effects caused by other devices, however laptops tend not to provide as much power to their wireless devices and so if your router is on the same channel as a different device (even a neighbours router can cause this) then you will notice a significant reduction in wireless speeds.If you are using a netgear router btw just bin it, netgear need to learn how to make a real router lol (linksys all the way), but seriously if you are using a netgear router then turn off the auto-channel as that tends to set your channel to the same channel as everything else. Try going through all your different channels until you find one where you have optimal speeds.If that fails however then you probably have a faulty wireless card and need to replace it.
  9. Yeah sorry about that, I'd had quite a few drinks last night and tend to get a little passionate when in that state lolInteresting report, I suppose the fact it was considered at all says a lot.
  10. I use an i68+ sciphone, ok so it's a chinese knockoff but still a natty little phone for the price, 8gb micro sd card and full touchscreen for only £50 new, not a bad deal.Anyway it comes with a built-in ebook reader which can read most text formats including txt, pdf and rtf. It's not as adjustable with the font settings and such like fbreader however it works well, displays the text at a reasonable size and is easily scrollable. The downside however is when reading rtf text it usually puts two line breaks instead of one when going on to the next paragraph. Nice little app though, mind you I got my sciphone about 3 years ago so the app is probably pretty out-dated by now.
  11. Well it's an age-old thing this, using excess forms of energy for use in other places (at least I think that was what your initial statement was regarding). Use the excess heat off one thing to warm up another thing, and use the excess coldness of something to cool down other things.A practical example of this was back in the early years of the Roman Empire. They would place their kitchens (well more so their ovens to be accurate) in the basements of their buildings and have slaves cook their food over roaring fires, however these fires would also be used in unison with vents that ran beneath the floors of the upper building to produce underfloor heating. As time progressed the Romans adopted the attitude of many of us today and built the fires purely to provide heating for the buildings and cooked their food in seperate ovens, but that is where the original concept came from, using cooking fires to also heat homes (very industrious of them).Placing servers in homes to heat them however is somewhat of a wild idea, for one there is nowhere near enough servers in the world to heat the homes of everyone, not nearly enough, so only a select few would have them, plus the inconvenience of having technicians on hand to tend to the servers and so on would make your house rather crowded. Also you need to consider the fact that servers need to be cooled rapidly. The reason servers need to be cooled is to prevent overheating which would cause serious damage to the components that make up a server. Electricity travels faster through heat than cold (as you will notice if you flash freeze a power line) so cooling servers can only be taken to a certain level. But like the Roman central heating system, the heat source needs to be kept hot in order to produce enough heat to actually create a noticeable difference in ambient temperature to where the heat is being directed. Heat is not channelled from servers to elsewhere, the servers need to be kept in a low temperature environment which reduces the amount of heat they produce. If the heat were to be channelled then that would defeat the purpose of cooling them at all as they would still be producing heat. Instead the servers are kept in a cool environment where the server is cooled at the same temperature it is heating up, preventing over heating. Because of this method of cooling there is no excess heat to channel therefore there is no practical means to use a server as a heat source. The only way you could use a server to produce heat would be at the expense of the servers lifespan which would inevitably be short considering the amount of heat required to warm up a household.On a smaller scale you could consider your PC. The processor in your computer produces a large amount of heat when running, however you do not feel the heat from your pc as the cooling fan inside it transfers cool air from around your tower to the copper blocks on top of your processor, which in turn channel the cold air to your processor in the form of cool metal. This prevents your processor from overheating, but at the same time you can be sat next to your computer all day and not feel any additional heat from it because of this cooling system.It's interesting how you have pointed out the layout of a server room and the practical reasons for spacing out each server, however the initial statement of using servers to warm a household is factually incorrect and not a viable means of producing heat at all. Perhaps some form of heat exchange system may be plausible in the future, but for now rapid cooling of a server in a temperature controlled environment is the only means to prevent overheating and permanent damage within servers, at least from a cost-effective view anyhow. Any other working method would cost more than it would to just heat a home through gas or oil fuelled boilers utilising hot water through radiators.
  12. There are many distinguishing features of a hit counter, some stay plain and simple and increment every time a person visits a particular page regardless of any other factors. Other are slightly more advanced and increment only if the person visiting has an IP that hasn't been recorded before, and others go even further and track users who have visited before using cookies and other methods to prevent a unique user count from incrementing if the same person has already visited (even with a different ip), and then you get the ones that use all kinds of tracking information and so on and pull all kinds of data from the user to be used for nefarious purposes mwahahahaha lol For a simple hit counter that increments only when a new IP visits the site then get a hosting account with a mysql database (like Xisto for instance), create the following table: CREATE TABLE `hitcount` { `id` int(255) NOT NULL auto_increment, `ip` int(15) NOT NULL, PRIMARY `id`} The on your home page where you want to place the counter insert the following php script: <?php$openhitcount = mysql_connect('Your database connection details go here');mysql_select_db('Your database name goes here');if (mysql_num_rows(mysql_query("SELECT id FROM hitcount WHERE ip=".mysql_real_escape_string($_SESSION['server']['REMOTE_HOST']))) == 0){ mysql_query("INSERT INTO hitcount (ip) VALUES (".mysql_real_escape_string($_SESSION['server']['REMOTE_HOST']).")");}echo "We've had ".number_format(mysql_num_rows(mysql_query("SELECT id FROM hitcount")))." visitors";mysql_close($openhitcount);?> or something similar to that anyway, I've had a lot to drink so my php functions may not be spelled correctly or my code format may be out of whack, either way that's a very simple, very secure and very effective hit counter...I think...lol
  13. You would have to be familiar with the engine first I suppose before this tutorial would make sense. Why not give it a go? The engine creates a text based rpg that is also massively multiplayer. When I say text based that just means that the game is mostly compiled from text and images, not like the old text adventure games like Zork lol. You have characters stats such as money, health, level etc. Have you ever played games online similar to ones like http://md1.mafiadeath.com/ (I wouldn't recommend that one though, they are the reason I decided to build my own lol)? The object of the game is to increase your stats and become the most powerful character in the game so you can lord it over your underlings lol ok so that's not the real object of the game but that's why most people play them. There's some example images in my mmorpg tutorial series as well that should give you a better idea of how it works. The modules and addons are simply extensions to your game, a bank, a gym, an airport. Different modules can be downloaded from the project site (well soon they can be anyway) and each one helps to shape your game. You simply put the module in to the modules directory, go in to the admin panel in your game and click install on the modules list each module you want to install. I've tried to make adding new features to your game very easy for amateur users and make development of modules simple for those who have php abilities.
  14. So this tutorial is designed for people who want to start creating their own modules for the Praetorian Game Engine. It assumes you have a basic knowledge of PHP, MySQL, HTML and CSS. PGE isn't just about using the engine to create yourself a game limited by the modules that are available for you to download from the project site, but about giving you a platform to easily develop your own additions to your game easily and professionally and with little effort. This tutorial will cover the following concepts: Directory Structure Module Setup Main and admin page Database management Available config variables Error and information messages Styles and layout Custom cron jobs Available classes and functions There are two different types of module for PGE. The first are referred to as modules. These are additions which once installed will be displayed on the left hand main menu of PGE. The second type are referred to as addons. The addons actually install to a module directory named Downtown (although users can rename the menu item) and is a sub-catalogue of other modules. This makes things easier as Modules are designed for main operations in PGE such as the home page, player profiles and the support system and addons are designed for more mass listings in the Downtown section. If all addons and modules were displayed on the main menu then it would become pretty long and ruin the look and feel of your game. Choosing wether you should make your new module a Module or Addon is the first thing you should do. Just remember that Addons cannot be accessed when a player is in hospital or prison. There isn't much different when developing modules and addons, the setup files, directory structures, icons and so on are all identical. All you need to remember is when developing a module the directory it is contained in will be modules/mymodule and with addons it is modules/downtown/addons/myaddon. For the purpose of this tutorial we will assume you are developing a module. Directory Structure Directory structure is very important in module development as PGE looks for specific files when installing and running your module. In your local copy of PGE, go to the root directory then to modules/ and create a new folder. Now the name of this folder is going to be your modules system name so try to make it unique otherwise it may conflict with a different modules system name which would mean you could only install one or the other. Maybe think of a prefix for your module names such as codeteam_mymodule. Also be sure to make your folder name all lowercase to prevent confusion. So lets say you have created the directory modules/abc_bank. It's important to add here, if you are creating an addon instead of a module then you will need to create a 15x15 gif image named icon.gif (modules/downtown/addons/abc_bank/icon.gif) and this icon will be displayed next to your addons name in the Downtown module. If you are making a module then you don't need to create this icon. Module Setup Create the new php file 'modules/abc_bank/setup.php'. This file contains all the setup information and general PGE config for your module and is included in every instance of your module when playing the game. The setup is simply a list of variables with their appropriate values. Some of these variables are required and others are optional. Required Variables $modulename = The name displayed on the module installation screen $moduleversion = The version number of your module (text string) $moduleauthor = Your name or your development teams name $modulewebsite = Your website address $moduledescr = A brief description of your module $menuname = This is the default name of the main left menu item or downtown item if an addon $menupermissions = Default module permissions, possible values are Super, Admin, Mod, User (use no spaces, eg. SuperAdminModUser) Optional Variables $viewinprison = Only set this if you want your module to be loadable even when the player is in prison (not available for addons) $viewinhospital = Same as above except applies when in hospital instead of prison There are other variables that can be put in here which will be covered later in the tutorial. It is also important to remember that your setup.php variables must be contained within an if statement that tests if the variable $setupinclude is set. This variable is set just before this setup file is included in PGE and is a means of preventing the setup page from being accessed directly (by typing http://forums.xisto.com/no_longer_exists/) instead of being included. Since this page really only contains variables then it's not so important but it's good to get in to the habit, especially with your main and admin pages. So here is an example setup.php file which we will use for our bank module. <?php if (isset($setupinclude)){ $modulename = "PGE Bank"; $moduleversion = "1.0"; $moduleauthor = "Martyn Bennett"; $modulewebsite = "http://drug-mann.com;; $moduledescr = "A bank where a player can deposit and withdraw their money to keep it from getting mugged."; $installq[0] = "ALTER TABLE `".$configprefix."userlist` ADD `bank` INT( 20 ) NOT NULL DEFAULT '0'"; $uninstallq[0] = "UPDATE ".$configprefix."userlist SET money=money+bank"; $uninstallq[1] = "ALTER TABLE `".$configprefix."userlist` DROP `bank`"; $menuname = "Bank"; $menupermissions = "SuperAdminModUser"; $viewinprison = true; $viewinhospital = true; } ?> As you can see this is our bank setup file and can be view whilst in both hospital and prison, default permissions are for everyone and the menu name is just Bank. Also notice the install query and the uninstall queries. When installing the module we add an extra field to the USERLIST table called bank where players can deposit their money, and when uninstalling first we put all the money in the bank back in to the players hand first, then we remove the bank field from the table. Also notice the [0] and [1] increment. You could alternatively use the php array() function to set your $uninstallq variable like so: $uninstallq = array(0=>"UPDATE ".$configprefix."userlist SET money=money+bank", 1=>"ALTER TABLE `".$configprefix."userlist` DROP `bank`"); Either way is fine, as long as PGE can loop through the array to execute each query. You may have notice the variable $configprefix in the queries there as well just before the userlist table name. That will be explained to you later in the databases section. Main And Admin Pages Now you have your setup file you are ready to start creating your module. In the abc_bank directory create another new file and name it abc_bank.php. When searching the directories for each module to load PGE will look for a file with the EXACT same name as the directory it's in. It won't work if you put in an index.php file or such like, so make sure it is the same as the directory name. Next inside your new abc_bank.php file you will need to include the following php code just like with the setup file: <?php if (isset($homeinclude)){ // Your module goes here } ?> The $homeinclude variable ensures that it is PGE accessing the php page instead of someone just typing in to their browser http://forums.xisto.com/no_longer_exists/. Be sure that all your module content is contained within this IF statement, and if you create other php files in your module and include them in your abc_bank.php file then use the same system to ensure they are not being accessed outside of PGE. This is also the reason why it is essential that GLOBAL VARIABLES are turned off in your php.ini file before you can install PGE. If you want your module to include an admin panel where game admins can change certain aspects of your module then you will need to create two new directories and a couple of files. First create a directory (in your abc_bank directory) named images (again, all lowercase) then inside that create an image named admin.png. This is going to be the icon displayed on the PGE module admin tab, it can be any dimensions as PGE automatically resizes it. You don't need to create this icon, however it creates a sense of individuality between modules. Next, in the abc_bank directory again create a new folder name admin and in that create a php file named admin.php (so modules/abc_bank/admin/admin.php). Remember to enclose the contents of this module inan IF statement the same as with the abc_bank.php file. Now you have the template for creating your module and it is now installable and uninstallable. Give it a go by going in to the addons and modules section of the admin panel and clicking install on the list of uninstalled modules. Database Management The key thing to remember when running your queries is that the database connection is already open and so there is no need to run mysql_connect(), mysql_select_db() mysql_close() as this is all done for you. Running mysql queries is simply a matter of putting in mysql_query(). If you do enter any of these functions that have already been run then it could cause problems in PGE. There is another important thing you need to know about running mysql queries. When typing in your query and declaring the table name, you MUST insert the config variable named $configprefix. This is a PGE config variable (covered in the next section) and it is for people who require a table prefix for their databases. So the table name is userlist however the web host requires all table names have a prefix of myname_, the table userlist then becomes myname_userlist. The PGE admin should have configured the table prefix before hand in PGE so the prefix myname_ is stored in the variable $configprefix. So instead of running the following query: mysql_query("SELECT id FROM userlist WHERE name='8ennett'"); You would instead run this query: mysql_query("SELECT id FROM ".$configprefix."userlist WHERE name='8ennett'"); Which translates into "SELECT id FROM myname_userlist WHERE name='8ennett'". If you fail to insert the $configprefix variable before your table names then on copies of PGE that require a table prefix the query will fail, resulting in your module not being fully compatible with a large portion of PGE installations. Available Config Variables So all the standard config variables are available to your modules without needing to call them. You must also remember that these are reserved variables so writing new values in to them in your module can seriously mess up PGE. On top of the config variables being avaiailble, the entire contents of the USERLIST table for the current player is stored as an array in $_SESSION['user']. So if you want to access the current players money it is stored in $_SESSION['user']['money'], or the current players name then $_SESSION['user']['name'] and so on. Here is a list of the config variables: $confighost = Database host $configuser = Database username $configpass = Database password $configdb = Database name $configprefix = Table prefix $configport = Database port $configenginerelease = The current release version of PGE $configsitename = Your sites name $configsiteaddress = The base address of your site $configsiteadminemail = Main admins email address $configsitecopyright = Who owns the copyright on the site $configsitestyle = The current style of the site $configsitecharset = The character set for all text $configsiteerrorbox = The error box used to display messages $configsiteerrorboxtimeout = The amount of time an error box is displayed for in seconds $configsitewhoseonline = How long a player is inactive in seconds before being classed as OFFLINE $configsitedisable = How long in seconds a players account is disabled if they enter the wrong pass $configsitedisableamount times $configsitewrongimage = How many times a player gets the anti-spam question wrong before they are logged out $configsitedisableamount = How many incorrect logins before the account is disabled $configshowimage = The odds a player is taken back to the anti-spam question $configavatarsize = The max size of a players avatar file in bytes $configsiteleveluphp = The amount of hpmax a player receives when levelling up $configsitelevelupen = Same as above but with energy, enmax $configsitelevelupst = Same again but with stamina, stmax $configsitelevelupxp = The multiplier for next xp goal $configsmtp = The method used to send emails $configsmtpserver = The SMTP server used to send emails $configsmtpport = The SMTP Port $configsmtpusername = If SMTP server requires SSL validation this is the username $configsmtppassword = Same as above but the password $configmailphploc = The location of the PEAR Mail.php file $configmailvalid = The email sent out to validate an account $configmailpass = The email sent out for a lost password $configsiteintro = The introduction text displayed on the index page of the site $configsiteregoff = The BBCode message displayed on the index page when new registrations are turned off $configsiteservoff = The BBCode message displayed when the server is turned off Error and information messages You may have noticed the messages that pop up in a time-delayed box on the screen when using PGE. These error boxes are very easy to set and use BBCode so you can stylise your messages and include images as well if you like. To display a message simply set the variable $error with your message, that's it. PGE will then convert that string in to an message box alert using the default errorbox. So if you want to set an error alert and set the text to red you would use the following code: $error = '[colour=#FF0000]You have entered an invalid number[/colour]'; This will then display an errorbox alert with your message in red text in it. Styles and layout Adhering to the styles layout is important, because if someone decides to change their site style to a different one you want your module to change with it right? It would probably be best if you went through one of the existing PGE modules to get a fuller idea of the styles you can use for different html elements and have a look through the default stylesheet too. I'll outline some key styles here for you now on constructing a basic framework to display your module in. To create the main container for your window it is simply a table with two cells, the table being given a class name of "moduletable", the first cell (and first row) is "moduletablehead" and the second cell (and second row) is "modulerow". Here is the example code: <table cellpadding="0" cellspacing="0" class="moduletable"> <tr> <td class="moduletablehead">Bank</td> </tr> <tr> <td class="modulerow">Module content goes here</td> </tr> </table> So you can see that in the first cell is where you put the header for your module and the second is where the rest of the module content goes to. Remember also about the limitations of width. The width of free space inside your module container is at maximum 570px-580px. Anything wider than this will begin disfiguring the layout of PGE. Custom cron jobs PGE has four seperate cron jobs to work with, one that runs every five minutes (try to avoid using this as it can start to bog down the server the more players there are), one that runs every hour on the hour, one that runs daily and one that runs weekly (the server is taken offline during these last two as they are usually the heaviest on the database and need to adjust players stats all at once without giving anyone an advantage). There are two seperate methods for adding your own cron job/s to PGE. The first is very simple and similar to queries that run when installing and uninstalling modules. Create a new array in your setup.php file and name the variable either $cronfive[0], $cronhour[0], $cronday[0] or $cronweek[0] depending on how often you want the query to run. So example code: $cronday[0] = "UPDATE ".$configprefix."userlist SET bank=bank+(bank*0.02) WHERE bank>0"; Now this statement runs once a day and adds 2% interest to everyones bank account where players actually have money in the bank. Now this method is only for running standard mysql queries. Sometimes you need to add a bit more and run certain tests, check variables and so on which requires php to achieve so this is incorporated in the second method. To run a php script that contains all the data you need for your cron create a new file in your modules/abc_bank/ directory named either cronfive.php, cronhour.php, cronday.php or cronweek.php and PGE will call this php script when it is time to run the cron. To prevent unauthorised running of the cron as with the admin and main pages, contain all the php in the script in an IF statement like so: <?php if (isset($runcustomcron)){ // Cron php goes here } ?> Available classes and functions I'm not going to run through the entire list of available functions, that will be available in the PGE Developers Handbook once it has been written. I'll outline a couple of important functions which will give your module a more integrated feel with PGE. userName($userid);$userid is the id of whatever players name you want to display. Try to avoid echoing $_SESSION['user']['name'] and instead use this function. It displays the users name, makes the name a hyperlink to their account and the title of the anchor is the players account type (Admin, Moderator, User) and is displayed when you mouse over the link. getProfileImage($userid);Returns the file path of a players avatar image and returns the path to the nopic.png image if the player hasn't uploaded an avatar. Use in the src="" in a <img> html tag like '<img src="<?php echo getProfileImage($_SESSION['user']['id']); ?>" />'. getNPCImage($npcid)The same as the above function however input the NPC's id instead and it will return the NPC's image. resizeImage($originalImage, $return, $toWidth, $toHeight)This function is used to scale down images so they do not disfigure your modules. $originalImage is the link to where the original image is. $return has a value of either width or height and returns the scaled down value of the $return. $toWidth is the maximum width of the scaled image and $toHeight is the same but with height. This feature is commonly used with the getProfileImage() and getNPCImage() functions like so: <img src="<?php echo getProfileImage($_SESSION['user']['id']); ?>" title="<?php echo $_SESSION['user']['name']; ?>" width="<?php echo resizeImage(getProfileImage($_SESSION['user']['id']), 'width', 150, 150); ?>" height="<?php echo resizeImage(getProfileImage($_SESSION['user']['id']), 'height', 150, 150); ?>" border="0"/> BBCode($str);Formats $str and replaces all BBCode tags (eg. [colour=#FF0000]Error[/colour]) with html tags that give the effect of the BBCode. You will need to echo this function as it only returns the string, it doesn't echo it. checkUserTransfer($id1, $id2, $alert, $type);You may offer players the ability to transfer items and cash between each other. This function should be run to when ever a player tries to initiate a transfer between account. It first checks to see if the players have the same IP, if they do the function returns a false value and inputs a new case in the admin/mod case list outlining what type of transfer. If the players have the same IP AND have identical passwords it probably means they are one and the same person with multiple accounts and both accounts are automatically disabled and the function still returns a false value. If everything is fine then this function returns a true value. $id1 is the userid of the player initiating the transfer. $id2 is the player $id1 is trying to send to. $alert is the BBCode friendly alert message input in the admin/mod case file and $type is the name of the alert type ('Money Transfer', 'Item Transfer' etc.). Here is an example of its use: if (checkUserTransfer($_SESSION['user']['id'], $otherplayer['id'], '[user]'.$_SESSION['user']['id'].'[/user] tried to send .number_format($moneytosend).' to [user]'.$otherplayer['id'].'[/user]', 'Money Transfer')){ // Continue sending money } else { $error = '[colour=#FF0000]Could not send money![/colour]'; } Conclusion So this is a rough guideline for developing your own modules for PGE. This version of the tutorial is accurate for PGE version 0.9.1b and should probably be compatible with later versions too. I hope this is helpful and gets you on your way. It's taken me some time to write lol I had to have several breaks so I didn't end up repeating myself and stop making sense. Ironically I have written this tutorial to both get you going on developing your modules and to pay off my arrears with my webhost so I can put the project site back up. Have fun and happy developing!
  15. An open development platform with more possibilities with little expense to resources like the .NET framework and other similar frameworks are responsible for giving birth to great innovations in software and media development. It gave developers around the world the opportunity to create great things and paved the way for companies, including Microsoft, to take these ideas to the next level and produce some of the groundbreaking tools we have at our disposal today.Removing the .NET framework from future versions of Windows is taking away a platform and restricting the possibilities of many unnamed developers who could have used it to continue bringing us innovative and practical solutions. Sure there is always the linux platform and its continuing mission to encourage independant development, but that's not the issue. Instead of taking away Microsoft should be developing and expanding the .NET framework to make it more secure, less constrictive and provide better and more efficient resource management, not removing it completely.I haven't had chance to go through all the replies to this topic but hopefully this has been picked up on. Microsoft can't have it their way when ever they feel like it, independant development is the corner stone to all information technologies.
  16. Yeah I've lost my internet connection at home and couldn't afford to get it reconnected. I'm using my mobile phone at the moment and it's costing me even more. I ran out of myCENTs and haven't had chance to get back on to Xisto and earn myself some more. I'd earned enough for the whole month before it was due however one of my other sites was due for termination and DIDN'T terminate. That left me with two invoices to pay which I couldn't afford. I have to make up enough to pay off the current debt ($1.77) and cover next months fee which is due on the 4th of next month. Looks like i'm going to be typing a lot over the next few hours so watch out Xisto cus I'm gonna stick my nose in to every single new post since my last visit lolThe project site shoudl be back up soon, but it's typical since I had just released the BETA version of the game engine right before the site went down. Beta testing kinda stopped after that lol
  17. I learned my php from an online tutorial, just google "PHP 101", after that I started working on various projects myself and when I got stuck I would look up various code snippets and examples online of how other people have achieved what I wanted to, that way I could learn for myself how to overcome problems, learn new tricks and techniques, it just develops from there really. You have to have a passion for coding as well in order to create something unique and useful as well as being willing to put the time in to your code.
  18. My favourite has to be Dreamweaver, although I'm still using the old MX version since it's grown on me loads since I first bought it many years ago. Many people don't like the dreamweaver IDE however I find it useful, easy to use and lightweight. When working with php code it has the type of syntax highlighting that I have grown acustomed to, and also has function hints that popup while you are typing a function for a quick reminder of the boolean order of that function. It's also good how it integrates the php code in to the gui. Speaking of the gui I haven't found a better visual means of designing a web page. I still use the code side for the more advanced and intricate page layout however using the gui can often speed things along greatly.The latest dreamweaver suite (CS5 I think) is going to be pretty expensive now I reckon, another reason why I stuck with my licensed MX version, but if you can afford the money I would recommend getting it.Also, I can't say I have any need for the built-in testing server features or site organisational tools either, but they are there and available if you need them.
  19. I had similar troubles on my phpBB forums. That's the problem with a lot of these open-source forums out there, it's great that people create them and hand them out for free but the wrong people get a hold of the code and create ways of defacing them using Xrumer blasts and such.There are loads of great modules out there now for phpBB systems for combating spam the only trouble is eventually the spammers find ways around them and you're back to square one. So many man hours are wasted just removing spam from forums, and many of the companies that are being advertised have no idea their SEO companies are doing it. I've had quite a few SEO's fired from various companies after complaining to the people on the other end of the links. Of course there are those who don't care about how they are advertised as their websites contain immoral content as it is, such as pornography and illegal medication.One way I found of keeping them at bay was to create my own anti-spam methods. This way they aren't a public distribution which means the spammers can't get their hands on the code and find weaknesses in it. My favourite method creating a random array of four colours and four numbers, applying each number to a colour and displaying them in a random order, a square block of colour with a number written inside it. Next it gives you a mathematical question using the colours instead of the numbers, and the operators (+, - etc.) having many different variants including using words like multiplied by, subtracted from and so on. The names of the styles that have the colour content in them is also a randomised named so it isn't as easy to disassemble the source code and automate it that way. Because of the highly complex nature of the anti spam code and considering it's completely unique and only displayed on my site, the odds of someone building it in to software such as xrumer is very low, why go to all the work just for one forum when there are thousands more out there right?Unfortunately many people who own and operate the forums out there don't know how to program their own anti spam methods, which means they have to rely on publicly released methods. It's a shame really, I know it wouldn't be possible but if everyone who owned and operated a forum could create their own anti spam systems then the spammers would be forced in to doing it all manually again like back in the 90's. It was thanks to spammers have no automated means of sending out their garbage that widely discouraged the practice and you were left with little to no spam on any BBS system (then again forum systems weren't as popular as chatrooms back in those days). If only we could force them back in to manual techniques again the internet would be a much better place.
  20. You have got it exactly right about sitepoint books. I got a copy of the PHP anthology V1 and V2 from them, it was complete trash. I was hoping it would start off with the basics as with all books then move on to more advanced coding methods, but it never did. It started out by outlining the entire history of PHP and then moved on to garbage about proper code structure (several chapters in I might add and still not a single coding example). I was highly surprised to actually find coding examples in the book in the end, and not examples that are of any use either. If I wanted to learn how to echo static text then I wouldn't have bothered buying a book, I would have just used html to print the text instead. Volume 2 however was a completely different story, it actually starts out with a few coding examples strangely enough, then when you get to the next chapter OH NO, as starscream has so elequently put it, more word salad.It seems that these books are more designed for people that want to know ABOUT php but don't really want to learn php. It gives you just enough coding examples so you can understand basic terminology and methodology behind the code, but you don't actually know anything else about it. If you tried learning from these books then went on to do a project, I can guarantee you it will become very difficult to do very fast. I wonder what kind of qualifications the authors behind these books actually have. Maybe there are just slightly competant people being hired to write books by people who don't understand anything about the subject. This means the people hiring don't have a clue what they are looking for and the slightly competant authors have oversold their abilities. The people hiring wouldn't know the difference and ultimately they become a company of incompetant people spewing out incompetant word salad creating a new generation of incompetant people who believe they know more than they do.Anyway the point being, I want my money back!
  21. I always thought the myth of girls who are gamers being nerdy and ugly was ridiculous. The mother of my son is a hardcore gamer, but she's also a catwalk model as a profession and she isn't the first good looking woman I've met who plays games and loves anime as well thinking about it. Mind you it seems to be the fasion where I live to put your intelligence on display instead of acting like it's a bad thing to have. This has led to loads more people just being themselves instead of feeling compelled to follow fads to try and fit in.As for the issue of them loving gaming more than sex, with the exception of one or two I know the rest don't really feel that way. I know this from experience lol, mind you these people weren't the type to take online surveys either so they are an overlooked sect. Maybe if the poll were "Attractive Female Gamers Love Gaming More Than Sex" it might have provided a more interesting insight, however it's not exactly politically correct now is it? And it wouldn't be nice having to tell someone that they are too ugly to enter a poll. I think that two polls, one "Attractive Female Gamers Love Gaming More Than Sex" and the other "Unattractive Female Gamers Love Gaming More Than Sex" would probably yield opposing results, purely because unattractive female gamers tend to play MMO games as a means of escaping reality due to loneliness, where as the more attractive female gamers play purely for enjoyment whilst enjoying a sexually active social life. I really hate to stereotype here, I feel bad just saying these things, but the sad fact is it is also true. If you are unattractive, you tend to avoid going out as much because you find it difficult to meet new people when you have no self confidence. This leads to a more sheltered existence.
  22. yordan, it seems to be a purely online editor embedded in the page. Seems to be a pretty basic construct using a couple of jQuery functions to parse the custom syntax. Also the custom syntax seems to be more of a nuisance than a benefit. The buttons provided on the editor don't supply you anywhere near enough custom syntax to create a decent html page. Because of this if you want a html tag that isn't included in the buttons you have to type it in yourself. When you start mixing real html with the custom syntax it's possible you could accidentally trigger a parsing character without knowing it, then when you copy the source you are copying the incorrect html markup. It would probably work out better if they didn't have the custom syntax operators being parsed at the same time as html. Either stick with one or the other. The preview panel is nothing special, I've thrown together a quick example of how to do this without using jQuery. It may not look pretty but that's easily fixed with a little css modifying. <div style="position: absolute;height: 40%;border: 2px solid #FF0000;width:90%;"><textarea id="input" style="position:relative;height:100%;width:100%;" onkeyup="document.getElementById('preview').innerHTML=this.value;" onkeypress="document.getElementById('preview').innerHTML=this.value;"></textarea></div> <div style="position:absolute;height:40%;border: 2px solid #000000;width:90%;top:50%;" id="preview"></div> As you can see it's simply two DIV elements and a TEXTAREA with a little javascript thrown in. This will modify the contents of the preview div with the html you typed in to the textarea. And since it's being displayed in a html div tag, the browser you are using parses it as html giving you an accurate preview in real time. With an extra little piece of coding you can write a javascript file to use BBCode instead of html and parse the output in the preview panel. Backpager does seem to have potential, the design of the page is easy on the eyes and laid out in an efficient format. Maybe some work on the features such as more code buttons (text alignment, text color etc.) and parsing new lines in the editor with line breaks and paragraphs in the preview pane. I like the undo/redo feature as well, thumbs up to jquery for that. Maybe if implementing this type of editor to a wiki site or something similar, try replacing the html and custom syntax with standard BBCode parser instead. You can write one up in PHP using the preg_replace function to swap the bbcode for html and still display the output in a live preview on the page using AJAX. BBCode seems to be easier to understand than the custom syntax at Backpager.
  23. Just a quick update on the new project I have been developing. The project is now in its BETA testing stage now and aside from amending any bugs that are found during this phase and some additional work on the template system, the projects 1.0 release is close to being finished. Thanks to everyone who has been contributing their time to testing PGE, without you there would probably be a lot more overlooked bugs in the system.
  24. This project was stopped quite some time ago I'm afraid in favour of designing a game creation engine instead of just a game. You can however view the progress of this new project over at http://forums.xisto.com/no_longer_exists/.
  25. Did anyone see the music logo on google the other day? It was commemorating Les Paul's 96th birthday and was an interactive guitar spelling out Google. You just run your mouse over the strings to strum it and you could even record a track and download it. I know they are only amusing for a couple of minutes, but they're still amusing. Google Logo - https://www.google.com/logos/2011/lespaul.html
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.