Find:
Add After:Code:case "scoreboard": return new InteractorScoreboard();
Find:Code:case "wired_trg_say": return new InteractorWiredSay(); case "wired_act_show_message": return new InteractorWiredShowMessage();
FurniInteractor.cs
Add After:Code:class InteractorStatic : FurniInteractor { public override void OnPlace(GameClient Session, RoomItem Item) { } public override void OnRemove(GameClient Session, RoomItem Item) { } public override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights) { } }
Code:class InteractorWiredShowMessage : FurniInteractor { public override void OnPlace(GameClient Session, RoomItem Item) { } public override void OnRemove(GameClient Session, RoomItem Item) { } public override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights) { if (!UserHasRights) { return; } Item.ExtraData = "1"; Item.UpdateState(false, true); string SayMessage; using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient()) { if (dbClient.ReadDataRow("SELECT message FROM wired_show_message WHERE item_id = '" + Item.Id + "' LIMIT 1") != null) { SayMessage = dbClient.ReadString("SELECT message FROM wired_show_message WHERE item_id = '" + Item.Id + "' LIMIT 1"); } else { SayMessage = ""; } } ServerMessage Message = new ServerMessage(651); Message.AppendInt32(0); Message.AppendInt32(0); Message.AppendInt32(Item.GetBaseItem().SpriteId); Message.AppendInt32((int)Item.Id); Message.AppendStringWithBreak(SayMessage); Message.AppendString("HSAHH"); Session.SendMessage(Message); } }Add Rooms:Code:class InteractorWiredSay : FurniInteractor { public override void OnPlace(GameClient Session, RoomItem Item) { } public override void OnRemove(GameClient Session, RoomItem Item) { } public override void OnTrigger(GameClient Session, RoomItem Item, int Request, bool UserHasRights) { if (!UserHasRights) { return; } Item.ExtraData = "1"; Item.UpdateState(false, true); string SayMessage; using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient()) { if (dbClient.ReadDataRow("SELECT keyword FROM wired_keywords WHERE item_id = '" + Item.Id + "' LIMIT 1") != null) { SayMessage = dbClient.ReadString("SELECT keyword FROM wired_keywords WHERE item_id = '" + Item.Id + "' LIMIT 1"); } else { SayMessage = ""; } } ServerMessage Message = new ServerMessage(650); Message.AppendInt32(5); Message.AppendInt32(0); Message.AppendInt32(Item.GetBaseItem().SpriteId); Message.AppendInt32((int)Item.Id); Message.AppendStringWithBreak(SayMessage); Message.AppendInt32(1); Message.AppendInt32(0); Message.AppendInt32(0); Message.AppendInt32(0); Session.SendMessage(Message); } }
Code:Private void SaveWiredSettings() { int ItemId = Request.PopWiredInt32(); int Type = Request.PopWiredInt32(); int Item1 = Request.PopWiredInt32(); string Keyword = Request.PopFixedString(); int Item2 = Request.PopFixedInt32(); uint Item3 = Request.PopWiredUInt(); uint Item4 = Request.PopWiredUInt(); uint Item5 = Request.PopWiredUInt(); uint Item6 = Request.PopWiredUInt(); uint Item7 = Request.PopWiredUInt(); uint Item8 = Request.PopWiredUInt(); // Item Item = UberEnvironment.GetGame().GetItemManager().GetItem((uint)ItemId); using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient()) { dbClient.ExecuteQuery("DELETE FROM wired_keywords WHERE item_id = '" + ItemId + "'"); dbClient.ExecuteQuery("INSERT INTO wired_keywords (item_id, keyword) VALUES ('" + ItemId + "','" + Keyword + "')"); } }Find:Code:private void SaveWiredSettings2() { int ItemId = Request.PopWiredInt32(); int Some = Request.PopWiredInt32(); string msg = Request.PopFixedString(); int Some2 = Request.PopWiredInt32(); int Some3 = Request.PopWiredInt32(); using (DatabaseClient dbClient = UberEnvironment.GetDatabase().GetClient()) { // Pois vanhat tavarat dbClient.ExecuteQuery("DELETE FROM wired_show_message WHERE item_id = '" + ItemId + "'"); //Uutta tilalle dbClient.ExecuteQuery("INSERT INTO wired_show_message (item_id, message) VALUES ('" + ItemId + "','" + msg + "')"); } }
Add After:Code:RequestHandlers[3005] = new RequestHandler(RespectPet);
Add interaction_type: wired_trg_say and wired_act_show_messageCode:RequestHandlers[3050] = new RequestHandler(SaveWiredSettings); RequestHandlers[3051] = new RequestHandler(SaveWiredSettings2);
Run mysql query:
Code:CREATE TABLE `wired_keywords` ( `item_id` int(5) DEFAULT NULL, `keyword` varchar(255) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1;Code:CREATE TABLE `wired_show_message` ( `item_id` int(5) DEFAULT NULL, `message` varchar(255) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1;





