Register for your free account! | Forgot your password?

You last visited: Today at 05:43

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Release] vSRO (rework) permanent buffs

Discussion on [Release] vSRO (rework) permanent buffs within the SRO PServer Guides & Releases forum part of the SRO Private Server category.

Reply
 
Old 06/08/2019, 03:27   #16

 
elite*gold: 100
Join Date: Jun 2013
Posts: 442
Received Thanks: 778
Quote:
Originally Posted by Royalblade* View Post
It does check for existingness. "SkillID NOT IN _TimedJobs's.SkillID"

However!!
This is not very efficient. In fact, this is blatantly stupid.

#1. You don't delete from _TimedJob, as mentioned by Locklyon. Meaning the table will just become huge as fuck due to 2nd,3rd,4th chars etc. Just delete upon logout. IF @EventID = 6 -> DEL JobID from PermaBuffSkillIDList.

#2. Please guys. Stop adding columns to tables, cause you apparently don't understand how the query engine even works.
You added a "Permanent" column.
Sub-mistake #1: IF you add a column for "true/false". Make it BOOL not tinyint.
#2: _CharSkill is a comparatively huge table in the SRODB, due to the fact that every Characters full skill list is added. Meaning you have a quite large dataset already. Why would you add ANOTHER column again which just makes the dataset larger when its quite large already.
The thing is. There are multiple ways to do this, many are at least efficient. Not clean, not good looking. BUT they work in an efficient manner. This release is for those 100player servers on VPS that srsly don't understand. But what you have done is. You apparently took a diff. permabuff query and REWORKED it into utter complete bullshit.

Thanks for that.


How to permabuff in an efficient manner:
Put all applicable buffs into new Table: PermabuffList.
Go into _RefSkill. Find out why Premium+ does NOT disappear on death (Check params guys)
Find the param for "time".
Add Time & "Stay on death" parameters to all skills from PermabuffList.
Now, go to the shieldbuff remove the parameter for "Requirement: Shield".
Additionally, go to ShieldBuff. Check column for req wep.... make it 255 for no wep needed.

Understood? Awesome. Lets do the same on Pacheon Hawks. Either Attk. Rate OR self-attacking hawk. Let people do their config if you don't wanna force em.

Now write a procedure. Join _CharSkill Where CharID = @CharID & SkillID = SkillID.

Thats very fast. Why? 'Cause CharID, SkillID have a so-called Primary Key Index.

Now since you've got all the applicable skills. Insert them into _timedJob.
When a character logs out, delete those.

Want it perfect without two teleports?

Hook it to the filter and wait while query executes.
OR
Check USER login, grant buffs to all _User.CharIDs.
When Character finally logs in, delete buffs from other characters on same User.

Done.

Yes this is more work. But stop doing UNFINISHED systems/releases for the masses. Either let them die stupid or explain it to them. But 'release' your crap from your generous anal hole into the potty. Don't put it here as a re-crapped version.

With hate & love,
Akasch
Ehm.

Make everything passive, and be done hhhhhhhhhhhhhhh
Anonymous-9238 is offline  
Old 06/08/2019, 14:53   #17
 
#HB's Avatar
 
elite*gold: 100
Join Date: Sep 2017
Posts: 1,097
Received Thanks: 889
Quote:
Originally Posted by Simulation1337 View Post
Ehm.

Make everything passive, and be done hhhhhhhhhhhhhhh
Makes a sense, lol.
#HB is offline  
Old 06/10/2019, 08:39   #18
 
Royalblade*'s Avatar
 
elite*gold: 85
Join Date: Feb 2014
Posts: 1,055
Received Thanks: 1,643
Quote:
Originally Posted by Simulation1337 View Post
Ehm.

Make everything passive, and be done hhhhhhhhhhhhhhh
That's what Mace said, too. But noo. People gotta see who they are fighting against. It's sort of part of the game to see the general build from buffs and since a perfect solution is out there. Might as well do it.
Royalblade* is offline  
Thanks
1 User
Old 06/10/2019, 16:39   #19
 
CastieI's Avatar
 
