Нужна помощь в sm коде

leks90

Участник
Сообщения
10
Реакции
1
Всем привет мне нужна помощь с плагином. Так как сам я ещё в этом слаб (нуб)

Короче я пытаюсь, сделать плагин который будет загружать на карту случайный конфиг
Я примерно набросал код но возможно он не правильны, буду признателен, если поможете

C-подобный:
#include <sourcemod>

public OnPluginStart()
{
    RegServerCmd("sm_c1m1", Mapsc1m1);
    RegServerCmd("sm_c1m2", Mapsc1m2);
}

public Action:Mapsc1m1(client, args)
{
    switch (GetRandomInt(0,6))
    {
        case 0: ServerCommand(client, "exec maps/c1m1/1.cfg")
        case 1: ServerCommand(client, "exec maps/c1m1/2.cfg")
        case 2: ServerCommand(client, "exec maps/c1m1/3.cfg")
        case 3: ServerCommand(client, "exec maps/c1m1/4.cfg")
        case 4: ServerCommand(client, "exec maps/c1m1/5.cfg")
        case 5: ServerCommand(client, "exec maps/c1m1/6.cfg")
        case 6: ServerCommand(client, "exec maps/c1m1/7.cfg")
    }
}

public Action:Mapsc1m2(client, args)
{
    switch (GetRandomInt(0,6))
    {
        case 0: ServerCommand(client, "exec maps/c1m2/1.cfg")
        case 1: ServerCommand(client, "exec maps/c1m2/2.cfg")
        case 2: ServerCommand(client, "exec maps/c1m2/3.cfg")
        case 3: ServerCommand(client, "exec maps/c1m2/4.cfg")
        case 4: ServerCommand(client, "exec maps/c1m2/5.cfg")
        case 5: ServerCommand(client, "exec maps/c1m2/6.cfg")
        case 6: ServerCommand(client, "exec maps/c1m2/7.cfg")
    }
}
 
Последнее редактирование:

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Re: Нужна помощь нубу

Для начала:
ServerCommand("exec maps/c1m2/7.cfg")
Короче client не нужен.
А так ожно и гораздо проще:
PHP:
#include <sourcemod>

public OnPluginStart()
{
    RegServerCmd("sm_c1m1", Mapsc1m1);
    RegServerCmd("sm_c1m2", Mapsc1m2);
}
public Action:Mapsc1m1(client, args)
{
    ServerCommand("exec maps/c1m1/%d.cfg", GetRandomInt(0,6)+1)
}
public Action:Mapsc1m2(client, args)
{
    ServerCommand("exec maps/c1m2/%d.cfg", GetRandomInt(0,6)+1)
}
Если конфиги действительно будут называться цифрами.
И не помню, как правильно надо делать функцию для RegServerCmd, там же client нету... Хотя лучше бы наверно RegAdminCmd, если хочешь делать от админа.
А если хочешь чтобы рандомный конфиг загружался каждый раз сам при смене карты, используй OnMapStart
PHP:
public OnMapStart
{
    ServerCommand("exec maps/c1m2/%d.cfg", GetRandomInt(0,6)+1)
}
 

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
Re: Нужна помощь нубу

KorDen
Если 0, то конфиг 0 никогда не загрузится, т.к. +1, если 6, то будет ошибка, т.к. конфига по именем 7 нету..
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Re: Нужна помощь нубу

KorDen
Если 0, то конфиг 0 никогда не загрузится, т.к. +1, если 6, то будет ошибка, т.к. конфига по именем 7 нету..
The End Is Near..., Если бы ты повнимательнее прочитал его исходный код...
switch (GetRandomInt(0,6))
{
case 0: ServerCommand(client, "exec maps/c1m1/1.cfg")
case 1: ServerCommand(client, "exec maps/c1m1/2.cfg")
case 2: ServerCommand(client, "exec maps/c1m1/3.cfg")
case 3: ServerCommand(client, "exec maps/c1m1/4.cfg")
case 4: ServerCommand(client, "exec maps/c1m1/5.cfg")
case 5: ServerCommand(client, "exec maps/c1m1/6.cfg")
case 6: ServerCommand(client, "exec maps/c1m1/7.cfg")
}
}
....то этого комментария бы не было
 

leks90

Участник
Сообщения
10
Реакции
1
Re: Нужна помощь нубу

KorDen
Если 0, то конфиг 0 никогда не загрузится, т.к. +1, если 6, то будет ошибка, т.к. конфига по именем 7 нету..
Мне помог совет KorDen всё остальное я уже сделал сам. Как мне было удобней.
Тема Закрыта! всем спосибо =)
 

leks90

Участник
Сообщения
10
Реакции
1
Re: Нужна помощь нубу

Снова нужна помощь
Вот для примера код сообщения, которое надо убрать в сторону чата или противоположную сторону

C-подобный:
#include <sourcemod>
#include <sdktools>

public OnPluginStart()
{
    RegConsoleCmd("sm_ky", Command_ky);
}

public Action:Command_ky(client, args)
{
    PrintHintTextToAll("Игрок %N говорит всем привет", client);
    return Plugin_Continue;
}
Такое возможно вообще?
 

KorDen

Atra esterní ono thelduin!
Сообщения
2,142
Реакции
1,424
Re: Нужна помощь нубу

Чат - PrintToChatAll
Центр сверху - PrintCenterTextAll
Справа - можно, но сложнее для восприятия, и работает не во всех играх
 

The Night Fury

Участник
Сообщения
1,300
Реакции
1,395
Re: Нужна помощь нубу

KorDen, он хочет вывести в hint, я так понял.
 

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
leks90
PHP:
new Handle:message = StartMessageAll("KeyHintText");
if (message != INVALID_HANDLE)
{
	BfWriteByte(message, 1);
	BfWriteString(message, "Сообщение");
	EndMessage();
}
 
Сверху Снизу