GameDB the cabal_character_table then create trigger paste this
CREATE TRIGGER [Honour] ON [dbo].[cabal_character_table]
FOR INSERT, UPDATE, DELETE
AS
begin
update cabal_character_table set Reputation = 7680000
end
GameDB the cabal_character_table then create trigger paste this
CREATE TRIGGER [Honour] ON [dbo].[cabal_character_table]
FOR INSERT, UPDATE, DELETE
AS
begin
update cabal_character_table set Reputation = 7680000
end
it sets to all chars 10 honor rank....
Why not do like this?
So it is much easier and more convenient.Open ACCOUNT db.
Table dbo.cabal_newCharData_table
and edit it.....
all new chars will have stats that u see it this table...
just want to share some part to block CE 1 hit damage even though they pk or loose honour points it will still give them max honour 10. The one that you given will only give my new character max honour 10 i want all players in the server to have max honour. Do you get what i mean...
just a suggestion you can scan the characters and make a trigger that when a character's honor drops less than honor rank 10 you automatically ban the account =)
ololololo..... if players are PK.... this @mega@ system will ban them ..... olololo
becouse when u kill PK ..... his honor makes lower...
Every single time the character table is even touched by the db everyone's honour will go back to max so pk won't let them drop honour. The problem is that when you have a large number of chars the db is going to spend all of it's time updating the honour fields and the db is going to get slower and slower the more chars you have until eventually it just can't cope.
The newchardata_table method doesn't suffer the slowdown problem but honour will drop when pk-ing. Use the newchardata_table to set new char reputation to mak and then use a trigger to maintain it.
As max is already set for new chars (INSERT) you can drop the INSERT and who cares about updating honour when a char is deleted? Honour is only set when a new char is created (INSERT) or the honour increases/decreases (UPDATE) and calling on a delete is pointless extra work for the db. Adding a "where" at the end to limit the updates to people with < max reputation will speed the trigger up a little bit too.Code:CREATE TRIGGER [Honour] ON [dbo].[cabal_character_table] FOR UPDATE AS begin update cabal_character_table set Reputation = '7680000' where Reputation < '7680000' end
Further things for you to think about to optimise this: Do you really need to update for players not logged in? Or banned chars? How can you add that to the trigger to further reduce the work it has to do?
This will still suffer the slowdown but not nearly as much and your db will thank you![]()
cool thanks for that update..
ooo..... it's realy cool idea.... thx.. chump.. ^_^
This ain't blocking the exploit, you're just hiding the exploit to be used.
And, whats the point of farming hp if they all got to rank 10?
On the other hand, I saw some indonesian pservers that are using the LOW client which disables a player to alter hes honor points. I don't know if we could use the same client as them.
This ain't blocking the exploit, you're just hiding the exploit to be used.
And, whats the point of farming hp if they all got to rank 10?
On the other hand, I saw some indonesian pservers that are using the LOW client which disables a player to alter hes honor points. I don't know if we could use the same client as them.
Last edited by cypher; 24-02-09 at 10:28 PM. Reason: fixed dbl post.
dont double post we got your point.
i use this job for give Honour Rank 10
in 'Step' i select 'GAMEDB' and put this query and shedule occur in 2 to 2 minutes
update dbo.cabal_character_table set Reputation=7680000 WHERE Login=0
sory my inglish, i'm Brazilian
I am Brazilian and not ever quit
Hmm as i do not like the triggers because will mean big lags when having big servers but i do like your enthusiasm. NEVER QUIT!!
I totally agree but this is one instance where only a trigger will do. The trick is to have the trigger do as little work as possible so it doesn't lag the DB. I have been thinking a little more about the trigger and i think i can improve it further to the point where it will have no impact on performance at all.
The weakness of triggers is that they happen in response to something which is what you are seeing. The char gets created with the default values and it is that INSERT into the char table that calls the trigger and updates the table, but by that point the client has already logged in with the default values. That's why you have to combine the trigger with my method of using the NewCharData_table as i explained in my post. The NewCharData_table is what values the char is actually created with so it will start with max honour and the trigger will maintain it..
http://forum.ragezone.com/f460/how-t...plates-544565/
Yes this is just hiding the exploit because no client can protect against the vunerability. The Indonesian pservers are about to find this out the hard way by the sound of it. I won't post the method here and give people ideas, but give me ANY client for ANY pserver that claims to be hack free and i'll have the hack running in seconds. This is why we are looking at other alternatives.
Also, they cannot be using the full LOW client as the enc file format has changed and it won't work with our servers. They will be using the LOW client with an old patch on top.
I'm not sure i understand, is it giving errors?
If in doubt bout your english then post in your own language as well as english as i can use other methods of translation or ask somebody that speaks both languages to translate it for me. Non-english posts are fine as long as there is a rough english translation ;)
Here is my version:
i don't know if it works .. but it should stop those -Negative Rep hackers... without giving everyone MAX rep all the time.Code:USE [gamedb] GO /****** Object: Trigger [dbo].[Honour] Script Date: 02/26/2009 15:38:32 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- Batch submitted through debugger: SQLQuery7.sql|0|0|C:\Users\johnd\AppData\Local\Temp\3\~vs9CAE.sql ALTER TRIGGER [dbo].[Honour] ON [dbo].[cabal_character_table] FOR INSERT, UPDATE, DELETE AS begin update cabal_character_table set Reputation = 0 where Reputation < 0 end
Use this query:
update account.dbo.cabal_newchardata_table set reputation=7680000
All chars will be created with max honour now.
Actually there is a procedure that can be used to set reputation and spend less resources comparing to a trigger. Just change cabal_sp_SetCharLoginStt as this example:
ALTER PROCEDURE [dbo].[cabal_sp_SetCharLoginStt](@CharacterIdx INT, @Login INT)
AS
BEGIN
IF(@Login = 1)
BEGIN
UPDATE CABAL_CHARACTER_TABLE
SET Login = 0, Reputation=7680000
WHERE CharacterIdx between @CharacterIdx/8 * 8 and (@CharacterIdx/8 * 8) + 7
END
UPDATE CABAL_CHARACTER_TABLE
SET Login = @Login, Reputation=7680000
WHERE CharacterIdx = @CharacterIdx
END
i think this command is not good idea :
UPDATE CABAL_CHARACTER_TABLE
SET Login = @Login, Reputation=7680000
WHERE CharacterIdx = @CharacterIdx
Cause if player dc, his char login still 1, and it will always update your reputation and never stop until that player logout and make your sql work hard and you will hard to login the game.
This command not make your sql work hard where is wumpy release :
update cabal_character_table set Reputation = '7680000' where Reputation < '7680000'
You are mistaking procedure with triggers. This procedure is executed only once, in login or logout of expecific char. This precedure is used anyway in any server cause this is used to set login state. The idea here is the opposit of sql work hard. So why create something new when already have a procedure ready for it and the only think you have to do is change it to set Reputation too in same sql operation.
I got problem.when i add this trigger
later when i connect to the server i got problem with connect to the channel "Failed to Connect the server"Code:GameDB the cabal_character_table then create trigger paste this CREATE TRIGGER [Honour] ON [dbo].[cabal_character_table] FOR INSERT, UPDATE, DELETE AS begin update cabal_character_table set Reputation = 7680000 end
Why?