Re: How To make a command that changes an aponennt hp and ap.
Quote:
Originally Posted by
Wish Q
so this is also not save?
Not what
Re: How To make a command that changes an aponennt hp and ap.
Quote:
Originally Posted by
Vusion
Lines will be way off.
ZChat_Cmds.cpp, 85
Code:
void ChatCmd_AdminSetHP(const char* line, const int argc, char **const argv);
ZChat_Cmds.cpp, 190
Code:
_CC_AC("sethp", &ChatCmd_AdminSetHP, CCF_ADMIN, ARGVNoMin, 2 , true,"/sethp <name> <value>", "");
ZChat_Cmds.cpp, 1326
Code:
void ChatCmd_AdminSetHP(const char* line, const int argc, char **const argv)
{
if (argc < 3)
{
ZChatOutput("Use: /sethp <name> <value>.", ZChat::CMT_SYSTEM);
return;
}
ZPOSTCMD3(MC_MATCH_SET_HP, MCmdParamStr(ZGetMyInfo()->GetCharName()), MCmdParamStr(argv[1]), MCmdParamInt(atoi(argv[2])));
}
ZGameClient_OnCommand.cpp, 800
Code:
case MC_MATCH_SET_HP:
{
if(!ZGetGame())
return false;
char szSenderName[128]="";
char szTargetName[128]="";
int nHP = 0;
pCommand->GetParameter(szSenderName, 0, MPT_STR, sizeof(szSenderName) );
pCommand->GetParameter(szTargetName, 1, MPT_STR, sizeof(szTargetName) );
pCommand->GetParameter(&nHP, 2, MPT_INT, sizeof(nHP) );
OnSetHP(szSenderName, nHP);
}
break;
MSharedCommandTable.cpp, 1685
Code:
C(MC_MATCH_SET_HP, "Match.Set.HP", "Admin SET HP", MCDT_MACHINE2MACHINE)
P(MPT_STR, "SenderName")
P(MPT_STR, "TargetName")
P(MPT_INT, "Value")
MSharedCommandTable.h, 674
Code:
#define MC_MATCH_SET_HP 50014 // Use the last number you have and add one to it.
MMatchServer_OnCommand.cpp, 1010
Code:
case MC_MATCH_SET_HP:
{
char szSenderName[ MAX_CHARNAME_LENGTH ]="";
char szTargetName[ MAX_CHARNAME_LENGTH ]="";
int nHP = 0;
if (pCommand->GetParameter(szSenderName, 0, MPT_STR, MAX_CHARNAME_LENGTH ) == false) break;
if (pCommand->GetParameter(szTargetName, 1, MPT_STR, MAX_CHARNAME_LENGTH ) == false) break;
pCommand->GetParameter(&nHP, 2, MPT_INT);
OnSetHP(szSenderName, szTargetName, nHP);
}
break;
MMatchServer.cpp, 2126
Code:
void MMatchServer::OnSetHP(char* pszSenderName, char* pszTargetName, int nHP)
{
MMatchObject* pObj = GetPlayerByName(pszSenderName);
if (pObj == NULL)
return;
if(!IsAdminGrade(pObj))
return;
MMatchObject* pTargetObj = GetPlayerByName(pszTargetName);
if (pTargetObj == NULL)
{
NotifyMessage(pObj->GetUID(), MATCHNOTIFY_GENERAL_USER_NOTFOUND);
return;
}
MCommand* pCmd = CreateCommand(MC_MATCH_SET_HP, MUID(0,0));
pCmd->AddParameter(new MCmdParamStr(pObj->GetName()));
pCmd->AddParameter(new MCmdParamStr(pszTargetName));
pCmd->AddParameter(new MCmdParamInt(nHP));
RouteToListener(pTargetObj, pCmd);
}
MMatchServer.h, 397
Code:
void OnSetHP(char* pszSenderName, char* pszTargetName, int nHP);
ZGameClient.cpp, 1996
Code:
void ZGameClient::OnSetHP(char* pszSenderName, int nHP)
{
if((float)nHP > ZGetGame()->m_pMyCharacter->GetMaxHP())
return;
ZGetGame()->m_pMyCharacter->SetHP(nHP);
}
ZGameClient.h, 164
Code:
void OnSetHP(char* pszSenderName, int nHP);
Hey, i used it and in game the command works, but when i use it automaticlly kills the the player, if you need me to post anything tell me, but i simply copied and pasted so i dont think there is anything wrong in the code what do you think it can be ?