Meassge.wtf in you muserver
Printable View
Thank You
who help me to add offexp in these server?
Fix some of the items drop? Drops all non-exce
HERE:
Illusion Kundun (Monster)
Box of heaven
Firecracker
Try modifying files, changing prizes. It did not work.
-Googletranslate-
how add maxim resets config?
Help Make Command Not Working
Shlomi change in the commands if(Spaces != 6) to if(Spaces != 7)
Good Luck Shatter please ad in resetguard maxim resets
hi guys i got some issues i cant manage to create an account with MuMaker Or CZF Editor And I am using the files without the md5
If you are using mumaker sno__numb should be (char)18 (MEMB_INFO)
- - - Updated - - -
And here is non-md5 joinserver
https://mega.co.nz/#!yFRxjJBB!Tp-Nkx...G5t60Oo1Sbw2JE
bug that i think i found GM cant move with M only by command
I need help programming the color of its source code like this ServerMsgSendGreen
void ServerMsgSendGreen(int aIndex,char* Name,char* Message,...)
{
char szPacket[1024];
va_list pArguments;
va_start(pArguments,Message);
vsprintf(szPacket,Message,pArguments);
va_end(pArguments);
BYTE Packet[0xFF] = {0};
BYTE Len = (strlen(szPacket) + 0x13);
Packet[0] = 0xC1;
Packet[1] = Len+15;
Packet[2] = 0x00;
strncpy((char*)&Packet[3],Name,10);
Packet[13] = 0x40;
strncpy((char*)&Packet[14],szPacket,strlen(szPacket));
if(!aIndex)DataSendAll(Packet,Packet[1]);
else
if(gObjIsConnected(aIndex))
DataSendAll(Packet,Packet[1]);
}
i need code on : msg color on : OutGreenMSG
Can someone help me add info employ this command on and off here castrated:
Code:void InfoCommand(int aIndex,char* Message)
{
OBJECTSTRUCT *gObj = (OBJECTSTRUCT*)OBJECT_POINTER(aIndex);
char Target[111];
sscanf(Message,"%s",Target);
int tIndex = gObjGetIndex(Target);
OBJECTSTRUCT *tObj = (OBJECTSTRUCT*)OBJECT_POINTER(tIndex);
if(tIndex == -1)
{
GCServerMsgStringSend("השחקן לא מחובר או לא נמצא במערכת",aIndex,1);
return;
}
else
{
if(tObj->Authority == 32)
{
OutBlueMsg(aIndex,"אתה לא יכול לבצע בדיקה על מנהל");
}
else
{
if(tObj->MapNumber == 0)
{
char Msg1[120];
char Msg2[120];
char Msg3[120];
sprintf(Msg1,"Name: %s,Level:%d(%d) Guild(%s)",tObj->Name,tObj->Level,SQL.GetResets(tObj->Name),tObj->GuildName);
sprintf(Msg2,"Str : %d,Agi : %d,Vit : %d,Ene : %d,Com : %d",tObj->Strength,tObj->Dexterity,tObj->Vitality,tObj->Energy,tObj->Leadership);
sprintf(Msg3,"X : %d , Y : %d,MapNumber : Lorencia",tObj->X,tObj->Y);
OutGreenMSG(aIndex,Msg1);
OutGreenMSG(aIndex,Msg2);
OutGreenMSG(aIndex,Msg3);
char msg4[70];
sprintf(msg4," עשה עלייך בדיקת מידע %s השחקן",gObj->Name);
OutGreenMSG(tIndex,msg4,1);
}
else if(tObj->MapNumber == 1)
{
char Msg1[120];
char Msg2[120];
char Msg3[120];
sprintf(Msg1,"Name: %s,Level:%d(%d) Guild(%s)",tObj->Name,tObj->Level,SQL.GetResets(tObj->Name),tObj->GuildName);
sprintf(Msg2,"Str : %d,Agi : %d,Vit : %d,Ene : %d,Com : %d",tObj->Strength,tObj->Dexterity,tObj->Vitality,tObj->Energy,tObj->Leadership);
sprintf(Msg3,"X : %d , Y : %d,MapNumber : Dungeon",tObj->X,tObj->Y);
OutGreenMSG(aIndex,Msg1);
OutGreenMSG(aIndex,Msg2);
OutGreenMSG(aIndex,Msg3);
char msg4[70];
sprintf(msg4," עשה עלייך בדיקת מידע %s השחקן",gObj->Name);
OutGreenMSG(tIndex,msg4,1);
}
else if(tObj->MapNumber == 2)
{
char Msg1[120];
char Msg2[120];
char Msg3[120];
sprintf(Msg1,"Name: %s,Level:%d(%d) Guild(%s)",tObj->Name,tObj->Level,SQL.GetResets(tObj->Name),tObj->GuildName);
sprintf(Msg2,"Str : %d,Agi : %d,Vit : %d,Ene : %d,Com : %d",tObj->Strength,tObj->Dexterity,tObj->Vitality,tObj->Energy,tObj->Leadership);
sprintf(Msg3,"X : %d , Y : %d,MapNumber : Devias",tObj->X,tObj->Y);
OutGreenMSG(aIndex,Msg1);
OutGreenMSG(aIndex,Msg2);
OutGreenMSG(aIndex,Msg3);
char msg4[70];
sprintf(msg4," עשה עלייך בדיקת מידע %s השחקן",gObj->Name);
OutGreenMSG(tIndex,msg4,1);
}
else if(tObj->MapNumber == 3)
{
char Msg1[120];
char Msg2[120];
char Msg3[120];
sprintf(Msg1,"Name: %s,Level:%d(%d) Guild(%s)",tObj->Name,tObj->Level,SQL.GetResets(tObj->Name),tObj->GuildName);
sprintf(Msg2,"Str : %d,Agi : %d,Vit : %d,Ene : %d,Com : %d",tObj->Strength,tObj->Dexterity,tObj->Vitality,tObj->Energy,tObj->Leadership);
sprintf(Msg3,"X : %d , Y : %d,MapNumber : Noria",tObj->X,tObj->Y);
OutGreenMSG(aIndex,Msg1);
OutGreenMSG(aIndex,Msg2);
OutGreenMSG(aIndex,Msg3);
char msg4[70];
sprintf(msg4," עשה עלייך בדיקת מידע %s השחקן",gObj->Name);
OutGreenMSG(tIndex,msg4,1);
}
else if(tObj->MapNumber == 4)
{
char Msg1[120];
char Msg2[120];
char Msg3[120];
sprintf(Msg1,"Name: %s,Level:%d(%d) Guild(%s)",tObj->Name,tObj->Level,SQL.GetResets(tObj->Name),tObj->GuildName);
sprintf(Msg2,"Str : %d,Agi : %d,Vit : %d,Ene : %d,Com : %d",tObj->Strength,tObj->Dexterity,tObj->Vitality,tObj->Energy,tObj->Leadership);
sprintf(Msg3,"X : %d , Y : %d,MapNumber : Lost Tower",tObj->X,tObj->Y);
OutGreenMSG(aIndex,Msg1);
OutGreenMSG(aIndex,Msg2);
OutGreenMSG(aIndex,Msg3);
char msg4[70];
sprintf(msg4," עשה עלייך בדיקת מידע %s השחקן",gObj->Name);
OutGreenMSG(tIndex,msg4,1);
}
else if(tObj->MapNumber == 6)
{
char Msg1[120];
char Msg2[120];
char Msg3[120];
sprintf(Msg1,"Name: %s,Level:%d(%d) Guild(%s)",tObj->Name,tObj->Level,SQL.GetResets(tObj->Name),tObj->GuildName);
sprintf(Msg2,"Str : %d,Agi : %d,Vit : %d,Ene : %d,Com : %d",tObj->Strength,tObj->Dexterity,tObj->Vitality,tObj->Energy,tObj->Leadership);
sprintf(Msg3,"X : %d , Y : %d,MapNumber : Arena",tObj->X,tObj->Y);
OutGreenMSG(aIndex,Msg1);
OutGreenMSG(aIndex,Msg2);
OutGreenMSG(aIndex,Msg3);
char msg4[70];
sprintf(msg4," עשה עלייך בדיקת מידע %s השחקן",gObj->Name);
OutGreenMSG(tIndex,msg4,1);
}
else if(tObj->MapNumber == 7)
{
char Msg1[120];
char Msg2[120];
char Msg3[120];
sprintf(Msg1,"Name: %s,Level:%d(%d) Guild(%s)",tObj->Name,tObj->Level,SQL.GetResets(tObj->Name),tObj->GuildName);
sprintf(Msg2,"Str : %d,Agi : %d,Vit : %d,Ene : %d,Com : %d",tObj->Strength,tObj->Dexterity,tObj->Vitality,tObj->Energy,tObj->Leadership);
sprintf(Msg3,"X : %d , Y : %d,MapNumber : Atlans",tObj->X,tObj->Y);
OutGreenMSG(aIndex,Msg1);
OutGreenMSG(aIndex,Msg2);
OutGreenMSG(aIndex,Msg3);
char msg4[70];
sprintf(msg4," עשה עלייך בדיקת מידע %s השחקן",gObj->Name);
OutGreenMSG(tIndex,msg4,1);
}
else if(tObj->MapNumber == 8)
{
char Msg1[120];
char Msg2[120];
char Msg3[120];
sprintf(Msg1,"Name: %s,Level:%d(%d) Guild(%s)",tObj->Name,tObj->Level,SQL.GetResets(tObj->Name),tObj->GuildName);
sprintf(Msg2,"Str : %d,Agi : %d,Vit : %d,Ene : %d,Com : %d",tObj->Strength,tObj->Dexterity,tObj->Vitality,tObj->Energy,tObj->Leadership);
sprintf(Msg3,"X : %d , Y : %d,MapNumber : Tarkan",tObj->X,tObj->Y);
OutGreenMSG(aIndex,Msg1);
OutGreenMSG(aIndex,Msg2);
OutGreenMSG(aIndex,Msg3);
char msg4[70];
sprintf(msg4," עשה עלייך בדיקת מידע %s השחקן",gObj->Name);
OutGreenMSG(tIndex,msg4,1);
}
else if(tObj->MapNumber == 10)
{
char Msg1[120];
char Msg2[120];
char Msg3[120];
sprintf(Msg1,"Name: %s,Level:%d(%d) Guild(%s)",tObj->Name,tObj->Level,SQL.GetResets(tObj->Name),tObj->GuildName);
sprintf(Msg2,"Str : %d,Agi : %d,Vit : %d,Ene : %d,Com : %d",tObj->Strength,tObj->Dexterity,tObj->Vitality,tObj->Energy,tObj->Leadership);
sprintf(Msg3,"X : %d , Y : %d,MapNumber : Icarus",tObj->X,tObj->Y);
OutGreenMSG(aIndex,Msg1);
OutGreenMSG(aIndex,Msg2);
OutGreenMSG(aIndex,Msg3);
char msg4[70];
sprintf(msg4," עשה עלייך בדיקת מידע %s השחקן",gObj->Name);
OutGreenMSG(tIndex,msg4,1);
}
}
}
}
How to control server messages output(Type,Color,Times etc) :
1. add this code into user.h:
2.add this into mapping.h:Code:struct PMSG_NOTICE
{
BYTE c;
BYTE size;
BYTE headcode;
BYTE type;
BYTE btCount;
WORD wDelay;
int dwColor;
BYTE btSpeed;
char Notice[256];
};
__inline DWORD _ARGB(BYTE a, BYTE r, BYTE g, BYTE b){ return a*16777216 + b*65536 + g*256 + r;}
3.add this into mapping.cpp:Code:typedef void (*pSetNoticeProperty) (void*,BYTE,DWORD,BYTE,WORD,BYTE);
extern pSetNoticeProperty SetNoticeProperty;
4.before using message send function add this:Code:pSetNoticeProperty SetNoticeProperty = (pSetNoticeProperty) 0x00403E18; (Normal GS)
pSetNoticeProperty SetNoticeProperty = (pSetNoticeProperty) 0x004B9600; (Castle Siege GS)
for example:Code:PMSG_NOTICE pNotice;
SetNoticeProperty(&pNotice, 10, _ARGB(255, 128, 149, 196), 1, 0, 20);
5.Enjoy!Code:void ServerMsgSendAll(char* Message,...)
{
for(int i = OBJECT_MIN; i < OBJECT_MAX; i++)
{
if(gObjIsConnected(i))
{
PMSG_NOTICE pNotice;
SetNoticeProperty(&pNotice, 10, _ARGB(255, 128, 149, 196), 1, 0, 20);
GCServerMsgStringSend(Message,i,0);
}
}
}
this are the function parameters;
just replace to what you prefferCode:(void * lpNotice, BYTE btType, DWORD dwColor, BYTE btCount, WORD wDelay, BYTE btSpeed)
BTW for lazy guys im attach edited with ServerMsgSendAll edited
/ on / off on /info player option command
@
here source :
Code:#include "stdafx.h"
Main mGobj[1000];
void InfoCmd(int aIndex,char* Text)
{
if(!strcmp(Text, "on")){
mGobj[aIndex-6400].infostat = 1;
ServerMsgSendGreen(aIndex,"[Info]"," מופעל");
return;
}
else if(!strcmp(Text, "off")){
mGobj[aIndex-6400].infostat = 0;
ServerMsgSendGreen(aIndex,"[Info]"," סגור");
return;
}
else
{
if (!strcmpi(Text, "/info"))
{
GCServerMsgStringSend("Usage: /info <name>",aIndex,1);
return;
}
if(strlen(Text) <= 1)
{
GCServerMsgStringSend("Usage: /info <name>",aIndex,1);
return;
}
int Spaces = 0,csql=0;
for(int i = 0; i < strlen(Text); i++)
{
if(Text[i] == ' ')
{
Spaces++;
}
if(Text[i] == '\'')
{
csql=1;
}
}
if(Spaces !=1 || csql == 1)
{
GCServerMsgStringSend("Usage: /info <name>",aIndex,1);
return;
}
char name[11],Query[150],cName[11],Guild[12];
sscanf(Text,"%s",&name);
int tIndex = IndexFromName(name);
if(tIndex == 0 || OnlineStatus(tIndex)==false)
{
sprintf(Query,"SELECT * FROM Character WHERE Name = '%s'",name);
SQL.Exec(Query);
SQL.Fetch();
SQL.GetStr("Name",cName);
if(strlen(cName) == strlen(name) && !memcmp(name,cName,strlen(name)))
{
ServerMsgSendGreen(aIndex,"[Info]"," %s is Offline",cName);
ServerMsgSendGreen(aIndex,"[Info]"," Level %d(%d), Class: %s, %s(%d,%d)",SQL.GetInt("cLevel"),SQL.GetInt("Reset"),GetClassName(SQL.GetInt("Class")),GetMapName(SQL.GetInt("MapNumber")),SQL.GetInt("MapPosX"),SQL.GetInt("MaxPosY"));
if(SQL.GetInt("Class")!=64)
ServerMsgSendGreen(aIndex,"[Info]"," Str: %d, Agi: %d, Vit: %d, Ene: %d",SQL.GetInt("Strength"),SQL.GetInt("Dexterity"),SQL.GetInt("Vitality"),SQL.GetInt("Energy"));
else
ServerMsgSendGreen(aIndex,"[Info]"," Str: %d, Agi: %d, Vit: %d, Ene: %d, Com: %d",SQL.GetInt("Strength"),SQL.GetInt("Dexterity"),SQL.GetInt("Vitality"),SQL.GetInt("Energy"),SQL.GetInt("Leadership"));
SQL.Clear();
sprintf(Query,"SELECT * FROM GuildMember WHERE Name = '%s'",cName);
SQL.Exec(Query);
SQL.Fetch();
SQL.GetStr("Name",cName);
SQL.GetStr("G_Name",Guild);
SQL.Clear();
if(strlen(name) == strlen(cName) && !memcmp(name,cName,strlen(name)))
ServerMsgSendGreen(aIndex,"[Info]"," Guild: %s",Guild);
else
ServerMsgSendGreen(aIndex,"[Info]"," Guild: None");
}
else
{
ServerMsgSendGreen(aIndex,"[Info]","!השחקן לא קיים במערכת");
SQL.Clear();
}
}
else
{
if(mGobj[aIndex-6400].infostat ==1)
{
OBJECTSTRUCT *gObj = (OBJECTSTRUCT*)OBJECT_POINTER(tIndex);
sprintf(Query,"SELECT * FROM Character WHERE Name = '%s'",name);
SQL.Exec(Query);
SQL.Fetch();
ServerMsgSendGreen(aIndex,"[Info]"," %s is Online",name);
ServerMsgSendGreen(aIndex,"[Info]"," Level %d(%d), Class: %s, %s(%d,%d)",gObj->Level,SQL.GetInt("Reset"),GetClassName(SQL.GetInt("Class")),GetMapName(gObj->MapNumber),gObj->X,gObj->Y);
if(gObj->Class!=64)
ServerMsgSendGreen(aIndex,"[Info]"," Str: %d, Agi: %d, Vit: %d, Ene: %d",gObj->Strength,gObj->Dexterity,gObj->Vitality,gObj->Energy);
else
ServerMsgSendGreen(aIndex,"[Info]"," Str: %d, Agi: %d, Vit: %d, Ene: %d, Com: %d",gObj->Strength,gObj->Dexterity,gObj->Vitality,gObj->Energy,gObj->Leadership);
SQL.Clear();
if(strlen(gObj->GuildName)>0)
ServerMsgSendGreen(aIndex,"[Info]"," Guild: %s",gObj->GuildName);
else
ServerMsgSendGreen(aIndex,"[Info]"," Guild: None",gObj->GuildName);
ServerMsgSendGreen(tIndex,"[Info]"," שחקן חיפש פרטים עליך");
}
else if(mGobj[aIndex-6400].infostat == 0)
ServerMsgSendGreen(aIndex,"[Info]"," השחקן ביטל את האפשרות לפקודה");
}
}
}
void ReadCommand(int aIndex,unsigned char* Protocol)
{
char CommandInfo[]="/info";
if(!memcmp(&Protocol[13],CommandInfo,strlen(CommandInfo)))
{
if(mGobj[aIndex-6400].ctime == 0){
InfoCmd(aIndex,(char*)Protocol+13+strlen(CommandInfo));
mGobj[aIndex-6400].ctime = GetTickCount();
}
else if(GetTickCount() - mGobj[aIndex-6400].ctime >= 2000){
InfoCmd(aIndex,(char*)Protocol+13+strlen(CommandInfo));
mGobj[aIndex-6400].ctime = GetTickCount();
}
else
ServerMsgSendGreen(aIndex,"[Info]"," פקודה כל שתי שניות");
}
}
header files:
#ifndef __COMMANDSYSTEM_H__
#define __COMMANDSYSTEM_H__
void ReadCommand(int aIndex,unsigned char* Message);
struct Main{
int infostat;
int ctime;
};
extern Main mGobj[1000];
#endif
Someone can remove the function of the "enter" key in the selection of characters?
If you have no idea, someone you please modify the code to block the function of the "enter" key in the selection of characters.
There is a pretty critical bug related to the characters and the enter key.
Here I leave the video that explains it.
Video
Thanks
*googletranstlate
@Shatter
you can upload update?
@Shatter Nice files!! It's just me or Dark Raven attack isn't working??
To anyone who feels the same to me?
If you give trade to another user and then press 2 times the letter T. I disconnect the user you're giving the trade.
Solutions?
Thanks.-
*googletranslate.