public static void Main() { var player = GetExitingObject(); if (!GetIsPlayer(player)) { return; } var playerID = GetGlobalID(player); var mapPins = MapPinRepo.Get(playerID); mapPins.Entities.Clear(); // For every map pin found on a player, // create a new entity and store it in the DB. for (int x = 0; x < GetNumberOfMapPins(player); x++) { var mapPinDetails = GetMapPinDetails(player, x); if (string.IsNullOrWhiteSpace(mapPinDetails.Text)) { continue; } MapPin mapPin = new MapPin { AreaTag = GetTag(mapPinDetails.Area), Text = mapPinDetails.Text, PositionX = mapPinDetails.PositionX, PositionY = mapPinDetails.PositionY }; mapPins.Entities.Add(mapPin); } MapPinRepo.Set(playerID, mapPins); }
public static void Main() { NWGameObject oPC = (GetEnteringObject()); if (!GetIsPlayer(oPC)) { return; } if (GetLocalInt(oPC, "MAP_PINS_LOADED") == 1) { return; } var playerID = GetGlobalID(oPC); var pins = MapPinRepo.Get(playerID); foreach (var pin in pins.Entities) { var area = GetObjectByTag(pin.AreaTag); SetMapPin(oPC, pin.Text, pin.PositionX, pin.PositionY, area); } SetLocalInt(oPC, "MAP_PINS_LOADED", 1); }