Иконка ресурса

FREE ExamplePlugin : 1.0.0 1.0.0

Нет прав для скачивания
C#:
---
layout: forums
title: 'Solved - Set sleeper position'
breadcrumbs:
 - "Plugin Development": "/forums/plugin-development.105/"
 - "Rust Development": "/forums/rust-development.4/"
---
<div class="titleBar">
    <h1>
        <span class="prefix prefixGreen">Solved</span> <a href="{{ '/threads/set-sleeper-position.11678/' | prepend: site.baseurl }}">Set sleeper position</a>
    </h1>
    <p id="pageDescription" class="muted">Discussion in '<a href="{{ '/forums/rust-development.4/' | prepend: site.baseurl }}">Rust Development</a>' started by <a class="username"
            dir="auto">theconezone</a>, <a href="{{ '/threads/set-sleeper-position.11678/' | prepend: site.baseurl }}"><span class="DateTime" title="Sep 11, 2015 at 10:32 PM">Sep 11, 2015</span></a>.
    </p>
</div>
<ol class="messageList" id="messageList">
    <li id="post-128001" class="message" data-author="theconezone">
        <div class="messageUserInfo">
            <div class="messageUserBlock">
                <div class="avatarHolder">
                    <span class="helper"></span>
                    <a class="avatar Avm" data-avatarhtml="true"><img src="{{ '/assets/styles/oxide/logo.og.png' | prepend: site.baseurl }}" width="96" height="96" alt="theconezone" /></a>
                </div>
                <h3 class="userText">
                    <a class="username" dir="auto">theconezone</a>
                </h3>
                <span class="arrow"></span>
            </div>
        </div>
        <div class="messageInfo primaryContent">
            <div class="messageContent">
                <article>
                    <blockquote class="messageText SelectQuoteContainer ugc baseHtml"> There have been a few threads on getting a sleeping player&#039;s position, but none on setting it.<br />
                        <br /> The following does not work for a given BasePlayer sleeper and Vector3 newPosition:<br />
                        <br />
                        <div class="bbCodeBlock bbCodeQuote">
                            <aside>
                                <blockquote class="quoteContainer">
                                    <div class="quote">//doesn&#039;t work<br /> ForcePlayerPosition(sleeper, newPosition);<br />
                                        <br /> //doesn&#039;t work<br /> sleeper.transform.position = newPosition;<br />
                                        <br /> //doesn&#039;t work<br /> sleeper.MovePosition(newPosition);<br />
                                        <br /> //doesn&#039;t work<br /> sleeper.transform.position.Set(newPosition.x, newPosition.y, newPosition.z);<br />
                                        <br /> //doesn&#039;t work<br /> sleeper.GetEntity().transform.position = newPosition;</div>
                                    <div class="quoteExpand">Click to expand...</div>
                                </blockquote>
                            </aside>
                        </div>I&#039;m out of ideas at this point. I think maybe sleeping players are a type of container rather than a player, but even if they are I still have no idea how to move
                        them. <div class="messageTextEndMarker">&nbsp;</div>
                    </blockquote>
                </article>
            </div>
            <div class="messageMeta ToggleTriggerAnchor">
                <div class="privateControls">
                    <span class="item muted">
                        <span class="authorEnd"><a class="username author" dir="auto">theconezone</a>,</span>
                        <a href="{{ '/threads/set-sleeper-position.11678/' | prepend: site.baseurl }}" title="Permalink" class="datePermalink"><span class="DateTime"
                                title="Sep 11, 2015 at 10:32 PM">Sep 11, 2015</span></a>
                    </span>
                </div>
                <div class="publicControls">
                    <a href="{{ '/threads/set-sleeper-position.11678/' | prepend: site.baseurl }}" title="Permalink" class="item muted postNumber hashPermalink OverlayTrigger"
                        data-href="posts/128001/permalink">#1</a>
                </div>
            </div>
        </div>
    </li>
    <li id="post-128085" class="message" data-author="Reneb">
        <div class="messageUserInfo">
            <div class="messageUserBlock">
                <div class="avatarHolder">
                    <span class="helper"></span>
                    <a class="avatar Avm" data-avatarhtml="true"><img src="{{ '/assets/styles/oxide/logo.og.png' | prepend: site.baseurl }}" width="96" height="96" alt="Reneb" /></a>
                </div>
                <h3 class="userText">
                    <a class="username" dir="auto">Reneb</a>
                </h3>
                <span class="arrow"></span>
            </div>
        </div>
        <div class="messageInfo primaryContent">
            <div class="messageContent">
                <article>
                    <blockquote class="messageText SelectQuoteContainer ugc baseHtml"> sleepers are players so you can forceplayerposition as if they were online players.<br /> you just have to look
                        in all the plugins as there is a trick now to successfully change someones position. (search for lastPosition)<br /> Event Manager, Portgun, Teleportation system, etc... you
                        can look in all those plugins. <div class="messageTextEndMarker">&nbsp;</div>
                    </blockquote>
                </article>
            </div>
            <div class="messageMeta ToggleTriggerAnchor">
                <div class="privateControls">
                    <span class="item muted">
                        <span class="authorEnd"><a class="username author" dir="auto">Reneb</a>,</span>
                        <a href="{{ '/threads/set-sleeper-position.11678/#post-128085' | prepend: site.baseurl }}" title="Permalink" class="datePermalink"><span class="DateTime"
                                title="Sep 12, 2015 at 8:51 AM">Sep 12, 2015</span></a>
                    </span>
                </div>
                <div class="publicControls">
                    <a href="{{ '/threads/set-sleeper-position.11678/#post-128085' | prepend: site.baseurl }}" title="Permalink" class="item muted postNumber hashPermalink OverlayTrigger"
                        data-href="posts/128085/permalink">#2</a>
                </div>
            </div>
        </div>
    </li>
    <li id="post-128153" class="message" data-author="theconezone">
        <div class="messageUserInfo">
            <div class="messageUserBlock">
                <div class="avatarHolder">
                    <span class="helper"></span>
                    <a class="avatar Avm" data-avatarhtml="true"><img src="{{ '/assets/styles/oxide/logo.og.png' | prepend: site.baseurl }}" width="96" height="96" alt="theconezone" /></a>
                </div>
                <h3 class="userText">
                    <a class="username" dir="auto">theconezone</a>
                </h3>
                <span class="arrow"></span>
            </div>
        </div>
        <div class="messageInfo primaryContent">
            <div class="messageContent">
                <article>
                    <blockquote class="messageText SelectQuoteContainer ugc baseHtml"> Thanks, I did search other plugins but I was searching for transform.position. Here is my resulting code for
                        anyone else who needs to know this later (minus error checking, works on both sleepers and players):<br />
                        <br />
                        <div class="bbCodeBlock bbCodeCode">
                            <div class="type">Code:</div>
                            {% raw %}<pre>
using System;
using System.Reflection;namespace Oxide.Plugins {   [Info(&quot;ExamplePlugin&quot;, &quot;John Example&quot;, &quot;0.0.1&quot;)]
   class ExamplePlugin : RustPlugin {     private FieldInfo lastPositionValueField;     protected void Loaded() {       //retrieve BasePlayer.lastPositionValue for later usage
       lastPositionValueField = typeof(BasePlayer).GetField(&quot;lastPositionValue&quot;, BindingFlags.NonPublic | BindingFlags.Instance);     }     //&quot;fix&quot; ForcePlayerPosition
     protected new void ForcePlayerPosition(BasePlayer player, Vector3 destination) {       //check if player is actively playing
       if (player.IsConnected() &amp;&amp; !player.IsReceivingSnapshot()) {         //check if player is sleeping
         if (!player.IsSleeping()) {           //player is not sleeping, put player to sleep
           player.StartSleeping();         }         //Set position and send ForcePositionTo
         base.ForcePlayerPosition(player, destination);         //Send player into loading screen
         player.SetPlayerFlag(BasePlayer.PlayerFlags.ReceivingSnapshot, true);
         player.UpdateNetworkGroup();
         player.SendNetworkUpdateImmediate(false);
         player.ClientRPCPlayer(null, player, &quot;StartLoading&quot;);       } else {         //player is not connected, simply set the position
         player.transform.position = destination;       }       //Update player position
       lastPositionValueField.SetValue(player, destination);
       player.TransformChanged();       //check if we sent the player into a loading screen
       if (player.IsReceivingSnapshot()) {         //Send full update to client
         player.SendFullSnapshot();         //player is done loading, end loading screen
         player.SetPlayerFlag(BasePlayer.PlayerFlags.ReceivingSnapshot, false);
         player.ClientRPCPlayer(null, player, &quot;FinishLoading&quot;);       }     }   }}
</pre>{% endraw %}
                        </div>
                        <div class="messageTextEndMarker">&nbsp;</div>
                    </blockquote>
                </article>
            </div>
            <div class="messageMeta ToggleTriggerAnchor">
                <div class="privateControls">
                    <span class="item muted">
                        <span class="authorEnd"><a class="username author" dir="auto">theconezone</a>,</span>
                        <a href="{{ '/threads/set-sleeper-position.11678/#post-128153' | prepend: site.baseurl }}" title="Permalink" class="datePermalink"><span class="DateTime"
                                title="Sep 12, 2015 at 4:38 PM">Sep 12, 2015</span></a>
                    </span>
                </div>
                <div class="publicControls">
                    <a href="{{ '/threads/set-sleeper-position.11678/#post-128153' | prepend: site.baseurl }}" title="Permalink" class="item muted postNumber hashPermalink OverlayTrigger"
                        data-href="posts/128153/permalink">#3</a>
                </div>
            </div>
        </div>
    </li>
    <li id="post-390748" class="message" data-author="Devander">
        <div class="messageUserInfo">
            <div class="messageUserBlock">
                <div class="avatarHolder">
                    <span class="helper"></span>
                    <a class="avatar Avm" data-avatarhtml="true"><img src="{{ '/assets/styles/oxide/logo.og.png' | prepend: site.baseurl }}" width="96" height="96" alt="Devander" /></a>
                </div>
                <h3 class="userText">
                    <a class="username" dir="auto">Devander</a>
                </h3>
                <span class="arrow"></span>
            </div>
        </div>
        <div class="messageInfo primaryContent">
            <div class="messageContent">
                <article>
                    <blockquote class="messageText SelectQuoteContainer ugc baseHtml"> Does this still work? How do I go about using this code? <div class="messageTextEndMarker">&nbsp;</div>
                    </blockquote>
                </article>
            </div>
            <div class="messageMeta ToggleTriggerAnchor">
                <div class="privateControls">
                    <span class="item muted">
                        <span class="authorEnd"><a class="username author" dir="auto">Devander</a>,</span>
                        <a href="{{ '/threads/set-sleeper-position.11678/#post-390748' | prepend: site.baseurl }}" title="Permalink" class="datePermalink"><span class="DateTime"
                                title="Mar 10, 2018 at 7:43 AM">Mar 10, 2018</span></a>
                    </span>
                </div>
                <div class="publicControls">
                    <a href="{{ '/threads/set-sleeper-position.11678/#post-390748' | prepend: site.baseurl }}" title="Permalink" class="item muted postNumber hashPermalink OverlayTrigger"
                        data-href="posts/390748/permalink">#4</a>
                </div>
            </div>
        </div>
    </li>
    <li id="post-392433" class="message" data-author="Devander">
        <div class="messageUserInfo">
            <div class="messageUserBlock">
                <div class="avatarHolder">
                    <span class="helper"></span>
                    <a class="avatar Avm" data-avatarhtml="true"><img src="{{ '/assets/styles/oxide/logo.og.png' | prepend: site.baseurl }}" width="96" height="96" alt="Devander" /></a>
                </div>
                <h3 class="userText">
                    <a class="username" dir="auto">Devander</a>
                </h3>
                <span class="arrow"></span>
            </div>
        </div>
        <div class="messageInfo primaryContent">
            <div class="messageContent">
                <article>
                    <blockquote class="messageText SelectQuoteContainer ugc baseHtml"> For anyone reading this, I&#039;m pretty sure I ended up using NTeleportation to move sleepers instead! After
                        using the Finder plugin to find them. <div class="messageTextEndMarker">&nbsp;</div>
                    </blockquote>
                </article>
            </div>
            <div class="messageMeta ToggleTriggerAnchor">
                <div class="privateControls">
                    <span class="item muted">
                        <span class="authorEnd"><a class="username author" dir="auto">Devander</a>,</span>
                        <a href="{{ '/threads/set-sleeper-position.11678/#post-392433' | prepend: site.baseurl }}" title="Permalink" class="datePermalink"><span class="DateTime"
                                title="Mar 24, 2018 at 3:16 AM">Mar 24, 2018</span></a>
                    </span>
                </div>
                <div class="publicControls">
                    <a href="{{ '/threads/set-sleeper-position.11678/#post-392433' | prepend: site.baseurl }}" title="Permalink" class="item muted postNumber hashPermalink OverlayTrigger"
                        data-href="posts/392433/permalink">#5</a>
                </div>
            </div>
        </div>
    </li>
</ol>

Автор
15FPS
Скачиваний
0
Просмотры
1
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок
Сверху