У тебя какая мапа? С форума или с oxide ?Ищу плагин который может добавлять иконки на карту RustMap по команде.
Делаю свои ивенты, и хотелось бы чтобы они отображались на карте какой нибудь иконкой и названием.
У тебя какая мапа? С форума или с oxide ?
иконки добавляются через префаб + ссылка на саму иконкуRustMap 1.3.2
Та что на расплагине.
Ну это понятно. Хотелосьбы плагин. Там где прописал к примеру команду /ico там она и появилась. Или /ico ссылка.иконки добавляются через префаб + ссылка на саму иконку
Знаний в cs маловато.Использовать API, не?
для идеала допиывается плагин карты с возможностью интеграции картинки. /add icon PrefabName IconName Url типо тогоЗнаний в cs маловато.
Да если так руссуждать, то проще фотошопом на карте нарисовать и загрузить.
Есть плагины в виде ZoneMarker. Но он не то. Мне 1 чел говорил что есть плагин какраз как мне нужен. Но название не помнит. Искать тяжко.
using Oxide.Core.Plugins;
namespace Oxide.Plugins
{
[Info("MapMarker", "SkiTles", "0.1")]
class MapMarker : RustPlugin
{
//Для настроек
private string adminperm = "mapmarker.admin"; //Привилегия для использования команд
private string icon = "treasurebox"; //Имя иконки из папки icons
/// //////////////////
[PluginReference]
Plugin RustMap;
private string activeicon = null;
void OnServerInitialized()
{
if (!permission.PermissionExists(adminperm)) permission.RegisterPermission(adminperm, this);
}
void Unload()
{
if (activeicon != null) RemoveActiveIcon();
}
[ChatCommand("addicon")] // Чат команда /addicon имя
void iconAdd(BasePlayer player, string command, string[] args)
{
if (!permission.UserHasPermission(player.userID.ToString(), adminperm)) return;
if (args.Length < 1) return;
if (activeicon != null) return;
RustMap?.Call("AddTemporaryMarker", icon, false, 0.04f, 0.99f, player.transform, args[0]);
activeicon = args[0];
}
[ChatCommand("removeicon")] // Чат команда /removeicon
void iconRenove(BasePlayer player, string command, string[] args)
{
if (!permission.UserHasPermission(player.userID.ToString(), adminperm)) return;
if (activeicon == null) return;
RemoveActiveIcon();
}
private void RemoveActiveIcon()
{
RustMap?.Call("RemoveTemporaryMarkerByName", activeicon);
activeicon = null;
}
}
}
Спасибо буду пробовать. Сейчас код проверил. И работает это так.@gmden, Вот такой код по идее должен работать, допиливай и тестируй уже сам, ничего сложно. Иконки я так понимаю можно использовать только те что есть в папке icons, чтобы добавить свою, надо редактировать плагин карты.
Код:using Oxide.Core.Plugins; namespace Oxide.Plugins { [Info("MapMarker", "SkiTles", "0.1")] class MapMarker : RustPlugin { //Для настроек private string adminperm = "mapmarker.admin"; //Привилегия для использования команд private string icon = "treasurebox"; //Имя иконки из папки icons /// ////////////////// [PluginReference] Plugin RustMap; private string activeicon = null; void OnServerInitialized() { if (!permission.PermissionExists(adminperm)) permission.RegisterPermission(adminperm, this); } void Unload() { if (activeicon != null) RemoveActiveIcon(); } [ChatCommand("addicon")] // Чат команда /addicon имя void iconAdd(BasePlayer player, string command, string[] args) { if (!permission.UserHasPermission(player.userID.ToString(), adminperm)) return; if (args.Length < 1) return; if (activeicon != null) return; RustMap?.Call("AddTemporaryMarker", icon, false, 0.04f, 0.99f, player.transform, args[0]); activeicon = args[0]; } [ChatCommand("removeicon")] // Чат команда /removeicon void iconRenove(BasePlayer player, string command, string[] args) { if (!permission.UserHasPermission(player.userID.ToString(), adminperm)) return; if (activeicon == null) return; RemoveActiveIcon(); } private void RemoveActiveIcon() { RustMap?.Call("RemoveTemporaryMarkerByName", activeicon); activeicon = null; } } }
иконка следует за тобой так как она привязана к BasePlayer а не имеет статичное положение )Спасибо буду пробовать. Сейчас код проверил. И работает это так.
1)Иконки можно использовать только те которые уже загружены. Тоесть те кторые использует растмап и другие плагины. Если просто закинуть иконку и попробовать её поставить крашится карта.
2)там где прописал команду, иконка появляется и следует за тобой. Не остаётся на месте.
Спасибо и на этом, щас буду разбиратся что куда.
Я так понял что вот эта переменная player.transformиконка следует за тобой так как она привязана к BasePlayer а не имеет статичное положение )
Ты дурачок? Какой нафиг префаб?иконки добавляются через префаб