Comanda ban in joc

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Închis
Avatar utilizator
Nazir a.k.a. Zorke
Traficant de ouă

Traficant de ouă
Mesaje: 1250
Membru din: 05 Sep 2014, 19:41
Server: Metin2 Kotoba
Regat: Shinsoo
Aprecieri: 5  
Mulţumiri: 44  
 Contact:
Medalii

Salut, cum as putea face comanda /setblock sa fie functionala in joc.. Ar trebuii atunci cand scriu /setblock Nick sa aiba accesul interzis dar nu se intampla nimic .. stie cineva?
Pentru acest mesaj, Nazir a.k.a. Zorke for the post:
Caracal
Securizează website-ul la serverul tău chiar acum ! Sfaturi gratuite !
Schimbă codul din spatele template-ului cu ceva mai nou ! Același design alt cod !!
https://www.facebook.com/ZorkeOfficial/

Imagine
Afișează semnătura
Avatar utilizator
ToTo™
Nivel 3

Nivel 3
Mesaje: 310
Membru din: 29 Noi 2014, 09:49
Server: Metin2NewDawn
Regat: Jinno
Aprecieri: 119  
Mulţumiri: 11  
Medalii

Mi se pare ca nu poti da ban din server , doar de pe site :)
Avatar utilizator
Nazir a.k.a. Zorke
Traficant de ouă

Traficant de ouă
Mesaje: 1250
Membru din: 05 Sep 2014, 19:41
Server: Metin2 Kotoba
Regat: Shinsoo
Aprecieri: 5  
Mulţumiri: 44  
 Contact:
Medalii

Trebuie sa se poata dar nu stiu exact cum .. trebuie facut ceva
Securizează website-ul la serverul tău chiar acum ! Sfaturi gratuite !
Schimbă codul din spatele template-ului cu ceva mai nou ! Același design alt cod !!
https://www.facebook.com/ZorkeOfficial/

Imagine
Afișează semnătura
Avatar utilizator
Nazir a.k.a. Zorke
Traficant de ouă

Traficant de ouă
Mesaje: 1250
Membru din: 05 Sep 2014, 19:41
Server: Metin2 Kotoba
Regat: Shinsoo
Aprecieri: 5  
Mulţumiri: 44  
 Contact:
Medalii

up
Securizează website-ul la serverul tău chiar acum ! Sfaturi gratuite !
Schimbă codul din spatele template-ului cu ceva mai nou ! Același design alt cod !!
https://www.facebook.com/ZorkeOfficial/

Imagine
Afișează semnătura
Avatar utilizator
AlexTzutzu
Nivel 10

Nivel 10
Mesaje: 2345
Membru din: 12 Feb 2014, 13:59
Server: Am RENUNTAT
Regat: Jinno
Aprecieri: 18  
Mulţumiri: 91  
 Contact:
Medalii

Aceasta metoda se face din sursa.
Intrați în /usr/src/your_source/Srcs/Server/game/src
Deschideți cmd.cpp și căutați:

Cod: Selectaţi tot

ACMD(do_block_chat);
Sub el puneți:

Cod: Selectaţi tot

ACMD(do_ban);
Acum căutați:

Cod: Selectaţi tot

{ "block_chat_list",do_block_chat_list, 0,          POS_DEAD,   GM_PLAYER   },
Adăugați sub el:

Cod: Selectaţi tot

{ "ban", do_ban, 0, POS_DEAD, GM_IMPLEMENTOR }
Acum intrați în cmd_gm.cpp și căutați comanda:

Cod: Selectaţi tot

ACMD(do_block_chat)
Sub toată această comandă adăugați:

Cod: Selectaţi tot

ACMD(do_ban)
{
char arg1[256], arg2[256];

const char*  szName;
int          iDuration;
 
one_argument(two_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2));
 
// Invalid syntax
if (!*arg1 || !*arg2)
{
    ch->ChatPacket(CHAT_TYPE_INFO, "Invalid Syntax, usage: <player name> <time in hours> tip: don't use spaces in the reason, use _");
    return;
}
 
szName      = arg1;
iDuration   = atoi(arg2);
szReason    = arg3;
 
if (iDuration <= 0)
{
    ch->ChatPacket(CHAT_TYPE_INFO, "Duration can't be 0 or minus.");
    return;
}
 
LPCHARACTER tch = CHARACTER_MANAGER::instance().FindPC(szName);
 
if (!tch)
{
    ch->ChatPacket(CHAT_TYPE_INFO, "%s nu este conectat", szName);
    return;
}
 
if (!tch->GetDesc())
{
    ch->ChatPacket(CHAT_TYPE_INFO, "%s don't have desc", szName);
    return;
}
 
if (tch == ch)
{
    ch->ChatPacket(CHAT_TYPE_INFO, "Ce este in neregula cu tine? Te banezi singur");
    return;
}
 
if (tch->GetGMLevel() > GM_PLAYER)
{
    ch->ChatPacket(CHAT_TYPE_INFO, "Nu poti bana GM");
    return;
}
 
std::auto_ptr<SQLMsg> msg(DBManager::instance().DirectQuery("UPDATE account.account SET availDt = FROM_UNIXTIME(UNIX_TIMESTAMP(CURRENT_TIMESTAMP()) + %i), iDuration * 3600, tch->GetDesc()->GetAccountTable().id));
 
tch->GetDesc()->DelayedDisconnect(5);
 
sys_log(0, "%s[%d] banned %s for %i hours", ch->GetName(), ch->GetPlayerID(), szName, iDuration);
 
ch->ChatPacket(CHAT_TYPE_INFO, "%s has been banned for %i hours", szName, iDuration);
}
Compilați și gata !

Acum intrați în joc și folosiți comanda:

/ban <Nume jucător> <Timp in ore>

Atentie:Nu am testat aceasta metoda.Nu raspund pentru eventualele erori
Imagine


The quieter you become,the more you are able to hear.
Afișează semnătura
Avatar utilizator
Ankhed
Fost Super Ad Moderator

Fost Super Ad Moderator
Mesaje: 2130
Membru din: 22 Noi 2015, 13:00
Aprecieri: 42  
Mulţumiri: 45  
 Contact:
Medalii

Subiect vechi, arhivat
Imagine
Afișează semnătura
Închis
Răspunsuri
16
Vizualizări
4866
Răspunsuri
1
Vizualizări
176
Răspunsuri
6
Vizualizări
388
comanda
Răspunsuri
5
Vizualizări
244

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie