Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
CS:GO

Automatyczne ustawianie parametrów serwera po wpisaniu komendy

cs:go

Najlepsza odpowiedź Legalajzyt , 27.08.2015 13:30

Znalazłem plugin na włączenie/wyłączenie friendly fire i przerobiłem go lekko. Jednak kompilator sypie błędami, poprawiłby ktoś? Niestety nie wiem gdzie znajdują się dokładnie błędy.

#include <sourcemod>

#include <sdktools>

#include <cstrike>

#include <sdkhooks>

#pragma semicolon 1



/*

    Current plugin version

*/

#define PLUGIN_VERSION "v3"





/*





/*

    Bools

*/

new bool:bFF;

/*



/*

    Plugin information

*/

public Plugin:myinfo =

{

    name = "Friendly Fire CSGO",

    author = "Dk--",

    description = "enable / disable the friendly fire",

    version = PLUGIN_VERSION,

}



public OnPluginStart()

{

     RegAdminCmd("sm_ff", FF_Command);

    HookEvent("round_start", OnRoundStart);

}



 

public Action:FF_Command(client, args)

{

    new Handle:ffMenu = CreateMenu(ffMenu_Action);

    SetMenuTitle(ffMenu, "Tryb gry:");

    AddMenuItem(ffMenu, "Turniejowy");

    AddMenuItem(ffMenu, "Normalna gra");

    DisplayMenu(ffMenu, client, 20);

    return Plugin_Handled;    

  }

public ffMenu_Action(Handle:ffMenu, MenuAction:action, client, param2)

{

    if (action == MenuAction_Select)

    {

        new String:option[32];

        GetMenuItem(ffMenu, param2, option, sizeof(option));

        

        if(strcmp(option, "enable") == 0)

        {

            bFF = true;

            SetConVarInt(FindConVar("sv_cheats"), 1);

            SetConVarInt(FindConVar("mp_roundtime"), 60);

            SetConVarInt(FindConVar("mp_roundtime_defuse"), 60);

            SetConVarInt(FindConVar("mp_warmup_end");

             PrintToChatAll("[Trening] Został aktywowany tryb treningowy");

        }

        if(strcmp(option, "disable") == 0)

        {

            bFF = false;

            SetConVarInt(FindConVar("sv_cheats"), 0);

            SetConVarInt(FindConVar("mp_roundtime"), 5);

            SetConVarInt(FindConVar("mp_roundtime_defuse"), 0);

            SetConVarInt(FindConVar("mp_warmup_end");

             PrintToChatAll("[Normalny] Został aktywowany tryb normalnej gry");

        }

    }

}

public OnRoundStart(Handle:event, const String:name[], bool:dontBroadcast)

{

    bFF = false;

    ServerCommand("sm_cvar sv_cheats 0");

    ServerCommand("sm_cvar mp_roundtime 5");

    ServerCommand("sm_cvar mp_roundtime_defuse 0");

}
Przejdź do postu


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
2 odpowiedzi w tym temacie

#1 Legalajzyt

    Nowy

  • Nowy

Reputacja: 0
Nowy

  • Postów:2
Offline

Napisano 26.08.2015 23:12

Witam, mam pytanie, a właściwie prośbę o napisanie pluginu. Czy jest możliwość zrobienia pluginu który automatycznie ustawiałby parametry serwera po wpisaniu komendy(ale bez potrzeby bycia adminem)? Wyglądać to ma mniej więcej tak:

/tr

sv_cheats 1
mp_roundtime 60
mp_roundtime_defuse 60
mp_warmup_end

/gr

sv_cheats 0
mp_roundtime 5
mp_roundtime_defuse 0
mp_warmup_end

Użytkownik Legalajzyt edytował ten post 26.08.2015 23:13

  • +
  • -
  • 0

#2 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 27.08.2015 09:22

Tak. Funkcje z ustawieniami cvarow przypisujesz na wybrana komende. I teraz jezeli komenda ma byc dla wszystkich to ustawiasz bez flagi, jezeli dla adminow to z flaga. A jezeli chcesz by byla dla adminow i mozna bylo jej uzywac bez flag to uzywasz ja po prostu przez rcona.


  • +
  • -
  • 2

b35020692_qesnxqa.png


#3 Legalajzyt

    Nowy

  • Autor tematu
  • Nowy

Reputacja: 0
Nowy

  • Postów:2
Offline

Napisano 27.08.2015 13:30   Najlepsza odpowiedź

Znalazłem plugin na włączenie/wyłączenie friendly fire i przerobiłem go lekko. Jednak kompilator sypie błędami, poprawiłby ktoś? Niestety nie wiem gdzie znajdują się dokładnie błędy.

#include <sourcemod>

#include <sdktools>

#include <cstrike>

#include <sdkhooks>

#pragma semicolon 1



/*

    Current plugin version

*/

#define PLUGIN_VERSION "v3"





/*





/*

    Bools

*/

new bool:bFF;

/*



/*

    Plugin information

*/

public Plugin:myinfo =

{

    name = "Friendly Fire CSGO",

    author = "Dk--",

    description = "enable / disable the friendly fire",

    version = PLUGIN_VERSION,

}



public OnPluginStart()

{

     RegAdminCmd("sm_ff", FF_Command);

    HookEvent("round_start", OnRoundStart);

}



 

public Action:FF_Command(client, args)

{

    new Handle:ffMenu = CreateMenu(ffMenu_Action);

    SetMenuTitle(ffMenu, "Tryb gry:");

    AddMenuItem(ffMenu, "Turniejowy");

    AddMenuItem(ffMenu, "Normalna gra");

    DisplayMenu(ffMenu, client, 20);

    return Plugin_Handled;    

  }

public ffMenu_Action(Handle:ffMenu, MenuAction:action, client, param2)

{

    if (action == MenuAction_Select)

    {

        new String:option[32];

        GetMenuItem(ffMenu, param2, option, sizeof(option));

        

        if(strcmp(option, "enable") == 0)

        {

            bFF = true;

            SetConVarInt(FindConVar("sv_cheats"), 1);

            SetConVarInt(FindConVar("mp_roundtime"), 60);

            SetConVarInt(FindConVar("mp_roundtime_defuse"), 60);

            SetConVarInt(FindConVar("mp_warmup_end");

             PrintToChatAll("[Trening] Został aktywowany tryb treningowy");

        }

        if(strcmp(option, "disable") == 0)

        {

            bFF = false;

            SetConVarInt(FindConVar("sv_cheats"), 0);

            SetConVarInt(FindConVar("mp_roundtime"), 5);

            SetConVarInt(FindConVar("mp_roundtime_defuse"), 0);

            SetConVarInt(FindConVar("mp_warmup_end");

             PrintToChatAll("[Normalny] Został aktywowany tryb normalnej gry");

        }

    }

}

public OnRoundStart(Handle:event, const String:name[], bool:dontBroadcast)

{

    bFF = false;

    ServerCommand("sm_cvar sv_cheats 0");

    ServerCommand("sm_cvar mp_roundtime 5");

    ServerCommand("sm_cvar mp_roundtime_defuse 0");

}

Użytkownik Legalajzyt edytował ten post 27.08.2015 13:36

  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: cs:go

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych