[C++] Anti-Push bot
Miér Mayo 16, 2012 10:02 pm
- Código:
Esto Fue Hecho 100% Por Xampy De Otland.net
Estoy haciendo esto en una solicitud de kito2 Funciona con TFS 0.4.| No se ha probado con TFS 0.3.x ni 0.2.X!
¿Que Es Esto?
Detecta si se está moviendo un objeto / objeto con un identificador que se encuentra en config.lua (configurable), entonces se añade un agotamiento de los X ms
(configurable). Si intenta mover un "anti-push item" (sé cómo llamarlo), entonces se dirá un mensaje de error si está agotado. Básicamente lo que hace es hacer que no funciona Anti-Push característica de bot.
Se ha añadido por defecto los siguientes items:
- 2148 (Gold Coin)
- 2152 (Platinum Coin)
- 2160 (Crystal Coin)
- 3976 (Worms)
Seguramente nadie va a tirar monedas de cristal, mientras que el empuje anti-está trabajando, pero se ha añadido por defecto, puede eliminarlo si lo desea, o añadir otros elementos, como usted prefiera.
Ok Empezemos:
Vamos a la linea 1440~ de game.cpp y remplaza esto:
- Código:
ReturnValue ret = internalMoveItem(player, fromCylinder, toCylinder, toIndex, item, count, NULL);
if(ret == RET_NOERROR)
return true;
player->sendCancelMessage(ret);
return false;
- Código:
// Anti-Push feature Prevention System by Xampy //
if(g_config.getBool(ConfigManager::ANTI_PUSH))
{
int16_t indexItem = toIndex;
std::string antiPushItems = g_config.getString(ConfigManager::ANTI_PUSH_ITEMS);
if(antiPushItems.size())
{
IntegerVec tmpVec = vectorAtoi(explodeString(antiPushItems, ","));
if(tmpVec[0] != 0)
{
int i;
int arraySize = tmpVec.size();
i = 0;
for(IntegerVec::iterator it = tmpVec.begin(); it != tmpVec.end(); ++it)
{
i++;
if(item->getID() == uint32_t(*it) && indexItem < 1 && mapFromPos == mapToPos)
{
if(player->hasCondition(CONDITION_EXHAUST, EXHAUST_MOVE_ITEMS))
{
player->sendTextMessage(MSG_INFO_DESCR, "You cannot move this object.\nAnti-Push prevention.");
return false;
}
else
{
ReturnValue ret = internalMoveItem(player, fromCylinder, toCylinder, toIndex, item, count, NULL);
if(ret == RET_NOERROR)
{
int32_t ticks = g_config.getNumber(ConfigManager::ANTI_PUSH_DELAY);
player->addExhaust(ticks, EXHAUST_MOVE_ITEMS);
return true;
}
player->sendCancelMessage(ret);
return false;
}
}
else
{
if(arraySize == i)
{
ReturnValue ret = internalMoveItem(player, fromCylinder, toCylinder, toIndex, item, count, NULL);
if(ret == RET_NOERROR)
return true;
player->sendCancelMessage(ret);
return false;
}
}
}
}
}
}
else
{
ReturnValue ret = internalMoveItem(player, fromCylinder, toCylinder, toIndex, item, count, NULL);
if(ret == RET_NOERROR)
return true;
player->sendCancelMessage(ret);
return false;
}
return false;
// Anti-Push feature Prevention System by Xampy //
- Código:
enum Exhaust_t
{
EXHAUST_COMBAT = 1,
EXHAUST_HEALING = 2
};
- Código:
enum Exhaust_t
{
EXHAUST_COMBAT = 1,
EXHAUST_HEALING = 2,
EXHAUST_MOVE_ITEMS = 3
};
- Código:
m_confBool[ADDONS_PREMIUM] = getGlobalBool("addonsOnlyPremium", true);
- Código:
m_confBool[ANTI_PUSH] = getGlobalBool("useAntiPush", true);
m_confNumber[ANTI_PUSH_DELAY] = getGlobalNumber("antiPushDelay", 3000);
m_confString[ANTI_PUSH_ITEMS] = getGlobalString("antiPushItems", "");
- Código:
ADDONS_PREMIUM,
- Código:
ANTI_PUSH,
- Código:
STAMINA_DESTROY_LOOT,
- Código:
ANTI_PUSH_DELAY,
- Código:
ADMIN_ENCRYPTION_DATA,
- Código:
ANTI_PUSH_ITEMS,
Ahora Copilen Su Server (; y pegamos esto en config.lua
- Código:
-- Anti-Push Prevention System by Xampy
useAntiPush = true --// enabled = true or disabled = false
antiPushDelay = 3000 --// default is 3000 (3 seconds)
antiPushItems = "2148,2152,2160,3976" --// add as much items as you want separated by comma
Este sistema está activado por defecto con 3000 ms de agotamiento.
Se ha probado, y no se han encontrado errores. Si usted piensa que algo no está funcionando correctamente, pida ayuda en este tema.
Creditos;
- Código:
- Xampy
- 3lite
- MasakreMiembro
- Mensajes : 36
Re: [C++] Anti-Push bot
Dom Ago 05, 2012 9:35 pm
Muy interesante.
Una pregunta . . .
¿LUA es sólo usado para servidores Open Tibia? ¿Qué otras utilidades tiene?
Una pregunta . . .
¿LUA es sólo usado para servidores Open Tibia? ¿Qué otras utilidades tiene?
Permisos de este foro:
No puedes responder a temas en este foro.