Arkadaşlar Merhabalar Ben Tam Olarak Owner Komutlarını Eklmedim Sizden Bir Ricam Olucak Binekleri Koydugum Zaman Gidiyorlar Hani Yerde Kırmızı Yaratıgın Shrink'lenmiş Hali Oluyor Ya Ben Onu Eklemek İstemiyorum .add c_steed_silver cıkardım mesela aynı alanda kalmasını istiyorum
uzaklasmasın wyrm kraken vs gibi yaratıklarda nasıl yapıcaz bunu yardımcı olursanız sevinirm..
Bu Script işin görür sanırım...

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// World Background Spawning v2.2 - Mordaunt
//
// This script will spawn random creatures across the entire map based on the terrain type on which the gembits fall
// Does NOT spawn dungeons or town NPCs (Town animals only)
//
// Now spawns multiple/all terrain types in a single operation
//
// THIS VERSION FOR THE NEW SCRIPT PACK 
// If you are unhappy with what is being spawned by this script you can edit the groups in sphere_spawns.scp
// 
// Installation:	
//		 TO PREVENT ERRORING: 
// 			The Map section of your sphere.ini should look like this (Uncomment the lines starting with MAP obviously):
//
// 			To activate ML-sized map #0 uncomment the next line (don't forget to uncomment
// 			sphere_map0_ml.scp and sphere_map_points0_ml.scp in spheretables.scp if you want
// 			to use the default areas)
// 			Map0=7168,4096,-1,0,0
//
// 			To activate ML-sized map #1 uncomment the next line
// 			Map1=7168,4096,-1,1,1
//
//
// 			MAP2=2304,1600,32,2,2
// 			MAP3=2560,2048,32,3,3
// 			MAP4=1448,1448,8,4,4
//			MAP5=1280,4096,64,5,5
//
//			Overwrite default sphere_types.scp file with the one containing t_forest & t_jungle (requires server restart)
//			Function is set to admin only to prevent over spawning.
//
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

[DEFNAME spawner_setting]
//If the map you are spawning has dungeons to the left hand of the map set this figure about 100 time after the point the map starts
//0=start spawning at def.gembit_gap +5 tiles from map edge
dungeon_offset 0

//If the map you are spawning has dungeons to the right hand of the map set this figure about 100 tiles from the edge of the map 
//(4906 default map) spawning will stop at def.gembit_gap +5 tile from edge of map if dungeon_cutoff is larger than map size. 
dungeon_cutoff 4906

//Spawn Group Settings
t_water_spawn_group SPAWN_WaterCreatures	//0800e //Spawn group to use to populate this type
t_water_spawn_group_red SPAWN_OceanMonsters	//new

t_grass_spawn_group SPAWN_PlainsAnimals		//08010 
t_grass_spawn_group_red SPAWN_PlainsMonsters	//08007

t_forest_spawn_group SPAWN_ForestAnimals	//08010
t_forest_spawn_group_red SPAWN_ForestMonsters	//08016

t_jungle_spawn_group SPAWN_JungleCreatures 	//08012
t_jungle_spawn_group_red SPAWN_JungleMonsters	//08018 

t_swamp_spawn_group SPAWN_SwampCreatures	//08013 
t_swamp_spawn_group_red SPAWN_SwampMonsters	//08017

t_dirt_spawn_group SPAWN_FarmAnimals 		//08011 

t_town_spawn_group SPAWN_CityAnimals		//08049 //Town animal types

t_snow_spawn_group SPAWN_IceAnimals		//010011 
t_snow_spawn_group_red SPAWN_IceMonsters	//new

t_sand_spawn_group SPAWN_DesertMonsters		//010012 

//NEW! GY SPAWNING
t_graveyard_spawn 3  				//1=weak, 2=strong, 3=all
t_graveyard_spawn_group_1 SPAWN_Undead_Weak	//08001 //weak
t_graveyard_spawn_group_2 SPAWN_Undead_Strong	//08002 //strong
t_graveyard_spawn_group_3 SPAWN_Undead_All	//08003 //all

