# dispatchCommand()?

**URL:** <https://talk.24serv.pro/t/dispatchcommand/3392>\
**Category:** Вопросы/Обсуждения\
**Created:** [13.Июль.2022 07:52:04 UTC](https://talk.24serv.pro/t/dispatchcommand/3392 "2022-07-13T07:52:04Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![OLiMpiK](https://talk.24serv.pro/user_avatar/talk.24serv.pro/olimpik/32/2659_2.png) [@OLiMpiK](https://talk.24serv.pro/u/OLiMpiK)\
**Post date:** [13.Июль.2022 07:52:04 UTC](https://talk.24serv.pro/t/dispatchcommand/3392/1 "2022-07-13T07:52:04Z")

</div>

Вот недавно наткнулся на это, я так понял это выполняет какую-то команду через консоль. Вопрос можно ли выполнять через эту функцию(не уверен что это функция) команду добавленную плагином, плагинами?

---

<div class="post-metadata">

**Author:** ![Marusel](https://talk.24serv.pro/user_avatar/talk.24serv.pro/marusel/32/16416_2.png) [@Marusel](https://talk.24serv.pro/u/Marusel)\
**Post date:** [13.Июль.2022 07:58:05 UTC](https://talk.24serv.pro/t/dispatchcommand/3392/2 "2022-07-13T07:58:05Z")

</div>

Не понял вопроса, но эта функция исполняет команду от лица любого кто может ее выполнить, крч это равносильно тому что кто то ее отправил

---

<div class="post-metadata">

**Author:** ![OLiMpiK](https://talk.24serv.pro/user_avatar/talk.24serv.pro/olimpik/32/2659_2.png) [@OLiMpiK](https://talk.24serv.pro/u/OLiMpiK)\
**Post date:** [13.Июль.2022 07:58:53 UTC](https://talk.24serv.pro/t/dispatchcommand/3392/3 "2022-07-13T07:58:53Z")

</div>

.\_.

```auto
$this->getServer()->dispatchCommand(new ConsoleCommandSender(),'setuperm '.$p.' sbkit.hminer');

```

---

<div class="post-metadata">

**Author:** ![Marusel](https://talk.24serv.pro/user_avatar/talk.24serv.pro/marusel/32/16416_2.png) [@Marusel](https://talk.24serv.pro/u/Marusel)\
**Post date:** [13.Июль.2022 08:00:18 UTC](https://talk.24serv.pro/t/dispatchcommand/3392/4 "2022-07-13T08:00:18Z")

</div>

Не много перефразировал

---

<div class="post-metadata">

**Author:** ![Marusel](https://talk.24serv.pro/user_avatar/talk.24serv.pro/marusel/32/16416_2.png) [@Marusel](https://talk.24serv.pro/u/Marusel)\
**Post date:** [13.Июль.2022 08:00:34 UTC](https://talk.24serv.pro/t/dispatchcommand/3392/5 "2022-07-13T08:00:34Z")

</div>

> [@OLiMpiK](#):
>
> `ConsoleCommandSender`

Это выполняется от лица консоли

---

<div class="post-metadata">

**Author:** ![OLiMpiK](https://talk.24serv.pro/user_avatar/talk.24serv.pro/olimpik/32/2659_2.png) [@OLiMpiK](https://talk.24serv.pro/u/OLiMpiK)\
**Post date:** [13.Июль.2022 08:01:21 UTC](https://talk.24serv.pro/t/dispatchcommand/3392/6 "2022-07-13T08:01:21Z")

</div>

а тоесть от аргумента зависит отправитель команды?

---

<div class="post-metadata">

**Author:** ![MrForter](https://talk.24serv.pro/user_avatar/talk.24serv.pro/mrforter/32/9163_2.png) [@MrForter](https://talk.24serv.pro/u/MrForter)\
**Post date:** [13.Июль.2022 08:04:25 UTC](https://talk.24serv.pro/t/dispatchcommand/3392/7 "2022-07-13T08:04:25Z")

</div>

```auto
//от сервера
//use pocketmine\command\ConsoleCommandSender;
Server::getInstance()->dispatch(new ConsoleCommandSender(), "test ".$username);

//от игрока
Server::getInstance()->dispatch($player, "test ".$username);
```

---

<div class="post-metadata">

**Author:** ![OLiMpiK](https://talk.24serv.pro/user_avatar/talk.24serv.pro/olimpik/32/2659_2.png) [@OLiMpiK](https://talk.24serv.pro/u/OLiMpiK)\
**Post date:** [13.Июль.2022 08:05:59 UTC](https://talk.24serv.pro/t/dispatchcommand/3392/8 "2022-07-13T08:05:59Z")

</div>

спасибо

---

<div class="post-metadata">

**Author:** ![OLiMpiK](https://talk.24serv.pro/user_avatar/talk.24serv.pro/olimpik/32/2659_2.png) [@OLiMpiK](https://talk.24serv.pro/u/OLiMpiK)\
**Post date:** [13.Июль.2022 09:12:46 UTC](https://talk.24serv.pro/t/dispatchcommand/3392/9 "2022-07-13T09:12:46Z")

</div>

это не из-за этого, но помощь нужна…

2022-07-13 [12:07:44] [Server thread/CRITICAL]: ErrorException: “Undefined offset: 0” (EXCEPTION) in “plugins/LOTERY/src/lotery/LOTERY” at line 63

```auto
	public function onCommand(CommandSender $s, Command $cmd, $label, array $args){
		$p = $s->getPlayer();
		$n = $p->getName();
		$money = $this->eco->myMoney(strtolower($n));
		$cfg = $this->lotery->getAll();
		$lotery = mt_rand(0, 20);
		$inv = $p->getInventory();
		if($cmd->getName() == "lotery"){
			if(!isset($args[0])){
				if($money < 20000){
        	        $s->sendMessage("§l§bMega§fWorld §7»§c Не хватает опыта!");
                } elseif($money > 20000){
        	        $this->eco->reduceMoney(strtolower($n), 20000);
        	        $s->sendMessage("§l§bMega§fWorld §7»§f Успешно приобретен лотерейный билет!\n§l§fИспользовать: §c/lotery game§f!");
        	        $cfg[strtolower($n)]['LOTERY']++;
                    $this->lotery->setAll($cfg);
                    $this->lotery->save();
                }
			}
            if($args[0] == "game"){ //63 line
        	    if($cfg[strtolower($n)]['LOTERY'] < 1){
        	        $s->sendMessage("§l§bMega§fWorld §7»§c Не хватает билетов!");

```

---

<div class="post-metadata">

**Author:** ![3JiO](https://talk.24serv.pro/user_avatar/talk.24serv.pro/3jio/32/20432_2.png) [@3JiO](https://talk.24serv.pro/u/3JiO)\
**Post date:** [13.Июль.2022 09:14:11 UTC](https://talk.24serv.pro/t/dispatchcommand/3392/10 "2022-07-13T09:14:11Z")

</div>

Зачем отрицание в isset($args[0]) ?

---

<div class="post-metadata">

**Author:** ![MrForter](https://talk.24serv.pro/user_avatar/talk.24serv.pro/mrforter/32/9163_2.png) [@MrForter](https://talk.24serv.pro/u/MrForter)\
**Post date:** [13.Июль.2022 09:16:37 UTC](https://talk.24serv.pro/t/dispatchcommand/3392/11 "2022-07-13T09:16:37Z")

</div>

```auto
switch(array_shift($args)){
  case 20000:
     //TODO
  break;
  case 50000:
     //TODO
  break;
  default:
    $player->sendMessage("Доступно лишь 20000 и 50000");
  break;
}
```

---

<div class="post-metadata">

**Author:** ![3JiO](https://talk.24serv.pro/user_avatar/talk.24serv.pro/3jio/32/20432_2.png) [@3JiO](https://talk.24serv.pro/u/3JiO)\
**Post date:** [13.Июль.2022 09:17:12 UTC](https://talk.24serv.pro/t/dispatchcommand/3392/12 "2022-07-13T09:17:12Z")

</div>

> [@OLiMpiK](#):
>
> `if(!isset($args[0])){`

на `isset($args[0])`

---

<div class="post-metadata">

**Author:** ![3JiO](https://talk.24serv.pro/user_avatar/talk.24serv.pro/3jio/32/20432_2.png) [@3JiO](https://talk.24serv.pro/u/3JiO)\
**Post date:** [13.Июль.2022 09:17:51 UTC](https://talk.24serv.pro/t/dispatchcommand/3392/13 "2022-07-13T09:17:51Z")

</div>

Мишь, всё хуйня, давай по новой…

---

<div class="post-metadata">

**Author:** ![3JiO](https://talk.24serv.pro/user_avatar/talk.24serv.pro/3jio/32/20432_2.png) [@3JiO](https://talk.24serv.pro/u/3JiO)\
**Post date:** [13.Июль.2022 09:18:13 UTC](https://talk.24serv.pro/t/dispatchcommand/3392/14 "2022-07-13T09:18:13Z")

</div>

Особого смысла в данном коде не видно (без обид, ок?)

---

<div class="post-metadata">

**Author:** ![OLiMpiK](https://talk.24serv.pro/user_avatar/talk.24serv.pro/olimpik/32/2659_2.png) [@OLiMpiK](https://talk.24serv.pro/u/OLiMpiK)\
**Post date:** [13.Июль.2022 09:20:09 UTC](https://talk.24serv.pro/t/dispatchcommand/3392/15 "2022-07-13T09:20:09Z")

</div>

там куча кода который переставлять придется + ошибка не там

---

<div class="post-metadata">

**Author:** ![3JiO](https://talk.24serv.pro/user_avatar/talk.24serv.pro/3jio/32/20432_2.png) [@3JiO](https://talk.24serv.pro/u/3JiO)\
**Post date:** [13.Июль.2022 09:21:11 UTC](https://talk.24serv.pro/t/dispatchcommand/3392/16 "2022-07-13T09:21:11Z")

</div>

Как говорится, дурак всегда и будет дураком

---

<div class="post-metadata">

**Author:** ![3JiO](https://talk.24serv.pro/user_avatar/talk.24serv.pro/3jio/32/20432_2.png) [@3JiO](https://talk.24serv.pro/u/3JiO)\
**Post date:** [13.Июль.2022 09:21:37 UTC](https://talk.24serv.pro/t/dispatchcommand/3392/17 "2022-07-13T09:21:37Z")

</div>

Тебе помочь пытаются, а ты из себя умного строишь

---

<div class="post-metadata">

**Author:** ![OLiMpiK](https://talk.24serv.pro/user_avatar/talk.24serv.pro/olimpik/32/2659_2.png) [@OLiMpiK](https://talk.24serv.pro/u/OLiMpiK)\
**Post date:** [13.Июль.2022 09:21:42 UTC](https://talk.24serv.pro/t/dispatchcommand/3392/18 "2022-07-13T09:21:42Z")

</div>

спасибо

---

<div class="post-metadata">

**Author:** ![3JiO](https://talk.24serv.pro/user_avatar/talk.24serv.pro/3jio/32/20432_2.png) [@3JiO](https://talk.24serv.pro/u/3JiO)\
**Post date:** [13.Июль.2022 09:22:49 UTC](https://talk.24serv.pro/t/dispatchcommand/3392/19 "2022-07-13T09:22:49Z")

</div>

Всегда пожалуйста, заюш 😉

---

<div class="post-metadata">

**Author:** ![OLiMpiK](https://talk.24serv.pro/user_avatar/talk.24serv.pro/olimpik/32/2659_2.png) [@OLiMpiK](https://talk.24serv.pro/u/OLiMpiK)\
**Post date:** [13.Июль.2022 09:23:05 UTC](https://talk.24serv.pro/t/dispatchcommand/3392/20 "2022-07-13T09:23:05Z")

</div>

ну ок  
а в чем прикол то ну что то поменяется?

[Следующая страница](https://talk.24serv.pro/t/dispatchcommand/3392.md?page=2)
