Codigo Full:
+ = Agregar Linea
- = Eliminar Linea
CommandManager.h
-#define MAX_COMMAND 31
+#define MAX_COMMAND 32
COMMAND_CUSTOM_ATTACK_OFFLINE = 31,
+ COMMAND_CLEAR_INV = 32,
commandmanager.cpp
this->Add(gCustomAttack.m_CustomAttackOfflineCommandSyntax,COMMAND_CUSTOM_ATTACK_OFFLINE);
+ this->Add(gMessage.GetMessage(59),COMMAND_CLEAR_INV);
case COMMAND_CUSTOM_ATTACK_OFFLINE:
gCustomAttack.CommandCustomAttackOffline(lpObj,argument);
break;
+ case COMMAND_CLEAR_INV:
+ this->CommandClearInv(lpObj,argument);
+ break;
default:
return 0;
Al Final Agregar lo Siguiente:
void CCommandManager::CommandClearInv(LPOBJ lpObj,char* arg) // OK
{
if(gServerInfo.m_CommandClearInvSwitch == 0)
{
return;
}
if(lpObj->Money < ((DWORD)gServerInfo.m_CommandClearInvZen[lpObj->AccountLevel]))
{
gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(492),gServerInfo.m_CommandClearInvZen[lpObj->AccountLevel]);
return;
}
lpObj->Money -= gServerInfo.m_CommandClearInvZen[lpObj->AccountLevel];
GCMoneySend(lpObj->Index,lpObj->Money);
int MaxValue = gItemManager.GetInventoryMaxValue(lpObj);
for (int i = INVENTORY_WEAR_SIZE; i < MaxValue; i++)
{
gItemManager.InventoryDelItem(lpObj->Index,i);
gItemManager.GCItemDeleteSend(lpObj->Index,i,1);
}
gNotice.GCNoticeSend(lpObj->Index,1,0,0,0,0,0,gMessage.GetMessage(493));
gLog.Output(LOG_COMMAND,"[Command Clear Iventory] Use for:[%s][%s]",lpObj->Account,lpObj->Name);
}
serverinfo.h
int m_CommandHideGameMasterLevel;
+ int m_CommandClearInvSwitch;
+ int m_CommandClearInvZen[MAX_ACCOUNT_LEVEL];
ServerInfo.cpp
this->m_CommandHideGameMasterLevel = GetPrivateProfileInt(section,"CommandHideGameMasterLevel",0,path);
+ this->m_CommandClearInvSwitch = GetPrivateProfileInt(section,"CommandClearInvSwitch",0,path);
+ this->m_CommandClearInvZen[0] = GetPrivateProfileInt(section,"CommandClearInvMoney_AL0",0,path);
+ this->m_CommandClearInvZen[1] = GetPrivateProfileInt(section,"CommandClearInvMoney_AL1",0,path);
+ this->m_CommandClearInvZen[2] = GetPrivateProfileInt(section,"CommandClearInvMoney_AL2",0,path);
+ this->m_CommandClearInvZen[3] = GetPrivateProfileInt(section,"CommandClearInvMoney_AL3",0,path);
+ this->m_CommandClearInvZen[4] = GetPrivateProfileInt(section,"CommandClearInvMoney_AL4",0,path);
}
Messager.txt
57 "/re"
58 "/hide"
+ 59 "/clearinv"
491 "%s won %d Jewel of Bless"
+ 492 "You must have at least %d Zen to use this command"
+ 493 "Inventory Cleaned Successfully"
end
GameServerInfo - Command.dat
;==================================================
; Hide Command Settings
;==================================================
CommandHideSwitch = 1
CommandHideGameMasterLevel = 0
+ ;==================================================
+ ; Inv Clear Command Settings
+ ;==================================================
+ CommandClearInvSwitch = 1
+ CommandClearInvMoney_AL0 = 1000000
+ CommandClearInvMoney_AL1 = 1000000
+ CommandClearInvMoney_AL2 = 1000000
+ CommandClearInvMoney_AL3 = 1000000
+ CommandClearInvMoney_AL4 = 1000000