t_cave_spawn_group SPAWN_CaveAnimals		//new
t_cave_spawn_group_red SPAWN_CaveMonsters	//new

//Language compatibility.  If language is other than english, adjust for translation here 
Graveyard_name Graveyard //name for graveyards 
Cemetary_name Cemetary //name for cemetaries

[TYPEDEF t_null] 
TERRAIN = 01AE
TERRAIN = 01DB
TERRAIN = 0244
TERRAIN = 024a 0259
TERRAIN = 0262 0265

[PLEVEL 6]
spawnbackground

[function spawnbackground]
src.dialog d_bgspawner

[DIALOG d_bgspawner]
0,0
page 0
resizepic 0 0 2620 400 40
checkertrans 5 5 390 30
dtext 110 10 90 World Background Spawner v2.2

resizepic 0 50 2620 400 420
checkertrans 5 55 390 410

dtext 70 70 90 Spawn Map #
gumppic 170 70 2444
dtextentry 180 70 20 20 90 0 0

dtext 50 100 90 Type
dtext 110 100 90 Amount
dtext 170 100 90 Min Time
dtext 240 100 90 Max Time
dtext 330 100 90 Dist

checkbox 30 130 2152 2154 0 0
dtext 10 130 90 *
dtext 60 130 90 Water
gumppic 100 130 2444
dtextentry 110 130 50 20 90 2 2 //amount
gumppic 170 130 2444
dtextentry 180 130 50 20 90 3 60 //min time
gumppic 240 130 2444
dtextentry 250 130 50 20 90 4 120 //max time
gumppic 310 130 2444
dtextentry 320 130 50 20 90 5 200 //dist

checkbox 30 160 2152 2154 0 1 1
dtext 10 160 90 *
dtext 60 160 90 Grass
gumppic 100 160 2444
dtextentry 110 160 50 20 90 6 10 //amount
gumppic 170 160 2444
dtextentry 180 160 50 20 90 7 5 //min time
gumppic 240 160 2444
dtextentry 250 160 50 20 90 8 20 //max time 
gumppic 310 160 2444
dtextentry 320 160 50 20 90 9 75 //dist

checkbox 30 190 2152 2154 0 2
dtext 10 190 90 *
dtext 60 190 90 Forest
gumppic 100 190 2444
dtextentry 110 190 50 20 90 10 10 //amount
gumppic 170 190 2444
dtextentry 180 190 50 20 90 11 5 //min time
gumppic 240 190 2444
dtextentry 250 190 50 20 90 12 20 //max time
gumppic 310 190 2444
dtextentry 320 190 50 20 90 13 75 //dist

checkbox 30 220 2152 2154 0 3
dtext 10 220 90 *
dtext 60 220 90 Jungle
gumppic 100 220 2444
dtextentry 110 220 50 20 90 14 5 //amount
gumppic 170 220 2444
dtextentry 180 220 50 20 90 15 5 //min time
gumppic 240 220 2444
dtextentry 250 220 50 20 90 16 20 //max time
gumppic 310 220 2444
dtextentry 320 220 50 20 90 17 50 //dist

checkbox 30 250 2152 2154 0 4
dtext 10 250 90 *
dtext 60 250 90 Swamp
gumppic 100 250 2444
dtextentry 110 250 50 20 90 18 5 //amount
gumppic 170 250 2444
dtextentry 180 250 50 20 90 19 5 //min time
gumppic 240 250 2444
dtextentry 250 250 50 20 90 20 20 //max time
gumppic 310 250 2444
dtextentry 320 250 50 20 90 21 40 //dist

checkbox 30 280 2152 2154 0 5
dtext 60 280 90 Town
gumppic 100 280 2444
dtextentry 110 280 50 20 90 22 1 //amount
gumppic 170 280 2444
dtextentry 180 280 50 20 90 23 5 //min time
gumppic 240 280 2444
dtextentry 250 280 50 20 90 24 20 //max time
gumppic 310 280 2444
dtextentry 320 280 50 20 90 25 50 //dist

