Comanda ban in joc
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
Trebuie sa se poata dar nu stiu exact cum .. trebuie facut ceva
up
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:
Sub el puneți:
Acum căutați:
Adăugați sub el:
Acum intrați în cmd_gm.cpp și căutați comanda:
Sub toată această comandă adăugați:
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
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);Cod: Selectaţi tot
ACMD(do_ban);Cod: Selectaţi tot
{ "block_chat_list",do_block_chat_list, 0, POS_DEAD, GM_PLAYER },Cod: Selectaţi tot
{ "ban", do_ban, 0, POS_DEAD, GM_IMPLEMENTOR }Cod: Selectaţi tot
ACMD(do_block_chat)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);
}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
-
- Informaţie
-
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Bing [Bot] și 71 vizitatori