elite*gold: 20
Join Date: Sep 2007
Posts: 689
Received Thanks: 774
Quote:
Originally Posted by Royalblade* View Post
That's what Mace said, too. But noo. People gotta see who they are fighting against. It's sort of part of the game to see the general build from buffs and since a perfect solution is out there. Might as well do it.
The old crew back together in this thread
CastieI is offline  
Thanks
1 User
Old 06/10/2019, 19:56   #20

 
elite*gold: 100
Join Date: Jun 2013
Posts: 442
Received Thanks: 778
Quote:
Originally Posted by Royalblade* View Post
That's what Mace said, too. But noo. People gotta see who they are fighting against. It's sort of part of the game to see the general build from buffs and since a perfect solution is out there. Might as well do it.
A simple solution is to create a dummy skill (active) that tells you what builds the user is. The skill can have levels (based on the mastery level). So you see a lvl 100 fire skill active, the user has lvl 100 fire mastery
Anonymous-9238 is offline  
Old 07/13/2019, 11:17   #21

 
MrJøķêř's Avatar
 
elite*gold: 0
Join Date: Feb 2015
Posts: 49
Received Thanks: 27
Programmability find [dbo].[_skill_manage] this file deleted
re-upload please
MrJøķêř is offline  
Old 08/28/2019, 21:07   #22
 
T0o0P's Avatar
 
elite*gold: 0
Join Date: Sep 2016
Posts: 128
Received Thanks: 27
Link Fail
T0o0P is offline  
Old 02/07/2020, 14:59   #23
 
denise456's Avatar
 
elite*gold: 0
Join Date: Jan 2011
Posts: 373
Received Thanks: 71
link dead
denise456 is offline  
Old 11/09/2020, 09:58   #24
 
elite*gold: 0
Join Date: Nov 2020
Posts: 4
Received Thanks: 0
Link not work helps please
LengenderySouL is offline  
Old 12/05/2022, 23:14   #25
 
elite*gold: 0
Join Date: Dec 2007
Posts: 165
Received Thanks: 28
Quote:
Originally Posted by Royalblade* View Post
It does check for existingness. "SkillID NOT IN _TimedJobs's.SkillID"

However!!
This is not very efficient. In fact, this is blatantly stupid.

#1. You don't delete from _TimedJob, as mentioned by Locklyon. Meaning the table will just become huge as fuck due to 2nd,3rd,4th chars etc. Just delete upon logout. IF @EventID = 6 -> DEL JobID from PermaBuffSkillIDList.

#2. Please guys. Stop adding columns to tables, cause you apparently don't understand how the query engine even works.
You added a "Permanent" column.
Sub-mistake #1: IF you add a column for "true/false". Make it BOOL not tinyint.
#2: _CharSkill is a comparatively huge table in the SRODB, due to the fact that every Characters full skill list is added. Meaning you have a quite large dataset already. Why would you add ANOTHER column again which just makes the dataset larger when its quite large already.
The thing is. There are multiple ways to do this, many are at least efficient. Not clean, not good looking. BUT they work in an efficient manner. This release is for those 100player servers on VPS that srsly don't understand. But what you have done is. You apparently took a diff. permabuff query and REWORKED it into utter complete bullshit.

Thanks for that.


How to permabuff in an efficient manner:
Put all applicable buffs into new Table: PermabuffList.
Go into _RefSkill. Find out why Premium+ does NOT disappear on death (Check params guys)
Find the param for "time".
Add Time & "Stay on death" parameters to all skills from PermabuffList.
Now, go to the shieldbuff remove the parameter for "Requirement: Shield".
Additionally, go to ShieldBuff. Check column for req wep.... make it 255 for no wep needed.

Understood? Awesome. Lets do the same on Pacheon Hawks. Either Attk. Rate OR self-attacking hawk. Let people do their config if you don't wanna force em.

Now write a procedure. Join _CharSkill Where CharID = @CharID & SkillID = SkillID.

Thats very fast. Why? 'Cause CharID, SkillID have a so-called Primary Key Index.

Now since you've got all the applicable skills. Insert them into _timedJob.
When a character logs out, delete those.

Want it perfect without two teleports?

Hook it to the filter and wait while query executes.
OR
Check USER login, grant buffs to all _User.CharIDs.
When Character finally logs in, delete buffs from other characters on same User.

Done.

Yes this is more work. But stop doing UNFINISHED systems/releases for the masses. Either let them die stupid or explain it to them. But 'release' your crap from your generous anal hole into the potty. Don't put it here as a re-crapped version.

With hate & love,
Akasch
Thank you, took me 1 hour. Just like you said, i did and it work
Its just for level 1 - 90 Skills, if you want to put higher skills, you need to add them to your permanentskillbufflist.