checkbox 30 310 2152 2154 0 6
dtext 10 310 90 *
dtext 60 310 90 Snow
gumppic 100 310 2444
dtextentry 110 310 50 20 90 26 5 //amount
gumppic 170 310 2444
dtextentry 180 310 50 20 90 27 5 //min time
gumppic 240 310 2444
dtextentry 250 310 50 20 90 28 20 //max time
gumppic 310 310 2444
dtextentry 320 310 50 20 90 29 40 //dist

checkbox 30 340 2152 2154 0 7
dtext 60 340 90 Sand
gumppic 100 340 2444
dtextentry 110 340 50 20 90 30 5 //amount
gumppic 170 340 2444
dtextentry 180 340 50 20 90 31 5 //min time
gumppic 240 340 2444
dtextentry 250 340 50 20 90 32 20 //max time
gumppic 310 340 2444
dtextentry 320 340 50 20 90 33 40 //dist

checkbox 30 370 2152 2154 0 8
dtext 60 370 90 Dirt
gumppic 100 370 2444
dtextentry 110 370 50 20 90 34 3 //amount
gumppic 170 370 2444
dtextentry 180 370 50 20 90 35 5 //min time
gumppic 240 370 2444
dtextentry 250 370 50 20 90 36 20 //max time
gumppic 310 370 2444
dtextentry 320 370 50 20 90 37 30 //dist

checkbox 30 400 2152 2154 0 9
dtext 60 400 90 GY
gumppic 100 400 2444
dtextentry 110 400 50 20 90 38 2 //amount
gumppic 170 400 2444
dtextentry 180 400 50 20 90 39 5 //min time
gumppic 240 400 2444
dtextentry 250 400 50 20 90 40 20 //max time
gumppic 310 400 2444
dtextentry 320 400 50 20 90 41 20 //dist

checkbox 30 430 2152 2154 0 10
dtext 10 430 90 *
dtext 60 430 90 Caves
gumppic 100 430 2444
dtextentry 110 430 50 20 90 42 1 //amount
gumppic 170 430 2444
dtextentry 180 430 50 20 90 43 5 //min time
gumppic 240 430 2444
dtextentry 250 430 50 20 90 44 20 //max time
gumppic 310 430 2444
dtextentry 320 430 50 20 90 45 17 //dist


resizepic 0 480 2620 400 50
checkertrans 5 485 390 40

checkbox 30 490 2152 2154 0 11
dtext 60 490 90 Red spawns
gumppic 170 490 2444
dtextentry 180 490 50 20 90 1 30 //red chance
dtext 240 490 90 % chance (for * types)

resizepic 0 540 2620 400 40
checkertrans 5 545 390 30
button 320 550 2141 2142 1 0 1


[DIALOG d_bgspawner BUTTON]
ON=1
local.map=<argtxt[0]>
if (<eval <argchk>> < 1)
	src.sysmessage You have not selected any terrain types to spawn.
	src.dialog d_bgspawner
	return 1
endif
if (<argchk[11]>) //red
	local.red=<argtxt[1]>
endif
if (<argchk[0]>) //water
	LIST.spawnqueue.add t_water
	LIST.spawnamount.add <argtxt[2]>
	LIST.spawnmin.add <argtxt[3]>
	LIST.spawnmax.add <argtxt[4]>
	LIST.spawnbitgap.add <argtxt[5]>
endif
if (<argchk[1]>) //grass
	LIST.spawnqueue.add t_grass
	LIST.spawnamount.add <argtxt[6]>
	LIST.spawnmin.add <argtxt[7]>
	LIST.spawnmax.add <argtxt[8]>
	LIST.spawnbitgap.add <argtxt[9]>
endif
if (<argchk[2]>) //forest
	LIST.spawnqueue.add t_forest
	LIST.spawnamount.add <argtxt[10]>
	LIST.spawnmin.add <argtxt[11]>
	LIST.spawnmax.add <argtxt[12]>
	LIST.spawnbitgap.add <argtxt[13]>
endif
if (<argchk[3]>) //jungle
	LIST.spawnqueue.add t_jungle
	LIST.spawnamount.add <argtxt[14]>
	LIST.spawnmin.add <argtxt[15]>
	LIST.spawnmax.add <argtxt[16]>
	LIST.spawnbitgap.add <argtxt[17]>
endif
if (<argchk[4]>) //swamp
	LIST.spawnqueue.add t_swamp
	LIST.spawnamount.add <argtxt[18]>
	LIST.spawnmin.add <argtxt[19]>
	LIST.spawnmax.add <argtxt[20]>
	LIST.spawnbitgap.add <argtxt[21]>
endif
if (<argchk[5]>) //town
	LIST.spawnqueue.add t_town
	LIST.spawnamount.add <argtxt[22]>
	LIST.spawnmin.add <argtxt[23]>
	LIST.spawnmax.add <argtxt[24]>
	LIST.spawnbitgap.add <argtxt[25]>
endif
if (<argchk[6]>) //snow
	LIST.spawnqueue.add t_snow
	LIST.spawnamount.add <argtxt[26]>
	LIST.spawnmin.add <argtxt[27]>
	LIST.spawnmax.add <argtxt[28]>
	LIST.spawnbitgap.add <argtxt[29]>
endif
if (<argchk[7]>) //sand
	LIST.spawnqueue.add t_sand
	LIST.spawnamount.add <argtxt[30]>
	LIST.spawnmin.add <argtxt[31]>
	LIST.spawnmax.add <argtxt[32]>
	LIST.spawnbitgap.add <argtxt[33]>
endif
if (<argchk[8]>) //dirt
	LIST.spawnqueue.add t_dirt
	LIST.spawnamount.add <argtxt[34]>
	LIST.spawnmin.add <argtxt[35]>
	LIST.spawnmax.add <argtxt[36]>
	LIST.spawnbitgap.add <argtxt[37]>
endif
if (<argchk[9]>) //graveyard
	LIST.spawnqueue.add t_graveyard
	LIST.spawnamount.add <argtxt[38]>
	LIST.spawnmin.add <argtxt[39]>
	LIST.spawnmax.add <argtxt[40]>
	LIST.spawnbitgap.add <argtxt[41]>
endif
if (<argchk[10]>) //Caves
	LIST.spawnqueue.add t_cave
	LIST.spawnamount.add <argtxt[42]>
	LIST.spawnmin.add <argtxt[43]>
	LIST.spawnmax.add <argtxt[44]>
	LIST.spawnbitgap.add <argtxt[45]>
endif
call f_spawnbackground 


[FUNCTION f_spawnbackground]
local.count=0
FOR 0 <eval <LIST.spawnqueue.COUNT>-1>
local.spawntype = <list.spawnqueue.<dlocal.count>>
local.amount=<list.spawnamount.<dlocal.count>>
local.min= <list.spawnmin.<dlocal.count>>
local.max=<list.spawnmax.<dlocal.count>>
local.gap=<list.spawnbitgap.<dlocal.count>>

	if <def.dungeon_offset>
		VAR.TEMPX=<eval ((<local.gap>+5)+<def.dungeon_offset>)>
	else
		VAR.TEMPX=<eval <local.gap>+5>
	endif
	VAR.TEMPY=<eval <local.gap>+5> 
	IF <serv.maplist.<dlocal.map>>
		serv.log Spawning in progress...
		serv.log Spawning Map <dlocal.map> Terrain Type: <local.spawntype> (<dlocal.min>,<dlocal.max>,<dlocal.gap>)
		WHILE (<EVAL <VAR0.TEMPX>+<local.gap>> <= <QVAL (<def.dungeon_cutoff>)? <QVAL (<ddef.dungeon_cutoff> < <serv.maplist.<dlocal.map>.bound.x>)? <ddef.dungeon_cutoff>:<serv.maplist.<dlocal.map>.bound.x>>:<serv.maplist.<dlocal.map>.bound.x>>) 
			VAR.TEMPY=<eval <local.gap>+5>
			WHILE (<EVAL <VAR0.TEMPY>> <= <eval <serv.maplist.<dlocal.map>.bound.y> - (<dlocal.gap>+5)>)
				call f_spawnbackground_check_terrain 
 				VAR.TEMPY=<eval <var0.tempy>+<dlocal.gap>>
			ENDWHILE 
			VAR.TEMPX=<eval <var0.tempx>+<local.gap>>
		ENDWHILE 
		local.count = <eval <local.count>+1>
	ELSE 
		SYSMESSAGE @32,,1 Mapplane <dlocal.map> does not exist.
		serv.log mapplane <dlocal.map> does not exist
		VAR.TEMPX= 
		VAR.TEMPY= 
		LIST.spawnqueue.CLEAR
		LIST.spawnamount.CLEAR
		LIST.spawnmin.CLEAR
		LIST.spawnmax.CLEAR
		LIST.spawnbitgap.CLEAR
		return 1
	ENDIF 
	VAR.TEMPX= 
	VAR.TEMPY= 
