[CODE] Afk Checker
2 participantes
Página 1 de 1.
[CODE] Afk Checker
Hola les presento este código que hiso Snoopy y su función es la siguiente:
Este code checkea si un jugador no se mueve después de un determinado tiempo en este caso 5 minutos (Puede ser cambiado) y arriba del personaje aparecera unas letras ZzZzZ que siempre existieron en el mundo de Helbreath pero nunca fueron usadas. Espero que les ggste el code:
HGServer[SRC]
Abrimos el Game.cpp y agregamos al final este codigo:
En el Game.h buscamos "public:" sin las barritas y abajo agregamos:
Abajo de lo que hemos buscando agregamos:
Buscamos:
Y arriba agregamos:
Después buscamos:
y abajo agregamos:
buscamos:
y abajo agregamos:
AFKChecker();
despues buscamos:
void CGame::ClientMotionHandler(
en la funcion agregamos:
buscamos:
en la funcion agregamos:
buscamos:
void CGame::RequestTeleportHandler(
y en la funcion agregamos:
Buscamos este pequeño código BOOL:
Y abajo agregamos:
AHORA CLIENTE
Abrimos el Game.cpp y buscamos:
Como paso final buscamos esto:
Y listo!
Este code checkea si un jugador no se mueve después de un determinado tiempo en este caso 5 minutos (Puede ser cambiado) y arriba del personaje aparecera unas letras ZzZzZ que siempre existieron en el mundo de Helbreath pero nunca fueron usadas. Espero que les ggste el code:
HGServer[SRC]
Abrimos el Game.cpp y agregamos al final este codigo:
- Código:
void CGame::AFKChecker()
{ register int i;
int sX, sY;
DWORD dwTimeNow = timeGetTime();
for (i = 1; i < DEF_MAXCLIENTS; i++)
{ if (m_pClientList[i] != NULL)
{ if ( (m_pClientList[i]->m_bIsInitComplete == TRUE)
&& ((dwTimeNow - m_pClientList[i]->m_dwAFKCheckTime) > DEF_AFKTIME)
&& (m_pClientList[i]->m_iHP > 0)
&& ((m_pClientList[i]->m_iStatus & 0x00000010) == 0)
&& (iDice(1,5) == 3))
{ sX = m_pClientList[i]->m_sX;
if (m_pClientList[i]->m_bSkillUsingStatus[19] == TRUE)
sY = m_pClientList[i]->m_sY +1;
else sY = m_pClientList[i]->m_sY;
SendEventToNearClient_TypeB(MSGID_EVENT_COMMON, DEF_COMMONTYPE_MAGIC, m_pClientList[i]->m_cMapIndex
, sX, sY, sX, sY, 247, m_pClientList[i]->m_sType);
} } }
}
En el Game.h buscamos "public:" sin las barritas y abajo agregamos:
- Código:
void AFKChecker();
- Código:
#define DEF_AUTOSAVETIME 600000
Abajo de lo que hemos buscando agregamos:
- Código:
#define DEF_AFKTIME 300000 // Five MinutesEn el Client.cpp
Buscamos:
- Código:
m_bIsPoisoned = FALSE;
Y arriba agregamos:
- Código:
m_dwAFKCheckTime = NULL;
Después buscamos:
- Código:
m_dwLogoutHackCheck = 0;
y abajo agregamos:
- Código:
m_dwAFKCheckTime = 0;
buscamos:
- Código:
m_dwFishTime = dwTime;
y abajo agregamos:
AFKChecker();
despues buscamos:
void CGame::ClientMotionHandler(
en la funcion agregamos:
- Código:
m_pClientList[iClientH]->m_dwLastActionTime = m_pClientList[iClientH]->m_dwAFKCheckTime = timeGetTime();
buscamos:
- Código:
if (m_iTotalClients > DEF_MAXONESERVERUSERS) {
switch (iDice(1,2)) {
case 1:
RequestTeleportHandler(iClientH, "2 ", "bisle", -1, -1);
break;
case 2:
switch (m_pClientList[iClientH]->m_cSide) {
case 0: RequestTeleportHandler(iClientH, "2 ", "resurr1", -1, -1); break;
case 1: RequestTeleportHandler(iClientH, "2 ", "resurr1", -1, -1); break;
case 2: RequestTeleportHandler(iClientH, "2 ", "resurr2", -1, -1); break;
}
break;
- Código:
m_pClientList[iClientH]->m_dwLastActionTime = m_pClientList[iClientH]->m_dwAFKCheckTime = timeGetTime();buscamos:
void CGame::ChatMsgHandler(en la funcion agregamos:
m_pClientList[iClientH]->m_dwAFKCheckTime = timeGetTime();buscamos:
void CGame::PlayerMagicHandler(
en la funcion agregamos:
- Código:
m_pClientList[iClientH]->m_dwLastActionTime = m_pClientList[iClientH]->m_dwAFKCheckTime = timeGetTime();
buscamos:
void CGame::RequestTeleportHandler(
y en la funcion agregamos:
- Código:
m_pClientList[iClientH]->m_dwLastActionTime = m_pClientList[iClientH]->m_dwAFKCheckTime = timeGetTime();
Buscamos este pequeño código BOOL:
- Código:
BOOL bCreateNewParty();
Y abajo agregamos:
- Código:
DWORD m_dwAFKCheckTime;
AHORA CLIENTE
Abrimos el Game.cpp y buscamos:
- Código:
case 206: //
m_pEffectList[i]->m_mX = sX;
m_pEffectList[i]->m_mY = sY;
m_pEffectList[i]->m_cMaxFrame = 3;
m_pEffectList[i]->m_dwFrameTime = 70;
break;Abajo del break;
- Código:
case 247: // AFKChecker
m_pEffectList[i]->m_mX = sX*32;
m_pEffectList[i]->m_mY = sY*32;
m_pEffectList[i]->m_cMaxFrame = 17;
m_pEffectList[i]->m_dwFrameTime = 200;
m_pEffectList[i]->m_mX3 = sDist;
m_pEffectList[i]->m_mY3 = -(((m_sViewPointX / 32) + 10) - dX)*1000;
m_pEffectList[i]->m_iV1 = rand()%35;
m_pEffectList[i]->m_cFrame = - rand() %12;
break;
- Código:
case 206: // steams
dX = m_pEffectList[i]->m_mX;
dY = m_pEffectList[i]->m_mY;
m_pEffectSpr[139]->PutTransSprite_NoColorKey(dX, dY, (rand() %20), dwTime);
break;
- Código:
case 247: // AFKChecker
dX = (m_pEffectList[i]->m_mX) - m_sViewPointX;
dY = (m_pEffectList[i]->m_mY) - m_sViewPointY;
m_pEffectSpr[85]->PutTransSprite_NoColorKey(dX+50, dY+30, m_pEffectList[i]->m_cFrame, dwTime);
break;
Como paso final buscamos esto:
- Código:
case 183: // Inhibition-Casting
cTempFrame = m_pEffectList[i]->m_cFrame;
dX = (m_pEffectList[i]->m_dX*32) - m_sViewPointX;
dY = (m_pEffectList[i]->m_dY*32) - m_sViewPointY;
m_pEffectSpr[95]->PutTransSprite_NoColorKey(dX, dY+40, cTempFrame, dwTime);
break;
- Código:
case 247: // AFKChecker
if (m_pEffectList[i]->m_cFrame >= m_pEffectList[i]->m_cMaxFrame)
{ delete m_pEffectList[i];
m_pEffectList[i] = NULL;
}else if (m_pEffectList[i]->m_iV1 == m_pEffectList[i]->m_cFrame)
{ PlaySound('M', 45, m_pEffectList[i]->m_mX3, m_pEffectList[i]->m_mY3 );
}
break;
Y listo!
Re: [CODE] Afk Checker
malisima la Explicacion !
Akilez2012- Leecher
- Mensajes : 1
Reputacion : 0
Fecha de inscripción : 28/03/2012
Temas similares
» [CODE] MP,HP,SP, EN COLORES
» [CODE] Apocalypse
» [CODE] Necklace Of Fury - Hit x8
» [CODE] Habilitar F1 Para binds
» [CODE] Admin Onlines By Acidx
» [CODE] Apocalypse
» [CODE] Necklace Of Fury - Hit x8
» [CODE] Habilitar F1 Para binds
» [CODE] Admin Onlines By Acidx
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.
|
|