Table dbo._PermanentSkillBuffList
Code:
ID	SkillID	GroupID	SkillCode	GroupRange
1	93	240	SKILL_CH_COLD_GANGGI_A_01	1
2	1125	240	SKILL_CH_COLD_GANGGI_A_02	1
3	1126	240	SKILL_CH_COLD_GANGGI_A_03	1
4	1127	240	SKILL_CH_COLD_GANGGI_A_04	1
5	1128	240	SKILL_CH_COLD_GANGGI_A_05	1
6	1129	240	SKILL_CH_COLD_GANGGI_A_06	1
7	1130	240	SKILL_CH_COLD_GANGGI_A_07	1
8	1131	240	SKILL_CH_COLD_GANGGI_A_08	1
9	1132	240	SKILL_CH_COLD_GANGGI_A_09	1
10	94	241	SKILL_CH_COLD_GANGGI_B_01	1
11	1133	241	SKILL_CH_COLD_GANGGI_B_02	1
12	1134	241	SKILL_CH_COLD_GANGGI_B_03	1
13	1135	241	SKILL_CH_COLD_GANGGI_B_04	1
14	1136	241	SKILL_CH_COLD_GANGGI_B_05	1
15	1137	241	SKILL_CH_COLD_GANGGI_B_06	1
16	1138	241	SKILL_CH_COLD_GANGGI_B_07	1
17	1139	241	SKILL_CH_COLD_GANGGI_B_08	1
18	1140	241	SKILL_CH_COLD_GANGGI_B_09	1
19	95	242	SKILL_CH_COLD_GANGGI_C_01	1
20	1141	242	SKILL_CH_COLD_GANGGI_C_02	1
21	1142	242	SKILL_CH_COLD_GANGGI_C_03	1
22	1143	242	SKILL_CH_COLD_GANGGI_C_04	1
23	1144	242	SKILL_CH_COLD_GANGGI_C_05	1
24	1145	242	SKILL_CH_COLD_GANGGI_C_06	1
25	1146	242	SKILL_CH_COLD_GANGGI_C_07	1
26	1147	242	SKILL_CH_COLD_GANGGI_C_08	1
27	1148	242	SKILL_CH_COLD_GANGGI_C_09	1
28	3365	332	SKILL_CH_COLD_GANGGI_D_01	1
29	3366	332	SKILL_CH_COLD_GANGGI_D_02	1
30	3367	332	SKILL_CH_COLD_GANGGI_D_03	1
31	3368	332	SKILL_CH_COLD_GANGGI_D_04	1
32	3369	332	SKILL_CH_COLD_GANGGI_D_05	1
33	3370	332	SKILL_CH_COLD_GANGGI_D_06	1
34	3371	332	SKILL_CH_COLD_GANGGI_D_07	1
35	3372	332	SKILL_CH_COLD_GANGGI_D_08	1
36	3373	332	SKILL_CH_COLD_GANGGI_D_09	1
37	3374	332	SKILL_CH_COLD_GANGGI_D_10	1
38	3375	332	SKILL_CH_COLD_GANGGI_D_11	1
39	3376	332	SKILL_CH_COLD_GANGGI_D_12	1
40	133	280	SKILL_CH_FIRE_GANGGI_A_01	2
41	1415	280	SKILL_CH_FIRE_GANGGI_A_02	2
42	1416	280	SKILL_CH_FIRE_GANGGI_A_03	2
43	1417	280	SKILL_CH_FIRE_GANGGI_A_04	2
44	1418	280	SKILL_CH_FIRE_GANGGI_A_05	2
45	1419	280	SKILL_CH_FIRE_GANGGI_A_06	2
46	1420	280	SKILL_CH_FIRE_GANGGI_A_07	2
47	1421	280	SKILL_CH_FIRE_GANGGI_A_08	2
48	1422	280	SKILL_CH_FIRE_GANGGI_A_09	2
49	134	281	SKILL_CH_FIRE_GANGGI_B_01	2
50	1423	281	SKILL_CH_FIRE_GANGGI_B_02	2
51	1424	281	SKILL_CH_FIRE_GANGGI_B_03	2
52	1425	281	SKILL_CH_FIRE_GANGGI_B_04	2
53	1426	281	SKILL_CH_FIRE_GANGGI_B_05	2
54	1427	281	SKILL_CH_FIRE_GANGGI_B_06	2
55	1428	281	SKILL_CH_FIRE_GANGGI_B_07	2
56	1429	281	SKILL_CH_FIRE_GANGGI_B_08	2
57	1430	281	SKILL_CH_FIRE_GANGGI_B_09	2
58	135	282	SKILL_CH_FIRE_GANGGI_C_01	2
59	1431	282	SKILL_CH_FIRE_GANGGI_C_02	2
60	1432	282	SKILL_CH_FIRE_GANGGI_C_03	2
61	1433	282	SKILL_CH_FIRE_GANGGI_C_04	2
62	1434	282	SKILL_CH_FIRE_GANGGI_C_05	2
63	1435	282	SKILL_CH_FIRE_GANGGI_C_06	2
64	1436	282	SKILL_CH_FIRE_GANGGI_C_07	2
65	1437	282	SKILL_CH_FIRE_GANGGI_C_08	2
66	1438	282	SKILL_CH_FIRE_GANGGI_C_09	2
67	8224	506	SKILL_CH_FIRE_GANGGI_D_01	2
68	8225	506	SKILL_CH_FIRE_GANGGI_D_02	2
69	8226	506	SKILL_CH_FIRE_GANGGI_D_03	2
70	8227	506	SKILL_CH_FIRE_GANGGI_D_04	2
71	8228	506	SKILL_CH_FIRE_GANGGI_D_05	2
72	8229	506	SKILL_CH_FIRE_GANGGI_D_06	2
73	8230	506	SKILL_CH_FIRE_GANGGI_D_07	2
74	130	277	SKILL_CH_FIRE_GONGUP_A_01	3
75	1409	277	SKILL_CH_FIRE_GONGUP_A_02	3
76	1410	277	SKILL_CH_FIRE_GONGUP_A_03	3
77	131	278	SKILL_CH_FIRE_GONGUP_B_01	3
78	1411	278	SKILL_CH_FIRE_GONGUP_B_02	3
79	1412	278	SKILL_CH_FIRE_GONGUP_B_03	3
80	132	279	SKILL_CH_FIRE_GONGUP_C_01	3
81	1413	279	SKILL_CH_FIRE_GONGUP_C_02	3
82	1414	279	SKILL_CH_FIRE_GONGUP_C_03	3
83	8218	504	SKILL_CH_FIRE_GONGUP_D_01	3
84	8219	504	SKILL_CH_FIRE_GONGUP_D_02	3
85	8220	504	SKILL_CH_FIRE_GONGUP_D_03	3
86	127	274	SKILL_CH_FIRE_SHIELD_A_01	4
87	1394	274	SKILL_CH_FIRE_SHIELD_A_02	4
88	1395	274	SKILL_CH_FIRE_SHIELD_A_03	4
89	1396	274	SKILL_CH_FIRE_SHIELD_A_04	4
90	1397	274	SKILL_CH_FIRE_SHIELD_A_05	4
91	1398	274	SKILL_CH_FIRE_SHIELD_A_06	4
92	128	275	SKILL_CH_FIRE_SHIELD_B_01	4
93	1399	275	SKILL_CH_FIRE_SHIELD_B_02	4
94	1400	275	SKILL_CH_FIRE_SHIELD_B_03	4
95	1401	275	SKILL_CH_FIRE_SHIELD_B_04	4
96	1402	275	SKILL_CH_FIRE_SHIELD_B_05	4
97	1403	275	SKILL_CH_FIRE_SHIELD_B_06	4
98	129	276	SKILL_CH_FIRE_SHIELD_C_01	4
99	1404	276	SKILL_CH_FIRE_SHIELD_C_02	4
100	1405	276	SKILL_CH_FIRE_SHIELD_C_03	4
101	1406	276	SKILL_CH_FIRE_SHIELD_C_04	4
102	1407	276	SKILL_CH_FIRE_SHIELD_C_05	4
103	1408	276	SKILL_CH_FIRE_SHIELD_C_06	4
104	3431	338	SKILL_CH_FIRE_SHIELD_D_01	4
105	110	257	SKILL_CH_LIGHTNING_GWANTONG_A_01	5
106	1270	257	SKILL_CH_LIGHTNING_GWANTONG_A_02	5
107	1271	257	SKILL_CH_LIGHTNING_GWANTONG_A_03	5
108	111	258	SKILL_CH_LIGHTNING_GWANTONG_B_01	5
109	1272	258	SKILL_CH_LIGHTNING_GWANTONG_B_02	5
110	1273	258	SKILL_CH_LIGHTNING_GWANTONG_B_03	5
111	112	259	SKILL_CH_LIGHTNING_GWANTONG_C_01	5
112	1274	259	SKILL_CH_LIGHTNING_GWANTONG_C_02	5
113	1275	259	SKILL_CH_LIGHTNING_GWANTONG_C_03	5
114	3407	335	SKILL_CH_LIGHTNING_GWANTONG_D_01	5
115	3408	335	SKILL_CH_LIGHTNING_GWANTONG_D_02	5
116	3409	335	SKILL_CH_LIGHTNING_GWANTONG_D_03	5
141	119	266	SKILL_CH_LIGHTNING_JIPJUNG_A_01	6
142	1333	266	SKILL_CH_LIGHTNING_JIPJUNG_A_02	6
143	1334	266	SKILL_CH_LIGHTNING_JIPJUNG_A_03	6
144	1335	266	SKILL_CH_LIGHTNING_JIPJUNG_A_04	6
145	1336	266	SKILL_CH_LIGHTNING_JIPJUNG_A_05	6
146	1337	266	SKILL_CH_LIGHTNING_JIPJUNG_A_06	6
147	120	267	SKILL_CH_LIGHTNING_JIPJUNG_B_01	6
148	1338	267	SKILL_CH_LIGHTNING_JIPJUNG_B_02	6
149	1339	267	SKILL_CH_LIGHTNING_JIPJUNG_B_03	6
150	1340	267	SKILL_CH_LIGHTNING_JIPJUNG_B_04	6
151	1341	267	SKILL_CH_LIGHTNING_JIPJUNG_B_05	6
152	1342	267	SKILL_CH_LIGHTNING_JIPJUNG_B_06	6
153	3410	336	SKILL_CH_LIGHTNING_JIPJUNG_C_01	6
154	3411	336	SKILL_CH_LIGHTNING_JIPJUNG_C_02	6
155	3412	336	SKILL_CH_LIGHTNING_JIPJUNG_C_03	6
156	3413	336	SKILL_CH_LIGHTNING_JIPJUNG_C_04	6
157	3414	336	SKILL_CH_LIGHTNING_JIPJUNG_C_05	6
158	3415	336	SKILL_CH_LIGHTNING_JIPJUNG_C_06	6
159	8175	497	SKILL_CH_LIGHTNING_JIPJUNG_D_01	6
160	8176	497	SKILL_CH_LIGHTNING_JIPJUNG_D_02	6
161	8177	497	SKILL_CH_LIGHTNING_JIPJUNG_D_03	6
StoredProcedure [dbo].[_UpdateSpBalanceSkill]
Code:
USE [SRO_VT_SHARD]
GO
/****** Object:  StoredProcedure [dbo].[_UpdateSpBalanceSkill]    Script Date: 05.12.2022 22:52:00 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[_UpdatePermanentBuffSkill]
@CharID INT
AS
DECLARE @newtime int
set @newtime= DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE())  --get curent timestamp
set @newtime=@newtime+24*3600

IF EXISTS(SELECT SkillID FROM dbo._PermanentSkillBuffList WHERE SkillID IN (SELECT SkillID FROM dbo._CharSkill Where CharID = @CharID))
BEGIN
	DELETE FROM dbo._TimedJob WHERE CharID = @CharID AND JobID IN (SELECT SkillID FROM dbo._PermanentSkillBuffList WHERE SkillID IN (SELECT SkillID FROM dbo._CharSkill Where CharID = @CharID))
	DECLARE 
		@COUNTER INT = 1, 
		@MAX INT = 0
	DECLARE @myTable TABLE (
		[Id]        int identity,
		[SkillID]	int
	)
	INSERT INTO @myTable
	SELECT ID FROM dbo._RefSkill WHERE ID IN (SELECT Max(SkillID) as SkillID FROM dbo._PermanentSkillBuffList WHERE SkillID IN (SELECT SkillID FROM dbo._CharSkill Where CharID = @CharID) Group by GroupRange)
	
	SELECT @max = COUNT(ID) FROM @myTable
	DECLARE @TempSkillID int
	WHILE @counter <= @max
	BEGIN
		SELECT @TempSkillID = SkillID FROM @myTable WHERE Id = @counter
		INSERT INTO dbo._TimedJob (CharID, Category, JobID, TimeToKeep, Data1, Data2, Data3, Data4, Data5, Data6, Data7, Data8, Serial64, JID)
		values (@CharID,0,@TempSkillID, @newtime,0,0,0,0,0,0,0,0,0,0)
		SET @counter +=1
	END
END
SRO_VT_LOG Procedure dbo._AddLogChar
Code:
IF @EventID IN(4,6,9,11)
	BEGIN
		EXEC VSRO_SHARD.._UpdatePermanentBuffSkill @charid
	END
Andrej1992 is offline  
Reply


Similar Threads Similar Threads
[Release] Permanent Buffs
09/30/2018 - SRO PServer Guides & Releases - 30 Replies
Hi, I have decided to release this after seeing some members requesting me for it. : there is a better way to code it but this one will work fine anyway Description: •Permanent Buffs: -Are you bored of using buffs every time you teleport or die in?



All times are GMT +2. The time now is 05:43.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.