Welcome to RaGEZONE - MMORPG Development Forums (sponsored by tfn.gr) Mark forums read | View Forum Leaders
RaGEZONE - MMORPG Development Forums (sponsored by tfn.gr)

Knight Releases Discuss, [Share] [PHP][KO Panel] Nation Transfer Script (SNOXDKO) at Knight Online forum; Due to the panel being totally re-written, I've decided to release some of the older scripts from the SnoxdKO Panel. ...




Reply
Thread Tools
[Share] [PHP][KO Panel] Nation Transfer Script (SNOXDKO)
 
 
Average Member

Rank: Omicron


Reply With Quote
 
Join Date: Dec 2006
Posts: 64
06-18-2008, 11:44 AM
 
Due to the panel being totally re-written, I've decided to release some of the older scripts from the SnoxdKO Panel. By common request I've began with Nation Transfer and Character Restat(Which will be posted momentarily).
All I ask is that the credits in the title are left intact, or the releases will stop.

There's a few things for example Killing connected users which can't be released as they communicate with another application which currently is private.
Also, you'll need to remove the logging unless you're gonna reproduce the table (I'll post the SQL for it here, later).

We enforced some rules to ensure equality between both nations, these are as follows:

  • The Desired Nation must be Less Than 60% Total Population
  • The Desired Nation must be Less Than 57.5% Total National Points

Of course you can change these as you see fit.

Anyway, enjoy:

PHP Code:
<?php

include('./anti_inject.php');

parth1tr();
parth1('100%'2'center');
echo 
'Nation Transfer - Beta - by BlaDe @ Snoxd.net';
parth2();
parth2tr();

if (isset(
$_SESSION['sesuser'])) {
    if (
$_GET['Confirmed'] == 1) {
        
$connect odbc_connect("$dbname""$dbuser""$dbpass");
        
$query "SELECT strCharID1, strCharID2, strCharID3 FROM Account_Char WHERE strAccountID ='" $_SESSION['sesuser'] . "' ";
        
$results odbc_exec($connect$query); 
        
// Store all char names in var's.....
        
while (odbc_fetch_row($results)) {
            
$char1 odbc_result($results1);
            
$char2 odbc_result($results2);
            
$char3 odbc_result($results3);
        } 
        
// Confirm they have a character
        
if ((empty($char1)) && (empty($char2)) && (empty($char3))) {
            
part1('100%'11'center');
            echo 
'</br>Your not part of a Nation, how do you expect to change it?';
            echo 
'</br></br><a href="./index.php">Back</a></br>';
            
part2();
        } else {
            
// Confirm none of the chars are logged in..
            // Updated during the for loop

            
$query "SELECT count(strCharID) FROM CURRENTUSER WHERE strCharID = '" $char1 "' OR strCharID = '" $char2 "' OR strCharID = '" $char3 "'";
            
$results odbc_exec($connect$query);
            while (
odbc_fetch_row($results)) {
                
$online odbc_result($results1);
            } 
              if (
strlen(trim($online)) > 0) {
                
part1('100%'11'center');
                echo 
'</br>All characters must be logged out of the game first!';
                echo 
'</br></br><a href="./index.php">Back</a></br>';
                
part2();
                die();
            } 
            
// Check they aren't in a clan on any of 3 characters.
            
            
$query "SELECT count(Knights) FROM USERDATA WHERE strUserID = '" $char1 "' OR strUserID = '" $char2 "' OR strUserID = '" $char3 "'";
            
$results odbc_exec($connect$query);
            while (
odbc_fetch_row($results)) {
                
$knights odbc_result($results1);
            } 
            if (
$knights != 0) {
                
part1('100%'11'center');
                echo 
'</br>All characters on account have to be clanless.';
                echo 
'</br></br><a href="./index.php">Back</a></br>';
                
part2();
                die();
            } 
            
$query "SELECT COUNT(*) FROM NT_LOG WHERE DATEDIFF(Hour,[Date],GETDATE()) < 48 AND Account = '" $_SESSION['sesuser'] . "'";
            
$results odbc_exec($connect$query);
            while (
odbc_fetch_row($results)) {
                
$logcheck odbc_result($results1);
            } 
            if (
$logcheck 0) {
                
part1('100%'11'center');
                echo 
'</br>You may only use this feature once every 48hours.';
                echo 
'</br></br><a href="./index.php">Back</a></br>';
                
part2();
                die();
            } else {
                
// Get the nation and calculate desired nation
                
$query "SELECT strAccountID, bNation FROM ACCOUNT_CHAR WHERE strAccountID = '" $_SESSION['sesuser'] . "'";
                
$results odbc_exec($connect$query);
                while (
odbc_fetch_row($results)) {
                    
$nation odbc_result($results2);
                } 
                if (
$nation == 1$desiredNation 2;
                if (
$nation == 2$desiredNation 1
                
// Test 1
                
$check1 odbc_exec($connect"SELECT COUNT(*) FROM USERDATA WHERE Nation='" $desiredNation "'");
                
$check2 odbc_exec($connect"SELECT COUNT(*) FROM USERDATA");

                
$tot1 odbc_result ($check11);
                
$tot2 odbc_result($check21);
                if (
$tot1 $tot2 0.6) {
                    
part1('100%'11'center');
                    echo 
'</br>Sorry your desired nation has too many users.';
                    echo 
'</br>The desired population must be less than 60% Population!';
                    echo 
'</br></br><a href="./index.php">Back</a></br>';
                    
part2();
                    die();
                } 
                
// Test 2
                
$check3 odbc_exec($connect"SELECT SUM(Loyalty) AS nps FROM TB_USER WHERE Nation='" $desiredNation "'");
                
$check4 odbc_exec($connect"SELECT SUM(Loyalty) AS totnps FROM TB_USER");
                
$nps odbc_result_all($check3);
                
$totnps odbc_result_all($check4);
                if (
$nps $totnps 0.575) {
                    
part1('100%'11'center');
                    echo 
'</br>Sorry your desired nation has too many National Points.';
                    echo 
'</br>The desired population must be less than 57% total National Points!';
                    echo 
'</br></br><a href="./index.php">Back</a></br>';
                    
part2();
                    die();
                } else {
                    
// Calculate the newrace + class of the characters..
                    
foreach (array($char1$char2$char3) as $char) {
                        if (
$char != "") {
                        
$getuser "SELECT strCharID FROM CURRENTUSER where strCharID = '" $char "'";
                        
$getusere odbc_exec($connect$getuser);
                        
$characterID odbc_result($getusere1);

                        if (
strlen(trim($characterID)) > 0) {
                        
$killed 1;
                        
KillUserAndWait(trim($characterID), $connect);
                         } 
                            
$query "SELECT strUserID, Race, Class FROM USERDATA WHERE strUserID = '" $char "'";
                            
$results odbc_exec($connect$query);
                            while (
odbc_fetch_row($results)) {
                                
$race odbc_result($results2);
                                
$class odbc_result($results3);
                            } 

                            if (
$race 12) {
                                
$hashmap = array (=> 11=> 12=> 13=> 1311 => 1);
                                
$NewRace $hashmap[$race];
                            } elseif ((
$race == 12) || ($race == 13) || ($race == 14)) {
                                if (
$class == 201$NewRace 1;
                                elseif (
$class == 202$NewRace 2;
                                elseif (
$class == 203$NewRace 3;
                                elseif (
$class == 204$NewRace 4;
                                elseif (
$class == 205$NewRace 1;
                                elseif (
$class == 207$NewRace 2;
                                elseif (
$class == 209$NewRace 3;
                                elseif (
$class == 211$NewRace 4;
                            } 
                            if (
$class >= 199) {
                                
$NewClass $class 100;
                            } else {
                                
$NewClass $class 100;
                            } 
                            if ((
$NewRace == '') || ($NewClass == '')) {
                                
part1('100%'11'center');
                                echo 
'Error: (Char: ' $char ')</br> New Class:';
                                echo 
$NewClass;
                                echo 
'</br> New Race:';
                                echo 
$NewRace;
                                echo 
'</br> Old Class:';
                                echo 
$class;
                                echo 
'</br> Old Race:';
                                echo 
$race;
                                echo 
'</br></br><a href="./index.php">Back</a></br>';
                                
part2();
                                die();
                            } 
                            
$query "UPDATE USERDATA SET Nation = '" $desiredNation "', Race = '" $NewRace "', Class = '" $NewClass "', Zone = 21, PX = 33550, PZ = 38400, PY = 0 WHERE strUserID = '" $char "'";
                            
$results odbc_exec($connect$query);
                        } 
                    } 
                    
$query "INSERT INTO NT_LOG([Date], Account, Char1, Char2, Char3, NationTo) VALUES (GETDATE(), '" $_SESSION['sesuser'] . "', '" $char1 "', '" $char2 "', '" $char3 "', '" $desiredNation "')";
                    
$results odbc_exec($connect$query);
                    
$query "UPDATE ACCOUNT_CHAR SET bNation = '" $desiredNation "' WHERE strAccountID = '" $_SESSION['sesuser'] . "'";
                    
$results odbc_exec($connect$query);
                } 
                
// Done
                
part1tr();
                
part1('100%'11'center');
                echo 
'Done';
echo 
'</br></br><a href="./index.php">Back</a>';
                if (
$killed == 1) { echo '</br>A character was disconnected during this process'; }
                
part2();
                
part2tr();
            } 
        } 
    } else {
        
part1tr();
        
part1('25%'11'center');
        echo 
'Please confirm your transfer:</br></br></br>
        <li>You must be <b>logged out</b> of <b>all</b> characters</li>
        <li>You must be <b>Clanless</b> on <b>all</b> characters</li>
        <li>You may only use this feature <b>once</b> every 48hours</li>
        <li>The Desired Nation must be <b>Less Than</b> 60% Total Population </li>
        <li>The Desired Nation must be <b>Less Than</b> 57.5% Total National Points</li></br></br>
        <FORM method=post name=confirm action=index.php?act=NationTransfer&Confirmed=1>
            <input class="input" type="submit" value="Confirm">
            </form>'
;
        
part2();
        
part2tr();
    } 
} else {
    
part1('100%'11'center');
    echo 
'You must login first!';
    
part2();


?>
You can find the restat script [Only Registered and Activated Users Can See Links. Click Here To Register...]

Feel free to post if you have any issues, questions or requests.

Thanks,

BlaDe.

Last edited by BlaDe2qj; 11-10-2008 at 04:48 PM. Reason: Fixed typo
 
 
permalink
 

RaGEZONE is proudly sponsored by
 
Retired OurKO Hoster

Rank: (E)Subscriber


Reply With Quote
 
Join Date: Aug 2007
Location: In My Room
Posts: 210
06-18-2008, 12:54 PM
 
TY for this
 
 
permalink
 

 
Average Member

Rank: Omicron


Reply With Quote
 
Join Date: Dec 2006
Posts: 64
06-18-2008, 01:16 PM
 
You should download that code again, fixed a small bug. Remember you need to remove the KillUserAndWait and log stuff :).
 
 
permalink
 


 
Retired OurKO Hoster

Rank: (E)Subscriber


Reply With Quote
 
Join Date: Aug 2007
Location: In My Room
Posts: 210
06-18-2008, 01:22 PM
 
Already done :D

I wont remove the logging, as Ill wait for the Required Column definitions to be posted.

Thanks in advance
 
 
permalink
 

 
Average Member

Rank: Omicron


Reply With Quote
 
Join Date: Dec 2006
Posts: 64
06-18-2008, 04:38 PM
 
CREATE TABLE [dbo].[NT_LOG] (
[Date] [datetime] NOT NULL ,
[Account] [char] (21) COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL ,
[Char1] [char] (21) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[Char2] [char] (21) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[Char3] [char] (21) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[NationTo] [tinyint] NOT NULL
) ON [PRIMARY]
GO

CREATE TABLE [dbo].[NationTransfers] (
[strAccountID] [varchar] (21) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[strPasswd] [varchar] (13) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[desiredNation] [tinyint] NULL
) ON [PRIMARY]
GO

They're the tables we used for NT related stuff.
 
 
permalink
 

 
Retired OurKO Hoster

Rank: (E)Subscriber


Reply With Quote
 
Join Date: Aug 2007
Location: In My Room
Posts: 210
06-18-2008, 08:09 PM
 
TY again, but it seems I am missing some more stored procs..

I already have stored procedure 'NT'

But It seems I also need 'NT1' and 'NT2' as the script changes my nation but not my chars skin class etc etc.
 
 
permalink
 

 
Retired OurKO Hoster

Rank: (E)Subscriber


Reply With Quote
 
Join Date: Aug 2007
Location: In My Room
Posts: 210
06-19-2008, 11:08 AM
 
NT, NT1 and NT2 procedures.

I took these from my old 1098 DB, but like other scripts from 1098 they dont work 100% the way they should..

I dont have the time to start editing them so I'll post them here for everyone.. Maybe someone can fix them up for 1299.

The problem seems to be with NT1 and NT2 procedures, with the class numbers, They seem to be mixed up etc etc, as when I Nation Transfer my Char has no skin etc etc.

NT

Code:
 
CREATE PROCEDURE [NT]
@Account varchar(50),
@NTnum varchar(50)
AS DECLARE @clannumber smallint, @length int,@row int,@i int,@dwid int,@pos int,@dur int,@dur1 int,@ext int,@StackSize1 int,@strName varchar(30),@strExtName varchar(30),@Cdwid varbinary(4),@cdur varchar(2),@cstack varchar(2)
begin tran
declare @char1 varchar(21)
set @char1 = (select strcharid1 from account_char where straccountid = @account)
declare @char2 varchar(21)
set @char2 = (select strcharid2 from account_char where straccountid = @account)
declare @char3 varchar(21)
set @char3 = (select strcharid3 from account_char where straccountid = @account)
declare @clannumber1 smallint
set @clannumber1 = (select idnum from knights where chief = @char1)
declare @clannumber2 smallint
set @clannumber2 = (select idnum from knights where chief = @char2)
declare @clannumber3 smallint
set @clannumber3 = (select idnum from knights where chief = @char3)
declare @online1 varchar(50)
set @online1 = (select count(strcharid) from currentuser where strcharid = @char1)
declare @online2 varchar(50)
set @online2 = (select count(strcharid) from currentuser where strcharid = @char2)
declare @online3 varchar(50)
set @online3 = (select count(strcharid) from currentuser where strcharid = @char3)
 
if @online1  > 1 begin select 'One of their characters is currently online, they must be offline to NT.' end
if @online2  > 1 begin select 'One of their characters is currently online, they must be offline to NT.' end
if @online3  > 1 begin select 'One of their characters is currently online, they must be offline to NT.' end
 
if @NTnum = 2 and @online1 = 0 and @online2 = 0 and @online3 = 0
begin
update account_char set bnation = '2' where bnation = '1' and straccountid = @Account
update userdata set nation = '2' where nation = '1' and struserid = @char1
Update userdata set race = '11' where class = '105' and struserid = @char1
update userdata set race = '11' where class = '101' and struserid = @char1
Update userdata set race = '12' where race = '2' and class in ('107','111','102','104') and struserid = @char1
update userdata set race = '13' where race = '3' and class in ('104','111') and struserid = @char1
update userdata set race = '13' where class in ('203','209') and race = '4' and struserid = @char1
update userdata set class = '205' where class = '105' and struserid = @char1
update userdata set class = '207' where class = '107' and struserid = @char1
update userdata set class = '209' where class = '109' and struserid = @char1
update userdata set class = '211' where class = '111' and struserid = @char1
update userdata set class = '201' where class = '101' and struserid = @char1
update userdata set class = '202' where class = '102' and struserid = @char1
update userdata set class = '203' where class = '103' and struserid = @char1
update userdata set class = '204' where class = '104' and struserid = @char1
update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char1
delete from knights where chief = @char1
delete from knights_user where sidnum = @clannumber1
delete from knights_rating where shindex = @clannumber1
update userdata set knights = 0, fame = 0 where knights = @clannumber1
update userdata set nation = '2' where nation = '1' and struserid = @char2
Update userdata set race = '11' where class = '105' and struserid = @char2
update userdata set race = '11' where class = '101' and struserid = @char2
Update userdata set race = '12' where race = '2' and class in ('107','111','102','104') and struserid = @char2
update userdata set race = '13' where race = '3' and class in ('104','111') and struserid = @char2
update userdata set race = '13' where class in ('203','209') and race = '4' and struserid = @char2
update userdata set class = '205' where class = '105' and struserid = @char2
update userdata set class = '207' where class = '107' and struserid = @char2
update userdata set class = '209' where class = '109' and struserid = @char2
update userdata set class = '211' where class = '111' and struserid = @char2
update userdata set class = '201' where class = '101' and struserid = @char2
update userdata set class = '202' where class = '102' and struserid = @char2
update userdata set class = '203' where class = '103' and struserid = @char2
update userdata set class = '204' where class = '104' and struserid = @char2
update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char2
delete from knights where chief = @char2
delete from knights_user where sidnum = @clannumber2
delete from knights_rating where shindex = @clannumber2
update userdata set knights = 0, fame = 0 where knights = @clannumber2
update userdata set nation = '2' where nation = '1' and struserid = @char3
Update userdata set race = '11' where class = '105' and struserid = @char3
update userdata set race = '11' where class = '101' and struserid = @char3
Update userdata set race = '12' where race = '2' and class in ('107','111','102','104') and struserid = @char3
update userdata set race = '13' where race = '3' and class in ('104','111') and struserid = @char3
update userdata set race = '13' where class in ('203','209') and race = '4' and struserid = @char3
update userdata set class = '205' where class = '105' and struserid = @char3
update userdata set class = '207' where class = '107' and struserid = @char3
update userdata set class = '209' where class = '109' and struserid = @char3
update userdata set class = '211' where class = '111' and struserid = @char3
update userdata set class = '201' where class = '101' and struserid = @char3
update userdata set class = '202' where class = '102' and struserid = @char3
update userdata set class = '203' where class = '103' and struserid = @char3
update userdata set class = '204' where class = '104' and struserid = @char3
update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char3
delete from knights where chief = @char3
delete from knights_user where sidnum = @clannumber3
delete from knights_rating where shindex = @clannumber3
update userdata set knights = 0, fame = 0 where knights = @clannumber3
update userdata set knights = 0, fame = 0 where struserid = @char1
update userdata set knights = 0, fame = 0 where struserid = @char2
update userdata set knights = 0, fame = 0 where struserid = @char3
Update knights set vicechief_1 = null where vicechief_1 = @char1
Update knights set vicechief_2 = null where vicechief_2 = @char1
Update knights set vicechief_3 = null where vicechief_3 = @char1
Update knights set vicechief_1 = null where vicechief_1 = @char2
Update knights set vicechief_2 = null where vicechief_2 = @char2
Update knights set vicechief_3 = null where vicechief_3 = @char2
Update knights set vicechief_1 = null where vicechief_1 = @char3
Update knights set vicechief_2 = null where vicechief_2 = @char3
Update knights set vicechief_3 = null where vicechief_3 = @char3
delete from knights_user where struserid = @char1
delete from knights_user where struserid = @char2
delete from knights_user where struserid = @char3
end
if @NTnum = 1 and @online1 = 0 and @online2 = 0 and @online3 = 0
begin
update account_char set bnation = '1' where bnation = '2' and straccountid = @Account
update userdata set nation = '1' where nation = '2' and struserid = @char1
Update userdata set race = '1' where class in ('201','205') and struserid = @char1
Update userdata set race = '2' where race = '12' and class in ('207','211','202','204') and struserid = @char1
update userdata set race = '3' where race = '13' and class in ('204','211') and struserid = @char1
update userdata set race = '4' where class in ('203','209') and struserid = @char1
update userdata set class = '105' where class = '205' and struserid = @char1
update userdata set class = '107' where class = '207' and struserid = @char1
update userdata set class = '109' where class = '209' and struserid = @char1
update userdata set class = '111' where class = '211' and struserid = @char1
update userdata set class = '101' where class = '201' and struserid = @char1
update userdata set class = '102' where class = '202' and struserid = @char1
update userdata set class = '103' where class = '203' and struserid = @char1
update userdata set class = '104' where class = '204' and struserid = @char1
update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char1
delete from knights where chief = @char1
delete from knights_user where sidnum = @clannumber1
delete from knights_rating where shindex = @clannumber1
update userdata set knights = 0, fame = 0 where knights = @clannumber1
update userdata set nation = '1' where nation = '2' and struserid = @char2
Update userdata set race = '1' where class in ('201','205') and struserid = @char2
Update userdata set race = '2' where race = '12' and class in ('207','211','202','204') and struserid = @char2
update userdata set race = '3' where race = '13' and class in ('204','211') and struserid = @char2
update userdata set race = '4' where class in ('203','209') and struserid = @char2
update userdata set race = '4' where class = '209' and struserid = @char2
update userdata set class = '105' where class = '205' and struserid = @char2
update userdata set class = '107' where class = '207' and struserid = @char2
update userdata set class = '109' where class = '209' and struserid = @char2
update userdata set class = '111' where class = '211' and struserid = @char2
update userdata set class = '101' where class = '201' and struserid = @char2
update userdata set class = '102' where class = '202' and struserid = @char2
update userdata set class = '103' where class = '203' and struserid = @char2
update userdata set class = '104' where class = '204' and struserid = @char2
update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char2
delete from knights where chief = @char2
delete from knights_user where sidnum = @clannumber2
delete from knights_rating where shindex = @clannumber2
update userdata set knights = 0, fame = 0 where knights = @clannumber2
update userdata set nation = '1' where nation = '2' and struserid = @char3
Update userdata set race = '1' where class in ('201','205') and struserid = @char3
Update userdata set race = '2' where race = '12' and class in ('207','211','202','204') and struserid = @char3
update userdata set race = '3' where race = '13' and class in ('204','211') and struserid = @char3
update userdata set race = '4' where class in ('203','209') and struserid = @char3
update userdata set class = '105' where class = '205' and struserid = @char3
update userdata set class = '107' where class = '207' and struserid = @char3
update userdata set class = '109' where class = '209' and struserid = @char3
update userdata set class = '111' where class = '211' and struserid = @char3
update userdata set class = '101' where class = '201' and struserid = @char3
update userdata set class = '102' where class = '202' and struserid = @char3
update userdata set class = '103' where class = '203' and struserid = @char3
update userdata set class = '104' where class = '204' and struserid = @char3
update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char3
delete from knights where chief = @char3
delete from knights_user where sidnum = @clannumber3
delete from knights_rating where shindex = @clannumber3
update userdata set knights = 0, fame = 0 where knights = @clannumber3
update userdata set knights = 0, fame = 0 where struserid = @char1
update userdata set knights = 0, fame = 0 where struserid = @char2
update userdata set knights = 0, fame = 0 where struserid = @char3
Update knights set vicechief_1 = null where vicechief_1 = @char1
Update knights set vicechief_2 = null where vicechief_2 = @char1
Update knights set vicechief_3 = null where vicechief_3 = @char1
Update knights set vicechief_1 = null where vicechief_1 = @char2
Update knights set vicechief_2 = null where vicechief_2 = @char2
Update knights set vicechief_3 = null where vicechief_3 = @char2
Update knights set vicechief_1 = null where vicechief_1 = @char3
Update knights set vicechief_2 = null where vicechief_2 = @char3
Update knights set vicechief_3 = null where vicechief_3 = @char3
delete from knights_user where struserid = @char1
delete from knights_user where struserid = @char2
delete from knights_user where struserid = @char3
end
 
commit tran
GO

NT1

Code:
 
CREATE procedure [nt1]
@Account char(30)
AS DECLARE @clannumber smallint, @length int,@row int,@i int,@dwid int,@pos int,@dur int,@dur1 int,@ext int,@StackSize1 int,@strName varchar(30),@strExtName varchar(30),@Cdwid varbinary(4),@cdur varchar(2),@cstack varchar(2)
begin tran
declare @char1 varchar(21)
set @char1 = (select strcharid1 from account_char where straccountid = @account)
declare @char2 varchar(21)
set @char2 = (select strcharid2 from account_char where straccountid = @account)
declare @char3 varchar(21)
set @char3 = (select strcharid3 from account_char where straccountid = @account)
declare @clannumber1 smallint
set @clannumber1 = (select idnum from knights where chief = @char1)
declare @clannumber2 smallint
set @clannumber2 = (select idnum from knights where chief = @char2)
declare @clannumber3 smallint
set @clannumber3 = (select idnum from knights where chief = @char3)
update account_char set bnation = '1' where bnation = '2' and straccountid = @Account
update userdata set nation = '1' where nation = '2' and struserid = @char1
Update userdata set race = '1' where class in ('201','205') and struserid = @char1
Update userdata set race = '2' where race = '12' and class in ('207','211','202','204') and struserid = @char1
update userdata set race = '3' where race = '13' and class in ('204','211') and struserid = @char1
update userdata set race = '4' where class in ('203','209') and struserid = @char1
update userdata set class = '105' where class = '205' and struserid = @char1
update userdata set class = '107' where class = '207' and struserid = @char1
update userdata set class = '109' where class = '209' and struserid = @char1
update userdata set class = '111' where class = '211' and struserid = @char1
update userdata set class = '101' where class = '201' and struserid = @char1
update userdata set class = '102' where class = '202' and struserid = @char1
update userdata set class = '103' where class = '203' and struserid = @char1
update userdata set class = '104' where class = '204' and struserid = @char1
update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char1
delete from knights where chief = @char1
delete from knights_user where sidnum = @clannumber1
delete from knights_rating where shindex = @clannumber1
update userdata set knights = 0, fame = 0 where knights = @clannumber1
update userdata set nation = '1' where nation = '2' and struserid = @char2
Update userdata set race = '1' where class in ('201','205') and struserid = @char2
Update userdata set race = '2' where race = '12' and class in ('207','211','202','204') and struserid = @char2
update userdata set race = '3' where race = '13' and class in ('204','211') and struserid = @char2
update userdata set race = '4' where class in ('203','209') and struserid = @char2
update userdata set race = '4' where class = '209' and struserid = @char2
update userdata set class = '105' where class = '205' and struserid = @char2
update userdata set class = '107' where class = '207' and struserid = @char2
update userdata set class = '109' where class = '209' and struserid = @char2
update userdata set class = '111' where class = '211' and struserid = @char2
update userdata set class = '101' where class = '201' and struserid = @char2
update userdata set class = '102' where class = '202' and struserid = @char2
update userdata set class = '103' where class = '203' and struserid = @char2
update userdata set class = '104' where class = '204' and struserid = @char2
update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char2
delete from knights where chief = @char2
delete from knights_user where sidnum = @clannumber2
delete from knights_rating where shindex = @clannumber2
update userdata set knights = 0, fame = 0 where knights = @clannumber2
update userdata set nation = '1' where nation = '2' and struserid = @char3
Update userdata set race = '1' where class in ('201','205') and struserid = @char3
Update userdata set race = '2' where race = '12' and class in ('207','211','202','204') and struserid = @char3
update userdata set race = '3' where race = '13' and class in ('204','211') and struserid = @char3
update userdata set race = '4' where class in ('203','209') and struserid = @char3
update userdata set class = '105' where class = '205' and struserid = @char3
update userdata set class = '107' where class = '207' and struserid = @char3
update userdata set class = '109' where class = '209' and struserid = @char3
update userdata set class = '111' where class = '211' and struserid = @char3
update userdata set class = '101' where class = '201' and struserid = @char3
update userdata set class = '102' where class = '202' and struserid = @char3
update userdata set class = '103' where class = '203' and struserid = @char3
update userdata set class = '104' where class = '204' and struserid = @char3
update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char3
delete from knights where chief = @char3
delete from knights_user where sidnum = @clannumber3
delete from knights_rating where shindex = @clannumber3
update userdata set knights = 0, fame = 0 where knights = @clannumber3
update userdata set knights = 0, fame = 0 where struserid = @char1
update userdata set knights = 0, fame = 0 where struserid = @char2
update userdata set knights = 0, fame = 0 where struserid = @char3
Update knights set vicechief_1 = '' where vicechief_1 = @char1
Update knights set vicechief_2 = '' where vicechief_2 = @char1
Update knights set vicechief_3 = '' where vicechief_3 = @char1
Update knights set vicechief_1 = '' where vicechief_1 = @char2
Update knights set vicechief_2 = '' where vicechief_2 = @char2
Update knights set vicechief_3 = '' where vicechief_3 = @char2
Update knights set vicechief_1 = '' where vicechief_1 = @char3
Update knights set vicechief_2 = '' where vicechief_2 = @char3
Update knights set vicechief_3 = '' where vicechief_3 = @char3
delete from knights_user where struserid = @char1
delete from knights_user where struserid = @char2
delete from knights_user where struserid = @char3
commit tran
GO


NT2


Code:
 
CREATE procedure [nt2]
@Account char(30)
AS DECLARE @clannumber smallint, @length int,@row int,@i int,@dwid int,@pos int,@dur int,@dur1 int,@ext int,@StackSize1 int,@strName varchar(30),@strExtName varchar(30),@Cdwid varbinary(4),@cdur varchar(2),@cstack varchar(2)
begin tran
declare @char1 varchar(21)
set @char1 = (select strcharid1 from account_char where straccountid = @account)
declare @char2 varchar(21)
set @char2 = (select strcharid2 from account_char where straccountid = @account)
declare @char3 varchar(21)
set @char3 = (select strcharid3 from account_char where straccountid = @account)
declare @clannumber1 smallint
set @clannumber1 = (select idnum from knights where chief = @char1)
declare @clannumber2 smallint
set @clannumber2 = (select idnum from knights where chief = @char2)
declare @clannumber3 smallint
set @clannumber3 = (select idnum from knights where chief = @char3)
update account_char set bnation = '2' where bnation = '1' and straccountid = @Account
update userdata set nation = '2' where nation = '1' and struserid = @char1
Update userdata set race = '11' where class = '105' and struserid = @char1
update userdata set race = '11' where class = '101' and struserid = @char1
Update userdata set race = '12' where race = '2' and class in ('107','111','102','104') and struserid = @char1
update userdata set race = '13' where race = '3' and class in ('104','111') and struserid = @char1
update userdata set race = '13' where class in ('203','209') and race = '4' and struserid = @char1
update userdata set class = '205' where class = '105' and struserid = @char1
update userdata set class = '207' where class = '107' and struserid = @char1
update userdata set class = '209' where class = '109' and struserid = @char1
update userdata set class = '211' where class = '111' and struserid = @char1
update userdata set class = '201' where class = '101' and struserid = @char1
update userdata set class = '202' where class = '102' and struserid = @char1
update userdata set class = '203' where class = '103' and struserid = @char1
update userdata set class = '204' where class = '104' and struserid = @char1
update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char1
delete from knights where chief = @char1
delete from knights_user where sidnum = @clannumber1
delete from knights_rating where shindex = @clannumber1
update userdata set knights = 0, fame = 0 where knights = @clannumber1
update userdata set nation = '2' where nation = '1' and struserid = @char2
Update userdata set race = '11' where class = '105' and struserid = @char2
update userdata set race = '11' where class = '101' and struserid = @char2
Update userdata set race = '12' where race = '2' and class in ('107','111','102','104') and struserid = @char2
update userdata set race = '13' where race = '3' and class in ('104','111') and struserid = @char2
update userdata set race = '13' where class in ('203','209') and race = '4' and struserid = @char2
update userdata set class = '205' where class = '105' and struserid = @char2
update userdata set class = '207' where class = '107' and struserid = @char2
update userdata set class = '209' where class = '109' and struserid = @char2
update userdata set class = '211' where class = '111' and struserid = @char2
update userdata set class = '201' where class = '101' and struserid = @char2
update userdata set class = '202' where class = '102' and struserid = @char2
update userdata set class = '203' where class = '103' and struserid = @char2
update userdata set class = '204' where class = '104' and struserid = @char2
update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char2
delete from knights where chief = @char2
delete from knights_user where sidnum = @clannumber2
delete from knights_rating where shindex = @clannumber2
update userdata set knights = 0, fame = 0 where knights = @clannumber2
update userdata set nation = '2' where nation = '1' and struserid = @char3
Update userdata set race = '11' where class = '105' and struserid = @char3
update userdata set race = '11' where class = '101' and struserid = @char3
Update userdata set race = '12' where race = '2' and class in ('107','111','102','104') and struserid = @char3
update userdata set race = '13' where race = '3' and class in ('104','111') and struserid = @char3
update userdata set race = '13' where class in ('203','209') and race = '4' and struserid = @char3
update userdata set class = '205' where class = '105' and struserid = @char3
update userdata set class = '207' where class = '107' and struserid = @char3
update userdata set class = '209' where class = '109' and struserid = @char3
update userdata set class = '211' where class = '111' and struserid = @char3
update userdata set class = '201' where class = '101' and struserid = @char3
update userdata set class = '202' where class = '102' and struserid = @char3
update userdata set class = '203' where class = '103' and struserid = @char3
update userdata set class = '204' where class = '104' and struserid = @char3
update userdata set zone = '21',bind = '-1',px = '31900',pz = '40100',py = '0' where struserid = @char3
delete from knights where chief = @char3
delete from knights_user where sidnum = @clannumber3
delete from knights_rating where shindex = @clannumber3
update userdata set knights = 0, fame = 0 where knights = @clannumber3
update userdata set knights = 0, fame = 0 where struserid = @char1
update userdata set knights = 0, fame = 0 where struserid = @char2
update userdata set knights = 0, fame = 0 where struserid = @char3
Update knights set vicechief_1 = '' where vicechief_1 = @char1
Update knights set vicechief_2 = '' where vicechief_2 = @char1
Update knights set vicechief_3 = '' where vicechief_3 = @char1
Update knights set vicechief_1 = '' where vicechief_1 = @char2
Update knights set vicechief_2 = '' where vicechief_2 = @char2
Update knights set vicechief_3 = '' where vicechief_3 = @char2
Update knights set vicechief_1 = '' where vicechief_1 = @char3
Update knights set vicechief_2 = '' where vicechief_2 = @char3
Update knights set vicechief_3 = '' where vicechief_3 = @char3
delete from knights_user where struserid = @char1
delete from knights_user where struserid = @char2
delete from knights_user where struserid = @char3
commit tran
GO

If someone fixes them please post the fix here, for everyone else..

And

Thanks in advance.
 
 
permalink