From 2e99c287e95eeed30ba7397f89648606cae8e21d Mon Sep 17 00:00:00 2001 From: tacef Date: Tue, 5 Aug 2014 07:58:58 +0200 Subject: [PATCH] Fixed Setgodmode str error(temp) Added TicketPurchaseModeMessageItv for Itv's Changed Travel_terminal_itv to use the new Purchasemode --- scripts/commands/setgodmode.py | 2 + .../radial/terminal/travel_terminal_itv.py | 4 +- .../EnterTicketPurchaseModeMessageItv.java | 70 +++++++++++++++++++ 3 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 src/protocol/swg/EnterTicketPurchaseModeMessageItv.java diff --git a/scripts/commands/setgodmode.py b/scripts/commands/setgodmode.py index 753cd3f2..e00e103d 100644 --- a/scripts/commands/setgodmode.py +++ b/scripts/commands/setgodmode.py @@ -17,6 +17,8 @@ def run(core, actor, target, commandString): playerObject = actor.getSlottedObject('ghost') + global str + if not playerObject: return diff --git a/scripts/radial/terminal/travel_terminal_itv.py b/scripts/radial/terminal/travel_terminal_itv.py index 510d23f9..269fef09 100644 --- a/scripts/radial/terminal/travel_terminal_itv.py +++ b/scripts/radial/terminal/travel_terminal_itv.py @@ -1,5 +1,5 @@ from resources.common import RadialOptions -from protocol.swg import EnterTicketPurchaseModeMessage +from protocol.swg import EnterTicketPurchaseModeMessageItv import sys def createRadial(core, owner, target, radials): @@ -14,7 +14,7 @@ def handleSelection(core, owner, target, option): if owner.getCombatFlag() == 1: owner.sendSystemMessage('You can\'t use that while in combat.', 0) return - tpm = EnterTicketPurchaseModeMessage(owner.getPlanet().getName(), core.mapService.getClosestCityName(owner), owner) + tpm = EnterTicketPurchaseModeMessageItv(owner.getPlanet().getName(), core.mapService.getClosestCityName(owner), owner) owner.getClient().getSession().write(tpm.serialize()) return return diff --git a/src/protocol/swg/EnterTicketPurchaseModeMessageItv.java b/src/protocol/swg/EnterTicketPurchaseModeMessageItv.java new file mode 100644 index 00000000..89677e95 --- /dev/null +++ b/src/protocol/swg/EnterTicketPurchaseModeMessageItv.java @@ -0,0 +1,70 @@ +/******************************************************************************* + * Copyright (c) 2013 + * + * This File is part of NGECore2. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, see . + * + * Using NGEngine to work with NGECore2 is making a combined work based on NGEngine. + * Therefore all terms and conditions of the GNU Lesser General Public License cover the combination. + ******************************************************************************/ +package protocol.swg; + +import java.nio.ByteOrder; + +import main.NGECore; + +import org.apache.mina.core.buffer.IoBuffer; + +import services.travel.TravelPoint; +import engine.resources.objects.SWGObject; + +@SuppressWarnings("unused") +public class EnterTicketPurchaseModeMessageItv extends SWGMessage { + + private String planetName; + private String cityName; + private SWGObject player; + + public EnterTicketPurchaseModeMessageItv(String planetName, String cityName, SWGObject player) { + this.planetName = planetName; + this.cityName = cityName; + this.player = player; + } + + @Override + public void deserialize(IoBuffer data) { + + } + + @Override + public IoBuffer serialize() { + final NGECore core = NGECore.getInstance(); + TravelPoint nearestPoint = core.travelService.getNearestTravelPoint(player, 5120); + IoBuffer result = IoBuffer.allocate(11 + planetName.length() + nearestPoint.getName().length()).order(ByteOrder.LITTLE_ENDIAN); + + + result.putShort((short) 3); + result.putInt(0x904DAE1A); + + result.put(getAsciiString(planetName)); + result.put(getAsciiString(nearestPoint.getName())); + + + result.put((byte) 0); + + return result.flip(); + } + +}