Code:
ALTER PROCEDURE [dbo].[SetPrefix]
@prefix int,
@iid int
AS
declare @pid int
declare @index int
declare @bof_index int
declare @bofindex1 int
declare @EquipInfo int
declare @CheatInfo int
declare @PolishInfo int
declare @BoundInfo int
declare @TotalInfo int
SET @pid = (SELECT PID FROM Item WHERE [IID] = @iid)
SET @index = (SELECT [Index] FROM [Item] WHERE [IID] = @iid)
SET @bof_index = (SELECT [BofIndex] FROM [BofTable] WHERE [Index] = @index)
SET @EquipInfo = (SELECT TOP 1 Info&1 FROM Item WHERE IID = @iid)
SET @CheatInfo = (SELECT TOP 1 Info&8 FROM Item WHERE IID = @iid)
SET @PolishInfo = (SELECT TOP 1 Info&64 FROM Item WHERE IID = @iid)
SET @BoundInfo = (SELECT TOP 1 Info&128 FROM Item WHERE IID = @iid)
SET @TotalInfo = @EquipInfo + @CheatInfo + @PolishInfo + @BoundInfo
IF (@prefix = 150)
begin
--do a special thing, like make bound
UPDATE [Item] SET Info = (Info|128) WHERE IID = @iid
end
ELSE IF (@prefix = 151)
begin
--do a special thing, like make unbound
UPDATE [Item] SET Info = Info - (Info&128) WHERE IID = @iid
end
ELSE IF (@prefix = 152)
begin
--Stone of Demon Blood G3
UPDATE [Item] SET Info = @TotalInfo + 1310720 WHERE IID = @iid
end
ELSE IF (@prefix = 153)
begin
--Stone of Shadow G1
UPDATE [Item] SET Info = @TotalInfo + 524544 WHERE IID = @iid
end
ELSE IF (@prefix = 154)
begin
--Stone of Shadow G2
UPDATE [Item] SET Info = @TotalInfo + 1048832 WHERE IID = @iid
end
ELSE IF (@prefix = 155)
begin
--Stone of Holy G1
UPDATE [Item] SET Info = @TotalInfo + 524800 WHERE IID = @iid
end
ELSE IF (@prefix = 156)
begin
--Stone of Holy G2
UPDATE [Item] SET Info = @TotalInfo + 1049088 WHERE IID = @iid
end
ELSE IF (@prefix = 157)
begin
--Stone of Flame G1
UPDATE [Item] SET Info = @TotalInfo + 525312 WHERE IID = @iid
end
ELSE IF (@prefix = 158)
begin
--Stone of Flame G2
UPDATE [Item] SET Info = @TotalInfo + 1049600 WHERE IID = @iid
end
ELSE IF (@prefix = 159)
begin
--Stone of Ice G1
UPDATE [Item] SET Info = @TotalInfo + 526336 WHERE IID = @iid
end
ELSE IF (@prefix = 160)
begin
--Stone of Ice G2
UPDATE [Item] SET Info = @TotalInfo + 1050624 WHERE IID = @iid
end
ELSE IF (@prefix = 161)
begin
--Stone of Lightning G1
UPDATE [Item] SET Info = @TotalInfo + 528384 WHERE IID = @iid
end
ELSE IF (@prefix = 162)
begin
--Stone of Lightning G2
UPDATE [Item] SET Info = @TotalInfo + 1052672 WHERE IID = @iid
end
ELSE IF (@prefix = 163)
begin
--Stone of Poison G1
UPDATE [Item] SET Info = @TotalInfo + 532480 WHERE IID = @iid
end
ELSE IF (@prefix = 164)
begin
--Stone of Poison G2
UPDATE [Item] SET Info = @TotalInfo + 1056768 WHERE IID = @iid
end
ELSE IF (@prefix = 165)
begin
--Stone of Para G1
UPDATE [Item] SET Info = @TotalInfo + 540672 WHERE IID = @iid
end
ELSE IF (@prefix = 166)
begin
--Stone of Para G2
UPDATE [Item] SET Info = @TotalInfo + 1064960 WHERE IID = @iid
end
ELSE IF (@prefix = 167)
begin
--Stone of Str G1
UPDATE [Item] SET Info = @TotalInfo + 557056 WHERE IID = @iid
end
ELSE IF (@prefix = 168)
begin
--Stone of Str G2
UPDATE [Item] SET Info = @TotalInfo + 1081344 WHERE IID = @iid
end
ELSE IF (@prefix = 169)
begin
--Stone of Skill G1
UPDATE [Item] SET Info = @TotalInfo + 589824 WHERE IID = @iid
end
ELSE IF (@prefix = 170)
begin
--Stone of Skill G2
UPDATE [Item] SET Info = @TotalInfo + 1114112 WHERE IID = @iid
end
ELSE IF (@prefix = 171)
begin
--Stone of Mistery G3
UPDATE [Item] SET Info = @TotalInfo + 1179648 WHERE IID = @iid
end
ELSE IF (@prefix = 172)
begin
--10/10 Physical
UPDATE [Item] SET UpgrLevel = 10, XAttack = 10 WHERE IID = @iid
end
ELSE IF (@prefix = 173)
begin
--10/10 Magical
UPDATE [Item] SET UpgrLevel = 10, XMagic = 10 WHERE IID = @iid
end
ELSE IF (@prefix = 174)
begin
--11/11 Physical
UPDATE [Item] SET UpgrLevel = 11, XAttack = 11 WHERE IID = @iid
end
ELSE IF (@prefix = 175)
begin
--11/11 Magical
UPDATE [Item] SET UpgrLevel = 11, XMagic = 11 WHERE IID = @iid
end
ELSE IF (@prefix = 176)
begin
--12/12 Physical
UPDATE [Item] SET UpgrLevel = 12, XAttack = 12 WHERE IID = @iid
end
ELSE IF (@prefix = 177)
begin
--12/12 Magical
UPDATE [Item] SET UpgrLevel = 12, XMagic = 12 WHERE IID = @iid
end
ELSE IF (@prefix = 178)
begin
--13/13 Physical
UPDATE [Item] SET UpgrLevel = 13, XAttack = 13 WHERE IID = @iid
end
ELSE IF (@prefix = 179)
begin
--13/13 Magical
UPDATE [Item] SET UpgrLevel = 13, XMagic = 13 WHERE IID = @iid
end
ELSE IF (@prefix = 180)
begin
--14/14 Physical
UPDATE [Item] SET UpgrLevel = 14, XAttack = 14 WHERE IID = @iid
end
ELSE IF (@prefix = 181)
begin
--14/14 Magical
UPDATE [Item] SET UpgrLevel = 14, XMagic = 14 WHERE IID = @iid
end
ELSE IF (@prefix = 182)
begin
--15/15 Physical
UPDATE [Item] SET UpgrLevel = 15, XAttack = 15 WHERE IID = @iid
end
ELSE IF (@prefix = 183)
begin
--15/15 Magical
UPDATE [Item] SET UpgrLevel = 15, XMagic = 15 WHERE IID = @iid
end
ELSE IF (@prefix = 184)
begin
--16/16 Physical
UPDATE [Item] SET UpgrLevel = 16, XAttack = 16 WHERE IID = @iid
end
ELSE IF (@prefix = 185)
begin
--16/16 Magical
UPDATE [Item] SET UpgrLevel = 16, XMagic = 16 WHERE IID = @iid
end
ELSE IF (@prefix = 186)
begin
--Eb success chance 100% - UpgradeRate -> 100
UPDATE [Item] SET UpgrRate = 100 WHERE IID = @iid
end
ELSE IF (@prefix = 188)
begin
--5/1
UPDATE [Item] SET XDefense = 5, XDodge = 1 WHERE IID = @iid
end
ELSE IF (@prefix = 189)
begin
--18/18/8 Physical
UPDATE [Item] SET UpgrLevel = 18, XHit = 8, XAttack = 18 WHERE IID = @iid
end
ELSE IF (@prefix = 190)
begin
--18/18/8 Magical
UPDATE [Item] SET UpgrLevel = 18, XHit = 8, XMagic = 18 WHERE IID = @iid
end
ELSE IF (@prefix = 220)
begin
if(@bof_index > 1)
SET @bofindex1 = @bof_index
else
SET @bofindex1 = @index
UPDATE Item SET [Index] = @bofindex1 WHERE [IID] = @iid
end
ELSE IF (@prefix = 221)
begin
if(@bof_index > 1)
SET @bofindex1 = @bof_index
else
SET @bofindex1 = @index
UPDATE Item SET [Index] = @bofindex1 WHERE [IID] = @iid
end
ELSE IF (@prefix = 222)
begin
if(@bof_index > 1)
SET @bofindex1 = @bof_index
else
SET @bofindex1 = @index
UPDATE Item SET [Index] = @bofindex1 WHERE [IID] = @iid
end
ELSE
begin
--Do the normal query
UPDATE Item SET [Prefix] = @prefix WHERE [IID] = @iid
end
Code:
ALTER PROCEDURE [dbo].[CreatePlayer]
@uid int,
@name varchar(14),
@class tinyint,
@strength tinyint,
@health tinyint,
@intelligence tinyint,
@wisdom tinyint,
@dexterity tinyint,
@curhp smallint,
@curmp smallint,
@map tinyint,
@x int,
@y int,
@z int,
@face tinyint,
@hair tinyint
AS
IF (@Class = 0)
INSERT INTO Player ( [UID], [Admin], [Name], [Class], [Strength], [Health], [Intelligence], [Wisdom], [Dexterity], [CurHP], [CurMP], [Map], [X], [Y], [Z], [Face], [Hair])
VALUES ( @UID, 0, @Name, @Class, @Strength, @Health, @Intelligence, @Wisdom, @Dexterity, @CurHP, @CurMP, @map, @x, @y, @z, @Face, @Hair)
ELSE IF (@Class = 1)
INSERT INTO Player ( [UID], [Admin], [Name], [Class], [Strength], [Health], [Intelligence], [Wisdom], [Dexterity], [CurHP], [CurMP], [Map], [X], [Y], [Z], [Face], [Hair])
VALUES ( @UID, 0, @Name, @Class, @Strength, @Health, @Intelligence, @Wisdom, @Dexterity, @CurHP, @CurMP, @map, @x, @y, @z, @Face, @Hair)
ELSE IF (@Class = 2)
INSERT INTO Player ( [UID], [Admin], [Name], [Class], [Strength], [Health], [Intelligence], [Wisdom], [Dexterity], [CurHP], [CurMP], [Map], [X], [Y], [Z], [Face], [Hair])
VALUES ( @UID, 0, @Name, @Class, @Strength, @Health, @Intelligence, @Wisdom, @Dexterity, @CurHP, @CurMP, @map, @x, @y, @z, @Face, @Hair)
Code:
ALTER PROCEDURE [dbo].[honor]
@a1 varchar(14), @a2 varchar(14), @a3 varchar(14)
AS
DECLARE @lvlkiller int, @lvlopfer int, @PID int, @honor int, @APID int, @GID int, @AGID int
Set @PID = (select [PID] FROM Player where [Name] = @a2)
Set @APID = (select [PID] FROM Player where [Name] = @a3)
Set @lvlkiller = (select [Level] FROM Player where [Name] = @a2)
Set @lvlopfer = (select [Level] FROM Player where [Name] = @a3)
Set @GID= (select [GID] FROM Player where [PID] = @PID)
Set @AGID= (select [GID] FROM Player where [PID] = @APID)
--Guild Kills +1
IF EXISTS (Select [GID] FROM Guild WHERE [GID] = @GID)
begin
IF Not Exists (Select [GID] FROM GuildHonor WHERE [GID] = @GID)
begin
INSERT INTO GuildHonor ( [GID], [Kills], [Deaths], [Castle] ) VALUES ( @GID, 1, 0, 0 )
end
ELSE
begin
UPDATE GuildHonor SET [Kills] = [Kills] + 1 WHERE [GID] = @GID
end
end
--Guild Deaths +1
IF EXISTS (Select [GID] FROM Guild WHERE [GID] = @AGID)
begin
IF Exists (Select [GID] FROM GuildHonor WHERE [GID] = @AGID)
begin
UPDATE GuildHonor SET [Deaths] = [Deaths] + 1 WHERE [GID] = @AGID
end
ELSE
begin
INSERT INTO GuildHonor ( [GID], [Kills], [Deaths], [Castle] ) VALUES ( @AGID, 0, 1, 0 )
end
end
--Honor depending on lvl diff
if(@lvlkiller > @lvlopfer)
begin
if((@lvlkiller - @lvlopfer) > 10)
begin
SET @honor = 0;
end
else if((@lvlkiller - @lvlopfer) <= 10 AND (@lvlkiller - @lvlopfer) >= 6)
begin
SET @honor = 2;
end
else if((@lvlkiller - @lvlopfer) <= 5 AND (@lvlkiller - @lvlopfer) >= 1)
begin
SET @honor = 4;
end
end
else if(@lvlkiller = @lvlopfer)
begin
SET @honor = 6;
end
else if(@lvlopfer > @lvlkiller)
begin
if((@lvlopfer - @lvlkiller) >= 1 AND (@lvlopfer - @lvlkiller) <= 5)
begin
SET @honor = 8;
end
else if((@lvlopfer - @lvlkiller) >= 6 AND (@lvlopfer - @lvlkiller) <= 9)
begin
SET @honor = 10;
end
else if((@lvlopfer - @lvlkiller) >= 10 AND (@lvlopfer - @lvlkiller) <= 14)
begin
SET @honor = 12;
end
else if((@lvlopfer - @lvlkiller) >= 15 AND (@lvlopfer - @lvlkiller) <= 19)
begin
SET @honor = 14;
end
else if((@lvlopfer - @lvlkiller) > 20)
begin
SET @honor = 16;
end
end
--IF KILLER IS IN ASSASSIN MODE
IF EXISTS (SELECT [Type] FROM BuffRemain WHERE [PID] = @PID AND [Type] = 104) AND EXISTS (SELECT [Type] FROM BuffRemain WHERE [PID] = @APID AND [Type] = 104)
begin
Set @honor = @honor * 2
end
ELSE IF EXISTS (SELECT [Type] FROM BuffRemain WHERE [PID] = @PID AND [Type] = 104)
begin
Set @honor = @honor * 2
end
ELSE IF EXISTS (SELECT [Type] FROM BuffRemain WHERE [PID] = @APID AND [Type] = 104)
begin
Set @honor = @honor * 3
end
--Update Honor & Kills + Deaths
UPDATE Player SET [Honor] = [Honor] + @honor, [Kills] = [Kills] +1 WHERE [PID] = @PID
UPDATE Player SET [Deaths] = [Deaths] +1 WHERE [PID] = @APID
--Write to Assalist
INSERT INTO PKBulletin VALUES ( @a1, @a2, @a3 )
Kind Regards, bd0rk's