Jump to content

Recommended Posts

Posted

Last time many people asking for PHP scripts so I made this small tutorial how to make own scripts for common tasks. I hope it will be useful. Notice: You will not find here working examples! You have to do it by urself its easy!

 

Basics

 

PHP

 

If wiki said so it have to be true. But for l2 developers it's simple, fast, easy to learn and flexible tool for display and manage data of ur server.

There are many tutorial trough the web so I will not copy that. All u have to know is on www.php.net.

 

SQL

SQL is query language for handling DB's. L2off use MSSQL but basic grama and structure is similar for all sql db's like MySql etc. Use google to find out basics.

 

What u need to use it

You need web server ( like apache ) and php. Here u got easy tutorial how to set it up on windows. You can also download pack like Xamp if feel that u can not handle doing it by urself...

 

Connecting to db

First u have to enable mssql extension in php.ini ( if ur using windows ).

Then we use mssql_connect function to  connect to db, like:

<?php
$db = @mssql_connect("host","user","password") or die("Unable to connect to server");
?>

We save our connection into variable. If connection faild script will end with msg.

 

Selecting db

 

Now we have to select db what we want working on like:

<?
mssql_select_db('[some db name]', $db);
?>

 

Queries

 

Queries is like asking db for something what we want. Result is not a table.

<?php
$result = mssql_query( "SELECT level FROM characters WHERE name = 'Plum'");
?>

 

Fetch result

 

You can use for that one of the msssql_fetch_* functions like mssql_fetch_array.

<?php
while ( $row = mysql_fetch_array($result) ) {
print_r $row; // print each row as small array
echo $row['level']; // show column level in current row
}
?>

 

Queries

Notice: I'm not using here orginal l2off db scheme.

SELECT what_rows FROM tables WHERE conditions;

 

So if we want for example get levels, nick form table chars where all lvls are grater then 50 and nick starts with "s" we do smth like this:

SELECT level, nick FROM chars WHERE level > 50 AND nick LIKE "s%";

 

If we want also to select how much adena they have ( form let say table inventory ) we do it like that:

SELECT chars.level, chars.nick, invetory.item_count AS adena_count FROM chars, inventory WHERE chars.level > 10 AND chars.nick LIKE "s%" AND inventory.item_name = 'adena' AND inventory.item_owner = chars.nick;

 

Now lets order them from lower lvl to higher

{...} ORDER BY level;

If we want to change order we add DESC

 

To select only rows from 10 to 50 results add to query this:

{...} LIMIT 10, 50

 

Easy? Yeah I told u ;)

Now lets check how many online players we got. 'online' is bool row in table users and its shows users current status.

SELECT COUNT(*) as number_of_online_chars FROM users WHERE online  = 'TRUE';

 

Etc. etc. etc. google is ur best friend so for more examples search there.

 

Closeing connection

mssql_close($db);

 

Few words about how to display results

 

There are few functions to display smth in php:

echo, fprintf, print, printf and vprintf

Most basic and usefull for u will be echo.

How to insert variables into string?

<?php
echo "smth $users_online"; // Will display 'smth 3503' for example
echo 'smth $users_online'; // This will show 'smth $users_online'
echo $result['nick'];
echo "today we got ".$result['online']." players online"; // It will work
echo "today we got {$result['online']} players online"; // It will also work
?>

But the best way is to put everything into table and display it using templates engine. If ur script is small u dont have to think about it.

 

What next?

You can use to mange ur db connection PDO, Pear or another DAO.

There are many articles trought the web about php.  Take a look on object oriented programing in php ( I suggest to find info about 5.2 version ). Check also programming patterns.

If u want to make ur code cleaner think about using templates engine like Smarty or Open Power Templates.

Good luck ;]

 

Tools

Eclipe php ide ( free; work on windows, linux and ever platform with java )

Zend Studio ( only windows and not free )

 

 

Important: If u think about adding control panel on ur website where user can choose smth and he send to script in GET/POST some data  that u use forward in query READ ABOUT SQL INJECTION etc. It can save ur db. Even if u think ur script is secure its NOT. Its not good idea at all to do smth like that if ur beginer. Belive me.

 

 

I will try to update this small tutoriall with more links and examples of using php for cached.

If u have any question ask here or send me pm on forum/msn. I will try to help u :)

 

Update1: About output functions and tools

 

