Add monster from map

03/19/2020 04:15 thangchohd0#1
Hi everybody I am having a problem when I add monsters to a location on the map by character position, when I start my server the monster has been added but it only has 1-2 monsters appear, Can someone show me how to add more monsters I would be very grateful for that thanks for watching
03/19/2020 05:19 ryaneichner#2
Quote:
Originally Posted by thangchohd0 View Post
Hi everybody I am having a problem when I add monsters to a location on the map by character position, when I start my server the monster has been added but it only has 1-2 monsters appear, Can someone show me how to add more monsters I would be very grateful for that thanks for watching
Test It.
03/19/2020 11:02 denise456#3
Code:
USE SRO_VT_SHARD

declare @minLv int = 1
declare @MaxLv int = 140
declare @MaxSpawn int = 13 -- Düşük: 1~3 || Normal: 4~7 || Yüksek: 8~12
declare @respawnTimeMin int = 0 -- Saniye
declare @respawnTimeMax int = 1 -- Saniye


begin
       --select D.*
       update D set dwDelayTimeMin = @respawnTimeMin, dwDelayTimeMax = @respawnTimeMax, dwMaxTotalCount = @MaxSpawn
       from _RefObjCommon as A
       inner join _RefObjChar as B on A.Link = B.ID and A.CodeName128 like 'MOB%' and A.Rarity = 0 and B.Lvl between @minLv and @MaxLv
       inner join Tab_RefTactics as C on C.dwObjID = A.ID
       inner join Tab_RefNest as D on D.dwTacticsID = C.dwTacticsID and D.dwMaxTotalCount > 0 and D.dwDelayTimeMin > 0
end

Code:
Kod:
declare @minLevel int = 1
declare @MaxLevel int = 140
declare @MaxSpawnCount int = 20


--select *
update Tab_RefNest set dwMaxTotalCount = @MaxSpawnCount
from Tab_RefNest as A
inner join Tab_RefTactics as B
on A.dwTacticsID = B.dwTacticsID
inner join _RefObjCommon as C
on B.dwObjID = C.ID
inner join _RefObjChar as D
on C.Link = D.ID


where


D.Lvl between @minLevel and @MaxLevel
and
CodeName128 like 'MOB%'
and
Rarity = 0
anddwMaxTotalCount > 0
03/19/2020 18:02 JohnDornel^#4
Take all three lines for mangnyang from Tab_RefHive, Tab_RefTactics and Tab_RefNest, you can start by taking the ID from _RefObjCommon and selecting from reftactics where dwobjid = _RefObjCommon.ID and continue from there.

Copy the 3 lines, change what's needed and you will figure it out. DwMaxTotalCount @ Tab_RefNest is reponsible for the amount of mobs per spot. But you have to have the right settings everywhere for it to work.
03/19/2020 21:01 mr.jungle#5
you tested it ?
03/20/2020 03:49 thangchohd0#6
I used this query but only 1-2 monsters can be executed at a time, so I have to execute this command multiple times and get as many monsters as I want.
Quote:
USE shard

DECLARE @Monster VARCHAR (129)
DECLARE @CHARNAME VARCHAR (64)
DECLARE @mindealy INT
DECLARE @maxdelay int
DECLARE @INITRADIUS INT
DECLARE @radius int
DECLARE @MAXNEST int = (SELECT MAX (dwNestID) FROM Tab_RefNest)+1
DECLARE @MAXHIVE int = (SELECT MAX (dwHiveID) FROM Tab_RefHive)+1
DECLARE @MAXTACTICS int = (SELECT MAX (dwTacticsID) FROM Tab_RefTactics)+500

/* put your settings here */
SET @Monster = 'MOB_RM_WINGTRIBE' -- Monster code name from _RefobjCommon table
SET @CHARNAME = 'IL0v3Y0u' -- Character name from _Char table to get mob position X Y Z
SET @mindealy = 0 -- Minimum time before appears in seconds
SET @maxdelay = 0 -- Maximum time before appears in seconds
SET @INITRADIUS = 100 -- Radius around spot Monster can generated at
SET @radius = 500 -- Radius around spot Monster can move in
/* end of settings area */

