PDA

View Full Version : EastKarana: Sir Morgan's Armor: Sir Morgan


gatorman
02-10-2008, 05:37 AM
Here is an updated Sir Morgan script. Also, Sir Morgans pathing seemed a bit incorrect, so I fixed that as well. I'm not sure how to remove the grid entry by sql statements, but here are the inserts: (this is using the same grid id that he used before, just needs a refresh..)


#Sir Morgan's pathing to the base of high hold pass
#"gridid","zoneid","number","x","y","z","heading","pause"
INSERT into `grid_entries` VALUES (115,15,1,202,-14,4,1,45);
INSERT into `grid_entries` VALUES (115,15,2,-26,13,3,193,0);
INSERT into `grid_entries` VALUES (115,15,3,-22,-300,3,127,0);
INSERT into `grid_entries` VALUES (115,15,4,-434,-622,28,165,0);
INSERT into `grid_entries` VALUES (115,15,5,-1532,-656,23,191,0);
INSERT into `grid_entries` VALUES (115,15,6,-1899,-299,3,223,0);
INSERT into `grid_entries` VALUES (115,15,7,-2465,-311,3,191,30);



Here is his script pl:


#############
#Quest Name: Sir Morgan's Armor
#Author: Blaz
#NPCs Involved: 1
#Items Involved: 5 Gold for a random reward
#################
sub EVENT_SAY {

if($text=~/Hail/i)
{
quest::say("Hail. traveler! Might I escort you through to Highpass? The path ahead is filled with giants and many other hungry beasts. I assure you. you will be safe with me. I must admit. I am quite experienced in the ways of the warrior. Do you [wish an escort] or will you [travel alone]?");
}
if($text=~/wish an escort/i)
{
quest::say("I shall be honored to escort you to Highpass, but you shall have to wait for a spell. I make trips every few hours. I also would be grateful to any who wish to donate gold coins to the upkeep of my armor. The rains in the plains cause much rusting.");
}
if($text=~/travel alone/i)
{
quest::say("Then, good luck to you! May your faith protect you. Or at the very least, guide you to a grand afterlife.");
}
}
sub EVENT_ITEM
{
#Give Sir Morgan 5 gold
if ($gold == 5){
quest::say("What a grand donation!! You must be a rich noble to be making such a donation. Here. I am but a simple warrior, but I found this lying on the highway to Highpass Hold. The lifeless corpse next to it had no more need of it.");
#random reward: Patchwork cloak, Patchwork boots, Rusty Weapons, Silver Earring, Bloodstone, Halfling knife, Bronze Dagger, Belt pouch, Damask cap, Mountain Lion Cape, Highkeep Flask, Snakeskin Mask, Drom's Champagne.
$random = quest::ChooseRandom(2106,2112,2041,13944,2307,3829 ,1331,17002,7012,8306,10006,10019,5013,5019,5021,5 022,6011,5023,7007,7008);
# Guards of Qeynos
quest::faction("135","3");
# Karana Residents
quest::faction("167","3");
# Priests of Life
quest::faction("257","3");
# Knights of Thunder
quest::faction("183","3");
}
else{
#do all other handins first with plugin
plugin::return_items(\%itemcount);
quest::say("Thank you $name, but I do not need this, you can have it back.");
}

}

#END of FILE Zone:eastkarana ID:15048 -- Sir_Morgan


-Blaz

Angelox
02-10-2008, 05:47 AM
For grid fixes you can just use REPLACE instead of INSERT, should do the trick

gatorman
02-10-2008, 08:44 AM
Thanks!

I have worked on this guy a little more because he needs to 'clear the way' and he wasn't doing that before...:

Also, I changed the waypoints again, by adding more so that when Sir Morgan aggros something, he doesn't skip halfway across the zone trying to reach the next waypoint.

One other thing to note: There seems to be a few bad spawn group entries in East Karanas. There are several a_bandit 's on the trail which have erroneous coordinates (z = 32352522).. I removed the spawn groups from my database: 673, 674, 7189, 7191


