Murderer Disable

05/25/2013 13:41 nybo94#1
Hello ElitePvpers,

I want Disable Murderer.. anyone have a idea :confused:
05/26/2013 05:13 Anonymous-6723#2
Make all chars starting with really really HIGH murder level so the game won't allow them to attack each-other :)
05/26/2013 09:11 magicanoo#3
_Char

DailyPK value,i think the max is 200 or so.
05/26/2013 13:23 nybo94#4
Thanks for the answere but all testet :D nothing work

more idea`s ? I slowly go out of me xD
05/26/2013 16:47 Anonymous-6723#5
wait .. how exactly u made it ? It should work....
05/28/2013 19:03 nybo94#6
Quote:
Originally Posted by Zed* View Post
wait .. how exactly u made it ? It should work....
SRO_VT_SHard - _Char Dailypk 200

I've already tried every combination
05/29/2013 15:22 Anonymous-6723#7
Code:
USE [SRO_VT_SHARD_INIT]
GO
/****** Object:  StoredProcedure [dbo].[_AddNewChar]    Script Date: 05/29/2013 16:18:23 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO




ALTER PROCEDURE [dbo].[_AddNewChar]
	@UserJID			INT,        
	--@CharSlot			INT,        
	@RefCharID			INT,        
	@CharName			varchar (64),        
	@CharScale			tinyINT,        
	@StartRegionID			INT,        
	@StartPos_X			real,        
	@StartPos_Y			real,        
	@StartPos_Z			real,        
	@DefaultTeleport	INT,        
	@RefMailID			INT,        
	@RefPantsID			INT,        
	@RefBootsID			INT,        
	@RefWeaponID		INT,        
	@RefShield			INT,        
	@DurMail			tinyINT,        
	@DurPants			tinyINT,        
	@DurBoots			tinyINT,        
	@DurWeapon			tinyINT,        
	@DurShield			tinyINT,        
	@DefaultArrow		INT        
AS    
    
SET NOCOUNT ON      

	DECLARE @Slot  INT        
	DECLARE @temp  INT        
	        
	DECLARE @NewCharID  INT        
	SET @NewCharID = 0        
       
       
	-----------------------------------------------------------------------------        
	-- 1. ij¸¯ÅÍ ½½·Ô ³Ñ¹ö°¡ validÇÑ °ÍÀÎÁö, ±×¸®°í ºó½½·ÔÀÌ ¸Â´ÂÁö ¸ÕÀú üũÇÑ´Ù.        
	-----------------------------------------------------------------------------        
	     
	-- start by novice.        
	SELECT @temp = count(CharID) FROM _User WITH (NOLOCK) WHERE UserJID = @UserJID        
	      
	IF (@temp >= 4)        
	BEGIN        
		-- ³Ê¹« ¸¹ÀÚ³ª        
		RETURN -2        
	END        
	-- finish by novice.        
      
	-----------------------------------------------------------------------------        
	-- 2. ij¸¯ÅÍ Ãß°¡Ç챉        
	-----------------------------------------------------------------------------        
	IF (@CharScale > 68) -- 0100 0100 --> 68 ÀÌ´Ù!        
	BEGIN        
		-- ij¸¯ÅÍ »ý¼º ½ÇÆÐ! ½ºÄÉÀÏ °ªÀÌ ÀÌ»óÇÏ´Ù!         
		RETURN -3        
	END
        
	EXEC @temp = _IsExistingCharName @CharName        
	IF (@temp <> 0)        
	BEGIN        
		-- ÀÌ¹Ì »ç¿ëÁßÀÎ À̸§À̶ó´Âµ¥?        
		RETURN -4        
	END        
    
BEGIN TRANSACTION
    
	-- Àδø½Ã½ºÅÛÀÌ Àû¿ëµÇ¸é¼* ¸¶Áö¸·¿¡ WorldID¿Í 1°ªÀ» ´õ ³Ö¾î ÁÖ¾ú´Ù!      
	INSERT INTO _Char (RefObjID, CharName16, Scale, Strength, Intellect, LatestRegion,PosX, PosY, PosZ, AppointedTeleport, InventorySize,      
				LastLogout, CurLevel, MaxLevel, RemainGold, RemainStatPoint, RemainSkillPoint, HP, MP, JobLvl_Trader, JobLvl_Hunter, JobLvl_Robber, WorldID, TotalPK, DailyPK)      
	VALUES (@RefCharID, @CharName, @CharScale, 20, 20, 27091, 971.000061, 532.935669, 963, 2094, 77,      
				GetDate(), 1, 1, 5000000, 0, 500000, 200,200, 1, 1, 1, 1,100,100)      
    
	SET @NewCharID = @@IDENTITY        
	IF (@@ERROR <> 0 OR @@ROWCOUNT = 0)        
	BEGIN        
		-- ij¸¯ÅÍ »ý¼º ½ÇÆÐ!        
		ROLLBACK TRANSACTION        
		RETURN -5        
	END        
	    
	       
	-- start by novice.        
	-- ÀÌÁ¦ Slot ¾È¾´´Ù.. ±×³É Insert ¸¸..        
	INSERT INTO _User VALUES (@UserJID, @NewCharID)        
	-- finish by novice.        
      
      
	 -----------------------------------------------------------------------------        
	 -- 3-1. Àåºñ ½½·Ô ä¿ì±â        
	 -- [Àκ¥Å丮 ½½·Ô 96°³] + [Àåºñ½½·Ô 13°³] <- Àκ¥Å丮 È®Àå ¼*ºñ½º ÈÄ 48°³¿¡¼* 96°³·Î Áõ°¡!!!(woos0)
	 -----------------------------------------------------------------------------        
	 --PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!        
	 INSERT INTO _Inventory(CharID, Slot, ItemID)        
	  SELECT @NewCharID, cnt, 0        
	   FROM _RefDummySlot with( nolock )       
	    WHERE cnt < 109        

	      
	IF (@@ERROR <> 0)        
	BEGIN        
		-- Àκ¥Å丮 »ý¼º ½ÇÆÐ!        
		ROLLBACK TRANSACTION        
		RETURN -7         
	END        

	--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!        
	       
	-- µðÆúÆ®·Î ¼±ÅÃÇÑ ¾ÆÀÌÅÛÀ» ´Ù½Ã ³Ö¾îÁÖÀÚ...        
	/* ¿ä·± ¼ø¼*·Î  Á¤ÀǵǾî ÀÖ´Ù.        
	0: EQUIP_SLOT_HELM        
	1: EQUIP_SLOT_MAIL,        
	2: EQUIP_SLOT_SHOULDERGUARD,        
	3: EQUIP_SLOT_GAUNTLET,        
	4: EQUIP_SLOT_PANTS,        
	5: EQUIP_SLOT_BOOTS,        
	6: EQUIP_SLOT_WEAPON,        
	7: EQUIP_SLOT_SHIELD or ARROW,        
	8: EQUIP_SLOT_EARRING,        
	9: EQUIP_SLOT_NECKLACE,        
	10: EQUIP_SLOT_L_RING,        
	11: EQUIP_SLOT_R_RING,        
	*/        
	       
	DECLARE @ItemID BIGINT        
	SET @ItemID = 0        
	-- »ó°©        
	IF (@RefMailID <> 0)        
	BEGIN        
		EXEC @ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID, 1, @RefMailID, @DurMail        
		IF (@ItemID <= 0)        
		BEGIN        
			ROLLBACK TRANSACTION        
			RETURN -8        
		END        
	END        
	-- ¹ÙÁö        
	IF (@RefPantsID <> 0)        
	BEGIN        
		EXEC @ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID, 4, @RefPantsID, @DurPants        
		IF (@ItemID <= 0)        
		BEGIN        
			ROLLBACK TRANSACTION        
			RETURN -9        
		END        
	END        
	-- Boots        
	IF (@RefBootsID <> 0)        
	BEGIN        
		EXEC @ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID, 5, @RefBootsID, @DurBoots        
		IF (@ItemID <= 0)        
		BEGIN        
			ROLLBACK TRANSACTION        
			RETURN -10        
		END        
	END        
	-- Weapon        
	IF (@RefWeaponID <> 0)        
	BEGIN        
		EXEC @ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID, 6, @RefWeaponID, @DurWeapon        
		IF (@ItemID <= 0)        
		BEGIN        
			ROLLBACK TRANSACTION        
			RETURN -11        
		END        
	END        
	-- ¹æÆÐ        
	IF (@RefShield <> 0)        
	BEGIN        
		EXEC @ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @RefShield, @DurShield        
		IF (@ItemID <= 0)        
		BEGIN        
			ROLLBACK TRANSACTION        
			RETURN -12        
		END        
	END        
	-- Ȥ½Ã default·Î ¼±ÅÃÇÑ ¹«±â°¡ ȰÀ̶ó¸é È*»ì 250°³µéÀÌ È°Åëµµ ÇÔ²² ÁØ´Ù. ÁÒÄ¡?        
	IF (@DefaultArrow <> 0)        
	BEGIN        
		EXEC @ItemID =  _FN_ADD_INITIAL_EQUIP @NewCharID, 7, @DefaultArrow, 250        
		IF (@ItemID <= 0)        
		BEGIN        
			ROLLBACK TRANSACTION        
			RETURN -13        
		END        
	END


	 -----------------------------------------------------------------------------        
	 -- 3-2. ¾Æ¹ÙŸ Inventory ½½·Ô ä¿ì±â        
	 -- [¾Æ¹ÙŸ Àκ¥Å丮 ½½·Ô 5°³]
	 -- APPLY_AVATAR_SYSTEMÀÌ Àû¿ëµÇ¸é¼* Ãß°¡µÇ´Â ºÎºÐ
	 -----------------------------------------------------------------------------        
	 --PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!        
	 INSERT INTO _InventoryForAvatar(CharID, Slot, ItemID)        
	  SELECT @NewCharID, cnt, 0
	   FROM _RefDummySlot with( nolock )       
	    WHERE cnt < 5

	      
	IF (@@ERROR <> 0)        
	BEGIN        
		-- ¾Æ¹ÙŸ Àκ¥Å丮 »ý¼º ½ÇÆÐ!        
		ROLLBACK TRANSACTION        
		RETURN -14
	END        
	--PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!PATCH WARNING!!!        
	      
	-----------------------------------------------------------------------------        
	-- default skill³Ö¾îÁÖ±â        
	-----------------------------------------------------------------------------        
	DECLARE @country tinyINT        
	EXEC @country = _GetObjCountry @RefCharID        
	       
	INSERT INTO _CharSkillMastery (CharID, MasteryID, Level)        
	SELECT @NewCharID, MasteryID, 0        
	FROM _RefCharDefault_SkillMastery  with(nolock)      
	WHERE Race = @country or Race = 3        
	IF (@@error <> 0)        
	BEGIN        
		ROLLBACK TRANSACTION        
		RETURN -15        
	END        
	INSERT INTO _CharSkill (CharID,SkillID,Enable)        
	SELECT @NewCharID, SkillID, 1        
	FROM  _RefCharDefault_Skill  with(nolock)      
	WHERE Race = @country or Race = 3        
	IF (@@error <> 0)        
	BEGIN        
		ROLLBACK TRANSACTION        
		RETURN -16        
	END        
	-----------------------------------------------------------------------------        
	-- ±âº» Äù½ºÆ® ³Ö¾îÁÖ±â
	-----------------------------------------------------------------------------        
	INSERT INTO _CharQuest (CharID, QuestID, Status, AchievementCount, StartTime, EndTime, QuestData1, QuestData2)        
	SELECT @NewCharID, ID, 1, 0, getdate(), getdate(), 0, 0        
	FROM _RefQuest
	WHERE CodeName in (SELECT CodeName FROM _RefCharDefault_Quest  with(nolock) WHERE (Race = @country or Race = 3) and RequiredLevel = 1 and Service = 1)
	IF (@@error <> 0)
	BEGIN
		ROLLBACK TRANSACTION        
		RETURN -17        
	END    
	-----------------------------------------------------------------------------        
	-- Static Avatar Initial Record ³Ö±â        
	-----------------------------------------------------------------------------        
	INSERT INTO _StaticAvatar(CharID) values(@NewCharID)        
	IF (@@ERROR <> 0)        
	BEGIN        
		ROLLBACK TRANSACTION        
		RETURN -18        
	END         
	      
	-----------------------------------------------------------------------------        
	-- Trijob ä¿ö³Ö±â!!!!!        
	-----------------------------------------------------------------------------        
	INSERT INTO _CharTrijob VALUES (@NewCharID, 0, 1, 0, 0, 0)        
	IF (@@ERROR <> 0)        
	BEGIN        
		-- Àκ¥Å丮 »ý¼º ½ÇÆÐ!        
		ROLLBACK TRANSACTION        
		RETURN -19        
	END         
	      
	-----------------------------------------------------------------------------        
	-- CharList¿¡ ID ³Ö¾îÁÖ±â        
	-----------------------------------------------------------------------------        
	INSERT _CharNameList VALUES(@CharName, @NewCharID)        
	      
	      
	-- Quick Slot Á¤º¸ ÀúÀå¿ë!!!        
	exec _AddNewClientConfig @NewCharID  -- by novice...... for saving client configurations...        

COMMIT TRANSACTION        
	      
RETURN @NewCharID
Execute this query, create new character and check it might be wrong didn't tested :) I just made it to add for new chars DailyPK = 100 and TotalPK = 100..
05/31/2013 00:54 royalblade#8
Quote:
IF (@EventID = 4 OR @EventID = 6 OR @EventID = 11)
Update SRO_VT_SHARD.dbo._Char Set DailyPK = MAXAMOUNT where CharID = @CharID
Add that to _AddlogChar

This way, everytime a char teleports, logs in and logsout... the dailypk will be set onto XXXX.... Replace MAXAMOUNT with the maxamount... For TotalPenaltyPoint its like 200k, for the dailypk its 15... not sure with those numbers tho.
05/31/2013 07:12 Anonymous-6723#9
Daily 15, Total 100 not sure about points :)
05/31/2013 23:09 TychusFindlay#10
Code:
/*Created by TychusFindlay*/
USE [SRO_VT_SHARD] -- REPLACE THIS DBNAME WITH YOUR SHARD DB
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo].[Update_MURDERSTATE_onCharTable]
  ON  [dbo].[_Char]
  AFTER UPDATE
AS 
BEGIN
  SET NOCOUNT ON;
  UPDATE _Char SET DailyPK = 0 , TotalPK = 0 , PKPenaltyPoint = 0 where DailyPK<>0
END
This code will basically stop any character to gain DailyPK points which I assume it will prevent the murderer status.. Completely experimental thus try at your own risk..

best,
Tychus
06/01/2013 18:17 nybo94#11
Quote:
Originally Posted by TychusFindlay View Post
Code:
/*Created by TychusFindlay*/
USE [SRO_VT_SHARD] -- REPLACE THIS DBNAME WITH YOUR SHARD DB
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER [dbo].[Update_MURDERSTATE_onCharTable]
  ON  [dbo].[_Char]
  AFTER UPDATE
AS 
BEGIN
  SET NOCOUNT ON;
  UPDATE _Char SET DailyPK = 0 , TotalPK = 0 , PKPenaltyPoint = 0 where DailyPK<>0
END
This code will basically stop any character to gain DailyPK points which I assume it will prevent the murderer status.. Completely experimental thus try at your own risk..

best,
Tychus
Really nice Query Thanks but ... xD

yet u can kill one and have a error ( DC ) you logged again online without PK ( is nice ) but i want Stop to can attack one without PvP Cape.. i have a pvp Server and i want Disable Murder ( kill anyone without Cape )