/* get ID of mob by code name */
Declare @MOBID int SET @MOBID = (SELECT ID FROM _RefObjCommon WHERE CodeName128 = @Monster)

SET IDENTITY_INSERT Tab_RefTactics ON
INSERT INTO Tab_RefTactics (dwTacticsID,dwObjID,btAIQoS,nMaxStamina,btMaxStam inaVariance,nSightRange,btAggressType,AggressData, btChangeTarget,btHelpRequestTo,btHelpResponseTo,bt BattleStyle,BattleStyleData,btDiversionBasis,Diver sionBasisData1,DiversionBasisData2,DiversionBasisD ata3,DiversionBasisData4,DiversionBasisData5,Diver sionBasisData6,DiversionBasisData7,DiversionBasisD ata8,btDiversionKeepBasis,DiversionKeepBasisData1, DiversionKeepBasisData2,DiversionKeepBasisData3,Di versionKeepBasisData4,DiversionKeepBasisData5,Dive rsionKeepBasisData6,DiversionKeepBasisData7,Divers ionKeepBasisData8,btKeepDistance,KeepDistanceData, btTraceType,btTraceBoundary,TraceData,btHomingType ,HomingData,btAggressTypeOnHoming,btFleeType,dwCha mpionTacticsID,AdditionOptionFlag,szDescString128) VALUES
(@MAXTACTICS,@MOBID,0,500,50,200,0,0,2,2,2,0,0,5,0 ,0,0,0,0,30,0,0,4,0,0,0,0,0,0,0,0,0,0,0,1,500,0,0, 2,0,0,112 ,@Monster)
SET IDENTITY_INSERT Tab_RefTactics OFF

SET IDENTITY_INSERT Tab_RefHive ON
INSERT INTO Tab_RefHive (dwHiveID,btKeepMonsterCountType,dwOverwriteMaxTot alCount,fMonsterCountPerPC,dwSpawnSpeedIncreaseRat e,dwMaxIncreaseRate,btFlag,GameWorldID,HatchObjTyp e,szDescString128) VALUES
(@MAXHIVE,0,500,500,0,0,0,1,1 ,@Monster)
SET IDENTITY_INSERT Tab_RefHive OFF

/* get position coordinates of your character */

DECLARE @region INT SET @region = (SELECT (LatestRegion) FROM _Char WHERE CharName16 = @CHARNAME)
DECLARE @POSX INT SET @POSX = (SELECT (POSX) FROM _Char WHERE CharName16 = @CHARNAME)
DECLARE @posy INT SET @posy = (SELECT (POSY) FROM _Char WHERE CharName16 = @CHARNAME)
DECLARE @posz INT SET @posz = (SELECT (POSZ) FROM _Char WHERE CharName16 = @CHARNAME)

SET IDENTITY_INSERT Tab_RefNest ON
INSERT INTO Tab_RefNest (dwNestID,dwHiveID,dwTacticsID,nRegionDBID,fLocalP osX,fLocalPosY,fLocalPosZ,wInitialDir,nRadius,nGen erateRadius,nChampionGenPercentage,dwDelayTimeMin, dwDelayTimeMax,dwMaxTotalCount,btFlag,btRespawn,bt Type) VALUES
(@MAXNEST,@MAXHIVE,@MAXTACTICS ,@region,@posx ,@posy ,@posz,0 ,@radius,@INITRADIUS,0,@mindealy,@maxdelay,1,0,1,0 )
SET IDENTITY_INSERT Tab_RefNest OFF


print ''
print ''
print 'Done!'
03/20/2020 08:47 guckguck#7
Code:
... ,@mindealy,@maxdelay,1,...
Replace the "1" with a variable and put it into your declarations.
But I think adding for example 5 spawns with 1 mob would be faster respawning than adding 1 spawn with 5 mobs.
03/25/2020 00:35 ibraimzakaria#8
helpful great work