So I will try to explain this best I can, im not very good at guides.
Ill get a few questions out of the way first as well.
1. Will this fix the old boats? no it won't, there is an issue with the direct3d that sony screwed up.
2. What boats do we use? We will be using a different boat model to compensate for the old model not working.
3. How long will this take? and is this easy? This will take some time, and it won't be fun or easy.
So I wrote down the names of some of the boats that I changed in the zones to make it easier to fix them.
And I will add that list at the end of the guide.
For this guide I will be using Heidisql if you use a different program it should still work out the same.
First open up 4 windows for heidisql. NPC_Types, Spawn2, Spawnentry, and grid_entries.
Now I will use butcherblock as an example to show you how to do this.
First thing is you need to find out the NPCID
The way to do that because you can't click on the boat itself you need to #repop the zone and go right to where the boat spawns and do #loc
Once you have the cords you need to go into your spawn2 table and go to the section for butcher in the list.
you need to scroll through all of the butcher section and try and find the LOC that matches as close to the loc you have as possible.
Change the Z cord to a higher or lower number and #repop the zone. If the ship spawns higher or lower that is the npc your looking for.
If it doesn't keep looking, This is the most time consuming part of the whole thing.
Once you have the correct one write down the Spawngroupid number and go into your spawnentry table and find your spawngroupid number and it will give you the NPCID of the ship.
Go into NPC_Types and lookup the NPCID you got. Once you find it change the bodytype to 1 from 11.
This will make the ship Clickable again. Change the texture to 2 and the gender to 0. This will change the model of the ship to a ship we can actually use.
Once the model is changed you need to fix its spawn point by changing its x y z loc in the Spawn2 table. Once your happy with where the boat spawns write down the numbers exactly.
Now here is the part that sucks. We need to repath the ship because the pathing for almost all the ships is shit.
do #wpinfo and write down the grid number and remember how many wp's there are IE 32 ect. do #zonestatus and find out the zone ID number.
with that info go into your Grid_entries table and find your grid number then find the zone id number.
Once you do that your gonna wanna delete all the entries for ONLY that grid number and zone id number.
By deleting the entries if removes all the pathing that the npc has and we can repath the boat how we see fit.
Once all that is said and done we can now path the boats.
Now how you do this is up to you I will give you a basic command that I use to path and you can change it how you need.
The command we are gonna use is #wpadd circular 10, id suggest making a macro for this.
Target the boat and make your first waypoint at the dock itself.
Then start doing your way points for the boat wherever you want it to go.
The boat is alot bigger so watch for it clipping into islands and the dock ect.
For only the first entry change the x y and z cords to your boats spawn cords you wrote down earlier. This makes it so when your boats comes full circle it will land at the right spot rather than in the dock ect.
Once you have your pathing the way you want it.
You need to go into your grid_entries table refresh it and the paths you added will show up there now.
On the far right column in the grid_entries table you want to set the FIRST grid entry you mad to have at least a 20 second delay so the boat will sit at the dock before departing.
The next thing we need to do is add a NPC that will teleport your players from zone A to zone B.
The reason for this is because most of the zones have no zone line for the boat to "cross" over and zone the player through.
Make an NPC with #spawn, and after its made make sure you do #npcspawn create.
Once its created you need to go out into the water and #spawnfix the NPC where you want it to sit.
So when your boat passes over it, it will teleport the players.
Here is the script I use to teleport my players.
sub EVENT_SPAWN {
$x = $npc->GetX();
$y = $npc->GetY();
#Set proximity
quest::set_proximity($x - 150,$x + 150,$y - 150,$y + 150);
}
sub EVENT_ENTER{
quest::movepc(24,-341.8,95.7,23.8,250.
;
}
You need to make a script name it the exact name of your pc and put it into the quests folder for the zone your pc is in.
The only thing you need to change in the script is the bottom numbers
(ZoneID, Xloc, Yloc, Zloc , Heading);
And do #rq to refresh your quest database and you pc should work now.
Now for asthetic reasons you change your npc's race to 127 (makes him invis) and his bodytype to 11 so he cant be targeted and doesnt show a name above his head.
Once all that shit is done. Change your boats bodytype back to 11 so it cant be killed by players =) and that is how to make your boats work.
Its a shit ton of work for one stupid boat but this is the best way iv'e figured out how to do it. If you find any easier work around's please post it to make it easier for other players.
I hope this guide helps you all out. Here is the list of boats that I remembered to write down and the zone ids they are in. And before you ask yes there are 4 seperate sirensbanes. its retarded and they all have different Npc id's just fyi.
ZONE 98 eruds crossing
sea king
golden maiden
ZONE 10 FREPORTE
sirensbane
ZONE 69 oot
sirensbane x2
Zone 68 butcher
Sirensbane
Zone 84 Firiona Vie
Maidens Voyage (there are 2 of these boats but you only need one id suggest doing #npcspawn remove on the extra you don't need.