ENDFOR

LIST.spawnqueue.CLEAR
LIST.spawnamount.CLEAR
LIST.spawnmin.CLEAR
LIST.spawnmax.CLEAR
LIST.spawnbitgap.CLEAR
SYSMESSAGE @0,0 Spawning Complete
serv.log <dlocal.red> % chance of hostile spawns (where applicable)
serv.log Spawning Complete

[FUNCTION f_spawnbackground_check_terrain]
if (strmatch(*<def.Graveyard_name>*,<SERV.MAP(<EVAL <VAR0.TEMPX>>,<EVAL <VAR0.TEMPY>>,<dlocal.map>).REGION.NAME>)) || (strmatch(*<def.Cemetary_name>*,<SERV.MAP(<EVAL <VAR0.TEMPX>>,<EVAL <VAR0.TEMPY>>,<dlocal.map>).REGION.NAME>))
	if (<SERV.MAP(<EVAL <VAR0.TEMPX>>,<EVAL <VAR0.TEMPY>>,<dlocal.map>).TYPE>!=t_water) && (<SERV.MAP(<EVAL <VAR0.TEMPX>>,<EVAL <VAR0.TEMPY>>,<dlocal.map>).TYPE>!=t_rock)
		LOCAL.TYPE=t_graveyard
	endif
elif (strmatch(*cave*,<SERV.MAP(<EVAL <VAR0.TEMPX>>,<EVAL <VAR0.TEMPY>>,<dlocal.map>).REGION.NAME>)) || (strmatch(*mine*,<SERV.MAP(<EVAL <VAR0.TEMPX>>,<EVAL <VAR0.TEMPY>>,<dlocal.map>).REGION.NAME>))
	if ((<SERV.MAP(<EVAL <VAR0.TEMPX>>,<EVAL <VAR0.TEMPY>>,<dlocal.map>).TYPE>==t_rock) && (<SERV.MAP(<EVAL <VAR0.TEMPX>>,<EVAL <VAR0.TEMPY>>,<dlocal.map>).REGION.FLAGS> &region_flag_underground)) || ((<SERV.MAP(<EVAL <VAR0.TEMPX>>,<EVAL <VAR0.TEMPY>>,<dlocal.map>).TYPE>==t_normal) && !(<SERV.MAP(<EVAL <VAR0.TEMPX>>,<EVAL <VAR0.TEMPY>>,<dlocal.map>).REGION.FLAGS> &region_flag_underground))
		LOCAL.TYPE=t_cave
	endif
elif (<SERV.MAP(<EVAL <VAR0.TEMPX>>,<EVAL <VAR0.TEMPY>>,<dlocal.map>).region.FLAGS>&region_flag_guarded)
	if (<SERV.MAP(<EVAL <VAR0.TEMPX>>,<EVAL <VAR0.TEMPY>>,<dlocal.map>).TYPE>==t_normal) || (<SERV.MAP(<EVAL <VAR0.TEMPX>>,<EVAL <VAR0.TEMPY>>,<dlocal.map>).TYPE>==t_grass)
		LOCAL.TYPE=t_town
	endif
