Most visitors online was 12720 , on 2 May 2024
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature currently requires accessing the site using the built-in Safari browser.
gCustomItem.Load(gProtect.m_MainInfo.CustomItemInfo);
gCustomWingEffect.Load(gProtect.m_MainInfo.CustomWingEffectInfo);
gPacketManager.LoadEncryptionKey("Data\\Enc1.dat");
gPacketManager.LoadDecryptionKey("Data\\Dec2.dat");
InitCommon();
[COLOR=#008000]//InitHackCheck();[/COLOR]
InitItem();
InitJewel();
InitPrintPlayer();
InitReconnect();
InitResolution();
InitWing();
#define ENCRYPT_STATE 0 [COLOR=#008000]// Change 1 by 0[/COLOR]
[COLOR=#000000]#define PROTECT_STATE 0 [/COLOR][COLOR=#008000]// Change 1 by 0[/COLOR]
wsprintf(buff,"[%s] JoinServer (QueueSize : %d) (AccountCount : %d/%d)",JOINSERVER_VERSION,gSocketManager.GetQueueSize(),
gAccountManager.GetAccountCount(),
#if PROTECT_STATE
gJoinServerMaxAccount[gProtect.m_AuthInfo.PackageType][gProtect.m_AuthInfo.PlanType]
#else
MAX_ACCOUNT
#endif
);
if(gAccountManager.GetAccountCount() >=
#if PROTECT_STATE
gJoinServerMaxAccount[gProtect.m_AuthInfo.PackageType][gProtect.m_AuthInfo.PlanType]
#else
MAX_ACCOUNT
#endif
)
#define MAX_CHARACTER_LEVEL 400 [COLOR=#008000] //<- Changed[/COLOR]
S4/S6/S8
Good Source, to experience things
how to change background color???
this->m_brush[0] = CreateSolidBrush(RGB(105,105,105));
this->m_brush[1] = CreateSolidBrush(RGB(110,240,120));
and how to fixCode:this->m_brush[0] = CreateSolidBrush(RGB(105,105,105)); this->m_brush[1] = CreateSolidBrush(RGB(110,240,120));
Fix error ok but if fix will don't work all skill of all characterI leave some fix for various errors
Error [ObjectManager] DelAcc
They have to modify the main.cpp to create a bypass
Code:gCustomItem.Load(gProtect.m_MainInfo.CustomItemInfo); gCustomWingEffect.Load(gProtect.m_MainInfo.CustomWingEffectInfo); gPacketManager.LoadEncryptionKey("Data\\Enc1.dat"); gPacketManager.LoadDecryptionKey("Data\\Dec2.dat"); InitCommon(); [COLOR=#008000]//InitHackCheck();[/COLOR] InitItem(); InitJewel(); InitPrintPlayer(); InitReconnect(); InitResolution(); InitWing();
and the GS
Code:#define ENCRYPT_STATE 0 [COLOR=#008000]// Change 1 by 0[/COLOR]
memcpy(lpObj->Name,lpInfo->Name,sizeof(lpObj->Name));
lpObj->Level = lpInfo->Level;
lpObj->PhysiSpeed = lpInfo->AttackSpeed;
lpObj->PhysiDamageMin = lpInfo->DamageMin;
lpObj->PhysiDamageMax = lpInfo->DamageMax;
lpObj->Defense = lpInfo->Defense;
lpObj->MagicDefense = lpInfo->MagicDefense;
lpObj->AttackSuccessRate = lpInfo->AttackRate;
lpObj->DefenseSuccessRate = lpInfo->DefenseRate;
lpObj->Life = (float)lpInfo->Life;
lpObj->MaxLife = (float)lpInfo->Life;
lpObj->Mana = (float)lpInfo->Mana;
lpObj->MaxMana = (float)lpInfo->Mana;
lpObj->MoveRange = lpInfo->MoveRange;
lpObj->MoveSpeed = lpInfo->MoveSpeed;
lpObj->MaxRegenTime = lpInfo->RegenTime*1000;
lpObj->AttackRange = lpInfo->AttackRange;
lpObj->ViewRange = lpInfo->ViewRange;
lpObj->Attribute = lpInfo->Attribute;
lpObj->AttackType = lpInfo->AttackType;
lpObj->ItemRate = lpInfo->ItemRate;
lpObj->MoneyRate = lpInfo->MoneyRate;
lpObj->Resistance[0] = ((lpInfo->Resistance[0]>255)?255:lpInfo->Resistance[0]);
lpObj->Resistance[1] = ((lpInfo->Resistance[0]>255)?255:lpInfo->Resistance[1]);
lpObj->Resistance[2] = ((lpInfo->Resistance[0]>255)?255:lpInfo->Resistance[2]);
lpObj->Resistance[3] = ((lpInfo->Resistance[0]>255)?255:lpInfo->Resistance[3]);
lpObj->Resistance[4] = ((lpInfo->Resistance[0]>255)?255:lpInfo->Resistance[4]);
lpObj->Resistance[5] = ((lpInfo->Resistance[0]>255)?255:lpInfo->Resistance[5]);
lpObj->Resistance[6] = ((lpInfo->Resistance[0]>255)?255:lpInfo->Resistance[6]);
lpObj->ScriptMaxLife = (float)lpInfo->ScriptLife;
lpObj->BasicAI = lpInfo->AINumber;
lpObj->CurrentAI = lpInfo->AINumber;
lpObj->CurrentAIState = 0;
lpObj->LastAIRunTime = 0;
lpObj->GroupNumber = 0;
lpObj->SubGroupNumber = 0;
lpObj->GroupMemberGuid = -1;
lpObj->RegenType = 0;
lpObj->Agro.ResetAll();
#if(GAMESERVER_UPDATE>=701)
lpObj->ElementalAttribute = ((lpInfo->ElementalAttribute==6)?((GetLargeRand()%5)+1):lpInfo->ElementalAttribute);
lpObj->ElementalPattern = lpInfo->ElementalPattern;
lpObj->ElementalDefense = lpInfo->ElementalDefense;
lpObj->ElementalDamageMin = lpInfo->ElementalDamageMin;
lpObj->ElementalDamageMax = lpInfo->ElementalDamageMax;
lpObj->ElementalAttackSuccessRate = lpInfo->ElementalAttackRate;
lpObj->ElementalDefenseSuccessRate = lpInfo->ElementalDefenseRate;
#endif
Some one know how can i set sd make it low? In photo its 17k i want it to kake 10k or else
;==================================================
; Character SD Recovery Settings
;==================================================
DWSDRecoveryRate = 4
DKSDRecoveryRate = 4
FESDRecoveryRate = 4
MGSDRecoveryRate = 4
DLSDRecoveryRate = 4
SUSDRecoveryRate = 4
RFSDRecoveryRate = 4
if(((lpObj->SDRecoveryCount++)%5) == 0)
{
if(lpObj->Shield != (lpObj->MaxShield+lpObj->AddShield))
{
if(lpObj->SDRecoveryType != 0 || gMap[lpObj->Map].CheckAttr(lpObj->X,lpObj->Y,1) != 0)
{
int rate = gServerInfo.m_SDRecoveryRate[lpObj->Class];
rate += (((GetTickCount()-lpObj->SDAutoRecuperationTime)>5000)?5:0);
rate += lpObj->SDRecoveryRate;
rate += lpObj->EffectOption.AddSDRecoveryRate;
int value = (int)(((lpObj->MaxShield+lpObj->AddShield)*rate)/100);
value += lpObj->SDRecovery;
value += lpObj->EffectOption.AddSDRecovery;
if((lpObj->Shield+value) > (lpObj->MaxShield+lpObj->AddShield))
{
lpObj->Shield = lpObj->MaxShield+lpObj->AddShield;
}
else
{
lpObj->Shield += value;
}
SDChange = 1;
}
}
}
;==================================================
; Level Up Settings
;==================================================
MaxLevelUp = 1
MaxLevelUpEvent = 1
MaxLevelUpQuest = 1
MaxStatPoint_AL0 = 65000
MaxStatPoint_AL1 = 65000
MaxStatPoint_AL2 = 65000
MaxStatPoint_AL3 = 65000
DWLevelUpPoint = 5
DKLevelUpPoint = 5
FELevelUpPoint = 5
MGLevelUpPoint = 7
DLLevelUpPoint = 7
SULevelUpPoint = 5
RFLevelUpPoint = 7
PlusStatPoint = 5
so you want to add something that already?
[alter table [Character] add [ExQuest_num] int not null default(0)
alter table [Character] add [ExQuest_kill] int not null default(0)
alter table [Character] add [ExQuest_start] int not null default(0)
alter table [Character] add [Ex_FreePoints] int not null default(0)
alter table [MEMB_INFO] add [CashPoint] int not null default(0)
struct Ex_User
{
//FreePoints
int Ex_FreePoints;
//Quest System
int ExQuest_num;
int ExQuest_kill;
int ExQuest_start;
//Time
int ExTimeTick;
//Reset
int Resets;
int GResets;
//Vip System
int VipStatus;
int VipTimeTick;
int VipTimeEnd;
};
extern Ex_User ExUser[OBJECT_MAX];
class Q_PGW
{
public:
void Q_Load();
void Q_Num();
void Q_CreateStruct(int aIndex);
void Q_NPC (int aIndex,int aNPC);
void KilledMob(int aIndex);
bool Presents(int aIndex,int Present,int Gifts);
bool IsBadFileLine(char *FileLine, int &Flag);
struct
{
int Mob;
int Coun;
int proc;
int rew;
int gift;
char msg[100];
char msg2[100];
} Number[1000];
int Count;
}; extern Q_PGW Qest_PGW;
#include "Quest_PGW.h"
#include "StdAfx.h"
#include "Experience.h"
#include "USER.h"
#include "Message.h"
#include "Defines.h"
#include "AddFunctions.h"
#include "ExCore.h"
#include "Logs.h"
Q_PGW Qest_PGW;
int EnableExQuest = GetPrivateProfileInt("Common","Enable",0,"..\\Settings\\ExQuest.ini");
bool Q_PGW::IsBadFileLine(char *FileLine, int &Flag)
{
if(Flag == 0)
{
if(isdigit(FileLine[0]))
{
Flag = FileLine[0] - 48;
return true;
}
}
else if(Flag < 0 || Flag > 9)
{
Flag = 0;
}
if(!strncmp(FileLine, "end", 3))
{
Flag = 0;
return true;
}
if(FileLine[0] == '/' || FileLine[0] == '\n')
return true;
for(UINT i = 0; i < strlen(FileLine); i++)
{
if(isalnum(FileLine[i]))
return false;
}
return true;
}
//====================================================
void Q_PGW::Q_Num()
{
for(int i(0);i<1000;i++)
{
Number[i].Mob = 0;
Number[i].Coun = 0;
Number[i].proc = 0;
Number[i].rew = 0;
Number[i].gift = 0;
Number[i].msg[0] = NULL;
Number[i].msg2[0] = NULL;
}
}
void Q_PGW::Q_Load()
{
if(!EnableExQuest)
return;
Q_Num();
FILE *file;
file = fopen("..\\Settings\\ExQuest.ini","r");
if(file == NULL)
{
MessageBoxA(0,"Settings\\ExQuest.ini Load Error","CRITICAL ERROR",0);
ExitProcess(1);
return;
}
char Buff[256];
int Flag = 0;
Count = 0;
while(!feof(file)) // Проверяем есть ли строка в документе
{
fgets(Buff,256,file);//Функция читает текущую строку
if(IsBadFileLine(Buff, Flag)) //Вспомогательная функция
continue;
if(Flag == 1)
{
int n[10];
char mes[100];
char mes2[100];
//gets(mes);
sscanf(Buff,"%d %d %d %d %d \"%[^\"]\" \"%[^\"]\"",&n[0],&n[1],&n[2],&n[3],&n[4],&mes,&mes2);
Number[Count].Mob = n[0];
Number[Count].Coun = n[1];
Number[Count].proc = n[2];
Number[Count].rew = n[3];
Number[Count].gift = n[4];
sprintf(Number[Count].msg,"%s",mes);
sprintf(Number[Count].msg2,"%s",mes2);
Count++;
}
}
fclose(file);
}
void Q_PGW::Q_CreateStruct(int aIndex)
{
if(!EnableExQuest)
return;
OBJECTSTRUCT * gObj = (OBJECTSTRUCT*)OBJECT_POINTER(aIndex); // int Q_PGW_num;
/* Путь великого воина #end */// int Ex_FreePoints;
/* Путь великого воина #kill */// int Q_PGW_kill;
/* Путь великого воина #start */// int Q_PGW_start;
if(!MySQL.Execute("SELECT ExQuest_num FROM Character WHERE Name='%s'",gObj->Name))
{
ErrorConnectDataBase(aIndex);
CriticalExError(aIndex);
return;
}
ExUser[aIndex].ExQuest_num = MySQL.GetInt();
//-------------------------------------------------------------------------
//if(!MySQL.Execute("SELECT ExQuest_kill FROM Character WHERE Name='%s'",gObj->Name))
//{
// ErrorConnectDataBase(aIndex);
// CriticalExError(aIndex);
// return;
//}
//ExUser[aIndex].ExQuest_kill = MySQL.GetInt();
ExUser[aIndex].ExQuest_kill = 0;
//-------------------------------------------------------------------------
if(!MySQL.Execute("SELECT ExQuest_start FROM Character WHERE Name='%s'",gObj->Name))
{
ErrorConnectDataBase(aIndex);
CriticalExError(aIndex);
return;
}
ExUser[aIndex].ExQuest_start = MySQL.GetInt();
//-------------------------------------------------------------------------
if(!MySQL.Execute("SELECT Ex_FreePoints FROM Character WHERE Name='%s'",gObj->Name))
{
ErrorConnectDataBase(aIndex);
CriticalExError(aIndex);
return;
}
ExUser[aIndex].Ex_FreePoints = MySQL.GetInt();
//-------------------------------------------------------------------------
Log.ExQuestLog("[Q_CreateStruct][%s]ExQuest_num: %d,ExQuest_kill: %d,ExQuest_start: %d,Ex_FreePoints: %d",gObj->Name,
ExUser[aIndex].ExQuest_num,ExUser[aIndex].ExQuest_kill,ExUser[aIndex].ExQuest_st
art,ExUser[aIndex].Ex_FreePoints);
}
void Q_PGW::Q_NPC (int aIndex,int aNPC)
{
if(!EnableExQuest)
return;
int ExQNPC = GetPrivateProfileInt("Common","NPC",0,"..\\Settings\\ExQuest.ini");
int ExQNPCM = GetPrivateProfileInt("Common","NPC_Map",0,"..\\Settings\\ExQuest.ini");
int ExQNPCX = GetPrivateProfileInt("Common","NPC_X",0,"..\\Settings\\ExQuest.ini");
int ExQNPCY = GetPrivateProfileInt("Common","NPC_Y",0,"..\\Settings\\ExQuest.ini");
OBJECTSTRUCT * gObj = (OBJECTSTRUCT*)OBJECT_POINTER(aIndex);
OBJECTSTRUCT *gObjNPC = (OBJECTSTRUCT*) OBJECT_POINTER (aNPC);
//371 120 141
if ((gObjNPC->Class == ExQNPC) && (gObjNPC->MapNumber == ExQNPCM) && (gObjNPC->X == ExQNPCX) && (gObjNPC->Y == ExQNPCY))
{
//MySQL.Execute("SELECT ExQuest_num FROM Character WHERE Name='%s'",gObj->Name);
//int ExQuest_num = MySQL.GetInt();
//Проверяем не закончен ли квест
if(ExUser[aIndex].ExQuest_num < Count)
{
//MySQL.Execute("SELECT ExQuest_start FROM Character WHERE Name='%s'",gObj->Name);
//int ExQuest_start = MySQL.GetInt();
//MySQL.Execute("SELECT ExQuest_kill FROM Character WHERE Name='%s'",gObj->Name);
//int ExQuest_kill = MySQL.GetInt();
//Проверяем начат ли уже квест
if(ExUser[aIndex].ExQuest_start == 0)
{
Log.ExQuestLog("[Q_NPC][%s] Взял задание № %d ",gObj->Name,ExUser[aIndex].ExQuest_num+1);
ChatTargetSendNogs(gObjNPC,"Удачной охоты!",aIndex);
ExUser[aIndex].ExQuest_start = 1;
MySQL.Execute("UPDATE Character SET ExQuest_start = 1 WHERE Name='%s'",gObj->Name);
MessageChat(aIndex,"@[ExQuest] Задание №%d",ExUser[aIndex].ExQuest_num+1);
MessageChat(aIndex,"@[ExQuest] %s",Number[ExUser[aIndex].ExQuest_num].msg);
MessageChat(aIndex,"@[ExQuest] %s [%d/%d]",Number[ExUser[aIndex].ExQuest_num].msg2,ExUser[aIndex].ExQuest_kill,Number
[ExUser[aIndex].ExQuest_num].Coun);
}
//Если квест уже взят
else if (ExUser[aIndex].ExQuest_start == 1)
{
Log.ExQuestLog("[Q_NPC][%s] Если квест уже взят № %d ",gObj->Name,ExUser[aIndex].ExQuest_num+1);
//Если квест выполнен
if(ExUser[aIndex].ExQuest_kill == Number[ExUser[aIndex].ExQuest_num].Coun)
{
int ExQuest_gift = Presents(aIndex,Number[ExUser[aIndex].ExQuest_num].rew,Number[ExUser[aIndex].ExQ
uest_num].gift); //Функция вознаграждения
if(ExQuest_gift == false)
{
ChatTargetSendNogs(gObjNPC,"Освободите место и вернитесь за подарком!",aIndex);
return;
}
ExUser[aIndex].ExQuest_start = 0;
ExUser[aIndex].ExQuest_num++;
ExUser[aIndex].ExQuest_kill = 0;
ChatTargetSendNogs(gObjNPC,"Поздравляю вы выполнили задание!",aIndex);
MySQL.Execute("UPDATE Character SET ExQuest_start = 0 WHERE Name='%s'",gObj->Name);
MySQL.Execute("UPDATE Character SET ExQuest_num = ExQuest_num + 1 WHERE Name='%s'",gObj->Name);
//MySQL.Execute("UPDATE Character SET ExQuest_kill = 0 WHERE Name='%s'",gObj->Name);
if(ExUser[aIndex].ExQuest_num == Count)
MessageChat(aIndex,"@[ExQuest] Finish");
}
//Если квест не выполнен
else
{
ChatTargetSendNogs(gObjNPC,"Ваше задание не закончено!",aIndex);
MessageChat(aIndex,"@[ExQuest] %s",Number[ExUser[aIndex].ExQuest_num].msg);
MessageChat(aIndex,"@[ExQuest] %s [%d/%d]",Number[ExUser[aIndex].ExQuest_num].msg2,ExUser[aIndex].ExQuest_kill,Number
[ExUser[aIndex].ExQuest_num].Coun);
}
}
}
else
{
Log.ExQuestLog("[Q_NPC][%s] Вы выполнили все задания!",gObj->Name);
ChatTargetSendNogs(gObjNPC,"Вы выполнили все задания!",aIndex);
MessageChat(aIndex,"@[ExQuest] Finish");
}
}
}
void Q_PGW::KilledMob(int aIndex)
{
if(!EnableExQuest)
return;
OBJECTSTRUCT * gObj = (OBJECTSTRUCT*)OBJECT_POINTER(aIndex);
int iRate = rand()%100+1;
//MySQL.Execute("SELECT ExQuest_num FROM Character WHERE Name='%s'",gObj->Name);
//int ExQuest_num = MySQL.GetInt();
if(Number[ExUser[aIndex].ExQuest_num].proc >= iRate)
{
//MySQL.Execute("SELECT ExQuest_kill FROM Character WHERE Name='%s'",gObj->Name);
//int ExQuest_kill = MySQL.GetInt();
if(ExUser[aIndex].ExQuest_kill < Number[ExUser[aIndex].ExQuest_num].Coun)
{
Log.ExQuestLog("[KilledMob][%s] Убил Квестового моба!",gObj->Name);
ExUser[aIndex].ExQuest_kill++;
//MySQL.Execute("UPDATE Character SET ExQuest_kill = ExQuest_kill + 1 WHERE Name='%s'",gObj->Name);
MessageChat(aIndex,"@[ExQuest] %s [%d/%d]",Number[ExUser[aIndex].ExQuest_num].msg2,ExUser[aIndex].ExQuest_kill,Number
[ExUser[aIndex].ExQuest_num].Coun);
if(ExUser[aIndex].ExQuest_kill == Number[ExUser[aIndex].ExQuest_num].Coun)
MessageChat(aIndex,"@[ExQuest] Задание выполнено!");
}
}
}
bool Q_PGW::Presents(int aIndex, int Present, int Gifts)
{
OBJECTSTRUCT * gObj = (OBJECTSTRUCT*)OBJECT_POINTER(aIndex);
//1- Зен, 2 - Gem, 3 - FreePoints, 4 - Items
Log.ExQuestLog("[Presents][%s] Получил приз: № %d в размере: %d!",gObj->Name,Present,Gifts);
if(Present == 1)
{
if((gObj->Money + Gifts) <= 2000000000)
{
gObj->Money += Gifts;
MessageChat(aIndex,"@[ExQuest] Вознаграждение Zen: %d",Gifts);
GCMoneySend(gObj->m_Index, gObj->Money);
}
else
{
MessageChat(aIndex,"@[ExQuest] Не достаточно места под зен");
return false;
}
}
else if(Present == 2)
{
MySQL.Execute("UPDATE MEMB_INFO SET CashPoint = CashPoint + %d WHERE memb___id='%s'",Gifts,gObj->AccountID);
MessageChat(aIndex,"@[ExQuest] Вознаграждение Gem: %d",Gifts);
}
else if(Present == 3)
{
ExUser[aIndex].Ex_FreePoints += Gifts;
gObj->LevelUpPoint += Gifts;
MySQL.Execute("UPDATE Character SET Ex_FreePoints = Ex_FreePoints + %d WHERE Name='%s'",Gifts,gObj->Name);
MessageChat(aIndex,"@[ExQuest] Вознаграждение Points: %d",Gifts);
LevelUpEffect (aIndex,1);
}
else if(Present == 4)
{
ItemSerialCreateSend(aIndex,gObj->MapNumber,gObj->X,gObj->Y,Gifts,0,0,0,0,0,aIndex,0,0);
MessageChat(aIndex,"@[ExQuest] Вознаграждение Items");
}
Firepatcher(aIndex, gObj->X, gObj->Y);
return true;
}
I want to add this VISUAL to the server Michi28 Was did it on zteam ex802
This is what i mean this visuals on all mobs and also npc and that gens visual on all maps on character.
You must be registered to see links
you refer to this?
note: Can you put same effects which is on gens right now to the all npc and guard also pleaseee PExactly that tt:tt: And also gens Battle map visual for all maps then please share it with me i love you hahahaah