Announcements
Recuerda que puedes ser parte de los staff de la comunidad PortalGS quieres saber mas mira este enlace Postulaciones
 

[Comando] Para Enviar Coins.

Ver el tema anterior Ver el tema siguiente Ir abajo

avatar
Toxic
Nuevo Miembro
Nuevo Miembro
Post 1
Puntos GS 3
Reputación 0
Registrado 06/03/2015
Ver perfil de usuario

MensajeToxic el Vie Mar 06, 2015 5:48 pm

[size=14]Primero que nada, necesitamos un stored procedure que me envíe los coins.[/size]





Codigo: escribió:
[ltr]CREATE PROC [dbo].[spUpdateCoins]
@AID int,
@Coins int
AS
SET NOCOUNT ON

UPDATE Account SET Coins = Coins+(@Coins)
WHERE AID = @AID
[/ltr]

Ahora lo fastidioso, trabajar con el source.

ZChat_Cmds.cpp


Busquen: escribió:
Código:

[ltr]void ChatCmd_RemoveJjang(const char* line, const int argc, char **const argv);[/ltr]


Agreguen de bajo escribió:Código:

[ltr]void ChatCmd_GiveCoins(const char* line, const int argc, char** const argv);[/ltr]

Busquen: escribió:Código:

[ltr]_CC_AC("admin_commander",[/ltr]




Agreguen de bajo escribió:
Código:

[ltr]_CC_AC("give_coins", &ChatCmd_GiveCoins, CCF_ADMIN|CCF_STAGE|CCF_GAME, ARGVNoMin, ARGVNoMax, true,"/give_coins", "");[/ltr]

MSharedCommandTable.h





Antes del escribió:
Código:

[ltr][Tienes que estar registrado y conectado para ver este vínculo][/ltr]





Agreguen escribió:Código:

[ltr][Tienes que estar registrado y conectado para ver este vínculo] MC_ADMIN_GIVE_COINS 50016[/ltr]




[size=14][size=10][size=14][size=10][size=14]Nota:
 50016 es el número que le sigue a la última definición del source que usé, en su caso, cámbienlo a lo que a ustedes les corresponda.[/size][/size][/size][/size][/size]




[size=14][size=10][size=14]MSharedCommandTable.cpp[/size][/size][/size]





Antes de escribió:Código:

[ltr]END_CMD_DESC();[/ltr]



Agregar escribió:Código:

[ltr]C(MC_ADMIN_GIVE_COINS, "Admin.Give.Coins", "Give coins to a player.", MCDT_MACHINE2MACHINE)
P(MPT_STR, "szPlayer")
P(MPT_INT, "nCoins")
[/ltr]




[size=14][size=10][size=14]ZCommandUDPHackShield.cpp
[/size][/size][/size]





Luego de ultimo escribió:Código:

[ltr]AddDeniedCommand()[/ltr]



Agregan escribió:Código:

[ltr]AddDeniedCommand(MC_ADMIN_GIVE_COINS);[/ltr]

[size=14][size=10][size=14]
ZPost.h
[/size][/size][/size]





Antes del escribió:Código:

[ltr][Tienes que estar registrado y conectado para ver este vínculo][/ltr]





Agregar escribió:Código:

[ltr]inline void ZPostGiveCoins(char* pszTargetName, const int nCoins)
{
ZPOSTCMD2(MC_ADMIN_GIVE_COINS, MCmdParamStr(pszTargetName), MCmdParamInt(nCoins));
}
[/ltr]

[size=14][size=10][size=14]
[size=10][size=14]ZChat_Cmds.cpp
[/size][/size][/size][/size][/size]





Al final de todo agregan escribió:Código:

[ltr]void ChatCmd_GiveCoins(const char* line, const int argc, char** const argv)
{
if(!ZGetMyInfo()->IsAdminGrade())
{
return;
}

if(argc < 2)
{
OutputCmdWrongArgument(argv[0]);
return;
}

if(strlen(argv[1]) > 20)
{
ZChatOutput("El nombre de usuario debe de 20 caracteres o menos.");
return;
}

char szPlayerName[20];
strcpy(szPlayerName, argv[1]);

int nCoins = atoi(argv[2]);

ZPostGiveCoins(szPlayerName, nCoins);
}
[/ltr]

[size=14][size=10][size=14]
MMatchDBMgr.h
[/size][/size][/size]





Antes del escribió:Código:

[ltr][Tienes que estar registrado y conectado para ver este vínculo][/ltr]





Agregar escribió:Código:

[ltr]bool AdminGiveCoins(const int nAID, const int nCoins);[/ltr]

[size=14][size=10][size=14]
MMatchDBMgr.cpp
[/size][/size][/size]



Arriba de escribió:Código:

[ltr]MMatchDBMgr::MMatchDBMgr()[/ltr]


agregan escribió:Código:

[ltr]TCHAR g_szDB_GIVE_COINS[] = _T("{CALL spUpdateCoins (%d , %d)}");[/ltr]


Al final del documento, agregar: escribió:Código:

[ltr]bool MMatchDBMgr::AdminGiveCoins(const int nAID, const int nCoins)
{
_STATUS_DB_START;
if (!CheckOpen()) return false;

CString strSQL;

try {
strSQL.Format(g_szDB_GIVE_COINS, nAID, nCoins);
m_DB.ExecuteSQL(strSQL);
}
catch(CDBException* e){
ExceptionHandler(strSQL, e);
return false;
}

_STATUS_DB_END(48);
return true;
}
[/ltr]
[size=14][size=10][size=14]
MMatchServer.h
[/size][/size][/size]





Buscar escribió:Código:

[ltr]void OnAsyncRequest_UpdateCharBRInfo[/ltr]




Agregar debajo escribió:Código:

[ltr]protected:
void OnAdminGiveCoins(const MUID& uidAdmin, const char* szPlayerName, const int nCoins);
[/ltr]
[size=14][size=10][size=14]
MMatchServer_Admin.cpp
[/size][/size][/size]





Al final del documento, agregar: escribió:Código:

[ltr]void MMatchServer::OnAdminGiveCoins(const MUID& uidAdmin, const char* szPlayerName, const int nCoins)
{
char szMsg[256] = {0};
MMatchObject* pObject = GetObject(uidAdmin);

if(pObject)
{
if(IsAdminGrade(pObject))
{
MMatchObject* pTarget = GetPlayerByName(szPlayerName);

if(pTarget)
{
unsigned long nAID = 0;

nAID = pTarget->GetAccountInfo()->m_nAID;

if(m_MatchDBMgr.AdminGiveCoins(nAID, nCoins))
{
MCommand* pCmd = CreateCommand(MC_ADMIN_GIVE_COINS, pObject->GetUID());
pCmd->AddParameter(new MCmdParamStr(szPlayerName));
pCmd->AddParameter(new MCmdParamInt(nCoins));
RouteToListener(pObject, pCmd);

sprintf(szMsg, "Has enviado %i coins.", nCoins);
Announce(pObject, szMsg);

sprintf(szMsg, "Has recibido %i coins!", nCoins);
Announce(pTarget, szMsg);

FILE *f = fopen("CoinsLog.txt", "a+");
fprintf(f, "%i Coins fueron enviadas por %s(AID: %i) en %s a las %s a %s(AID: %i).", nCoins, pObject->GetAccountInfo()->m_szUserID, pObject->GetAccountInfo()->m_nAID, __DATE__, __TIME__, pTarget->GetAccountInfo()->m_szUserID, pTarget->GetAccountInfo()->m_nAID);
fclose(f);
}
}
}
}
}
[/ltr]
[size=14][size=10][size=14]
MMatchServer_OnCommand.cpp
[/size][/size][/size]





Antes del escribió:Código:

[ltr]default:[/ltr]


Agregar escribió:Código:

[ltr]case MC_ADMIN_GIVE_COINS:
{
char szPlayerName[20] = {0};
int nCoins = 0;

pCommand->GetParameter(szPlayerName, 0, MPT_STR, 20);
pCommand->GetParameter(&nCoins, 1, MPT_INT);

OnAdminGiveCoins(pCommand->GetSenderUID(), szPlayerName, nCoins);
}
break;
[/ltr]
[size=14][size=10][size=14]
Screenshots:
[/size][/size][/size]




[size=14][size=10][size=14]

[/size][/size][/size]
[img][Tienes que estar registrado y conectado para ver este vínculo]
 se vale dar 1+rep
avatar
YeiserGS
Post 1540
Puntos GS 3902
Reputación 34
Registrado 13/06/2014
Ver perfil de usuario http://portalgs.foro-activo.es

MensajeYeiserGS el Vie Mar 06, 2015 8:12 pm

Deberias Editar Mejor el Tema.. ya que tiene muchos bbcode abiertos






Intro De Nuestro Canal Recuerda Seguirnos Para Seguir Creciendo

[Tienes que estar registrado y conectado para ver este vínculo]

[Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver este vínculo]
avatar
Carlos
-Administrador-
-Administrador-
Post 6
Puntos GS 15
Reputación 3
Registrado 15/06/2014
Ver perfil de usuario

MensajeCarlos el Vie Mar 06, 2015 9:58 pm

cherry cherry cherry cherry cherry cherry
esta bueno el aporte pero arreglalo estas dejando errores






 lol!
Contenido patrocinado

MensajeContenido patrocinado

Ver el tema anterior Ver el tema siguiente Volver arriba

Regístrate o conéctate para responder

Necesitas ser un usuario registrado para poder responder.

Crear una cuenta.

Únete a nuestra comunidad creando una nueva cuenta. ¡Es fácil!


Crear una nueva cuenta

Conectarse

¿Ya tienes una cuenta? No hay problema, conéctate aquí.


Conectarse

 
Permisos de este foro:
No puedes responder a temas en este foro.