public static void SetMapPin(NWPlayer oPC, string text, float positionX, float positionY, NWArea area, string tag) { int numberOfMapPins = GetNumberOfMapPins(oPC); int storeAtIndex = -1; for (int index = 0; index < numberOfMapPins; index++) { MapPin mapPin = GetMapPin(oPC, index); if (string.IsNullOrWhiteSpace(mapPin.Text)) { storeAtIndex = index; break; } } if (storeAtIndex == -1) { numberOfMapPins++; storeAtIndex = numberOfMapPins - 1; } storeAtIndex++; oPC.SetLocalString("NW_MAP_PIN_NTRY_" + storeAtIndex, text); oPC.SetLocalFloat("NW_MAP_PIN_XPOS_" + storeAtIndex, positionX); oPC.SetLocalFloat("NW_MAP_PIN_YPOS_" + storeAtIndex, positionY); oPC.SetLocalObject("NW_MAP_PIN_AREA_" + storeAtIndex, area.Object); oPC.SetLocalInt("NW_TOTAL_MAP_PINS", numberOfMapPins); if (tag != null) { oPC.SetLocalString("CUSTOM_NW_MAP_PIN_TAG_" + storeAtIndex, tag); } }