G Auto Events For Vsro Servers
http://i.epvpimg.com/XkcKe.png
- Long Time Ago Since Galullians Server ( i was working On Auto Events .. and Started Release Event By Event , So i Decide To Collect all That Works Again
http://i.epvpimg.com/jJlVb.png
- Galullians Auto Events Tool Working with one GM Character To run Events arround, Depends on a .cfg setting file & DB Connections, Recording Logs using normal known packets , loops ..etc
- this release is just a beta test [IMG]http://www.***********.com/forum/images/smilies/smile.gif[/IMG]
http://i.epvpimg.com/6FK5h.png
- G Auto Events included the following Events :
1-. Question And Answer Event
2-. Top 3 Gold Chars Titles ( Updating Every Moment )
3-. Top 3 Jobbers Chars Titles ( Updating Every Moment )
4-. Gm Killer Event
5-. Higher Alchemy Plus Event
6-. Hide And Seek Event
7-. Fetch Normal Uniques Kills & Reward Players
8-. Job Suit Uniques War Event
9-. Lucky Party number Event
10-. Search And Destroy Event
11-. Most Deadly Player ( Pvp Match ) Event
12-. Most Wanted Player ( 1 Against All ) Event
13-. Known Uniques Spawn Event
14-. Lucky Global Event ( Lottery Event )
15-. Auto Notice Feature
16-. Auto Pm Feature
- Descriptions :
1-. Question And Answer Event
Bot will grap an question from sql table and when a player pop up with right answer, bot will reward him
2-. Top 3 Gold Chars Titles ( Updating Every Moment )
Every Moment Bot Check Db For Top 3 Players Owning Gold And Give them Titles ( Hwan Levels )
3-. Top 3 Jobbers Chars Titles ( Updating Every Moment )
Same As previous event but give the titles for Tob 3 Jobbers depends on levels & Contributions.
4-. Gm Killer Event
Bot Will Appear in X Place with a cap and waiting for other players to attack and kill him , killer will get reward
5-. Higher Alchemy Plus Event
Bot will Appear in X Place and Drop an amount of items , the player who achive the higher plus on those items will win.
6-. Hide And Seek Event
Bot will Start The Event Going To X place, waiting to be discovered by any player.
7-. Fetch Normal Uniques Kills & Reward Players
You Can add Rewards For Normal Uniques kills.
8-. Job Suit Uniques War Event
A Match time between all players who register event under job suits.. the event will depends on fights between players and uniques kills.
9-. Lucky Party number Event
Lucky Reform Number is an event starts record what last current party number .. adding a challange number ex. if the current number is 1 and challange number is 20 .. target winner reform will be 21.. the player who achive that target reform will win
10-. Search And Destroy Event
bot will move to x place and spawn a x unique.. waiting for a player to find & kill that unique.
11-. Most Deadly Player ( Pvp Match ) Event
Pvp Match Starts in X place ( Registerd players will be recalled to that place ). Players underjob suits will not recalled, Each Kill in pvp = 10 points . who get higher points will win the event.
12-. Most Wanted Player ( 1 Against All ) Event
bot will teleport to x place and choose 1 player from registered players in event .. this player will be under murder status the challange is about hide or keep running tell he arrive any savezone or event time finish which is closer. if another player killed him the killer will get the reward or if the murder player escape he will get reward and back to normal status.
13-. Known Uniques Spawn Event
Normal Uniques Spawn Event
14-. Lucky Global Event ( Lottery Event )
its a lottery event started by listen to all globals and record it in special time , winner will be random 1 player from all global writers.
15-. Auto Notice Feature
Known Auto notice so you can use insert line anywhere in your database to submit a notice into game
16-. Auto Pm Feature
Same with Auto notice but for sending a special pm to player.
http://i.epvpimg.com/Yt10b.png
- Well Frist of all if you using any packet filter like trouqe,G Exploit, Superman, SroProt Or Whatever you should connect the bot behind the filter proxy meaning connect the bot direct to the real getway port For Ex. Fake getway port is : 15779, And The Real Getway port is : 50020 So you should connect the bot direct to 50020 . Cuz bot cant work with delays & other limits like packet count limit per sec
- How To Setup :
1-. Restore G_Events DB
Open The DB Procedures Change the Orginial DB Names into users For Ex. If You Shard DB Name SRO_SHARD_INIT .. Change SRO_VT_SHARD To your DB Name
2-. Insert Your Settings into DB Like :
Table : _AlchemyEvent Insert your Target Plus & Rewards
Table : _AlchemyItems insert your Target Item ID & Amount
Table : _EventTime insert Your Event Time Like 6:30 PM
Use (GM KILLER) For Gm Killer Event
Use (Alchemy) For Alchemy Plus Event
Use (Job Uniques) For Job Uniques & Battle Match
Use (HidenDSick) For Hide And Seek Event
Use (SnD) For Search And Destroy Event
Use (LPN) For Lucky party Number
Use (MD) For Most Deadly Match
Use (MW) For Most Wanted Player Event
Use (US) For Unique Spawn Event
Use (LG) For Lucky Global Event
So For Ex. if i need to launcher Gm Killer at 9 PM i should write 9:00 PM GM Killer
Table : _HideANDSeek_Map Insert Your Hide And Seek Places
Table : _JOB_UNIQUE_EVENT Insert your Job Uniques battle Uniques ID And Remmber to Always put Service to 0
Table : _MW_Map Put your Most Wanted Start Place Informations
Table : _rQuestions Mange & Add Your Own Questions and answer .. Remmber to put service to 0
Table : _SnD_Map Add your own Search And Destroy places
Table : _Spawn_Uniques Add Your own Uniques ID & Event Place ( You Can add More than 1 Place )
Table : _Unique_Kills_Rewards Add Normal Uniques Kills Rewards
3- Open config.cfg And Put Your Settings inside it . its pretty simple
4- User.txt its contains Your Bot Account & Pw .. Current Id : test , Pw : test For Beta testing
5- Add This To your _AddLogChar Procedure
Spoiler
HTML Code:
IF (@EventID = '20') -- Record GM Death
BEGIN
IF @desc LIKE '%My: no job, Neutral%')
BEGIN
Declare @killer1 Varchar(64),
@Killer2 Varchar(64),
@userID int
Set @killer1 = SUBSTRING @desc, CHARINDEX('His(', @desc),
CHARINDEX('): no job,', @desc) - CHARINDEX('His(', @desc) + LEN('): no job,'))
Set @Killer2 = REPLACE @killer1,'His(','');
Set @Killer2 = REPLACE @Killer2,'): no job,','');
SET @userID = (select UserJID from SRO_VT_SHARD.dbo._User where CharID = (SELECT CharID FROM SRO_VT_SHARD.dbo._Char where CharID = @CharID))
Declare @CharNa Varchar(64) = ( Select CharName16 From SRO_VT_SHARD.dbo._Char Where CharID = @CharID )
Declare @ifGMDie int = ( Select sec_content From SRO_VT_ACCOUNT.dbo.TB_User where JID = @userID )
if (@ifGMDie = 1 AND @CharNa ='QE')
BEGIN
INSERT into [G_Events].[dbo].[_NoticeQueue] (Service,Message,Date)
Values (0 @Killer2 + ' Win The Gm Killer Event',GETDATE())
exec G_Events.dbo._GiveSilk @Killer2,10,'GMKiller'
END
ELSE
BEGIN
EXEC [G_Events].[dbo].[KillFetch] @CharID @desc,@strPos
END
END
IF @desc LIKE '%My: no job, Murderer%')
BEGIN
Declare @killer1Q Varchar(64),
@Killer2Q Varchar(64),
@userIDQ int,
@MurName Varchar(64)
Set @MurName = (Select CharName16 From SRO_VT_SHARD.._Char Where CharID = @CharID )
Set @killer1Q = SUBSTRING @desc, CHARINDEX('His(', @desc),
CHARINDEX('): no job,', @desc) - CHARINDEX('His(', @desc) + LEN('): no job,'))
Set @Killer2Q = REPLACE @killer1Q,'His(','');
Set @Killer2Q = REPLACE @Killer2Q,'): no job,','');
if @Killer2Q = '[My: no j' AND @MurName IN ( Select PlayerName From G_Events.._MW_PlayerName ))
BEGIN
INSERT into [G_Events].[dbo].[_NoticeQueue] (Service,Message,Date)
Values (0,'[Most Wanted Event] ' + @MurName + ' Dead From Murder Status Lol, Event Finished',GETDATE())
END
ELSE if( @Killer2Q != '[My: no j' AND @MurName IN ( Select PlayerName From G_Events.._MW_PlayerName ))
BEGIN
INSERT into [G_Events].[dbo].[_NoticeQueue] (Service,Message,Date)
Values (0,'[Most Wanted Event] ' + @Killer2Q + ' Kill The Most Wanted Player, Congrats',GETDATE())
exec G_Events.._GiveSilk @Killer2Q,10,'MostWanted'
END
END
END
6- Enable your ItemLogs :
Spoiler
PHP Code:
USE [SRO_VT_SHARDLOG]
GO
/****** Object: StoredProcedure [dbo].[_AddLogItem] Script Date: 22/10/2015 10:53:43 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-------------------------------------------------------------------------------------------------------------------
-- Step 2
-- ±âÁ¸ ¾ÆÀÌÅÛ ·Î±× ÀÔ·Â Stored procedure ¼öÁ¤
-- DataBase : Shard Log
ALTER procedure [dbo].[_AddLogItem] @CharID int,
@ItemRefID int,
@ItemSerial bigint,
@dwData int,
@TargetStorage tinyint,
@Operation tinyint,
@Slot_From tinyint,
@Slot_To tinyint,
@EventPos varchar(64),
@strDesc varchar(128),
@Gold bigint -- #ifdef EXTEND_GOLD_TYPE »ðÀÔ
as
declare @len_pos int
declare @len_desc int
declare @strDesc_separado varchar(128)
declare @len_desc1 int
set @len_pos = len(@EventPos)
set @len_desc = len(@strDesc)
if (@len_pos > 0 and @len_desc > 0)
begin
insert _LogEventItem (EventTime, CharID, ItemRefID, dwData, TargetStorage, Operation, Slot_From, Slot_To, EventPos, strDesc, Serial64, Gold) -- #ifdef EXTEND_GOLD_TYPE ±³Ã¼
values(GetDate(), @CharID, @ItemRefID, @dwData, @TargetStorage, @Operation, @Slot_From, @Slot_To, @EventPos, @strDesc, @ItemSerial, @Gold) -- #ifdef EXTEND_GOLD_TYPE ±³Ã¼
end
else if (@len_pos > 0 and @len_desc = 0)
begin
insert _LogEventItem (EventTime, CharID, ItemRefID, dwData, TargetStorage, Operation, Slot_From, Slot_To, EventPos, Serial64, Gold) -- #ifdef EXTEND_GOLD_TYPE ±³Ã¼
values(GetDate(), @CharID, @ItemRefID, @dwData, @TargetStorage, @Operation, @Slot_From, @Slot_To, @EventPos, @ItemSerial, @Gold) -- #ifdef EXTEND_GOLD_TYPE ±³Ã¼
end
else if (@len_pos = 0 and @len_desc > 0)
begin
insert _LogEventItem (EventTime, CharID, ItemRefID, dwData, TargetStorage, Operation, Slot_From, Slot_To, strDesc, Serial64, Gold) -- #ifdef EXTEND_GOLD_TYPE ±³Ã¼
values(GetDate(), @CharID, @ItemRefID, @dwData, @TargetStorage, @Operation, @Slot_From, @Slot_To, @strDesc, @ItemSerial, @Gold) -- #ifdef EXTEND_GOLD_TYPE ±³Ã¼
end
else if (@len_pos = 0 and @len_desc = 0)
begin
insert _LogEventItem (EventTime, CharID, ItemRefID, dwData, TargetStorage, Operation, Slot_From, Slot_To, Serial64, Gold) -- #ifdef EXTEND_GOLD_TYPE ±³Ã¼
values(GetDate(), @CharID, @ItemRefID, @dwData, @TargetStorage, @Operation, @Slot_From, @Slot_To, @ItemSerial, @Gold) -- #ifdef EXTEND_GOLD_TYPE ±³Ã¼
end
-- À¯·á ¾ÆÀÌÅÛ ±¸ÀÔÀ̸é!
-- #define LOG_ITEMEVENT_BUY_CASHITEM (BYTE)35
if (@Operation = 35)
begin
insert _LogCashItem (RefItemID, CharID, Cnt, EventTime, Serial64)
values(@ItemRefID, @CharID, @dwData, GetDate(), @ItemSerial)
end
if (@Operation = 90 OR @Operation = 160)
begin
set @len_desc1 = CHARINDEX (']',@strDesc)
if(@len_desc1 = 9)
begin
set @strDesc = SUBSTRING(@strDesc,0,9)
set @strDesc_separado = SUBSTRING(@strDesc, 8, 1)
end
else if(@len_desc1 = 10)
begin
set @strDesc = SUBSTRING(@strDesc,0,10)
set @strDesc_separado = SUBSTRING(@strDesc, 8, 2)
end
if(@strDesc_separado >= 1)
begin
--set @strDesc_separado = @len_desc1
insert G_Events.dbo._LogItemPlus(CharID, Serial64, Plus, Data, Lido) values(@CharID, @ItemSerial, @strDesc_separado, GetDate(), '0')
end
end
- Some Useful things :
- Pm Query ,You Can Call it anywhere in your DB :
Spoiler
PHP Code:
INSERT INTO [G_Events].[dbo].[_AutoPm] (Service,PlayerName,Message,Date) VALUES (0,'PlayerName','Hello',GETDATE())
- INSERT New Hide And Seek Place :
Spoiler
PHP Code:
/* Query To Insert A New H&S Place
By Eslam Galal
*/
Declare @CharName VarChar(64)
Declare @SRegion int
Declare @sX int
Declare @sY int
Declare @sZ int
Declare @PlaceName VarChar(300)
Set @CharName = 'AXA' -- Character Name Which you wanna record it place
set @PlaceName = 'Jangan - Grassland' -- New Place Name
Set @SRegion = (Select LatestRegion From SRO_VT_SHARD.dbo._Char Where CharName16 like @CharName)
Set @sX = (Select PosX From SRO_VT_SHARD.dbo._Char Where CharName16 like @CharName)
Set @sY = (Select PosY From SRO_VT_SHARD.dbo._Char Where CharName16 like @CharName)
Set @sZ = (Select PosZ From SRO_VT_SHARD.dbo._Char Where CharName16 like @CharName)
insert _HideANDSeek_Map(RegionID, x, Y ,Z , Place_Name)
values(@SRegion,@sX, @sY,@sZ,@PlaceName)
- insert New Search And Destroy Place & MoB :
Spoiler
PHP Code:
/* Query To Insert A New Search And Destroy Place
By Eslam Galal
*/
Declare @CharName VarChar(64)
Declare @SRegion int
Declare @sX int
Declare @sY int
Declare @sZ int
Declare @PlaceName VarChar(300)
Declare @MobID int
Set @CharName = 'AXA' -- Character Name Which you wanna record it place
set @PlaceName = 'Jangan - Grassland' -- New Place Name
Set @MobID = ( Select ID From SRO_VT_SHARD.dbo._RefobjCommon Where Codename128 like 'MOB_CH_TIGERWOMAN_L3')
Set @SRegion = (Select LatestRegion From SRO_VT_SHARD.dbo._Char Where CharName16 like @CharName)
Set @sX = (Select PosX From SRO_VT_SHARD.dbo._Char Where CharName16 like @CharName)
Set @sY = (Select PosY From SRO_VT_SHARD.dbo._Char Where CharName16 like @CharName)
Set @sZ = (Select PosZ From SRO_VT_SHARD.dbo._Char Where CharName16 like @CharName)
insert _SnD_Map(RegionID, x, Y ,Z , Place_Name,UNIQUE_ID)
values(@SRegion,@sX, @sY,@sZ,@PlaceName,@MobID)
Terms of usage :
- this is a beta test program belong to Galullians Service you cant Share & edit it under your name
- the terms of usage always changes.
- its Strongly Encrypted So Virus total May Up wit some Fake Values
- you Didnt have any rights to Keep Free test user.
- Well Some Credits :
Apollo : For Old Eriene Bot Src.
Exo. : For Fetch Kills Procedure
Re: G Auto Events For Vsro Servers
It would be awesome if you are looking for release the source code. I want to take a LQQK.
Anyway, good job and keep going.