source:postpacific.com

  • 3 weeks later...
  • 4 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Posts

    • 冬天是享受优惠、省钱的好时机。 首次下单时使用促销码 SOCNET 即可获得 15% 折扣 ,适用于全场商品! 前往商店(网站) 前往商店(Telegram 机器人)
    • Winter is the time to save with benefits. Activate the promo code SOCNET on your first order and get a 15% discount on the entire assortment! Go to the store (website) Go to the store (Telegram bot)
    • Winter is the time to save with benefits. Activate the promo code SOCNET on your first order and get a 15% discount on the entire assortment! Go to the store (website) Go to the store (Telegram bot)
    • L2 Kings    Stage 1 – The Awakening Dynasty and Moirai Level Cap: 83 Gear: Dynasty -Moirai & Weapons (Shop for Adena + Drop from mobs/instances ) Masterwork System: Available (Neolithics S required with neolithics u can do armor parts foundation aswell) Class Cloaks: Level 1 - Masterwork sets such us moirai/dynasty stats are boosted also vesper(stage 2) Olf T-Shirt: +6 (fails don’t reset) safe is +2 Dolls: Level 1 Belts: Low & Medium Enchant: Safe +3 / Max +8 / Attribution Easy in Moirai-Dynasty . Main Zones: Varka Outpost: Easy farm, Adena, EXP for new players = > 80- 100kk hour Dragon Valley: Main farm zone — , 100–120kk/hour Weapon Weakness System active (all classes can farm efficiently) Archers get vampiric auto-hits vs mobs Dragon Valley Center: Main Party Zone — boosted drops (Blessed enchants, Neolithics chance) => farm like 150-200kk per hour. Dragon Valley North: Spoil Zone (Asofe + crafting materials for MW) Primeval Isle: Safe autofarm zone (low adena for casual players) ==> 50kk per hour Forge of the Gods & Imperial Tomb: Available from Stage 1 (lower Adena reward in compare with Dragon Valley) Hellbound also avaliable from stage 1 In few words all zones opened but MAIN farm zone with boosted adena and drops is Dragon valley also has more mobs Instances: Zaken (24h Reuse) → Instead of Vespers drop Moirai , 100% chance to drop 1 of 9 dolls lvl 1, Zaken 7-Day Jewelry Raid Bosses (7 RBs): Drop Moirai Parts + Neolithic S grade instead of Vespers parts that has 7 Rb Quest give Icarus Weapons Special Feature 7rb bosses level up soul crystals aswell. Closed Areas : Monaster of SIlence, LOA, ( It wont have mobs) / Mahum Quest/Lizardmen off) Grand Epics: Unlocked on Day 4 of Stage 1 → Antharas, Valakas, Baium, AQ, etc ================================================================================= Stage 2 – Rise of Vespers Level Cap: 85 Gear: Moirai Armors (Adena GM SHOP / Craft/ Drop) Weapons: Icarus Cloaks: Level 2 Olf: +8 Dolls: Level 2 Belts: High & Top Enchant: Safe +3 / Max +8 Masterwork can be with Neolithics S84 aswell but higher so craft will be usefull aswell. 7 Raid Boss Quest Updated: Now works retail give vesper weapons 7rb Bosses Drops : Vespers Instances: Zaken : Drops to retail vespers + the dolls and the extra items that we added on stage 1 New Freya Instance: Added — drops vespers and instead of mid s84 weapons will drop vespers . Extra drops Blessed Bottle of Freya - drops 100% chance 1 of 9 dolls. Farm Areas Dragon Valley remains main farm New Zone : Lair of Antharas (mobs nerfed and added drop Noble stone so solo players can farm too) New Party Zone : LOA Circle   ============================================================================   Stage 3 – The Vorpal ERA Gear: Vorpal Unclock Cloaks: Level 3 Olf: +10 (max cap) Dolls: Level 3 Enchant: Safe +3 / Max +12 Farm Zones : Dragon Valley Center Scorpions becomes a normal solo zone (no longer party zone) Drops:   LOA & Knorik → Mid Weapons avaliable in drop New Party Zone Kariks Instances: Easy Freya Drops Mid Weapons Frintezza Release =================================================================================     Stage 4 – Elegia Era (Final Stage) Elegia Unlock Gear: Elegia Weapons: Elegia TOP s84 ( farmed via H-Freya/ Drops ) Cloaks: Level 5 Dolls: Level 3 (final bonuses) Enchant: Safe +6 / Max +16 Instances: Hard Freya → Drops Elegia Weapons + => The Instance will drop 2-3 parts for sure and also will be able to Join with 7 people . Party Zone will have also drop chances for elegia armor parts and weapons but small   Events (Hourly): Win: 50 Event Medals + 3 GCM + morewards Lose: 25 Medals + 1 GCM + more rewards Tie: 30 Medals + 2 GCM + more rewards   ================================================================================ Epic Fragments Currency Participating in Daily Bosses mass rewarding all players Participating in Instances (zaken freya frintezza etc) all players get reward ================================================================================ Adena - Main server currency (all items in gm shop require adena ) Event Medals (Festival Adena) - Event shop currency Donation coins you can buy with them dressme,cosmetics and premium account Epic Fragments you can buy with them fake epic jewels Olympiad Tokens you can buy many items from olympiad shop (Hero Coin even items that are on next stages) Olympiad Win = 1000 Tokens / Lose = 500 Tokens ================================================================================= Offline Autofarm Allows limited Offline farming requires offline autofarm ticket that you get by voting etc ================================================================================= Grand Epics have Specific Custom NPC that can spawn Epics EU/LATIN TIME ZONE ================================================================================= First Olympiad Day 19 December First Heroes 22 December ( 21 December Last day of 1st Period) After that olympiad will be weekly. ================================================================================= Item price and economy Since adena is main coin of server and NOT donation coins we will always add new items in gm shop with adena in order to burn the adena of server and not be inflation . =================================================================================        
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock