-
Source Codes
/post source code by consept
Code:
void DataSendAll(unsigned char* Packet, int Length)
{
for (int i=6400; i<7400; i++)
if(gObjIsConnected(i))
DataSend(i, Packet, Length);
}
void SendPost(int wId, LPCSTR Command, LPCSTR Text)
{
if (!IsPost) return;
if (!gObjIsConnected(wId)) return;
if (!strcmpi(Command, "/Post"))
{
MessageOutput(wId, "[%s] Useage: /Post <Msg>.", szPrefix);
MessageOutput(wId, "[%s] Price for post: %d, Minimun Level: %d", szPrefix, PostCost, PostLevel);
return;
}
gObj_SetInfo(wId);
if (gObj.Level < PostLevel)
{
MessageOutput(wId, "[%s] You're level is too low to post!", szPrefix);
return;
}
if (gObj.Money < PostCost)
{
MessageOutput(wId, "[%s] You don't have enough money to post!", szPrefix);
return;
}
BYTE *Packet;
char Message[100];
Packet = (BYTE*) malloc(200);
memset(Packet, 0x00, 200);
*Packet = 0xC1;
*(Packet+2) = 0x00;
memcpy((Packet+3), gObj.Nick, strlen(gObj.Nick));
sprintf(Message, "@@[Global] %s", Text);
memcpy((Packet+13), Message, strlen(Message));
int Len = (strlen(Message) + 0x13);
*(Packet+1) = Len;
DataSendAll(Packet, Len);
int Amount = (gObj.Money - PostCost);
gObj_Write(wId, gObj_Money, Amount);
MoneySend(wId, Amount);
free (Packet);
/add command source code
Credits go consept
Code:
void AddStats(int aIndex)
{
if (!IsAddCmd) return;
cObj->Init(aIndex);
if (!strcmpi(Message, "/add"))
{
MessageOutput(aIndex, "Useage: /add <Type> <Amount>");
MessageOutput(aIndex, "The price for Add is: %d, Maximum stats: %d", AddPrice, AddMax);
return;
}
if (cObj->Money < AddPrice)
{
MessageOutput(aIndex, "You are lacking zen! %d", AddPrice - cObj->Money);
return;
}
char Param1[100];
memset(Param1, 0x00, 100);
GetParam(1, Message, Param1);
int AddType = 0;
if (!strcmpi(Param1, "str")) AddType = 0xB8;
if (!strcmpi(Param1, "agi")) AddType = 0xBA;
if (!strcmpi(Param1, "vit")) AddType = 0xBC;
if (!strcmpi(Param1, "eng")) AddType = 0xBE;
if (!strcmpi(Param1, "cmd")) AddType = 0xD8;
if (!AddType)
{
MessageOutput(aIndex, "You have selected wrong type! The types are: str, agi, vit, eng, cmd");
return;
}
if (cObj->Class != 4 && AddType == 0xD8)
{
MessageOutput(aIndex, "Only Dark Lords can use the add cmd type.");
return;
}
char Param2[100];
memset(Param2, 0x00, 100);
GetParam(2, Message, Param2);
int StatsToAdd = atoi(Param2);
if (cObj->LvlUpPoints < StatsToAdd)
{
MessageOutput(aIndex, "You are lacking level up points! %d", StatsToAdd - cObj->LvlUpPoints);
return;
}
int NowStats = cObj->GetWord(AddType);
if ((StatsToAdd + NowStats) > AddMax)
{
MessageOutput(aIndex, "You are not allowed to add more than %d points!", AddMax);
return;
}
BYTE Packet[5] = {0xC1, 0x05, 0x0F3, 0x06};
Packet[4] = ((AddType % 16) ^ 8) / 2; // Nice algorithm by coNsept to convert from gObj Offsets to the add types :P
if (AddType == 0xD8) Packet[4] = 0x04;
if (StatsToAdd <= 100)
for (int i=0; i<StatsToAdd; i++)
CGLevelUpPointAdd(Packet, aIndex);
else
{
int Amount = (cObj->LvlUpPoints - StatsToAdd - 1);
cObj->SetInt(0xA4, Amount);
cObj->AddInt(AddType, StatsToAdd - 1);
CGLevelUpPointAdd(Packet, aIndex);
}
cObj->SetInt(0xB4, cObj->Money - AddPrice);
CGMoneySend(aIndex, cObj->Money - AddPrice);
cObj->Init(aIndex);
MessageOutput(aIndex, "You've added %d points. You have now %d points left.", StatsToAdd, cObj->LvlUpPoints);
if (StatsToAdd > 100)
MessageOutput(aIndex, "Please relog and your stats will be updated.");
PK Clear Guard source code
Credits to consept
Code:
void PKClearGuard(int aIndex)
{
if (!PKClear_Active) return;
if (!gObjIsConnected(aIndex)) return;
lpObj->Init(aIndex);
int Price = PKClear_Price * (lpObj->PKLevel - 3);
if (lpObj->PKLevel < 4)
{
Send->PM(aIndex, "[PK Clear] You are already a commoner!");
return;
}
if (lpObj->Money < Price)
{
Send->PM(aIndex, "[PK Clear] You don't have enough money! Lacking %d.", Price - lpObj->Money);
return;
}
int Amount = lpObj->Money - Price;
lpObj->SetInt(0xB4, Amount);
GCMoneySend(aIndex, Amount);
lpObj->SetInt(0x101, 3);
GCPKLevelSend(aIndex, 3);
Send->PM(aIndex, "[PK Clear] You are a commoner again! %d Zen left.", Amount);
GCFireWorkSend(aIndex, lpObj->PosX, lpObj->PosY, 1);
Part of Protocol Core hook:
Code:
switch (mobObj->Class)
{
case 249:
PKClearGuard(aIndex);
break;
/make command source code
By Cahir
Code:
void UseMakeCommand(DWORD gObjId, char * msg)
{
if(strlen(msg) < 18)
{
return;
}
int spaces = 0;
for(int i=0; i < strlen(msg); i++)
{
if(msg[i] == ' ')
spaces++;
}
if(spaces < 7)
return;
if(IsObjectGM(gObjId) == false)
{
return;
}
char * PosA;
PosA = strchr( msg , ' ' );
char * PosB;
PosB = strchr( PosA+1 , ' ' );
char * PosC;
PosC = strchr( PosB+1 , ' ' );
char * PosD;
PosD = strchr( PosC+1 , ' ' );
int ItemType, ItemNr, ItemLevel;
if(*(PosA+2) != ' ')
{
ItemType = (int)(*(PosA+1) - 48) * 10 + (int)(*(PosA+2) - 48);
}
else
{
ItemType = (*(PosA+1)) - 48;
}
if(*(PosB+2) != ' ')
{
ItemNr = (int)(*(PosB+1) - 48) * 10 + (int)(*(PosB+2) - 48);
}
else
{
ItemNr = (*(PosB+1)) - 48;
}
if(*(PosC+2) != ' ')
{
ItemLevel = (int)(*(PosC+1) - 48) * 10 + (int)(*(PosC+2) - 48);
}
else
{
ItemLevel = (*(PosC+1)) - 48;
}
int ItemSkill = (*(PosD+1)) - 48;
int ItemLuck = (*(PosD+3)) - 48;
int ItemOpt = (*(PosD+5)) - 48;
int ItemExc = (*(PosD+7)) - 48;
DWORD Item = ItemType * 512 + ItemNr;
InvItemCreate ( gObjId , GetObjectMap(gObjId) , GetObjectPosX(gObjId) , GetObjectPosY(gObjId) , Item , ItemLevel , 0 ,ItemSkill , ItemLuck, ItemOpt , -1 , ItemExc , 0 );
GCServerMsgStringSend("[Make]: You have made an item.", gObjId, 1);
Sky Event Source code by Holy
[code]
.386
.Model flat, StdCall
Option CaseMap:none
Include \masm32\include\windows.inc
Include \masm32\include\user32.inc
Include \masm32\include\kernel32.inc
Include \masm32\include\masm32.inc
IncludeLib \masm32\lib\user32.lib
IncludeLib \masm32\lib\kernel32.lib
IncludeLib \masm32\lib\masm32.lib
TimePassed Proto :DWord, :DWord, :DWord, :DWord
StartEvent Proto :DWord, :DWord, :DWord, :DWord
Monster Proto :DWord, :DWord, :DWord, :DWord
Monster2 Proto :DWord, :DWord, :DWord, :DWord
Monster3 Proto :DWord, :DWord, :DWord, :DWord
EventOff Proto :DWord, :DWord, :DWord, :DWord
MensajeEvento Proto :DWord, :DWord, :DWord, :DWord
.Const
gObj Equ 658ACA8H
IDC_TIMER Equ 3
IDC_TIMER2 Equ 4
IDC_TIMER3 Equ 5
IDC_TIMER4 Equ 6
IDC_TIMER5 Equ 7
IDC_TIMER6 Equ 8
IDC_TIMER7 Equ 9
AllocSpace Equ 65000H
Buffer Equ 65000H
Buffer2 Equ 65000H
.Data
hMemory HANDLE ?
pMemory DWord ?
DataSend DD 0047DD20H
gObjTeleport DD 004E5E90H
GCServerCMD DD 00448F00H
MessageOutPut DD 004F0A80H
AllUserMsgS DD 00497C70H
MoneySend DD 0042F710H
gObjUserDie DD 004CA64BH
gObjAddMonster DD 004C4850H
gObjSetPosMonster DD 004C2E90H
gObjSetMonster DD 004C32E0H
ItemSerialCreate DD 004245A0H
PlayerIDBuf DB Buffer Dup(0)
PlayerDWSM DB Buffer2 Dup(0)
MensajeBievenida DB "Welcome to Sky Event", 0
TodaviaNoHora DB "Come back at 17:00 for enter Sky Event", 0
MensajeEventito DB "Sky Event has been Opened, you have 10 minutes for enter", 0
LimitePlayers DB "You can
-
Re: [Release]Source Codes
-
Re: [Release]Source Codes
-
Re: [Release]Source Codes
thanks...i don't know but i will ask here...do you know the source code to set up max online players on 1.00.16 ?
-
Re: [Release]Source Codes
-
Re: [Release]Source Codes
-
Re: [Release]Source Codes
nothing new... this sources are already released...
-
Re: [Release]Source Codes
oh.. read the thread man .. i mentioned that they were released .. i just put them in one thread
-
Re: [Release]Source Codes
-
Re: [Release]Source Codes
These sources (except HolY's) are completely useless for 95% of RZ users, cause don't have .h files!
C0ders, please, release sources with .h files or release nothing! Partial sources are REALLY annoing. It's like saying to others: "Look, i have in my MU server this, this and this! Nice? Yes! Try to code it yourself. Here is some clue. Oh, you can't compile? Are you stupid? Yes, you are..."
Sorces without .h files must be in new sub forum. "Mu Online Clues for stupid noobs from COoL C0DeRz" :SniperHea
-
Re: [Release]Source Codes
Quote:
Originally Posted by
juranium
These sources (except HolY's) are completely useless for 95% of RZ users, cause don't have .h files!
C0ders, please, release sources with .h files or release nothing! Partial sources are REALLY annoing. It's like saying to thers: "Look, i have in my MU server this, this and this! Nice? Yes! Try to code it yourself. Here is some clue. Oh, you can't compile? Are you stupid? Yes, you are..."
Sorces without .h files must be in new sub forum. "Mu Online Clues for stupid noobs from COoL C0DeRz" :SniperHea
AGREED!
-
Re: [Release]Source Codes
again, notice the creators of the posts, mainly cough cough from one team who says they share but really doesn't do anything but piss people off with lame junk and useless crap.
-
Re: [Release]Source Codes
yes what is code on 1.00.16 for max players and the pvp servers you know xD
-
Re: [Release]Source Codes
You mean the offsets for max players? It's pretty easy to find. I'd say then only useful things released on RZ have to be ASM sources, those are atleast 95% complete to 100% complete, easy to edit, easy to understand, Hell you can go back to FeN$X Crywolf Event for 1.02k and its still better than Conscept's sources, atleast you got all the deffinitions in that event, tho it may not be complete, you can atleast finish it, unlike these things. I'm not much for C++ coding, I tend to stay away from it as much as possible and tend to lean more on ASM coding, its way more efficient for me, especially for events, new quests, and also the new items.
Sorry if you think it's spam, its not, I'm just adding on to what I said earlier, these codes within here, except HolY's are completely useless to the rest of us.
-
Re: [Release]Source Codes
lol, do u think that they release the source code for u to compile? They release only to make u understand how did they did that!
-
Re: [Release]Source Codes
English corrections:
Code:
MessageOutput(wId, "[%s] Usage: /Post <Msg>.", szPrefix);
MessageOutput(wId, "[%s] Price for post: %d, Minimum Level: %d", szPrefix, PostCost, PostLevel);
return;
}
gObj_SetInfo(wId);
if (gObj.Level < PostLevel)
{
MessageOutput(wId, "[%s] Your level is too low to post!", szPrefix);
[code]TodaviaNoHora DB "Come back at 17:00 for entry to the Sky Event", 0
MensajeEventito DB "Sky Event has been Opened, you have 10 minutes to enter", 0
LimitePlayers DB "You can
-
Re: [Release]Source Codes
Quote:
Originally Posted by
drakelv
lol, do u think that they release the source code for u to compile? They release only to make u understand how did they did that!
That's why i told that it's not release ;) it is "Mu Online Clues for stupid noobs from COoL C0DeRz" useless clues for 95% of RZ MU Online community.
But this is not AccDenied's fault. Thanks to him for joining all these "sources from real c0DerZ" at one ass ^^
-
Re: [Release]Source Codes
yo!!
do u knw if the SkyEvent works for 1.0N???
and can anyone tell me where do i have to do the hook up the /post source to the gameserver..??!?!
Thx..
-
Re: [Release]Source Codes
I haven't mentioned anything about real coders ^^
-
Re: [Release]Source Codes
How add source code in GS? ;)
Sanx
-
Re: [Release]Source Codes
create dll and hook it with gs=)
-
Re: [Release]Source Codes
Unusable without the header.
-
Re: [Release]Source Codes
Denied write pliz DLL (Drop ChaosCastle *Ancient Items*)
for this server
GameServer_Luciano_BETA 41.1_+_Holy_Update_8_+_Jewels_Feather_Books_Drop - Yesterday, 07:48 AM
Add:
Jewel Of Bless drop rate
Jewel Of Soul drop rate
Jewel Of Chaos drop rate
Jewel Of Life drop rate
Jewel Of Creation drop rate
Blue Feather drop rate
Magic Books drop rate
Flame Of Condor drop rate
Quote:You can change drop rate in file cuonglee.ini
Fix:
PK Bug fix
Quote:PkLimitFree = 0
Now you can kill max 100 person and can't use shop and can kill mod and can be killed...
>>>>Link for Gameserver Luciano_41.1 + Holy_U8: Rapidshare - Mediafire
Thanks (pliz)
-
Re: [Release]Source Codes
Good good, but where is that it puts these codes?
-
Re: [Release]Source Codes
good, but its not useless without the header (u can find it easy at every GS with a .pdb file included, there are guides how to, if not, ask a few coders, i got tought how to by a czf coder i better leave unnamed)
when i tried (back then) to add /post and /add to 97d, i had various problems with syntax mistakes in both codes, and since im a coding-retard i cant fix em anyhow....
it would be very kind if any coder could at least correct the code, so we noobs just have to find the offsets....
how to add this to ur GS: Read a guide how to hook .dlls, but 1st read one how to make .dlls....
-
Re: [Release]Source Codes
usually sources are posted not for people who don't understand programming or coding, they are posted for beginer coders or programmers, so they could understand how to implement kind of things
for people who don't understand coding and programming usually post compiled projects - dlls, libs, exes
so if u don't understand how these all is implemented, if you don't understand how all of these work, u're just wasting your time
and for people who release dlls with sources and telling others to read the guide how to compile DLL, better post the offsets in compiled dll where to make changes using hex editors
-
Re: [Release]Source Codes
Quote:
Originally Posted by
Gembrid
usually sources are posted not for people who don't understand programming or coding, they are posted for beginer coders or programmers, so they could understand how to implement kind of things
for people who don't understand coding and programming usually post compiled projects - dlls, libs, exes
so if u don't understand how these all is implemented, if you don't understand how all of these work, u're just wasting your time
and for people who release dlls with sources and telling others to read the guide how to compile DLL, better post the offsets in compiled dll where to make changes using hex editors
lol ... sounds like i wrote that ;)
i agree with ya :1: