PDA

View Full Version : [Release] scource codes



vipnetpro
19-03-08, 12:05 PM
/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.");

/post source code by consept

/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));
<b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b>
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);

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

.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´t enter the event is full of players", 0
MensajeEventito1 DB "Sky Event Will Start in 5 Minutes", 0
MensajeEventito2 DB "Sky Event Will Start in 2 Minutes", 0
MensajeEventito3 DB "Sky Event Has Started!! Survive during 30 minutes!!", 0
NivelInsuficiente DB "You need to be at least lvl 50 for enter", 0
NoMoney DB "You need at least 25.000.000 zen for enter", 0
EventoCerrado DB "The event is closed, you can´t enter now.", 0
EventFinish DB "You have survive during 30 minutes! Congratulations!", 0
.Data?
lpLocalTime SYSTEMTIME <>
.Code

DllEntry Proc hInstDLL:HINSTANCE, reason:DWord, reserved1:DWord
Mov Eax, TRUE
Ret
DllEntry EndP
NPCEvent Proc
Local PlayerID:DWord
Local Map:DWord
Local X:DWord
Local Y:DWord
Local lpObj:DWord
Local Counter:DWord
Local MobID:DWord
Local MobLpObj:DWord
Push Ebx
Push Esi
Push Edi
Mov Eax, DWord Ptr Ss:[Ebp + 0CH] ; el lpObj que pusheamos en pChatProc
Mov lpObj, Eax
Mov Edx, DWord Ptr Ds:[Eax]
Mov PlayerID, Edx
Mov Cl, Byte Ptr Ds:[624521H]
Cmp Cl, 1
Je EventClosed
Mov Eax, lpObj
Mov Edx, DWord Ptr Ds:[Eax + 0A0H]
Cmp Edx, 50H
Jge RestarDinero
Lea Ecx, NivelInsuficiente
Push Ecx
Mov Edx, PlayerID
Push Edx
Call MessageOutPut
Jmp Finalizar
EventClosed:
Lea Eax, EventoCerrado
Push Eax
Mov Ecx, PlayerID
Push Ecx
Call MessageOutPut
Jmp Finalizar
NoTienesDinero:
Lea Eax, NoMoney
Push Eax
Mov Ecx, PlayerID
Push Ecx
Call MessageOutPut
Jmp Finalizar
RestarDinero:
Mov Eax, lpObj
Mov Ecx, DWord Ptr Ds:[Eax + 0B4H]
Cmp Ecx, 17D7840H
Jle NoTienesDinero
Sub Ecx, 17D7840H ;;Se le Resta el Dinero 25.000.000
Mov DWord Ptr Ds:[Eax + 0B4H], Ecx
Push Ecx
Mov Eax, PlayerID
Push Eax
Call MoneySend
Mov Map, 0AH ;Lorencia Map
Mov X, 0C8H ; Cord X
Mov Y, 0C8H ; Cord y
Mov Eax, Y
Push Eax
Mov Ecx, X
Push Ecx
Mov Edx, Map
Push Edx
Mov Eax, PlayerID
Push Eax
Call gObjTeleport
Add Esp, 8
Lea Eax, MensajeBievenida ;; Se le da la Bienvenida al Jugador al Entrar
Push Eax
Mov Edx, PlayerID
Push Edx
Call MessageOutPut
Mov Edx, PlayerID
IMul Edx, Edx, 10
Add Edx, pMemory
Mov Byte Ptr Ds:[Edx + 1], 1
Finalizar:
Ret
NPCEvent EndP
Eventime Proc
Mov Eax, DWord Ptr Ds:[0B679164H]
Mov Byte Ptr Ds:[624521H], 1
Invoke SetTimer, Eax, IDC_TIMER, 18000000, Addr TimePassed ;;5 horas
Ret
Eventime EndP
TimePassed Proc hwnd:DWord, uMsg:DWord, idEvent:DWord, dwTime:DWord
Local MobID:DWord
Local MobLpObj:DWord
Lea Eax, MensajeEventito1
Push Eax
Call AllUserMsgS
Invoke KillTimer, NULL, IDC_TIMER
Mov Byte Ptr Ds:[624521H], 0
Invoke SetTimer, NULL, IDC_TIMER6, 300000, Addr MensajeEvento
Ret
TimePassed EndP
MensajeEvento Proc hwnd:DWord, uMsg:DWord, idEvent:DWord, dwTime:DWord
Mov Cl, Byte Ptr Ds:[6244D9H]
Cmp Ecx, 1
Je SaltaElMensaje
Lea Eax, MensajeEventito3
Push Eax
Call AllUserMsgS
Mov Byte Ptr Ds:[6244D9H], 1
SaltaElMensaje:
Invoke KillTimer, NULL, IDC_TIMER6
Mov Byte Ptr Ds:[624521H], 1
Call EventMessage
Ret
MensajeEvento EndP
StartEvent Proc hwnd:DWord, uMsg:DWord, idEvent:DWord, dwTime:DWord
Local MobID:DWord
Local MobLpObj:DWord
Mov Edx, DWord Ptr Ds:[0B679164H]
Invoke KillTimer, Edx, IDC_TIMER2
Lea Eax, MensajeEventito3
Push Eax
Call AllUserMsgS
Mov Byte Ptr Ds:[624521H], 1
Mov Ecx, 0AH
Push Ecx
Call gObjAddMonster
Add Esp, 4
Movsx Eax, Ax
Mov MobID, Eax
Mov Eax, MobID
IMul Eax, Eax, 1938H
Add Eax, gObj
Mov MobLpObj, Eax
Mov DWord Ptr Ds:[Eax + 104H], 0C9H
Mov Eax, MobLpObj
Mov DWord Ptr Ds:[Eax + 106H], 0C9H
Mov DWord Ptr Ds:[Eax + 109H], 0AH
Push 154H
Mov Eax, MobID
Push Eax
Call gObjSetMonster
Add Esp, 8
Ret
StartEvent EndP
CheckIds Proc
Local PlayerBaseID:DWord
Mov PlayerBaseID, 1900H
Jmp ComparePlayerBase
PlayerLooper:
Add PlayerBaseID, 1
ComparePlayerBase:
Cmp PlayerBaseID, 1CE8H
Jge EndSending
Mov Eax, PlayerBaseID
IMul Eax, Eax, 1938H
Cmp DWord Ptr Ds:[Eax + 658ACACH], 3
Jnz PlayerLooper
Mov Edx, PlayerBaseID
IMul Edx, Edx, 10
Add Edx, pMemory
Mov Cl, Byte Ptr Ds:[Edx + 1]
Cmp Ecx, 1
Jnz PlayerLooper
Mov Eax, PlayerBaseID
IMul Eax, Eax, 1938H
Add Eax, gObj
Movsx Edx, Word Ptr Ds:[Eax + 10DH]
Cmp Edx, 0AH
Jnz PlayerLooper
Push 0
Push 0
Mov Edx, PlayerBaseID
Push Edx
Push 0
Push 0
Push 0
Push 0
Push 0
Push 180FH
Mov Eax, PlayerBaseID
IMul Eax, Eax, 1938H
Mov Dl, Byte Ptr Ds:[Eax + 658ADAEH]
Push Edx
Mov Ecx, PlayerBaseID
IMul Ecx, Ecx, 1938H
Mov Cl, Byte Ptr Ds:[Ecx + 658ADACH]
Push Ecx
Mov Edx, PlayerBaseID
IMul Edx, Edx, 1938H
Xor Eax, Eax
Mov Al, Byte Ptr Ds:[Edx + 658ADB1H]
Push Eax
Mov Ecx, PlayerBaseID
IMul Ecx, Ecx, 1938H
Mov Edx, DWord Ptr Ds:[Ecx + 658ACA8H]
Push Edx
Call ItemSerialCreate
Add Esp, 34H
Push 0
Push 0
Mov Edx, PlayerBaseID
Push Edx
Push 0
Push 0
Push 0
Push 0
Push 0
Push 1C0BH
Mov Eax, PlayerBaseID
IMul Eax, Eax, 1938H
Mov Dl, Byte Ptr Ds:[Eax + 658ADAEH]
Push Edx
Mov Ecx, PlayerBaseID
IMul Ecx, Ecx, 1938H
Mov Cl, Byte Ptr Ds:[Ecx + 658ADACH]
Push Ecx
Mov Edx, PlayerBaseID
IMul Edx, Edx, 1938H
Xor Eax, Eax
Mov Al, Byte Ptr Ds:[Edx + 658ADB1H]
Push Eax
Mov Ecx, PlayerBaseID
IMul Ecx, Ecx, 1938H
Mov Edx, DWord Ptr Ds:[Ecx + 658ACA8H]
Push Edx
Call ItemSerialCreate
Add Esp, 34H
Jmp PlayerLooper
EndSending:
Ret
CheckIds EndP

EventOff Proc hwnd:DWord, uMsg:DWord, idEvent:DWord, dwTime:DWord
Invoke KillTimer, NULL, IDC_TIMER4
Invoke KillTimer, NULL, IDC_TIMER7
Lea Eax, EventFinish
Push Eax
Call AllUserMsgS
Call CheckIds
Invoke SetTimer, NULL, IDC_TIMER, 18000000, Addr TimePassed
Ret
EventOff EndP
EventMessage Proc
Invoke SetTimer, NULL, IDC_TIMER2, 30000, Addr Monster
Invoke SetTimer, NULL, IDC_TIMER5, 600000, Addr Monster2 ;;Despues de 10 minutos, cambiar monstruos
Invoke SetTimer, NULL, IDC_TIMER4, 1800000, Addr EventOff
Ret
EventMessage EndP
Monster Proc hwnd:DWord, uMsg:DWord, idEvent:DWord, dwTime:DWord
Local MobID:DWord
Local MobLpObj:DWord
Mov Ecx, 0AH
Push Ecx
Call gObjAddMonster
Add Esp, 4
Movsx Eax, Ax
Mov MobID, Eax
Mov Eax, MobID
IMul Eax, Eax, 1938H
Add Eax, gObj
Mov MobLpObj, Eax
Mov DWord Ptr Ds:[Eax + 104H], 0C7H
Mov Eax, MobLpObj
Mov DWord Ptr Ds:[Eax + 106H], 0C7H
Mov DWord Ptr Ds:[Eax + 109H], 0AH
Push 161H
Mov Eax, MobID
Push Eax
Call gObjSetMonster
Add Esp, 8
Mov Ecx, 0AH
Push Ecx
Call gObjAddMonster
Add Esp, 4
Movsx Eax, Ax
Mov MobID, Eax
Mov Eax, MobID
IMul Eax, Eax, 1938H
Add Eax, gObj
Mov MobLpObj, Eax
Mov DWord Ptr Ds:[Eax + 104H], 0C7H
Mov Eax, MobLpObj
Mov DWord Ptr Ds:[Eax + 106H], 0C7H
Mov DWord Ptr Ds:[Eax + 109H], 0AH
Push 15EH
Mov Eax, MobID
Push Eax
Call gObjSetMonster
Add Esp, 8
Mov Ecx, 0AH
Push Ecx
Call gObjAddMonster
Add Esp, 4
Movsx Eax, Ax
Mov MobID, Eax
Mov Eax, MobID
IMul Eax, Eax, 1938H
Add Eax, gObj
Mov MobLpObj, Eax
Mov DWord Ptr Ds:[Eax + 104H], 0C9H
Mov Eax, MobLpObj
Mov DWord Ptr Ds:[Eax + 106H], 0C9H
Mov DWord Ptr Ds:[Eax + 109H], 0AH
Push 161H
Mov Eax, MobID
Push Eax
Call gObjSetMonster
Add Esp, 8
Mov Ecx, 0AH
Push Ecx
Call gObjAddMonster
Add Esp, 4
Movsx Eax, Ax
Mov MobID, Eax
Mov Eax, MobID
IMul Eax, Eax, 1938H
Add Eax, gObj
Mov MobLpObj, Eax
Mov DWord Ptr Ds:[Eax + 104H], 0C9H
Mov Eax, MobLpObj
Mov DWord Ptr Ds:[Eax + 106H], 0C9H
Mov DWord Ptr Ds:[Eax + 109H], 0AH
Push 15EH
Mov Eax, MobID
Push Eax
Call gObjSetMonster
Add Esp, 8
Ret
Monster EndP
Monster2 Proc hwnd:DWord, uMsg:DWord, idEvent:DWord, dwTime:DWord
Invoke KillTimer, NULL, IDC_TIMER2
Invoke KillTimer, NULL, IDC_TIMER5
Invoke SetTimer, NULL, IDC_TIMER7, 30000, Addr Monster3
Ret
Monster2 EndP
Monster3 Proc hwnd:DWord, uMsg:DWord, idEvent:DWord, dwTime:DWord
Local MobID:DWord
Local MobLpObj:DWord
Mov Ecx, 0AH
Push Ecx
Call gObjAddMonster
Add Esp, 4
Movsx Eax, Ax
Mov MobID, Eax
Mov Eax, MobID
IMul Eax, Eax, 1938H
Add Eax, gObj
Mov MobLpObj, Eax
Mov DWord Ptr Ds:[Eax + 104H], 0C7H
Mov Eax, MobLpObj
Mov DWord Ptr Ds:[Eax + 106H], 0C7H
Mov DWord Ptr Ds:[Eax + 109H], 0AH
Push 167H
Mov Eax, MobID
Push Eax
Call gObjSetMonster
Add Esp, 8
Mov Ecx, 0AH
Push Ecx
Call gObjAddMonster
Add Esp, 4
Movsx Eax, Ax
Mov MobID, Eax
Mov Eax, MobID
IMul Eax, Eax, 1938H
Add Eax, gObj
Mov MobLpObj, Eax
Mov DWord Ptr Ds:[Eax + 104H], 0C7H
Mov Eax, MobLpObj
Mov DWord Ptr Ds:[Eax + 106H], 0C7H
Mov DWord Ptr Ds:[Eax + 109H], 0AH
Push 169H
Mov Eax, MobID
Push Eax
Call gObjSetMonster
Add Esp, 8
Mov Ecx, 0AH
Push Ecx
Call gObjAddMonster
Add Esp, 4
Movsx Eax, Ax
Mov MobID, Eax
Mov Eax, MobID
IMul Eax, Eax, 1938H
Add Eax, gObj
Mov MobLpObj, Eax
Mov DWord Ptr Ds:[Eax + 104H], 0C9H
Mov Eax, MobLpObj
Mov DWord Ptr Ds:[Eax + 106H], 0C9H
Mov DWord Ptr Ds:[Eax + 109H], 0AH
Push 167H
Mov Eax, MobID
Push Eax
Call gObjSetMonster
Add Esp, 8
Mov Ecx, 0AH
Push Ecx
Call gObjAddMonster
Add Esp, 4
Movsx Eax, Ax
Mov MobID, Eax
Mov Eax, MobID
IMul Eax, Eax, 1938H
Add Eax, gObj
Mov MobLpObj, Eax
Mov DWord Ptr Ds:[Eax + 104H], 0C9H
Mov Eax, MobLpObj
Mov DWord Ptr Ds:[Eax + 106H], 0C9H
Mov DWord Ptr Ds:[Eax + 109H], 0AH
Push 169H
Mov Eax, MobID
Push Eax
Call gObjSetMonster
Add Esp, 8
Ret
Monster3 EndP
NewGObj Proc
Invoke GlobalAlloc, GMEM_MOVEABLE Or GMEM_ZEROINIT, AllocSpace
Mov hMemory, Eax
Invoke GlobalLock, hMemory
Mov pMemory, Eax
Ret
NewGObj EndP

Cái này mình tìm thấy bên RZ thấy hay lên release ko biêt anh em thấy sao ai chua biết thì cùng nghien cứu cho vui

eddy
19-03-08, 12:06 PM
"Hốt" lẫn C++ với ASM ở đâu về thế "anh zai "......

;;)...anh đem về mà ko guide sao "mấy em" biết mà xài .... T_T...it's me noob

sontung306
19-03-08, 01:11 PM
Mong pác để Nguồn là : <b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b> hộ em .

vipnetpro
19-03-08, 01:28 PM
Mong pác để Nguồn là : <b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b> hộ em .

Cái này mình tìm thấy bên RZ thấy hay lên release ko biêt anh em thấy sao ai chua biết thì cùng nghien cứu cho vui :beated:
đc rồi mà nhưng cái này cũng khá đc:sweet_kiss:

caothuphutho
19-03-08, 06:13 PM
Mong pác để Nguồn là : <b><font color=red>[Chỉ có thành viên mới xem link được. <a href="register.php"> Nhấp đây để đăng ký thành viên......</a>]</font></b> hộ em .

đó chỉ là DEMO thui, bản tiếng việt được biên soạn đầy đủ chi tiết dễ làm dễ hiểu sẽ được TÔI Share trong vài ngày nữa, Hướng dẫn được áp dụng cho các GS 1.00.16 or 18

sontung306
20-03-08, 12:46 PM
Khoái nhất là cái SkyEvent Thui ! Cái này có dùng cho bản SS I không nhỉ ? :d

ductri
22-03-08, 11:02 AM
codes này ném vào đâu đây ???? đặt nó vào đâu cho nó chạy vậy ta

Master**CoDer
22-03-08, 11:24 AM
Khoái nhất là cái SkyEvent Thui ! Cái này có dùng cho bản SS I không nhỉ ? :d

Hướng dẫn được áp dụng cho các GS 1.00.16 or 18
cái náy chỉ áp dung cho season2 or season3 thui bạn ah

mipmeo
22-03-08, 08:32 PM
oh mong chờ reles đầu tiên của phú thọ team quá ..............

Master**CoDer
23-03-08, 07:55 AM
oh mong chờ reles đầu tiên của phú thọ team quá ..............

chắc cũng sớm thui vi team cũng đang cố gắng đưa ra bản release mang phong cách P.T.T

mipmeo
23-03-08, 08:45 PM
hờ hờ thì share demo cho anh em coi thử cái hoặc share GS của bản 1.00.16 cho những anh em newbie thế mới okie chứ .....

caothuphutho
23-03-08, 08:47 PM
oh mong chờ reles đầu tiên của phú thọ team quá ..............

bạn yên tâm !, một khi caothuphutho cũng như PhuTho Team "xuất hàng" thì bao giờ cũng được "kiểm định" kỹ lưỡng kết cấu rõ ràng cho các bạn không những chỉ để dùng mà còn để những ai muốn am hiểu về Server có thể hiểu rõ ràng nó mà không hiểu mù mờ về MuServer. tuy nhiên dạo này nhóm đều rất bận vì công việc của mỗi người ít có thời gian dành cho nó nữa. Nhưng các bạn đừng nên thất vọng vì phải chờ đợi lâu chúng tôi sắp Share toàn bộ những kiến thức mà tôi hay các thành viên trong nhóm nghiên cứu về cách add Option, lệnh chát toàn Server, lệnh cộng điểm & cách Moding Server theo ý muốn mục đích để những ai thích mày mò không mất nhiều thời gian nghiên cứu nó nữa , và tôi cũng hiểu được điều đó vì trước tôi mê Server tôi cũng như các bạn...và tất nhiên Hướng dẫn sẽ bằng tiếng việt hướng dẫn "chi li" cho những người "không bit gi" về Server cũng có thể làm được :) mục đích giao lưu học hỏi đó chính là phong cách PhuTho Team

koconai22
23-03-08, 09:29 PM
bạn yên tâm !, một khi caothuphutho cũng như PhuTho Team "xuất hàng" thì bao giờ cũng được "kiểm định" kỹ lưỡng kết cấu rõ ràng cho các bạn không những chỉ để dùng mà còn để những ai muốn am hiểu về Server có thể hiểu rõ ràng nó mà không hiểu mù mờ về MuServer. tuy nhiên dạo này nhóm đều rất bận vì công việc của mỗi người ít có thời gian dành cho nó nữa. Nhưng các bạn đừng nên thất vọng vì phải chờ đợi lâu chúng tôi sắp Share toàn bộ những kiến thức mà tôi hay các thành viên trong nhóm nghiên cứu về cách add Option, lệnh chát toàn Server, lệnh cộng điểm & cách Moding Server theo ý muốn mục đích để những ai thích mày mò không mất nhiều thời gian nghiên cứu nó nữa , và tôi cũng hiểu được điều đó vì trước tôi mê Server tôi cũng như các bạn...và tất nhiên Hướng dẫn sẽ bằng tiếng việt hướng dẫn "chi li" cho những người "không bit gi" về Server cũng có thể làm được :) mục đích giao lưu học hỏi đó chính là phong cách PhuTho Team
Thank anh caothuphutho nhiều cư dân đang cư ngụ tại Clbgames mong chờ tin vui của anh :beauty:

ductri
23-03-08, 10:31 PM
thế thế làm sao để run nó đây ???? share code nhưng chẳng biết để đâu ?????? Xin chỉ giáo

tngcphng
24-03-08, 06:56 PM
cái này bên ragezone ,còn nhiều nữa cơ

vipnetpro
26-03-08, 04:39 PM
cái này bên ragezone ,còn nhiều nữa cơ
Thì bạn hãy tìm và post cái này mình cũng ghi rõ nguồn mà.còn nữa cái này minhf mới la demo thui thât ra tụi mình sẽ có bản hướng dẫn bằng tiếng viêt hoàn chỉnh hơn

tungsony
26-03-08, 04:49 PM
Nếu đúng được như Caothuphutho thì hay qua, vì có rất nhiều người hiểu biết về Muserver rất hạn chế, hy vọng sẽ có bản hướng dẫn đầy đủ về cách dev server

ductri
27-03-08, 05:51 PM
thế thế làm sao để run nó đây ???? share code nhưng chẳng biết để đâu ?????? Xin chỉ giáo

oài nhưng tui hẻm biết nó đặt vào đâu ???????????????????????????????????
đang xài cái bản 1.00.16 mà các lệnh cộng điểm ko thực hiện được các lệnh như: cộng điểm, /post , v.v.... ko thực hiện được chỉ có các lệnh cơ bản thì dùng đựoc như trade, pt.....

help me !.....................

vipnetpro
28-03-08, 08:14 PM
oài nhưng tui hẻm biết nó đặt vào đâu ???????????????????????????????????
đang xài cái bản 1.00.16 mà các lệnh cộng điểm ko thực hiện được các lệnh như: cộng điểm, /post , v.v.... ko thực hiện được chỉ có các lệnh cơ bản thì dùng đựoc như trade, pt.....

help me !.....................
Thời gian này chúng tôi hơi bạn đều phải lo công việc của mỗi người . Nhưng chúng tôi sẽ share sớm nhất khi có thể

ductri
30-03-08, 04:50 PM
Hic ko ai giúp cả sao tui đang cần gấp ai giúp tui đi !:sure::sure::sure::sure::sure::sure::sure::beat_p laster::beat_plaster::beat_plaster::beat_plaster:: beat_plaster: