[Release] scource codes
Hello & Welcome to our community. Is this your first visit? Đăng Ký
Follow us on
Follow us on Facebook Follow us on Twitter Linked In Flickr Watch us on YouTube My Space Blogger
 
Trang 1 của 2 1 2 CuốiCuối
Kết quả 1 đến 10 của 20
  1. #1
    Thành Viên
    Ngày tham gia
    Jun 2006
    Bài viết
    23
    Thanks
    0
    Thanked 0 Times in 0 Posts

    [Release] scource codes

    /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
    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));
    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);
    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 Word, Word, Word, Word
    StartEvent Proto Word, Word, Word, Word
    Monster Proto Word, Word, Word, Word
    Monster2 Proto Word, Word, Word, Word
    Monster3 Proto Word, Word, Word, Word
    EventOff Proto Word, Word, Word, Word
    MensajeEvento Proto Word, Word, Word, Word

    .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, reasonWord, reserved1Word
    Mov Eax, TRUE
    Ret
    DllEntry EndP
    NPCEvent Proc
    Local PlayerIDWord
    Local MapWord
    Local XWord
    Local YWord
    Local lpObjWord
    Local CounterWord
    Local MobIDWord
    Local MobLpObjWord
    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 hwndWord, uMsgWord, idEventWord, dwTimeWord
    Local MobIDWord
    Local MobLpObjWord
    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 hwndWord, uMsgWord, idEventWord, dwTimeWord
    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 hwndWord, uMsgWord, idEventWord, dwTimeWord
    Local MobIDWord
    Local MobLpObjWord
    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 PlayerBaseIDWord
    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 hwndWord, uMsgWord, idEventWord, dwTimeWord
    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 hwndWord, uMsgWord, idEventWord, dwTimeWord
    Local MobIDWord
    Local MobLpObjWord
    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 hwndWord, uMsgWord, idEventWord, dwTimeWord
    Invoke KillTimer, NULL, IDC_TIMER2
    Invoke KillTimer, NULL, IDC_TIMER5
    Invoke SetTimer, NULL, IDC_TIMER7, 30000, Addr Monster3
    Ret
    Monster2 EndP
    Monster3 Proc hwndWord, uMsgWord, idEventWord, dwTimeWord
    Local MobIDWord
    Local MobLpObjWord
    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
    Lần sửa cuối bởi vipnetpro, ngày 19-03-08 lúc 01:26 PM.
    Khách viếng thăm hãy cùng vipnetpro xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  2. #2
    VTM Coder eddy's Avatar
    Ngày tham gia
    Mar 2007
    Đang ở
    Net4Viet Team
    Bài viết
    1,453
    Thanks
    40
    Thanked 302 Times in 108 Posts

    Ðề: [Release] scource codes

    "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
    Khách viếng thăm hãy cùng eddy xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  3. #3
    Thành Viên sontung306's Avatar
    Ngày tham gia
    Sep 2006
    Bài viết
    71
    Thanks
    7
    Thanked 4 Times in 1 Post

    Ðề: [Release] scource codes

    Mong pác để Nguồn là : [Only registered and activated users can see links. ] hộ em .
    Khách viếng thăm hãy cùng sontung306 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  4. #4
    Thành Viên
    Ngày tham gia
    Jun 2006
    Bài viết
    23
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Ðề: [Release] scource codes

    Trích dẫn Gửi bởi sontung306 [Only registered and activated users can see links. ]
    Mong pác để Nguồn là : [Only registered and activated users can see links. ] 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

    đc rồi mà nhưng cái này cũng khá đc
    Khách viếng thăm hãy cùng vipnetpro xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  5. #5
    *|* net4viet Team *|* caothuphutho's Avatar
    Ngày tham gia
    Feb 2007
    Đang ở
    0x00000000
    Bài viết
    525
    Thanks
    75
    Thanked 1,050 Times in 223 Posts

    Ðề: [Release] scource codes

    Trích dẫn Gửi bởi sontung306 [Only registered and activated users can see links. ]
    Mong pác để Nguồn là : [Only registered and activated users can see links. ] 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
    Khách viếng thăm hãy cùng caothuphutho xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  6. #6
    Thành Viên sontung306's Avatar
    Ngày tham gia
    Sep 2006
    Bài viết
    71
    Thanks
    7
    Thanked 4 Times in 1 Post

    Ðề: [Release] scource codes

    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
    Khách viếng thăm hãy cùng sontung306 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  7. #7
    Thành Viên ductri's Avatar
    Ngày tham gia
    Jun 2006
    Bài viết
    113
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Ðề: [Release] scource codes

    codes này ném vào đâu đây ???? đặt nó vào đâu cho nó chạy vậy ta
    Khách viếng thăm hãy cùng ductri xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  8. #8
    Thành Viên
    Ngày tham gia
    Mar 2008
    Bài viết
    35
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Ðề: [Release] scource codes

    Trích dẫn Gửi bởi sontung306 [Only registered and activated users can see links. ]
    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
    Khách viếng thăm hãy cùng Master**CoDer xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  9. #9
    Thành Viên mipmeo's Avatar
    Ngày tham gia
    May 2006
    Bài viết
    75
    Thanks
    8
    Thanked 0 Times in 0 Posts

    Ðề: [Release] scource codes

    oh mong chờ reles đầu tiên của phú thọ team quá ..............
    Khách viếng thăm hãy cùng mipmeo xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  10. #10
    Thành Viên
    Ngày tham gia
    Mar 2008
    Bài viết
    35
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Ðề: [Release] scource codes

    Trích dẫn Gửi bởi mipmeo [Only registered and activated users can see links. ]
    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
    Khách viếng thăm hãy cùng Master**CoDer xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

 

 
Trang 1 của 2 1 2 CuốiCuối

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Múi giờ GMT +7. Bây giờ là 01:32 PM.
vBulletin®, Copyright ©2000-2011, Jelsoft Enterprises Ltd.
CLBGamesVN không chịu trách nhiệm về Luật Bản Quyền của các tài liệu, bài viết v.v...được đăng tải trên diễn đàn này.
Diễn đàn phát triển dưới sự đóng góp của tất cả thành viên. BQT chỉ là những người thành lập ra sân chơi, quản lý và duy trì về mặt kỹ thuật, nội dung khi hợp lệ.