SetEstateTerrainRaw
This commit is contained in:
parent
bbc9aa6553
commit
e78a2cb60e
1 changed files with 71 additions and 1 deletions
|
|
@ -1,11 +1,14 @@
|
||||||
using Newtonsoft.Json;
|
using EmbedIO;
|
||||||
|
using Newtonsoft.Json;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
using OpenMetaverse.Assets;
|
using OpenMetaverse.Assets;
|
||||||
using SecondBotEvents.Services;
|
using SecondBotEvents.Services;
|
||||||
using Swan;
|
using Swan;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Security.Policy;
|
||||||
using static Betalgo.Ranul.OpenAI.ObjectModels.RealtimeModels.RealtimeEventTypes;
|
using static Betalgo.Ranul.OpenAI.ObjectModels.RealtimeModels.RealtimeEventTypes;
|
||||||
|
using static Betalgo.Ranul.OpenAI.ObjectModels.StaticValues.AudioStatics;
|
||||||
using static OpenMetaverse.EstateTools;
|
using static OpenMetaverse.EstateTools;
|
||||||
|
|
||||||
namespace SecondBotEvents.Commands
|
namespace SecondBotEvents.Commands
|
||||||
|
|
@ -13,6 +16,73 @@ namespace SecondBotEvents.Commands
|
||||||
[ClassInfo("Look after a sim as the estate manager")]
|
[ClassInfo("Look after a sim as the estate manager")]
|
||||||
public class Estate(EventsSecondBot setmaster) : CommandsAPI(setmaster)
|
public class Estate(EventsSecondBot setmaster) : CommandsAPI(setmaster)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
/*
|
||||||
|
public object SetEstateConfig(string estate_name, string sun_hour, string is_sun_fixed, string is_externally_visible,
|
||||||
|
string allow_direct_teleport, string deny_anonymous, string deny_age_unverified, string deny_age_unverified,
|
||||||
|
string block_bots, string allow_voice_chat, string override_public_access, string override_environment,
|
||||||
|
string invoice, )
|
||||||
|
{
|
||||||
|
if (GetClient().Network.CurrentSim.IsEstateManager == false)
|
||||||
|
{
|
||||||
|
return Failure("Not an estate manager here");
|
||||||
|
}
|
||||||
|
body["estate_name"] = getName();
|
||||||
|
body["sun_hour"] = getSunHour();
|
||||||
|
|
||||||
|
body["is_sun_fixed"] = getUseFixedSun();
|
||||||
|
body["is_externally_visible"] = getIsExternallyVisible();
|
||||||
|
body["allow_direct_teleport"] = getAllowDirectTeleport();
|
||||||
|
body["deny_anonymous"] = getDenyAnonymous();
|
||||||
|
body["deny_age_unverified"] = getDenyAgeUnverified();
|
||||||
|
body["block_bots"] = getDenyScriptedAgents();
|
||||||
|
body["allow_voice_chat"] = getAllowVoiceChat();
|
||||||
|
body["override_public_access"] = getAllowAccessOverride();
|
||||||
|
|
||||||
|
body["override_environment"] = getAllowEnvironmentOverride();
|
||||||
|
body["invoice"] = LLFloaterRegionInfo::getLastInvoice();
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
[About("Sets the terrain for the current sim from a url")]
|
||||||
|
[ReturnHints("ok uploading with uuid <uuid>")]
|
||||||
|
[ReturnHintsFailure("Not an estate manager here")]
|
||||||
|
[ReturnHintsFailure("No url provided")]
|
||||||
|
[ReturnHintsFailure("url must start with http:// or https://")]
|
||||||
|
[ReturnHintsFailure("Unable to download terrain data from url error <error message>")]
|
||||||
|
[ArgHints("urltofile", "the url to the terrain file you wish to upload", "Text")]
|
||||||
|
[CmdTypeDo()]
|
||||||
|
public object SetEstateTerrainRaw(string urltofile)
|
||||||
|
{
|
||||||
|
if (GetClient().Network.CurrentSim.IsEstateManager == false)
|
||||||
|
{
|
||||||
|
return Failure("Not an estate manager here", [urltofile]);
|
||||||
|
}
|
||||||
|
if (string.IsNullOrEmpty(urltofile))
|
||||||
|
{
|
||||||
|
return Failure("No url provided");
|
||||||
|
}
|
||||||
|
if (urltofile.StartsWith("http://") == false && urltofile.StartsWith("https://") == false)
|
||||||
|
{
|
||||||
|
return Failure("url must start with http:// or https://", [urltofile]);
|
||||||
|
}
|
||||||
|
byte[] terraindata = null;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
using (var httpClient = new System.Net.Http.HttpClient())
|
||||||
|
{
|
||||||
|
terraindata = httpClient.GetByteArrayAsync(urltofile).GetAwaiter().GetResult();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
return Failure("Unable to download terrain data from url error "+ ex.Message, [urltofile]);
|
||||||
|
}
|
||||||
|
string filename = urltofile.Split('/')[^1];
|
||||||
|
UUID request = GetClient().Estate.UploadTerrain(terraindata, filename);
|
||||||
|
return BasicReply("ok uploading with uuid "+ request.ToString(), [urltofile]);
|
||||||
|
}
|
||||||
|
|
||||||
[About("Sets the estate covenant for the current sim")]
|
[About("Sets the estate covenant for the current sim")]
|
||||||
[ReturnHints("changed Covenant to notecard: <notecard name>")]
|
[ReturnHints("changed Covenant to notecard: <notecard name>")]
|
||||||
[ReturnHintsFailure("Invaild inventoryNotecardUUID")]
|
[ReturnHintsFailure("Invaild inventoryNotecardUUID")]
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue