{TuT} Latest Private Server TuT With Extra Add Ons

Gunz Online Hacks/Bots/Tutes Discussion Discuss, {TuT} Latest Private Server TuT With Extra Add Ons at Gunz Online forum; This is A Full TuT with addons compiled by many pro hackers. I decided to join them up together to ...


Go Back   Gamerz Needs - For All Your Gaming Needs! > Gunz Online > Gunz Online Hacks/Bots/Tutes Discussion
Forgot Password? | Sign Up!
Register Invite Your FriendsBlogs Fun Stuff FAQ Members List Calendar Search Today's Posts Mark Forums Read

Notices

Advertisement
   

Closed Thread
 
Bookmark this Thread Tools Display Modes
  #1  
Old 03-17-2007, 10:28 AM
Larien's Avatar
Red Dragon
 
Last Online: 10-15-2008 06:27 AM
Join Date: Oct 2006
Location: Selangor, Malaysia| ĢFא Land
Age: 16
Posts: 960
Thanks: 86
Thanked 354 Times in 197 Posts
Nominated 0 Times in 0 Posts
TOTW/F/M Award(s): 0
Downloads: 0
Uploads: 0
Latest Blog:
Rep Power: 8
Larien is on a distinguished road
Points: 2,383.44
Bank: 44,452.31
Total Points: 46,835.75
Send a message via MSN to Larien Send a message via Yahoo to Larien
Thumbs up {TuT | Add ONS} Latest Gunz Private Server Setup

This is A Full TuT with addons compiled by many pro hackers. I decided to join them up together to make an awesome TuT.

Complete TuT on Setting Up Your Own Gunz Private Server

Stuff Youre Gonna Need :

Server Files [password=ragezone.com] - HERE
# My SQL Database - HERE
# Gunz Client - HERE
# Legacy Gamers Patch (For IP Input) - HERE
# Microsoft SQL Server Management Studio Express - Search It Up In Google.com
# Microsoft SQL Server 2005 - Search it up in Google.com
# MRS Unpacker - HERE
# WinRAR - Search it up in Google.com

(Downloads which have no link can easily be searched for to find the program)

Before you do anything, you are going to need to install Microsoft SQL Server Management Studio Express and Microsoft SQL Server 2005.

Step 1 - Setting up the Database and ODBC:

Creating/Connecting the Database

Open Server Management Studio Express* (SMSE). Within the Object Explorer Panel you will notice the 'Database' folder, right click it, click 'New Database...'.

A 'New Database' form will open, and in the text input type 'GunzDB' and click OK, your database has been created.

The next thing you are going to want to do is restore the Database. Click File> Open> File... and locate your GunzDB.sql file and open it. You are going to have to connect to the database engine, the settings are alright so all you need to do is click 'Connect'. Now right click on 'File' and allow the 'SQL Editor' tool bar to show.

In the toolbar there is a drop-down menu with the 'master' database selected, click on the arrow and select the 'GunzDB' database and click the button next to the drop-down menu, 'Execute'. A message showing 'Command(s) completed successfully.' should notify you that you have done this all correctly.

Creating the ODBC

Click Start> Run> and in the windows input type 'odbcad32'. You should already be in the 'User DSN' tab so click on 'Add'. Another window should pop-up. You'll have to scroll all the way down to the bottom and select 'SQL Server' then click 'Finish'.

Another window/form will pop-up needing information for your new Data Source. For the name, type 'GunzDB', for the description you may type whatever you like, but for the SQL server you which to connect to, you must go back into SMSE*, look in the SQL Editor tool bar and click the 2nd icon which will disconnect you from data engine. Now click the 1st icon which will re-connect you, but make sure to copy the 'Server name' this time, then click 'Connect'.

Now having that in hand, you can go back to creating your ODBC and in the 'Server' text input, paste in your server name. Click next since the settings are currently fine. Now in the next part, click on the tick box and select 'GunzDB' from the drop-down menu and click 'Next' and finally click 'Finish'.

If you would like to check your data source, click 'Test Data Source...' in the window or you can just click 'OK' to finish. Now to completely finish it, click 'OK' again.

Step 2 - Patching GunZ:


Install your GunZ game to a directory of your choice. Now open the Legacy Gamers patch and find the directory where you installed your GunZ game into, and run the patch. After that is done, this step is complete.

Step 3 - Configuring the Server:


Place the server files in your C: drive and extract them into a folder with the name 'GunzServer'. Once in the folder, go to the 'Locator' folder and then open the 'Locator.ini' file. Somewhere in the file you should see these lines of code:
Quote:
[NETWORK]
IP="217.0.0.1"
PORT="8900"
You can either change the '217.0.0.0' to your actual IP or localhost which is '127.0.0.1'. Besides that everything else is fine.

Make your way to the MatchServer folder and run 'MatchServer.exe', once loaded you may minimize it.

Step 4 - Creating an Account (Manually):


Bring up SMSE and expand the 'Database' folder if it hasn't already been done. Expand 'GunzDB', expand 'Tables' and right click on 'dbo.Accounts' and 'Open table'.

You do not need to worry about the AID field as that is an automatic generation of account number. In the UserID field, type your account ID, in the Password field, type your account password and in the UGradeID, type in your account grade.
Quote:
Account Grades
Administrator - 255
Developer - 254
Banned - 253
Normal User - *Leave Blank*
After you have typed all of that in, press enter and on the SQL Editor toolbar click 'Execute' (The exclamation mark symbol).

Step 5 - Configuring 'config.xml' to connect to your server:


With that all done, go to the folder where you installed GunZ/Legacy Gamers Patch and find the file 'config.xml'. Right click on it and open with notepad, or similar. You will see this portion of code:
Quote:
<SERVER>
<IP>legacygamers.com</IP>
<PORT>6000</PORT>
</SERVER>
You are going to need to change the 'legacygamers.com' section to the IP you wrote in the 'Locator.ini', if you wrote the localhost IP just change it to read:
Quote:
<SERVER>
<IP>127.0.0.1</IP>
<PORT>6000</PORT>
</SERVER>
Then save the file, File> Save and close it.

Step 6 - Unpacking 'system.mrs':


Extract 'mrs.rar' into your GunZ directory. Create a folder called 'MRS' inside your GunZ directory and place the files 'mrs.exe, zlib.dll and system.mrs' into that folder.

Now, you will need to open WinRAR, direct yourself to the 'MRS' folder in your hard drive. Highlight 'system.mrs' and click the 'Add' button. A window will pop-up, select RAR for the archive format and click 'OK'. Now go back to your 'MRS' folder and create a new 'Text File' with any name you like, but in the file type:
Quote:
mrs.exe d system.mrs
Now save it and change the file extension to '.bat' from '.txt'. Now run that file and a folder named 'system' should come up. Go into that folder and copy the file 'zitem.xml'.
Go back to your 'MatchServer' folder and paste the 'zitem.xml' over the one that is in there. You might need to run your MatchServer.exe again for it to take changes.

Step 7 - Logging in

Run your GunZ client and type the account ID and account password that you used when you made your account in SMSE, you should login.

Congratulations, you have made your GunZ server, enjoy!

Credits:

LGKeiz and Legacy Gamers
Mythical
China
Whoever created the MRS Unpacker
Anyone else who had input into creating these files

