mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-04-02 19:42:05 -04:00
Changed InfoRequestResponsePacket to GenericDataPacket as that is the proper use/term. Added the city exit spawn locations. Did more work on the chocobolender script. Most of the issuing portion is done. Also can now summon through the lender.
This commit is contained in:
parent
d5f17c01a8
commit
8725377168
@ -200,7 +200,7 @@
|
||||
<Compile Include="packets\send\list\ListEndPacket.cs" />
|
||||
<Compile Include="packets\send\list\ListEntriesEndPacket.cs" />
|
||||
<Compile Include="packets\send\list\ListStartPacket.cs" />
|
||||
<Compile Include="packets\send\player\InfoRequestResponsePacket.cs" />
|
||||
<Compile Include="packets\send\player\GenericDataPacket.cs" />
|
||||
<Compile Include="packets\send\player\SendAchievementRatePacket.cs" />
|
||||
<Compile Include="packets\send\player\SetCurrentJobPacket.cs" />
|
||||
<Compile Include="packets\send\player\SetCurrentMountGoobbuePacket.cs" />
|
||||
|
@ -1138,10 +1138,10 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
QueuePacket(InventoryEndChangePacket.BuildPacket(toBeExamined.actorId, actorId));
|
||||
}
|
||||
|
||||
public void SendRequestedInfo(params object[] parameters)
|
||||
public void SendDataPacket(params object[] parameters)
|
||||
{
|
||||
List<LuaParam> lParams = LuaUtils.CreateLuaParamList(parameters);
|
||||
SubPacket spacket = InfoRequestResponsePacket.BuildPacket(actorId, actorId, lParams);
|
||||
SubPacket spacket = GenericDataPacket.BuildPacket(actorId, actorId, lParams);
|
||||
spacket.DebugPrintSubPacket();
|
||||
QueuePacket(spacket);
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ using System.IO;
|
||||
|
||||
namespace FFXIVClassic_Map_Server.packets.send.player
|
||||
{
|
||||
class InfoRequestResponsePacket
|
||||
class GenericDataPacket
|
||||
{
|
||||
public const ushort OPCODE = 0x0133;
|
||||
public const uint PACKET_SIZE = 0xE0;
|
@ -27,6 +27,12 @@ local startAppearances = {
|
||||
[1000840] = CHOCOBO_ULDAH1
|
||||
};
|
||||
|
||||
local cityExits = {
|
||||
[1500006] = 15,
|
||||
[1500061] = 14,
|
||||
[1000840] = 16
|
||||
};
|
||||
|
||||
function init(npc)
|
||||
return false, false, 0, 0;
|
||||
end
|
||||
@ -62,12 +68,16 @@ function onEventStarted(player, npc, triggerName)
|
||||
player:IssueChocobo(appearance, nameResponse);
|
||||
callClientFunction(player, "eventAfterChocoboName", player);
|
||||
mountChocobo(player);
|
||||
teleportOutOfCity(player, npc);
|
||||
GetWorldManager():DoZoneChange(player, cityExits[npc:GetActorClassId()]);
|
||||
player:SendGameMessage(player, GetWorldMaster(), 25248, 0x20, 2001007);
|
||||
player:SendDataPacket("attention", GetWorldMaster(), "", 25248, 2001007);
|
||||
player:EndEvent();
|
||||
return;
|
||||
end
|
||||
|
||||
elseif(menuChoice == 2) then -- Summon Bird
|
||||
teleportOutOfCity(player, npc);
|
||||
mountChocobo(player);
|
||||
GetWorldManager():DoZoneChange(player, cityExits[npc:GetActorClassId()]);
|
||||
elseif(menuChoice == 3) then -- Change Barding
|
||||
callClientFunction(player, "eventTalkStepBreak", player);
|
||||
elseif(menuChoice == 5) then -- Rent Bird
|
||||
@ -80,29 +90,12 @@ function onEventStarted(player, npc, triggerName)
|
||||
end
|
||||
|
||||
function mountChocobo(player)
|
||||
local worldMaster = GetWorldMaster();
|
||||
player:ChangeMusic(83);
|
||||
player:SendChocoboAppearance();
|
||||
player:SendGameMessage(player, worldMaster, 26001, 0x20);
|
||||
player:SetMountState(1);
|
||||
player:ChangeSpeed(0.0, 5.0, 10.0);
|
||||
player:ChangeState(15);
|
||||
end
|
||||
|
||||
function issueRentalChocobo(player)
|
||||
--TODO: Write issue rental chocobo code
|
||||
end
|
||||
|
||||
function teleportOutOfCity(player, npc)
|
||||
local zoneId = player:GetPos()[4];
|
||||
local worldManager = GetWorldManager();
|
||||
local exitPoints = {
|
||||
[1500061] = {150, 319, 4, 996, 0.00}, -- Gridania
|
||||
[1500006] = {133, -83, 30, 169, 2.00}, -- Limsa
|
||||
[1000840] = {170, -32, 183, -74, 2} -- Ul'dah
|
||||
};
|
||||
--print "Getting exit point for npc [" ..npc:GetActorClassId().."]";
|
||||
local exitPoint = exitPoints[npc:GetActorClassId()];
|
||||
if (exitPoint == nil) then
|
||||
return
|
||||
end
|
||||
worldManager:DoZoneChange(player, exitPoint[0], nil, 0x02, exitPoint[1], exitPoint[2], exitPoint[3], exitPoint[4]);
|
||||
end
|
||||
|
@ -4,12 +4,10 @@ Source Host: localhost
|
||||
Source Database: ffxiv_server
|
||||
Target Host: localhost
|
||||
Target Database: ffxiv_server
|
||||
Date: 8/14/2016 9:43:22 AM
|
||||
Date: 8/21/2016 7:50:14 PM
|
||||
*/
|
||||
|
||||
SET FOREIGN_KEY_CHECKS=0;
|
||||
SET autocommit = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for server_zones_spawnlocations
|
||||
-- ----------------------------
|
||||
@ -23,7 +21,7 @@ CREATE TABLE `server_zones_spawnlocations` (
|
||||
`spawnZ` float NOT NULL,
|
||||
`spawnRotation` float NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=latin1;
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=17 DEFAULT CHARSET=latin1;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records
|
||||
@ -41,5 +39,6 @@ INSERT INTO `server_zones_spawnlocations` VALUES ('10', '166', null, '16', '356.
|
||||
INSERT INTO `server_zones_spawnlocations` VALUES ('11', '244', null, '15', '0.048', '0', '-5.737', '0');
|
||||
INSERT INTO `server_zones_spawnlocations` VALUES ('12', '244', null, '15', '-160.048', '0', '-165.737', '0');
|
||||
INSERT INTO `server_zones_spawnlocations` VALUES ('13', '244', null, '15', '160.048', '0', '154.263', '0');
|
||||
|
||||
COMMIT;
|
||||
INSERT INTO `server_zones_spawnlocations` VALUES ('14', '150', null, '15', '333.271', '5.889', '-943.275', '0.794');
|
||||
INSERT INTO `server_zones_spawnlocations` VALUES ('15', '133', null, '15', '-8.062', '45.429', '139.364', '2.955');
|
||||
INSERT INTO `server_zones_spawnlocations` VALUES ('16', '170', null, '15', '-27.015', '181.798', '-79.72', '2.513');
|
||||
|
Loading…
Reference in New Issue
Block a user