DDrace Network Adding Commands

Request help for teeworlds-related subjects (mapping, servers, ..).
For client issues, see our repositories (https://github.com/ddnet/ddnet/issues).
Post Reply
Google
Posts: 26
Joined: Thu Jun 08, 2017 5:23 pm

DDrace Network Adding Commands

Post by Google »

Hi!
I add commands from XXLDDrace to DDrace Network
I copy commands etc to it:
src/game/server:
ddracecommands.cpp
gamecontext.h
gamecontext.cpp

src/game:
ddracecommands.h


To ddracecommands.h i add:
CONSOLE_COMMAND("bloody", "v", CFGFLAG_SERVER|CMDFLAG_TEST, ConBlood, this, "BLOOD Ouch?!")
CONSOLE_COMMAND("unfreeze", "v", CFGFLAG_SERVER|CMDFLAG_TEST, ConUnFreeze, this, "Unfreezes player v")
CONSOLE_COMMAND("freeze", "v?i", CFGFLAG_SERVER|CMDFLAG_TEST, ConFreeze, this, "Freezes player v for i seconds (infinite by default)")
CONSOLE_COMMAND("vip", "v", CFGFLAG_SERVER, ConMember, this, "Sets v to member")
CONSOLE_COMMAND("unvip", "v", CFGFLAG_SERVER, ConUnMember, this, "Unsets v to member")
CONSOLE_COMMAND("checkvip", "v", CFGFLAG_SERVER, ConCheckMember, this, "Checks if v is a member")

To ddracecommands.cpp i add:
void CGameContext::ConBlood(IConsole::IResult *pResult, void *pUserData)
{
if(!CheckRights(pResult->m_ClientID, pResult->GetVictim(), (CGameContext *)pUserData)) return;
int Victim = pResult->GetVictim();

CGameContext *pSelf = (CGameContext *)pUserData;
CPlayer *pPlayer = pSelf->m_apPlayers[Victim];
if(!pPlayer)
return;

CCharacter* pChr = pSelf->m_apPlayers[Victim]->GetCharacter();;
if(!pChr)
return;

char aBuf[128];
if (!pChr->m_Bloody)
{
pChr->m_Bloody = true;

str_format(aBuf, sizeof(aBuf), "You got bloody by %s.", pSelf->Server()->ClientName(pResult->m_ClientID));
pSelf->SendChatTarget(Victim, aBuf);
}
else
{
pChr->m_Bloody = false;
str_format(aBuf, sizeof(aBuf), "%s removed your blood.", pSelf->Server()->ClientName(pResult->m_ClientID));
pSelf->SendChatTarget(Victim, aBuf);
}
}
void CGameContext::ConGetVip(IConsole::IResult *pResult, void *pUserData)
{
if(!CheckRights(pResult->m_ClientID, pResult->GetVictim(), (CGameContext *)pUserData)) return;
CGameContext *pSelf = (CGameContext *)pUserData;
int Victim = pResult->GetVictim();

CPlayer *pPlayer = pSelf->m_apPlayers[Victim];
if(!pPlayer)
return;

pSelf->VipList->Check(Victim, pSelf);
}

void CGameContext::ConVip(IConsole::IResult *pResult, void *pUserData)
{
if(!CheckRights(pResult->m_ClientID, pResult->GetVictim(), (CGameContext *)pUserData)) return;
CGameContext *pSelf = (CGameContext *)pUserData;
int Victim = pResult->GetVictim();

CPlayer *pPlayer = pSelf->m_apPlayers[Victim];
if(!pPlayer)
return;

pSelf->VipList->Vip(Victim, pSelf);
}

void CGameContext::ConUnVip(IConsole::IResult *pResult, void *pUserData)
{
if(!CheckRights(pResult->m_ClientID, pResult->GetVictim(), (CGameContext *)pUserData)) return;
CGameContext *pSelf = (CGameContext *)pUserData;
int Victim = pResult->GetVictim();

CPlayer *pPlayer = pSelf->m_apPlayers[Victim];
if(!pPlayer)
return;

pSelf->VipList->UnVip(Victim, pSelf);
}

To gamecontext.h i add:
static void ConFreeze(IConsole::IResult *pResult, void *pUserData);
static void ConUnFreeze(IConsole::IResult *pResult, void *pUserData);
static void ConVip(IConsole::IResult *pResult, void *pUserData);
static void ConUnVip(IConsole::IResult *pResult, void *pUserData);
static void ConCheckVip(IConsole::IResult *pResult, void *pUserData);

And to gamecontext.cpp i add: nothing o.o

I start server and nothing not work :(

Please help o.o!
fokkonaut
Posts: 855
Joined: Wed May 13, 2015 5:59 pm
Player profile: https://ddnet.tw/players/fokkonaut

Re: DDrace Network Adding Commands

Post by fokkonaut »

learn c++?
Google
Posts: 26
Joined: Thu Jun 08, 2017 5:23 pm

Re: DDrace Network Adding Commands

Post by Google »

fokkonaut wrote: Tue Jul 25, 2017 2:49 pmlearn c++?
I'm novice in C++ but friend tell me how to do it.
User avatar
deen
TECHNICAL Team
Posts: 3576
Joined: Mon May 05, 2014 2:30 pm
Player profile: https://ddnet.org/players/deen/
Discord: deen#5910

Re: DDrace Network Adding Commands

Post by deen »

It's going to be really hard without programming knowledge. Did you even compile the source code into a new binary?
Post Reply

Who is online

Users browsing this forum: No registered users and 6 guests