View Single Post
  #10  
Old 05-25-2019, 01:16 AM
WarAngel's Avatar
WarAngel
Sarnak
 
Join Date: Oct 2017
Location: Washington State
Posts: 54
Default

Ok, so far this is what I have done...

More post searches so far...Array,Hash,!=,ne,comparison,IF,FOREACH
Been reading and trying many different ideas all day.

***Done so far***

With Huppy chiming in and graciously handing me what I now call "Swimmers" list. I have been able to make the spawns set their Flymode=0. So now what I am trying to do is make it that when the NPCs spawn in, they check against the Swimmers. If they swim they do nothing, if the NPC is a landlubber then set the Flymode=0.

So far they either all change their mode or none at all. I cannot grasp the array language. Well ok strike "cannot"....I am so far learning how to not be successful with arrays. That is good info too, right?


global_npc.pl

Code:
sub EVENT_SPAWN
{
	# my $Owner =  $npc->GETNPCTypeID();
	# my $npc->GETNPCTypeID();
	my @Swimmers = (2005, 2151, 3001, 3002, 8000, 8012, 10028, 10146, 10167, 11073, 11074, 11075, 17025, 17026, 17034, 17052, 19000, 19001, 19047, 19118, 20086..20088, 20162, 21036, 21054, 21057, 21058, 21093, 24001, 24005..24012, 24057, 24058, 24105, 24110, 25102, 25397, 38052, 38055, 38057, 45000, 45014, 45022, 45023, 45041, 45092, 47062, 47155 ,47163, 48037..48039, 48074, 48075, 48121, 48152, 48220, 48223, 48226, 48227, 48242, 51010, 51011, 51036, 51039, 51051, 51121, 51158, 51160, 51171, 52117, 57150, 57152, 57156, 64000, 64002, 64005, 64007, 64008, 64010..64012, 64014, 64017..64019, 64020..64026, 64028, 64030, 64032, 64033, 64038, 64040, 64041, 64043, 64049, 64051, 64056, 64058, 64063, 64073..64075, 64077, 64085..64087, 64089, 64091, 64092, 64094, 64099, 64100..64103, 64105, 64106, 69021, 69054, 69065..69069, 69141, 69151, 74029, 74083, 85039, 85040, 85042, 85043, 85068, 85105, 85106, 85122, 85156, 85157, 85194, 85212, 85217, 85224, 93306, 96039, 96040, 96041..96046, 98001, 98005..98007, 98014, 98015, 98021, 98028..98032, 106006, 117021, 117024..117028, 117029, 117031, 117037, 117046, 117063, 117089..117091, 125000..125005, 125007, 125008, 125011, 125022, 125023, 125033, 125034, 125053, 125062, 125064, 125073, 125074, 154104, 156057, 156062, 156063, 156098, 156099, 160133, 160379, 166074, 166085..166088, 170109..170122, 170169, 170181, 170196, 182150, 204040, 210085, 210086, 216000, 216001, 216002, 216003, 216004, 216005, 216006, 216007, 216008, 216009, 216010, 216011, 216012, 216013, 216014, 216016, 216017, 216018, 216019, 216020, 216021, 216022, 216023, 216024, 216025, 216026, 216027, 216028, 216029, 216030, 216031, 216032, 216033, 216034, 216035, 216037, 216038, 216039, 216040, 216041, 216042, 216043, 216045, 216046, 216047, 216048, 216049, 216050, 216051, 216052, 216053, 216054, 216055, 216056, 216057, 216058, 216059, 216060, 216061, 216062, 216063, 216064, 216065, 216066, 216067, 216068, 216069, 216070, 216071, 216072, 216073, 216074, 216075, 216076, 216077, 216078, 216079, 216080, 216081, 216082, 216083, 216084, 216085, 216086, 216087, 216088, 216089, 216090, 216091, 216092, 216093, 216094, 216095, 216096, 216097, 216098, 216099, 216100, 216101, 216102, 216103, 216104, 216105, 216106, 216107, 216108, 216109, 216110, 224432, 225220, 225359, 280014, 280025, 280030, 280031, 280032, 383228, 383231, 384041, 384050, 394043, 408003, 408004, 408006, 408020, 409151, 409152, 409153, 409251, 414066, 414070, 414074, 414084, 414090, 422029, 422030, 422033, 422034, 422036, 422037, 422040, 422041, 422045, 422046, 422047, 422049, 422051, 422052, 422053, 422056, 422058, 422059, 422060, 422061, 422062, 422063, 422064, 422065, 422066, 422068, 422069, 422070, 422071, 422072, 422073, 422075, 422076, 422078, 422080, 422081, 422082, 422083, 422084, 422085, 422124, 423006, 423012, 423021, 423027, 423110, 423111, 423126, 423182, 423192, 423203, 423251, 423278, 423300, 423331, 423360, 423388, 423389, 427014, 427016, 427017, 427025, 427032, 427033, 427036, 427048, 427049, 456180, 456181, 456189, 457037, 457045, 457047, 468018, 468020, 480117);

	#foreach $Mob (@Swimmers)
	#{
		
		# if($Owner ne $Swimmers) #Everyone goes flymode=3
		# if($Owner != $Swimmers) #Everyone goes flymode=3
		# if($npc != $Swimmers) #Everyone goes flymode=3
		# if($npc ne $Swimmers) #Everyone goes flymode=3
		# if($npc->GetNPCTypeID() != $Swimmers()) #Everyone goes flymode=3
		if($npc->GetNPCTypeID() != $Swimmers) #Everyone goes Flymode=0 including Swimmers
		# if($npc->GetNPCTypeID() ~~ $Swimmers) #Everyone goes flymode=3
		{
		$npc->SetFlyMode(0);
		}
	#}
}
BIG LEARNING POINT. And something maybe the Developers might want to know...

So when everyone is "Flymode=0" swimmers included. I have witnessed in two different zones that the swimmers still swim. BUT! When the move about, attack/chase...they do not do so fluidly. I watch them in a timely manner, depending on walking or running/chasing...skip or pop forward on their path. Or in other words, they tend to disappear and reappear every few in game feet. As apposed to watching them swim. They do however, float/swim around and not fall to the in game floor and walk. CHEERS!

-Eric
Reply With Quote