#Allow Sir Morgan to attack mobs
UPDATE `npc_types` SET npc_aggro = '1' where `id` = '15045';
#Assign factions for Sir Morgan to attack
INSERT into `npc_faction_entries` VALUES (69,366,0,-1); #KOS
INSERT into `npc_faction_entries` VALUES (69,367,0,-1); #KOS_animal
INSERT into `npc_faction_entries` VALUES (69,394,0,-1); #Noob mobs
INSERT into `npc_faction_entries` VALUES (69,16437,0,-1); #EK Bandits
#These waypoints are better for Sir Morgan
REPLACE into `grid_entries` VALUES (115,15,1,202,-14,4,1,45);
REPLACE into `grid_entries` VALUES (115,15,2,139,-9,4,195,0);
REPLACE into `grid_entries` VALUES (115,15,3,46.6,-2.6,3.8,195,0);
REPLACE into `grid_entries` VALUES (115,15,4,-39.5,3.7,3.8,195,0);
REPLACE into `grid_entries` VALUES (115,15,5,-27.5,-104.7,3.8,123.6,0);
REPLACE into `grid_entries` VALUES (115,15,6,-17.9,-191.7,3.8,123.6,0);
REPLACE into `grid_entries` VALUES (115,15,7,-35.3,-300,3.8,134.5,0);
REPLACE into `grid_entries` VALUES (115,15,8,-102.6,-359.6,3.8,162.6,0);
REPLACE into `grid_entries` VALUES (115,15,9,-179.3,-427.4,3.8,162.6,0);
REPLACE into `grid_entries` VALUES (115,15,10,-237.8,-479.2,5.6,162.6,0);
REPLACE into `grid_entries` VALUES (115,15,11,-329,-559.8,17.6,162.6,0);
REPLACE into `grid_entries` VALUES (115,15,12,-405.9,-627.8,27.7,162.6,0);
REPLACE into `grid_entries` VALUES (115,15,13,-535.9,-632.5,29.8,190.6,0);
REPLACE into `grid_entries` VALUES (115,15,14,-673.5,-637.6,44.8,190.6,0);
REPLACE into `grid_entries` VALUES (115,15,15,-827,-635.5,66.4,192.6,0);
REPLACE into `grid_entries` VALUES (115,15,16,-1071,-632,60,192,0);
REPLACE into `grid_entries` VALUES (115,15,17,-1244,-630,55,192,0);
REPLACE into `grid_entries` VALUES (115,15,18,-1433,-628,34,192,0);
REPLACE into `grid_entries` VALUES (115,15,19,-1537,-626,16,192,0);
REPLACE into `grid_entries` VALUES (115,15,20,-1659,-521,8,221,0);
REPLACE into `grid_entries` VALUES (115,15,21,-1796,-403,3.8,221,0);
REPLACE into `grid_entries` VALUES (115,15,22,-1909,-305,3.8,221,0);
REPLACE into `grid_entries` VALUES (115,15,23,-2074,-309.9,3.8,191.3,0);
REPLACE into `grid_entries` VALUES (115,15,24,-2219,-309.9,3.8,192,0);
REPLACE into `grid_entries` VALUES (115,15,25,-2376.7,-306,3.8,193.4,0);
REPLACE into `grid_entries` VALUES (115,15,26,-2547,-301.9,3.8,193.4,0);
REPLACE into `grid_entries` VALUES (115,15,27,-2726,-328.4,3.8,186.1,0);
REPLACE into `grid_entries` VALUES (115,15,28,-2893,-353,3.8,186,30);

Angelox
02-10-2008, 09:06 AM
Often, I'll use REPLACE when I want to delete an entry and put in new data for the same entry - just have to be careful because it's a terminal action, and doesn't ask you if you're sure you want to.
Always good to back up often when your doing DB work. I have tons of old back ups everywhere.

cavedude
02-10-2008, 11:50 AM
Committed the quest and sql queries, and corrected the broken spawns.