(If I missed anything or you need any help, just post here and I'll fix it/help you)

Extra Goodies for Your Private Server
Quest Mode :

First You need to add a Field at Character TABLE.
The Column you have to ADD is QuestItemInfo and is VARCHAR (MAX)

How to add the table:
Go to the SQL SERVER MANAGEMENT STUDIO.
Connect to the server
Expand your DB
Expand at tables,
Right Click at Fields
And select New Field
So there you have to put the name (QuestItemInfo), then the type of data: varchar (MAX) , and then you check the box that says Allow NULL data.
You are done with the Field

Then you need to Install this procedure:
Code:
CREATE PROCEDURE [dbo].[spSelectCharQuestItemInfoByCID]
@nCID INT
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
 
SELECT QuestItemInfo FROM Character Where CID = @nCID
 
END
How to install:
Go to Procedures and Right Click there and select New Query, there u paste this code and click at Execute.

Go to your match server folder,
Open config.ini,
you will see this line ;MODE="test",
delete the ; so you will get MODE="test",
now save it.

Download this gunz.exe: UPDATING LINK SOR

Put this [UPDATING] in the gunz client folder instead of the origional. (back-up your origional)

On to the database:
Collapse the GunDB , Programmability then Stored Procedures like so:


Now right click dbo.spInsertChar and press modify like this :


Ok so thats done a window to the right of it will pop up:


And DELETE all the text like it shows in that picture ^ .

and PASTE this in it
Code:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[spInsertChar]
@nAID INT,
@nCharIndex INT,
@szName nvarchar(32),
@nSex INT,
@nHair INT,
@nFace INT,
@nCostume INT
AS
BEGIN
SET NOCOUNT ON;
 
DECLARE @cnt INT
SELECT @cnt=COUNT(*)
FROM Character
WHERE AID = @nAID
 
DECLARE @cid INT
SELECT @cid=COUNT(*)
FROM Character
 
INSERT INTO Character
VALUES(@nAID,@szName,@cnt,50,@nSex,@nCostume,@nFace,@nHair,NULL,0,100000,0,0,0,0,0,0,0,0,0,0,0,0,@cnt,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,null)
END
Open ChannelRule.xml
Let all channel rules look like this:
Code:
<CHANNELRULE id="0" name="novice">
<MAP name="Mansion"/>
<MAP name="Prison"/>
<MAP name="Prison II"/>
<MAP name="Station"/>
<MAP name="Battle Arena"/>
<MAP name="Town"/>
<MAP name="Snow_Town"/>
<MAP name="Ruin"/>
<MAP name="Dungeon"/>
<MAP name="Castle"/>
<MAP name="Island"/>
<MAP name="Garden"/>
<MAP name="Factory"/>
<MAP name="Port"/>
<MAP name="Lost Shrine"/>
<MAP name="Stairway"/>
<MAP name="Hall"/>
<MAP name="Catacomb"/>
<MAP name="Shower Room"/>
 
<GAMETYPE id="0" />
<GAMETYPE id="1" />
<GAMETYPE id="2" />
<GAMETYPE id="3" />
<GAMETYPE id="4" />
<GAMETYPE id="5" />
<GAMETYPE id="6" />
<GAMETYPE id="7" />
<GAMETYPE id="8" />
</CHANNELRULE>
What you do here is adding GAMETYPE 7, game type 7 is quest mode. So add quest to the channels you want, you don't need to give all channels quest available.

Add the table:
Go to the SQL SERVER MANAGEMENT STUDIO.
Connect to the server
Expand your DB
Expand at tables,
Right Click at Columns
And select New Column
So there you have to put the name (QuestItemInfo), then the type of data: varchar (MAX) , and then you check the box that says Allow NULL data.
You are done with the Field

Another Alternate Way To Do Quests :


1. Open MSSQL 2005
2. Edit your Character Table via Right Click -> Modify
3. Add a new column titled QuestItemInfo with the type of varchar(MAX)
4. Close that window, make sure to save changes
5. Click New Query
6. Be Sure the database it executes to is your GunzDB
7: Insert this Code:
Code:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:        <Buga>
-- Create date: <11/29/06>
-- Description:    <Quest Procedure for Gunz>
-- =============================================
CREATE PROCEDURE [dbo].[spSelectCharQuestItemInfoByCID]
    @nCID INT    
AS
BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;

    SELECT QuestItemInfo FROM Character Where CID = @nCID
    
END
8. EXECUTE.
9. Open your Server.ini in your MatchServer Folder. Set MODE="test".
10. Enjoy.

Explanation: This sets your server as a Test Mode Server, and enables the Quest Mode.


Change Base Level and Bounty :
Open your database,
browse to spInsterChar, (its under Stored Procedures)
right click it and choose "modify"
find the part
Code:
VALUES(@nAID,@szName,@cnt,50,@nSex,@nCostume,@nFac e,@nHair,NULL,0,100000,0,0,0,0,0,0,0,0,0,0,0,0,@cn t,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,NULL)
50 = starting level
100000 = starting bounty
Note that you will start naked so you need to give peaple starting money so they can buy their gear.

Adding Premium Items :

Go to your match server folder, (mine is located in C:gunzservermatch server)
Make a back-up of shop.xml
Open shop.xml
Delete everything inside
Now paste this:
Code:
<!-- Quest Necklace -->
<SELL itemid="200018" />
 
<!-- Quest Doll -->
<SELL itemid="200019" />
<SELL itemid="200020" />
<SELL itemid="200021" />
<SELL itemid="200022" />
<SELL itemid="200023" />
<SELL itemid="200024" />
<SELL itemid="200025" />
<SELL itemid="200026" />
<SELL itemid="200027" />
 
<!-- Quest Book -->
<SELL itemid="200028" />
<SELL itemid="200029" />
<SELL itemid="200030" />
 
<!-- Quest Object -->
<SELL itemid="200031" />
<SELL itemid="200032" />
<SELL itemid="200033" />
<SELL itemid="200034" />
<SELL itemid="200035" />
<SELL itemid="200036" />
<SELL itemid="200037" />
 
<!-- Quest Sword -->
<SELL itemid="200038" />
</XML>
Save the file and premium items will be available in shop.

I didn't add the Quest Bible, this item is extremely bugged. When their is a solution for Quest Bible i will put it in the shop.xml

For people that do want to add it:
Code:
<!-- Quest Bible -->
<SELL itemid="210001" />

Changing EXP :

Open formula.xml In your gunz server folder.

You see alot of text like this :
Code:
<?xml version="1.0" encoding="UTF-8"?>
<XML id="formula">

<FORMULA_TABLE id="NeedExpLM">
    <LM lower="1" upper="20">1</LM>
    <LM lower="21" upper="30">1.1</LM>
    <LM lower="31" upper="40">1.2</LM>
    <LM lower="41" upper="45">1.4</LM>
    <LM lower="46" upper="50">1.6</LM>
    <LM lower="51" upper="55">1.8</LM>
    <LM lower="56" upper="60">2</LM>
    <LM lower="61" upper="65">4</LM>
    <LM lower="66" upper="70">8</LM>
    <LM lower="71" upper="75">12</LM>
    <LM lower="76" upper="80">16</LM>
    <LM lower="81" upper="85">20</LM>
    <LM lower="86" upper="90">20</LM>
    <LM lower="91" upper="95">40</LM>
    <LM lower="96" upper="99">40</LM>
</FORMULA_TABLE>

<FORMULA_TABLE id="GettingExpLM">
    <LM lower="1" upper="20">1</LM>
    <LM lower="21" upper="30">18</LM>
    <LM lower="31" upper="40">18</LM>
    <LM lower="41" upper="45">18.1</LM>
    <LM lower="46" upper="50">18.1</LM>
    <LM lower="51" upper="55">18.1</LM>
    <LM lower="56" upper="60">18.1</LM>
    <LM lower="61" upper="65">18.1</LM>
    <LM lower="66" upper="70">18.1</LM>
    <LM lower="71" upper="75">18.1</LM>
    <LM lower="76" upper="80">18.1</LM>
    <LM lower="81" upper="85">18.2</LM>
    <LM lower="86" upper="90">18.2</LM>
    <LM lower="91" upper="95">18.2</LM>
    <LM lower="96" upper="99">18.2</LM>
</FORMULA_TABLE>

<FORMULA_TABLE id="GettingBountyLM">
    <LM lower="1" upper="20">1</LM>
    <LM lower="21" upper="30">1.1</LM>
    <LM lower="31" upper="40">1.1</LM>
    <LM lower="41" upper="45">1.2</LM>
    <LM lower="46" upper="50">1.2</LM>
    <LM lower="51" upper="55">1.2</LM>
    <LM lower="56" upper="60">1.2</LM>
    <LM lower="61" upper="65">1.2</LM>
    <LM lower="66" upper="70">1.2</LM>
    <LM lower="71" upper="75">1.2</LM>
    <LM lower="76" upper="80">1.2</LM>
    <LM lower="81" upper="85">1.2</LM>
    <LM lower="86" upper="90">1.2</LM>
    <LM lower="91" upper="95">1.2</LM>
    <LM lower="96" upper="99">1.2</LM>
</FORMULA_TABLE>

</XML>
Edit The Red For the Exp you want, x20 will give you good Exp.

Edit the purple for how much bounty you get when you kill.

REMEMBER this isnt for Quest mode and NEVER edit NeedExpLM.

Enabling Premium Purchasing :
1. Open OllyDbg
2. Open your Gunz Runnable with it.
3. Hit CTRL+G and type in 419F83
4. Double Click on the highlighted text, and replace the JE with a JMP
5. Hit CTRL+G and type in 43826B
6. Double Click on the highlighted text, and replace it all with JMP 4382AE
7. Save your Gunz.exe
8. Enjoy!

Explanation: Well, when Gunz sees an Item, it checks to see if it should put CASH in it's price slot, by replacing the first JE, which Jumps when the item is not a cash item, with a JMP, it jumps whether it's cash or not, effectively making no item a cash item. The second address only Jumps when a value is Below a normal Item, (EX a cash item)
, which then opens the webpage, by change it to jump to address 4382AE the webpage is never opened!


Invisible Premium Bug Fix :


Download NaGunz/ijji Gunz from http://gunz.ijji.com
Copy man.mrs and women.mrs from the Ijji Gunz folder,
Paste these in yours overwriting the existing ones.
Now you can see all premiums.

Dual Daggers :

Unpack your system.mrs,
Open Zitem.xml,
Find your dagger, (daggers are on top)
Your weapon starts with this line:
Code:
<ITEM id="1" name="STR:ZITEM_NAME_1" mesh_name="dagger01"Put x2 behind mesh_name="dagger01
so you will get:

Code:
<ITEM id="1" name="STR:ZITEM_NAME_1" mesh_name="dagger01x2"
Don't forget pack your system and put a copy of zitem in match server. Start the game and you got dual daggers.

Changing Weapon Values :

Unpack your system.mrs,
Open Zitem.xml,
Find your weapon, (use strings.xml to help you find your weapon)
After you found your weapon you will see this: (example is level 0 dagger)
Code:
<ITEM id="1" name="STR:ZITEM_NAME_1" mesh_name="dagger01" totalpoint="0" type="melee"
res_sex="a" res_level="0" slot="melee" weapon="dagger" weight="5" bt_price="20" delay="366"
damage="8" range="160" ctrl_ability="0" magazine="0" reloadtime="0" slug_output="false"
gadget_id="0" hp="0" ap="0" maxwt="0" sf="0" fr="0" cr="0" pr="0" lr="0" color="#FFFFFFFF"
image_id="0" bullet_image_id="0" magazine_image_id="0" desc="STR:ZITEM_DESC_1" /> res_level="0"
IMPORTANT
, edit the needed level for the item
slot="melee", edit the slot it uses (maybe its possible to put a weapon in the "melee" slot so you can hold 3 weapons, or vice versa so you can hold a dagger and a sword)
weight="5", edit weight
bt_price="20", edit the bounty need to buy the item
delay="366", edit the speed the item shoots/slash again
damage="8", edit the item damage
range="160", edit the hit range of the weapon, imagen slash with your sword and you hit someone on the other side of the level
magazine="0", edit the amount of ammo
reloadtime="0", edit the time it takes to reload
hp="0", edit the amount of hp added when item is equip
ap="0", edit the amount of ap added when item is equip

This aren't all functions, but it should be clear now.

Don't forget pack your system and put a copy of zitem in match server. Start the game and you got edited weapons.

GM Commands :

Code:
/admin_ban <charname>
/admin_pingtoall
/admin_wall <text> ("Broadcasting Message")
/admin_halt ("Server Shutdown")
/admin_switch_laddergame 1
/admin_hide ("Makes you Invisible")
/changemaster
/changepassword
/hide ("Makes you Invisible?")
/jjang
/removejjang
/gtgod
/gtspn
/gtclear
/gtreload
/gtsc
/gtfin
/gtweaknpcs
Making A Registered Website [Might Not Work][Site Is Currently Down] :

1) Download wamp. (wamp allows to run a website on your computer. a = apache)
WAMP

2) Install it.
Click:
Next >
I Accept -> Next >
Install to "c:wamp"
Next >
Next >
Next >
Install

3) It will now Install, click ok with each popup that comes up.

4) Click Launch WAMP now, then click OK.

5) Go to:
C:wampphpphp.ini

6) Find the line ;extension=php_mssql.dll and remove the ;

7) Click the WAMP icon then click "Put Online"

8) Go to c:wampwww and delete everything in there.

9) Right Click -> New -> File -> index.php

10) Right Click index.php -> Open With -> Notepad

11) Copy In:
Code:
<html>
<head>
<title>GunZ User Account Register</title>
<style>
body {
color: #003300;
font-family: Verdana, Arial, Serif;
font-size: 10pt;
}
input {
border: 1px solid #003300;
color: #003300;
background: #DDDDDD;
font-family: Verdana, Arial, Serif;
font-size: 10pt;
}
tr {
font-size: 10pt;
}
a:link {
text-decoration: none;
color: #003300;
}
a:visited {
text-decoration: none;
color: #003300;
}
a:active {
text-decoration: none;
color: #003300;
}
a:hover {
text-decoration: none;
color: #FF6600;
}
</style>
</head>
<body>
<div align="center">
<?php
$srvip = "snaity.no-ip.org";
$srvport = "6000";
$mssql_user = "sa";
$mssql_pass = "******";
$mssql_database = "gunzsrv";
$mssql_host = "LOCALMACHINESQLEXPRESS";
$conn = mssql_connect($mssql_host, $mssql_user, $mssql_pass);
mssql_select_db($mssql_database);
?>
<FORM METHOD=POST ACTION="<?php echo $_SERVER['PHP_SELF']; ?>?act=register">
<table cellspacing=0 border=0>
<tr>
<td colspan=2 style="border: 1px solid #003300; background: #DDDDDD;"><CENTER><A rel="nofollow" HREF="<?php echo $_SERVER['PHP_SELF']; ?>">GunZ User Account Register</A></CENTER></td>
</tr>
<tr>
<td style="border-left: 1px solid #003300">User ID:</td>
<td style="border-right: 1px solid #003300"><INPUT TYPE="text" NAME="login"></td>
</tr>
<tr>
<td style="border-left: 1px solid #003300">Password:</td>
<td style="border-right: 1px solid #003300"><INPUT TYPE="password" NAME="senha1"></td>
</tr>
<tr>
<td style="border-left: 1px solid #003300">Retype Password:</td>
<td style="border-right: 1px solid #003300"><INPUT TYPE="password" NAME="senha2"></td>
</tr>
<tr>
<td style="border-left: 1px solid #003300">Email:</td>
<td style="border-right: 1px solid #003300"><INPUT TYPE="text" NAME="email"></td>
</tr>
<tr>
<td style="border: 1px solid #003300; border-top: 0px;" colspan=2><CENTER><INPUT NAME="Cadastrar" VALUE="Cadastrar" TYPE="submit"></CENTER></td>
</tr>
</table>
</FORM>
<?php
 
if ($_GET['act'] == 'register')
{
$user = anti_injection($_POST['login']);
$pass1 = anti_injection($_POST['senha1']);
$pass2 = anti_injection($_POST['senha2']);
$email = anti_injection($_POST['email']);
if (valida(Array($user,$pass1,$pass2,$email)) == true)
{
if ($pass1 == $pass2)
{
if (ereg("([0-9,a-z,A-Z])", $user))
{
if (ereg("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$", $email))
{
$query = mssql_query("SELECT * FROM Accounts WHERE UserID='$user'");
$num_rows = mssql_num_rows($query);
if ($num_rows == 0)
{
$query = mssql_query("SELECT * FROM Accounts WHERE E_Mail='$email'");
$num_rows = mssql_num_rows($query);
if ($num_rows == 0)
{
$query = mssql_query("INSERT INTO Accounts (UserID, Password, E_Mail) VALUES ('$user','$pass1','$email')");
if (!$query)
{
echo ":: Error on account register try later ::<br>";
}
else
{
echo ":: Account has been registered ::<br>";
}
}
else
{
echo ":: Email in use ::<br>";
}
}
else
{
echo ":: User in use ::<br>";
}
}
else
{
echo ":: Invalid Email ::<br>";
}
}
else
{
echo ":: Only use Numbers and Letters in User ID ::<br>";
}
}
else
{
echo ":: Password not equal with other ::<br>";
}
}
}
 
$query = mssql_query("SELECT * FROM Accounts");
$num_rows = mssql_num_rows($query);
echo "Total Accounts: ".$num_rows."<br>";
 
echo "<br>Server Status: ";
$fp = @fsockopen($srvip, $srvport, $errno, $errstr, 1);
if (!$fp) {
echo "<font style='color: #FF3300'>Offline</br>";
} else {
echo "<font style='color: #009933'>Online</br>";
fclose($fp);
}
 
// Função Anti Injection
 
function anti_injection($sql)
{
$sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|*|--|)/"),"",$sql);
$sql = trim($sql);
$sql = strip_tags($sql);
$sql = addslashes($sql);
return $sql;
}
 
// Verificar Campos Vazios
 
function valida($campos){
foreach($campos as $c){
if(empty($c)){
echo ":: All fields needed ::<br>";
return false;
}else{
return true;
}
}
}
?>
 
<br /><div style="z-index:3" class="smallfont" align="center">Search Engine Optimization by <a rel="nofollow" href="http://www.vbseo.com/181/">vBSEO</a> 3.0.0 RC6</div><br /><div style="z-index:3" class="smallfont" align="center">Search Engine Optimization by <a rel="nofollow" href="http://www.vbseo.com/181/">vBSEO</a> 3.0.0 RC6</div></body>
</html>

Last two things to do:

Allow Port 80 TCP on firewall, and GunZ port, as well as on the router (go to GunZ Server Port Checker to check)

ADD a column with the name e_mail in MSSQL

<Solve some warnings; Credits to: Unknown>

For people that can't get there register page to work, and enabled php_mssql.dll in php.ini. Place this in the Apache2/Bin and PHP folders. This will get rid of the Unable to Connect to: x

Change Login Background :

1º - Go to your GUNZ directory, later go to folder INTERFACE, copy the LOADABLE.MRS and paste in the folder MRS in the GUNZ directory.
2º - Go to GUNZ.BAT in MRS directory and rename to GUNZ.TXT and put: "mrs.exe d loadable.mrs" without " exit and save... Rename the GUNZ.TXT to GUNZ.BAT again.
3º - RUN GUNZ.BAT and this have created the directory LOADABLE, go to he.
4º - Modify the loginbg.jpg with what you want, save this in .jpg .
5º - Now go to MRS directory and rename GUNZ.BAT to GUNZ.TXT and put: "mrs.exe c loadable" without " exit and save...
6º - RUN GUNZ.BAT and this will create the file .MRS with your modifications.
7º - COPY your loadable.mrs to the INTERFACE directory and HAVE FUN.

Change Loading Backgrounds :

The loading screens are located in default.mrs but when unpacking system.mrs their are some image files that get corrupted. What we need to do is changing the corrupted image files with the good files, don't worry about getting the good files, i will upload them here.
1) unpack default.mrs
2) edit the file (change the backgrounds or whatever you want to do)
3) replace all corrupted files with my files (0kb means corrupt)
4) pack default.mrs
5) put it in your client folder and test

To prefent peaple are in trouble because of corrupted files after unpacking i will explain why it happend and how to get the files to solve it.

The old MRS protection was basically a renamed zip file. Like i said OLD so you need one of the first versions of default.mrs. Now you open winrar and browse to the default.mrs you want to open, right mouse click and choose repair archiveand use .zip to treat the corrupted archive. This will make a new file in the same folder. The last thing to do is renaming the file to a .rar or .zip file so we can open it with winrar.
1) click start and choose run
2) type "cmd" (without the "")
3) browse to specific folder (mine is cd crogram filesmaietgunzinterface, the "CD" command is used to open the folder)
4) now your in the folder type this: ren <name of file> default.zip (put the file name in <name of file> and a space between the name of file and default.zip)
5) after you done this you see a .rar file in your folder open this file and you got the image files you need.

the <name of file> will get replaced soon with the real name of the file you get, but i can't check it now, so wait if you need it before asking. And the needed file will be uploaded soon, but after this tutorial you should know how to get your own.

Procedure List For Match Server :

Here is nearly every procedure called by MatchServer.exe, with the values they take, I've added some of the values to tell you what they are, and others I just add what type they are because I didnt have time to lookup what they were. They maybe incorrect, I did some of them at night, but they should be right!

If you don't know what they are used for, then wait for someone to write the procedures for you, and there will be no worries.
Code:
CALL spInsertAccount ('%s', '%s', %d, '%s', %d, %d) //Username, Password, UGradeID, ? String, ? Integer, ? Integer
CALL spGetLoginInfo ('%s') // AccountName
CALL spGetAccountInfo (%d) // AID
CALL spInsertChar (%d, %d, '%s', %d, %d, %d, %d) // AID, CharacterIndex, Name, Sex, Hair, Face, Costume
CALL spDeleteChar (%d, %d, '%s') // AID, CharIndex, CharName
CALL spGetCharList (%d)  // AID
CALL spGetAccountCharInfo (%d, %d) // AID, CharIndex
CALL spGetCharInfoByCharNum (%d, %d) // AID, CharIndex
CALL spSimpleUpdateChar (%d, '%s', %d, %d, %d) // CharID, CharName, ? Integer, ? Integer, ? Integer
CALL spInsertCharItem (%d, %d, %d)  // ItemID, CharID, RentPeriod
CALL spDeleteCharItem (%d, %d) // ItemID, CharID
CALL spSelectCharItem (%d) // Char ID
CALL spSelectAccountItem (%d) //AID
CALL spBuyBountyItem (%d, %d, %d) // CharID, ItemID, ItemPrice
CALL spSellBountyItem (%d, %d, %d, %d, %d) // CharID, ItemID, ItemIncrementID, ItemPrice, CharBounty
CALL spUpdateEquipItem (%d, %d, %d, %d) // CharID, ItemSlot, ItemIncrementID, ItemID
CALL spInsertConnLog (%d, %d, %d, %d, %d, '%s') // AID, IP1, IP2, IP3, IP4, AlertState
CALL spInsertGameLog ('%s', '%s', '%s',%d, %d, %d, '%s') //GameName, MapName, GameType, Rounds, RoundsPlayed, Users, GameMaster
CALL spInsertKillLog (%d, %d) // KillerID, KilledID
CALL spInsertItemPurchaseLogByBounty (%d, %d, %d, %d, '%s') // CharID, ItemID, ItemIncrementID, ItemRentPeriod, ItemName
CALL spInsertCharMakingLog (%d, '%s', '%s') // AID, Name, Sex
CALL spInsertServerLog (%d,%d, %d, %u, %u)  // ? integer, ? integer, ? integer, ? unsigned integer, ? unsigned integer
CALL spUpdateServerStatus (%d, %d) //ServerID, StatusID
CALL spInsertPlayerLog (%d, %d, %d, %d, %d, %d) // CharID, PlayTime, KillCount, DeathCount, EXPEarned, TotalEXP
CALL spInsertLevelUpLog (%d, %d, %d, %d, %d, %d) // ?integer, ?integer, ?integer, ?integer, ?integer, ?integer
CALL spUpdateCharLevel (%d, %d) // Level, CharID
CALL spUpdateCharBP (%d, %d) // Bounty, CharID
CALL spUpdateCharInfoData (%d, %d, %d, %d, %d) // TotalEXP, Total BP, TotalKills, TotalDeaths, CID
CALL spUpdateCharPlayTime (%d, %d) // PlayTime, CharID
CALL spUpdateLastConnDate ('%s', '%s') // AccountName, Date
CALL spBringAccountItem (%d, %d, %d) // ItemID, AID, CIID
CALL spBringBackAccountItem (%d, %d, %d) // ItemID, CID, AIID
CALL spClearAllEquipedItem (%d) // CharID
CALL spAddFriend (%d, %d, %d) // CID, FriendCID, Favorite
CALL spRemoveFriend (%d, %d) // CID, FriendCID
CALL spGetFriendList (%d) //CharID