elif (<SERV.MAP(<EVAL <VAR0.TEMPX>>,<EVAL <VAR0.TEMPY>>,<dlocal.map>).TYPE>==t_sand)
	if (<SERV.MAP(<EVAL <VAR0.TEMPX>>,<EVAL <VAR0.TEMPY>>,<dlocal.map>).TERRAIN> >=01a) && (<SERV.MAP(<EVAL <VAR0.TEMPX>>,<EVAL <VAR0.TEMPY>>,<dlocal.map>).TERRAIN> <=028)
		LOCAL.TYPE=null
	else
		LOCAL.TYPE=<SERV.MAP(<EVAL <VAR0.TEMPX>>,<EVAL <VAR0.TEMPY>>,<dlocal.map>).TYPE>
	endif
else
	LOCAL.TYPE=<SERV.MAP(<EVAL <VAR0.TEMPX>>,<EVAL <VAR0.TEMPY>>,<dlocal.map>).TYPE>
endif

if !(strcmpi(<local.type>,<local.spawntype>)
	if !(strcmpi(<local.type>,t_graveyard))
		NEWITEM=i_worldgem_bit
		NEW.TYPE=t_spawn_char
		NEW.AMOUNT=<dlocal.amount>
		NEW.MORE1=<def.<local.spawntype>_spawn_group_<ddef.<local.spawntype>_spawn>>
		NEW.MOREP=<dlocal.min> <dlocal.max> <dlocal.gap>
		NEW.P=<EVAL <VAR0.TEMPX>>,<EVAL <VAR0.TEMPY>>,<SERV.MAP(<EVAL <VAR0.TEMPX>>,<EVAL <VAR0.TEMPY>>,<EVAL <ARGN1>>).Z>,<dlocal.map> 
		NEW.ATTR=attr_move_never|attr_invis
		NEW.TIMER=0
	elif !(strcmpi(<local.type>,t_town)) || !(strcmpi(<local.type>,t_dirt)) || !(strcmpi(<local.type>,t_sand))  
		NEWITEM=i_worldgem_bit
		NEW.TYPE=t_spawn_char
		NEW.AMOUNT=<local.amount>
		NEW.MORE1=<def.<local.spawntype>_spawn_group>
		NEW.MOREP=<dlocal.min> <dlocal.max> <dlocal.gap>
		NEW.P=<EVAL <VAR0.TEMPX>>,<EVAL <VAR0.TEMPY>>,<SERV.MAP(<EVAL <VAR0.TEMPX>>,<EVAL <VAR0.TEMPY>>,<dlocal.map>).Z>,<dlocal.map> 
		NEW.ATTR=attr_move_never|attr_invis
		NEW.TIMER=0
	else
		NEWITEM=i_worldgem_bit
		NEW.TYPE=t_spawn_char
		NEW.AMOUNT=<local.amount>
		NEW.MORE1=<QVAL (<local.red>)? <QVAL (rand(100) < <dlocal.red>)? <def.<local.spawntype>_spawn_group_red>:<def.<local.spawntype>_spawn_group>>:<def.<local.spawntype>_spawn_group>>
		NEW.MOREP=<dlocal.min> <dlocal.max> <dlocal.gap>
		NEW.P=<EVAL <VAR0.TEMPX>>,<EVAL <VAR0.TEMPY>>,<SERV.MAP(<EVAL <VAR0.TEMPX>>,<EVAL <VAR0.TEMPY>>,<dlocal.map>).Z>,<dlocal.map> 
		NEW.ATTR=attr_move_never|attr_invis
		NEW.TIMER=0
	endif
endif

Üye Ol veya Giriş Yap

Bu forum başlığına mesaj atmak istiyorsanız hemen üye olun veya giriş yapın.