Garry's Mod Wiki

Revision Difference

player.CreateNextBot#512666

<function name="CreateNextBot" parent="player" type="libraryfunc">⤶ <description>⤶ Similar to the serverside command "bot", this function creates a new Player bot with the given name. This bot will not obey to the usual "bot_*" commands, and it's the same bot base used in TF2 and CS:S.⤶ ⤶ The best way to control the behaviour of a Player bot right now is to use the <page>GM:StartCommand</page> hook and modify its input serverside.⤶ ⤶ <note>Despite this Player being fake, it has to be removed from the server by using <page>Player:Kick</page> and **NOT** <page>Entity:Remove</page>.⤶ Also keep in mind that these bots still use player slots, so you won't be able to spawn them in singleplayer!</note>⤶ ⤶ <note>Any Bot created using this method will be considered UnAuthed by Garry's Mod</note>⤶ </description>⤶ <realm>Server</realm>⤶ <args>⤶ <arg name="botName" type="string">The name of the bot, using an already existing name will append brackets at the end of it with a number pertaining it.&#xA;&#xA;Example: &quot;Bot name test&quot;, &quot;Bot name test(1)&quot;.</arg>⤶ </args>⤶ <rets>⤶ <ret name="" type="Player">The newly created Player bot. Returns NULL if there's no Player slots available to host it.</ret>⤶ </rets>⤶ </function>⤶ ⤶ <example>⤶ <description>Create a bot if that is possible.</description>⤶ <code>⤶ local listBots = {}⤶ ⤶ function CreateBot()⤶ ⤶ if ( !game.SinglePlayer() &amp;&amp; player.GetCount() &amp;lt; game.MaxPlayers() ) then ⤶ ⤶ local num = #listBots⤶ ⤶ listBots[ num ] = player.CreateNextBot("Bot_" .. ( num + 1 ) )⤶ ⤶ return listBots[ num ]⤶ ⤶ else⤶ ⤶ print( "Can't create bot!" )⤶ ⤶ end⤶ ⤶ end⤶ </code>⤶ ⤶ </example>