//Clans
CALL spGetCharClan (%d) //CharID
CALL spGetCLIDFromClanName ('%s') //ClanName
CALL spCreateClan ('%s', %d, %d, %d, %d, %d) //Name, Master, Member1, Member2, Member3, Member4
CALL spReserveCloseClan (%d, '%s', %d) //ClanID, ClanName, ClanMasterID
CALL spAddClanMember (%d, %d, %d) //ClanID, CharID, Level (admin = 2,normal = 0)
CALL spRemoveClanMember (%d, %d) //ClanID, CharID
CALL spUpdateClanGrade (%d, %d, %d) // CLID, CharID, ClanGrade
CALL spRemoveClanMemberFromCharName (%d, %d, '%s') // CLID, CharID, CharName
CALL spGetClanInfo (%d) // CLID

//Clan Wars
CALL spGetTeamID4 (%d, %d, %d, %d) //Member1,Member2,Member3,Member4
CALL spTeam4WinTheGame (%d, %d, %d, %d,%d, %d) // CLID, TeamID, Member1, Member2, Member3, Member4
CALL spGetLadderTeamMemberByCID (%d) // CharID
CALL spWinTheClanGame (%d, %d, %d, %d, %d, '%s', '%s', %d, %d, %d, %d,'%s', '%s') //WinningCLID, WinnerMember1, WinnerMember2, WinnerMember3, WinnerMember4, WinnerClanName, WinnerClanEmblem, LoserClanID, LoserMember1, LoserMember2, LoserMember3, LoserMember4, LoserClanName, LoserClanEmblem
CALL spUpdateCharClanContPoint (%d, %d, %d) // CLID, CharID, ContPoint


CALL spDeleteExpiredAccountItem (%d) // AIID
CALL spSelectCharQuestItemInfoByCID (%d) //CharID
CALL spInsertQuestGameLog ('%s', %d, %d, %d, %d, %d, %d, %d) //GameName, Rounds, Members
CALL spInsertQUniqueItemLog (%d, %d, %d) // ItemID, CharID, RentPeriod
CALL spCheckPremiumIP ('%s')  // IPAddress
CALL spInsertEvent (%u, %u, '%s') // Date, Name

//Locator
CALL spIPFltGetIPtoCountryCode ('%s') // IP
CALL spIPFltGetIPtoCountryList
CALL spIPFltGetBlockCountryCodeList
CALL spIPFltGetCustomIPList
CALL spIPFltGetCustomIP ('%s') // IP
Clans and Clan Wars :
Finding Updates, when done it shall be posted.

Edit Maps :


Ok i will just say the basics with words.
The things u need are:
1)Photoshop or any other picture editing program.-google
2)DDS converter-http://eliteforce2.filefront.com/file/DDS_Converter;29412
3)mrs unpacer-search the forums

K lets get started.

[1]place the mrs unpacer in Co***ents and Settings<user>
[2]now take the map what u want to edit and but it also in Co***ents and Settings<user>
[3]now go start and run and type there cmd.
[4]now a black box will come up.
[5]type there in there:mrs.exe d <map name> (<map name> as what map u want to edit,i took mansion.)dont forget to add the .mrs at the end of the map.and then press enter.
[6]now open DDS converter and but the converting settings like on the picture.
[7]now choose the picture you wanto edit.
[8]if u have chosen the picture(s)u want to edit then hit the convert button.
[9]now open them in the photoshop or what program u use to edit pictures and edit the map pictures.(u need to save the file type bmp or what was the map file type,usually bmp)
[10]if u cant save the file types in photoshop as what u want them to be then use DDS converter to make them the real file type as bmp.
[11]now when its all edited go back to cmd and type there this:mrs.exe c <map name>(it is the map folder where the map files are in)
and now hit enter.

Now u should be done with editing maps.
More coming soon.

Hope this helped you and that this also worked

Setting Up a Gunz Site [Optional] :


Some of you seem to be having issues running a GunZ website. So here is my miniguide.
1) Download XAMPP.

2) Install it.
Click:
Next >
I Accept -> Next >
Install to "c:wamp"
Next >
Next >
Next >
Install

3) It will now Install, click ok with each popup that comes up.

4) Click Launch WAMP now, then click OK.

5) Go to: C:wampphpphp.ini

6) Find the line ";extension=php_mssql.dll" and remove the ;

7) Click the WAMP icon then click "Put Online"

8) Go to c:wampwww and delete everything in there.

9) Right Click -> New -> File -> index.php

10) Right Click index.php -> Open With -> Notepad

11) Copy In:
Code:
<html>
<head>
<title>GunZ User Account Register</title>
<style>
body {
    color: #003300;
    font-family: Verdana, Arial, Serif;
    font-size: 10pt;
}
input {
    border: 1px solid #003300;
    color: #003300;
    background: #DDDDDD;
    font-family: Verdana, Arial, Serif;
    font-size: 10pt;
}
tr {
    font-size: 10pt;
}
a:link {
    text-decoration: none;
    color: #003300;
}
a:visited {
    text-decoration: none;
    color: #003300;
}
a:active {
    text-decoration: none;
    color: #003300;
}
a:hover {
    text-decoration: none;
    color: #FF6600;
}
</style>
</head>
<body>
<div align="center">
<?php
$srvip = "snaity.no-ip.org";
$srvport = "6000";
$mssql_user = "sa";
$mssql_pass = "******";
$mssql_database = "gunzsrv";
$mssql_host = "LOCALMACHINESQLEXPRESS";
$conn = mssql_connect($mssql_host, $mssql_user, $mssql_pass);
mssql_select_db($mssql_database);
?>
<FORM METHOD=POST ACTION="<?php echo $_SERVER['PHP_SELF']; ?>?act=register">
<table cellspacing=0 border=0>
<tr>
<td colspan=2 style="border: 1px solid #003300; background: #DDDDDD;"><CENTER><A HREF="<?php echo $_SERVER['PHP_SELF']; ?>">GunZ User Account Register</A></CENTER></td>
</tr>
<tr>
<td style="border-left: 1px solid #003300">&nbsp;User ID:</td>
<td style="border-right: 1px solid #003300"><INPUT TYPE="text" NAME="login"&nbsp;></td>
</tr>
<tr>
<td style="border-left: 1px solid #003300">&nbsp;Password:</td>
<td style="border-right: 1px solid #003300"><INPUT TYPE="password" NAME="senha1">&nbsp;</td>
</tr>
<tr>
<td style="border-left: 1px solid #003300">&nbsp;Retype Password:&nbsp;</td>
<td style="border-right: 1px solid #003300"><INPUT TYPE="password" NAME="senha2">&nbsp;</td>
</tr>
<tr>
<td style="border-left: 1px solid #003300">&nbsp;Email:</td>
<td style="border-right: 1px solid #003300"><INPUT TYPE="text" NAME="email">&nbsp;</td>
</tr>
<tr>
<td style="border: 1px solid #003300; border-top: 0px;" colspan=2><CENTER><INPUT NAME="Cadastrar" VALUE="Cadastrar" TYPE="submit"></CENTER></td>
</tr>
</table>
</FORM>
<?php

if ($_GET['act'] == 'register')
{
    $user = anti_injection($_POST['login']);
    $pass1 = anti_injection($_POST['senha1']);
    $pass2 = anti_injection($_POST['senha2']);
    $email = anti_injection($_POST['email']);
    if (valida(Array($user,$pass1,$pass2,$email)) == true)
    {
        if ($pass1 == $pass2)
        {
            if (ereg("([0-9,a-z,A-Z])", $user))
            {
                if (ereg("^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$", $email))
                {
                    $query = mssql_query("SELECT * FROM Accounts WHERE UserID='$user'");
                    $num_rows = mssql_num_rows($query);
                    if ($num_rows == 0)
                    {
                        $query = mssql_query("SELECT * FROM Accounts WHERE E_Mail='$email'");
                        $num_rows = mssql_num_rows($query);
                        if ($num_rows == 0)
                        {
                            $query = mssql_query("INSERT INTO Accounts (UserID, Password, E_Mail) VALUES ('$user','$pass1','$email')");
                            if (!$query)
                            {
                                echo ":: Error on account register try later ::<br>";
                            }
                            else
                            {
                                echo ":: Account has been registered ::<br>";
                            }
                        }
                        else
                        {
                            echo ":: Email in use ::<br>";
                        }
                    }
                    else
                    {
                        echo ":: User in use ::<br>";
                    }
                }
                else
                {
                    echo ":: Invalid Email ::<br>";
                }
            }
            else
            {
                echo ":: Only use Numbers and Letters in User ID ::<br>";
            }
        }
        else
        {
            echo ":: Password not equal with other ::<br>";
        }
    }
}

$query = mssql_query("SELECT * FROM Accounts");
$num_rows = mssql_num_rows($query);
echo "Total Accounts: ".$num_rows."<br>";

echo "<br><B>Server Status:</B> ";
$fp = @fsockopen($srvip, $srvport, $errno, $errstr, 1);
if (!$fp) {
    echo "<font style='color: #FF3300'><B>Offline</B></font></br>";
} else {
    echo "<font style='color: #009933'><B>Online</B></font></br>";
    fclose($fp);
}

// Função Anti Injection

function anti_injection($sql)
{
$sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|*|--|)/"),"",$sql);
$sql = trim($sql);
$sql = strip_tags($sql);
$sql = addslashes($sql);
return $sql;
}

// Verificar Campos Vazios

function valida($campos){
  foreach($campos as $c){
      if(empty($c)){
        echo ":: All fields needed ::<br>";
        return false;
      }else{
        return true;
      }
  }
}
?>
</div>
</body>
</html>
Allow Port 80 TCP on firewall, and GunZ port, as well as on the router (go to GunZ Server Port Checker to check)

Well These are practically the stuff you need to do for an Awesome private server. Thanks is appreciated. Credits to all the suppliers of these awesome tuts.

::Latest Updates [Jan-Mar 07]::

More Ijji Items :

Two rings from IjjiGunz and two swords from there, too. If you want the Demon Bringer, you can find it here: RaGEZONE - MMORPG development forums (Ijji Gunz "new" Items!)

And if you want the cat and rabbit hats, you find them here: RaGEZONE - MMORPG development forums ([Release] Bunny and Cat ears.)

And here we go.

Skill Ring and Lucky Ring:
Code:
 <ITEM id="159759" name="Skill Ring" totalpoint="0" type="equip" res_sex="a"
  res_level="25" slot="finger" weight="3" bt_price="100000" hp="0" ap="0" maxwt="0" sf="0"
  isca****em="false" fr="0" cr="0" pr="0" lr="0" xp_solo_bonus="20" xp_team_bonus="20"
  xp_quest_bonus="20" bp_solo_bonus="20" bp_team_bonus="20" bp_quest_bonus="20" duplicate="false"
  color="#FFFFFFFF" desc="Increases experience and bounty by 20%." />

 <ITEM id="159760" name="Lucky Ring" totalpoint="0" type="equip" res_sex="a"
  res_level="0" slot="finger" weight="0" bt_price="100000" hp="0" ap="2" maxwt="2"
  sf="0" isca****em="false" fr="0" cr="0" pr="0" lr="0" 
  duplicate="false" xp_solo_bonus="10" xp_team_bonus="10"
  xp_quest_bonus="10" bp_solo_bonus="10" bp_team_bonus="10" bp_quest_bonus="10" 
  color="#FFFFFFFF" desc="A ring that possesses many different mysterious powers. Only one can be equiped at a time." />
And here are the two swords.
(Get katana14.elu/katana14.bmp.dds and katana15.elu/katana15.bmp.dds from IjjiGunz Update1.mrs/Model/Weapon/katana, and put them at your Model.mrs/weapon/katana)

Update weapon.xml in your model.mrs with the following tags:
Code:
 <AddWeaponElu name="katana15" weapon_motion_type = "1" weapon_type = "1" >
  <AddBaseModel name="katana15" filename="model/weapon/katana/katana14.elu" />
 </AddWeaponElu>

 <AddWeaponElu name="katana16" weapon_motion_type = "1" weapon_type = "1" >
  <AddBaseModel name="katana16" filename="model/weapon/katana/katana15.elu" />
 </AddWeaponElu>
And put these tags at zitem.xml:
Code:
<ITEM id="159763" name="Wooden Ancient Sword" mesh_name="katana15" totalpoint="0" type="melee"
  res_sex="a" res_level="70" slot="melee" weapon="katana" weight="10" bt_price="20000" delay="309"
  damage="28" range="220" ctrl_ability="0" magazine="0" reloadtime="0" slug_output="false"
  gadget_id="0" hp="0" ap="0" maxwt="0" sf="0" fr="0" cr="1" pr="0" lr="0" color="#FFFFFFFF"
  image_id="0" bullet_image_id="0" magazine_image_id="0" desc="This old wooden sword has been used by ancient senseis in Japan. Today, it's rare." />  
 
<ITEM id="159764" name="Rock Bat" mesh_name="katana16" totalpoint="0" type="melee"
  res_sex="a" res_level="70" slot="melee" weapon="katana" weight="10" bt_price="20000" delay="350"
  damage="28" range="220" ctrl_ability="0" magazine="0" reloadtime="0" slug_output="false"
  gadget_id="0" hp="0" ap="0" maxwt="0" sf="0" fr="1" cr="0" pr="0" lr="1" color="#FFFFFFFF"
  image_id="0" bullet_image_id="0" magazine_image_id="0" desc="A Rock Bat. Strong and fast, used by ancient fighters. It gives you resistante against Lightning and Fire." />
Shop.xml:
Code:
<!-- IjjiGunz Swords -->
 <SELL itemid="159763" />
 <SELL itemid="159764" />
<!-- IjjiGunz Rings -->
 <SELL itemid="159759" />
 <SELL itemid="159760" />
Uncle Hakura, do the:
Code:
xp_solo_bonus="20" 
xp_team_bonus="20" 
xp_quest_bonus="20" 
bp_solo_bonus="20" 
bp_team_bonus="20" 
bp_quest_bonus="20"
tags work in my client?
A: Yeah, they do. It was tested and the exp and bounty in both cases (quest and normal game modes) was 20% higher.

Uncle Hakurah, why is katana14.elu as katana15 in my weapon.xml?
A: Because MAIET used the katana14 meshname for the skeleton katana (The Demon Bringer). Change it to anyother meshaname if you want to.

Models below, updated. Everything you need is below, even Demon Bringer Model.

Locator 100% :


CREDITS:
EMISAND - Locator
ThuGie - Some Proc's
LGKeiz - Proc's
I Take no credit's for any procedures or tables. This topic is a Compiled version of every possible table/procedure that allows the locator to be used.

Locator.ini :
Code:
;HACKED BY CHINA GAMERS FOR RAGEZONE!
;CONFIGURATIONS BY EMISAND

[DB]
DNS="GunzDB"
USERNAME="YOURUSER"
PASSWORD="YOURPASSWORD"

[NETWORK]
IP="127.0.0.1"
PORT="8900"

[ENV]
ID="1"
LOCATOR_UID_HIGH="5"
LOCATOR_UID_LOW="0"
MAX_ELAPSED_UPDATE_SERVER_STATUS_TIME="1000" 
UDP_LIVE_TIME="10000000" 
MAX_FREE_RECV_COUNT_PER_LIVE_TIME="9" 
BLOCK_TIME="0" 
UPDATE_UDP_MANAGER_ELAPSED_TIME="3" 
MARGIN_OF_ERROR_MIN="500000" 
USE_COUNTRY_CODE_FILTER="no" 
GMT_DIFF="-3"
ELAPSED_TIME_UPDATE_LOCATOR_LOG="3600000"
ELAPSED_TIME_UPDATE_LOCATOR_LOG="10000"
ELAPSED_TIME_UPDATE_COUNTRYCODEFILTER_LOG="10000"
UPDATE_COUNTRY_CODE="66 89 69 77 73 83 65 78 68"
Block Country Code :
Code:
USE [GunzDB]
GO
/****** Object:  Table [dbo].[IPCountryCode]    Script Date: 02/21/2007 18:30:27 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[IPCountryCode](
    [CountryCode3] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
    [IPTo] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [IPFrom] [text] COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
 CONSTRAINT [PK_IPCountryCode] PRIMARY KEY CLUSTERED 
(
    [CountryCode3] ASC
)WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO
SET ANSI_PADDING OFF

USE [GunzDB]
GO
USE [GunzDB]
GO
/****** Object:  Table [dbo].[BlockCountryCode]    Script Date: 02/21/2007 18:27:26 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[BlockCountryCode](
    [Code ] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,
    [Country] [varchar](max) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF

/****** Object:  StoredProcedure [dbo].[spIPFltGetBlockCountryCodeList]    Script Date: 02/21/2007 18:26:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[spIPFltGetBlockCountryCodeList]
AS
BEGIN
    SELECT * FROM BlockCountryCode(NOLOCK)
END

USE [GunzDB]
GO
/****** Object:  StoredProcedure [dbo].[spIPFltGetCustomIP]    Script Date: 02/21/2007 18:27:10 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[spIPFltGetCustomIP]
AS
BEGIN
    SELECT * FROM BlockCountryCode(NOLOCK)
END

USE [GunzDB]
GO
/****** Object:  StoredProcedure [dbo].[spIPFltGetCustomIPList]    Script Date: 02/21/2007 18:27:14 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[spIPFltGetCustomIPList]
AS
BEGIN
    SELECT * FROM BlockCountryCode(NOLOCK)
END

USE [GunzDB]
GO
/****** Object:  StoredProcedure [dbo].[spIPFltGetIPtoCountry]    Script Date: 02/21/2007 18:27:19 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[spIPFltGetIPtoCountry]
AS
BEGIN
    SELECT * FROM BlockCountryCode(NOLOCK)
END

USE [GunzDB]
GO
/****** Object:  StoredProcedure [dbo].[spGetIPCountryCode]    Script Date: 02/21/2007 18:29:20 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[spGetIPCountryCode]
AS
BEGIN
SELECT     CountryCode3, IPTo, IPFrom
FROM         IPCountryCode
ORDER BY CountryCode3
END

USE [GunzDB]
GO
/****** Object:  StoredProcedure [dbo].[spGetIPtoCountryList]    Script Date: 02/21/2007 18:29:37 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

CREATE PROCEDURE [dbo].[spGetIPtoCountryList]
AS
BEGIN
    SELECT * FROM BlockCountryCode(NOLOCK)
END
ServerStatus :
Code:
USE [GunzDB]
GO
/****** Object:  Table [dbo].[ServerStatus]    Script Date: 02/21/2007 18:28:25 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[ServerStatus](
    [ServerID] [int] NULL,
    [ServerName] [nvarchar](32) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [PlayerCount] [int] NULL,
    [MaxPlayer] [int] NULL,
    [CurrPlayer] [int] NULL,
    [Time] [datetime] NULL,
    [IP] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [Port] [int] NULL,
    [Opened] [varchar](50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [StatusTime] [int] NULL,
    [UpdateTime] [int] NULL,
    [RecvUDP] [varchar](max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [SendUDP] [varchar](max) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
    [BlockUDP] [int] NULL
) ON [PRIMARY]

GO
SET ANSI_PADDING OFF

USE [GunzDB]
GO
/****** Object:  StoredProcedure [dbo].[spUpdateLocatorStatus]    Script Date: 02/21/2007 18:28:46 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[spUpdateLocatorStatus]
@nServerID INT,
@RecvUDP VARCHAR,
@SendUDP VARCHAR,
@BlockUDP INT,
@UpdateTime INT
AS
BEGIN
SET NOCOUNT ON;
-- Update UDP Status
UPDATE ServerStatus
SET RecvUDP = @RecvUDP, SendUDP = @SendUDP, BlockUDP = @BlockUDP, UpdateTime = @UpdateTime
WHERE ServerID = @nServerID

END

USE [GunzDB]
GO
/****** Object:  StoredProcedure [dbo].[spStartUpLocatorStatus]    Script Date: 02/21/2007 18:28:57 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE PROCEDURE [dbo].[spStartUpLocatorStatus]
@nServerID int,
@nIP varchar(50),
@nPort int,
@nStatusTime varchar(4000)
AS
-- Remove old server.
DELETE FROM ServerStatus WHERE ServerID = @nServerID
-- Add new server.
INSERT INTO ServerStatus (ServerID,IP,Port,StatusTime) VALUES (@nServerID,@nIP,@nPort,@nStatusTime)
New Admin Panel :

Download Is Placed Below :
Code:
¤Change User Password 
¤Delete Account 
¤Delete Items
¤Add Item 
¤Change User Status
¤Delete Item
¤Change Account Name. 
¤Delete Character 
¤Change Character Bounty 
¤Change Character Level. 
¤Change Character Hair[ID:0-3]. 
¤Change Character Face[ID:0-3]. 
¤Change Character Exp. 
¤Change Character Sex 0 Male 1 Female. 
¤Change User Email
¤Character List
¤Account List

Negative Bounty Fix :



First, edit your spBuyBountyItem procedure

You have this procedure:
Code:
CREATE PROCEDURE [dbo].[spBuyBountyItem]
    @nCID INT,
    @nItemID INT,
    @nPrice INT
AS
BEGIN
    SET NOCOUNT ON;

    UPDATE Character SET BP = BP-@nPrice 
    INSERT INTO Items
    VALUES(@nCID,@nItemID,NULL)
    SELECT 0 OrderCIID

END
Ok, the bug is in this line:
Code:
UPDATE Character SET BP = BP-@nPrice
This line, set the ALL characters BP to negative but dont have a WHERE CID = @nCID

This is a fixed procedure
Code:
CREATE PROCEDURE [dbo].[spBuyBountyItem]
    @nCID INT,
    @nItemID INT,
    @nPrice INT
AS
BEGIN
    SET NOCOUNT ON;

    UPDATE Character SET BP = BP-@nPrice WHERE CID = @nCID
    INSERT INTO Items
    VALUES(@nCID,@nItemID,NULL)
    SELECT 0 OrderCIID

END
PowerLevelling :

Difficulty: Intermediate SQL Knowledge

The kill/death interval can be changed so if you wanted to you could autoban a player that happens to kill 10 players in under 2 seconds or whatever values you wish. Basically whatever you deem impossible for the average player. Script can also be modified to ban swappers too

Not recommended for small servers. Not really a fix, just autobans powerlevelers.

Please backup your database first before putting in code.

First modify your Character table and add in these two columns (Don't save it!)

Name: LevelTime Datatype: datetime
Name: PlvlCount Datatype: INT (Uncheck Allow Null)

When your in MSSQL Manager click on the arrow beside LevelTime column.
Below youll see properties. In properties set "Default or binding value" to zero.
Then Save the table.

Secondly you must modify your spInsertChar proc,
In SQL Manager drop down "Programmability" -> "Procedures" and right-click then modify spInsertChar.

Once in spInsertChar proc, find the line
Code:
VALUES(@nAID,@szName,@cnt,1,@nSex,@nCostume,...........
at the end of this line you should see:
Code:
NULL)
change it to :
Code:
NULL, getdate(),0)
Then run the following query below:

spUpdateCharInfoData
Code:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[spUpdateCharInfoData]
	@nAddedXP BIGINT,
	@nAddedBP BIGINT,
	@nAddedKillCount INT,
	@nAddedDeathCount INT,
	@nCID INT
AS

DECLARE @CurrTime datetime
DECLARE @DATEDIFF INT
DECLARE @OldTime datetime
DECLARE @AID INT
DECLARE @Count INT

SET NOCOUNT ON;

-- //BEGIN POWERLEVEL AUTOBAN//

SELECT @OldTime = (SELECT LevelTime FROM Character WHERE CID = @nCID)
SELECT @CurrTime = getdate()
SELECT @DATEDIFF = DATEDIFF(second, @CurrTime, @OldTime)

-- =============================================
-- Author:  Mackintosh www.daemonsring.net
-- Description: This piece of code will autoban powerlevelers 
-- depending on how fast they kill/die by creating timestamps
-- between deaths.
-- =============================================

-- If player, kills someone within under 2 seconds enter if statement.
IF((abs(@DATEDIFF)) < 2)
BEGIN
	UPDATE Character
	SET @Count = PlvlCount = PlvlCount+1,
	LevelTime = @CurrTime
	WHERE CID = @nCID

        -- If player has killed 5 people in under 2 seconds, autoban.
	IF(@Count > 5)
	BEGIN
		SELECT @AID=AID FROM Character
		WHERE CID = @nCID		

		UPDATE Accounts
		SET UGradeID = 253 -- 253 (Ban User)
		WHERE AID = @AID
	END
END
-- //END POWERLEVL AUTOBAN//

ELSE
BEGIN
	UPDATE Character
	SET XP = XP+@nAddedXP,
	BP = BP+@nAddedBP,
	KillCount = KillCount+@nAddedKillCount,
	DeathCount = DeathCount+@nAddedDeathCount,
	PlvlCount = 0,
	LevelTime = @CurrTime
	
	WHERE CID = @nCID

END
The above method may seem very inefficient but with the beauty of timestamps we can now display, Whos Online and much more other useful information about the server.

DOWNLOADS :
AdminPanel.RAR
MODELS.ZIP

::LATEST DOWNLOADS [Jan-Mar 07]::


July Match Server
July Client


Maps :
Ask From Me [PM]

Items :
GM Jacket

Web Templates :
GunzWeb3

Feel Free To Ask Any Questions, and for those who have solutions, please post them here!

MORE UPDATES TO COME

UPDATE NEWS :


Updated Same Links [GM item and GunzWeb3]

Updating Blank links
__________________







[b]Respected People : Hornstar6969 Demonite Slugsnack Vandrick idontknow

Last edited by Larien; 03-17-2007 at 08:58 PM..
The Following 2 Users Say Thank You to Larien For This Useful Post:
+dazza04 (03-17-2007), DesertEagle211 (04-16-2008)
  #2  
Old 03-17-2007, 11:25 AM
dazza04's Avatar
Registered Users +
 
Last Online: 10-31-2008 12:48 AM
Join Date: Sep 2006
Posts: 534
Thanks: 21
Thanked 75 Times in 49 Posts
Nominated 0 Times in 0 Posts
TOTW/F/M Award(s): 0
Downloads: 8
Uploads: 0
Latest Blog:
Rep Power: 6
dazza04 is on a distinguished road
Points: 1,704.66
Bank: 0.00
Total Points: 1,704.66
Great Tut. Nice Work. Keep IT UP@@.
__________________


Press the thanks
  #3  
Old 03-17-2007, 12:09 PM
Larien's Avatar
Red Dragon
 
Last Online: 10-15-2008 06:27 AM
Join Date: Oct 2006
Location: Selangor, Malaysia| ĢFא Land
Age: 16
Posts: 960
Thanks: 86
Thanked 354 Times in 197 Posts
Nominated 0 Times in 0 Posts
TOTW/F/M Award(s): 0
Downloads: 0
Uploads: 0
Latest Blog:
Rep Power: 8
Larien is on a distinguished road
Points: 2,383.44
Bank: 44,452.31
Total Points: 46,835.75
Send a message via MSN to Larien Send a message via Yahoo to Larien
Ok, Thx.. I have kinda updated it.
__________________







[b]Respected People : Hornstar6969 Demonite Slugsnack Vandrick idontknow
  #4  
Old 03-17-2007, 05:53 PM
Xoujiro's Avatar
Violet Hole
 
Last Online: Yesterday 10:10 PM
Join Date: Feb 2006
Age: 23
Posts: 301
Thanks: 12
Thanked 58 Times in 33 Posts
Nominated 0 Times in 0 Posts
TOTW/F/M Award(s): 0
Downloads: 0
Uploads: 0
Latest Blog:
Rep Power: 7
Xoujiro is on a distinguished road
Points: 2,628.06
Bank: 37,317.79
Total Points: 39,945.85
there are some links which are not there, but overall it is all good

edit: these two lead to the same link:

Items :
GM Jacket

Web Templates :
GunzWeb3
__________________



Last edited by Xoujiro; 03-17-2007 at 05:56 PM..
The Following User Says Thank You to Xoujiro For This Useful Post:
Larien (03-17-2007)
  #5  
Old 03-17-2007, 08:24 PM
Larien's Avatar
Red Dragon
 
Last Online: 10-15-2008 06:27 AM
Join Date: Oct 2006
Location: Selangor, Malaysia| ĢFא Land
Age: 16
Posts: 960
Thanks: 86
Thanked 354 Times in 197 Posts
Nominated 0 Times in 0 Posts
TOTW/F/M Award(s): 0
Downloads: 0
Uploads: 0
Latest Blog:
Rep Power: 8
Larien is on a distinguished road
Points: 2,383.44
Bank: 44,452.31
Total Points: 46,835.75
Send a message via MSN to Larien Send a message via Yahoo to Larien
Thanks for updating me on the link problems, im getting them fixed
__________________







[b]Respected People : Hornstar6969 Demonite Slugsnack Vandrick idontknow
  #6  
Old 03-18-2007, 01:37 PM
checkson's Avatar
A Virgin and Proud
 
Last Online: 11-01-2008 10:46 AM
Join Date: Nov 2006
Location: Anti Girl Dorm.
Posts: 470
Thanks: 113
Thanked 13 Times in 12 Posts
Nominated 0 Times in 0 Posts
TOTW/F/M Award(s): 0
Downloads: 1
Uploads: 0
Latest Blog:
Rep Power: 6
checkson is on a distinguished road
Points: 1,500.22
Bank: 0.00
Total Points: 1,500.22
vaxxor help plz

when it say





Now, you will need to open WinRAR, direct yourself to the 'MRS' folder in your hard drive. Highlight 'system.mrs' and click the 'Add' button. A window will pop-up, select RAR for the archive format and click 'OK'. Now go back to your 'MRS' folder and create a new 'Text File' with any name you like, but in the file type:




a better tut i dun udnerstand it explain mroe clearer plz
__________________
Proud 1337 Zoljah Of Pupa's Army!
http://www.gamerzneeds.net/forums/gr...-signature.png