New Jewels for 1.03k Main (1.03.11)

Page 2 of 6 FirstFirst 123456 LastLast
Results 16 to 30 of 84
  1. #16
    Novice Genilson is offline
    MemberRank
    Jun 2010 Join Date
    3Posts

    Re: New Jewels for 1.03k Main (1.03.11)

    young vejo que voce e brasileiro..

    eu acho que e nessa parte do código

    void InitModel(int ItemID, char *ModelName, char *Folder, char *Form)
    {
    _asm
    {
    push -1;
    push ModelName;
    push Form;
    push ItemID;
    mov eax, 0x005D5DC3;
    call eax;

    push 1;
    push 0x2600;
    push 0x2901;
    push Folder;
    push ItemID;
    mov eax, 0x005D5710;
    call eax;
    }
    }

    pois quando a essa função chama a função InitModel da ero no main quando ta carregando..

    void __declspec(naked) PatchNewModel()
    {
    InitModel(LOAD_ITEM(14,120), "ExcelentJewel", ItemFolder, ItemDir); // ExcelentJewel.bmd
    InitModel(LOAD_ITEM(14,121), "BlueJewel", ItemFolder, ItemDir); // BlueJewel.bmd
    InitModel(LOAD_ITEM(14,122), "BlackJewel", ItemFolder, ItemDir); // BlackJewel.bmd
    InitModel(LOAD_ITEM(14,123), "RedJewel", ItemFolder, ItemDir); // RedJewel.bmd
    InitModel(LOAD_ITEM(14,124), "GreenJewel", ItemFolder, ItemDir); // GreenJewel.bmd

    _asm
    {
    push -1;
    push 0x008C7E74;
    push 0x008C7E7C;
    push 0x1F61;
    mov eax, 0x005D5DC3;
    call eax;
    add esp, 0x10;
    mov eax, 0x005D940C;
    jmp eax;
    }
    }

  2. #17
    Proficient Member Young is offline
    MemberRank
    Jul 2005 Join Date
    BrazilLocation
    190Posts

    Re: New Jewels for 1.03k Main (1.03.11)

    Quote Originally Posted by Genilson View Post
    young vejo que voce e brasileiro..

    eu acho que e nessa parte do código
    ...
    Sim, porém este fórum é americano, portanto continuemos no inglês, ok ?

    I don't see any problem with this function, so the problem can be with the hook process. Try to put this at the start of your your API Entrypoint (or in DLL_ATTACH):

    Code:
    DWORD dwOldProtect;
    VirtualProtect(LPVOID(0x00401000), 0x00875FFF, PAGE_EXECUTE_READWRITE, &dwOldProtect);
    Last edited by Young; 02-02-12 at 06:13 PM.

  3. #18
    nullptr -=DarkSim=- is offline
    MemberRank
    Oct 2008 Join Date
    Lost continentLocation
    240Posts

    Re: New Jewels for 1.03k Main (1.03.11)

    Code:
    #define iItemDropSound		0x0068AE2F
    
    //------------------------------------------------------------------------
    DWORD	dwItemDropSound_Pointer;
    bool	bItemDropSound_Set;
    
    //------------------------------------------------------------------------
    void __declspec(naked) cItemDropSound()
    {
    	bItemDropSound_Set = false;
    	// ----
    	_asm
    	{
    		mov esi, dword ptr ss:[ebp-0x4]
    		mov dwItemDropSound_Pointer, esi
    	}
    	// ----
    	if( dwItemDropSound_Pointer == ITEM(14, 14) )
    	{
    		bItemDropSound_Set = true;
    	}
    	else if( dwItemDropSound_Pointer == ITEM(14,106) )
    	{
    		bItemDropSound_Set = true;
    	}
    	// ----
    	if( bItemDropSound_Set == true )
    	{
    		_asm
    		{
    			mov esi, 0x0068AE5C
    			jmp esi
    		}
    	}
    	else
    	{
    		_asm
    		{
    			mov esi, 0x0068AE38
    			jmp esi
    		}
    	}
    }
    
    //------------------------------------------------------------------------
    SetRange((LPVOID)iItemDropSound, 9, ASM::NOP);
    SetJmp((LPVOID)iItemDropSound, cItemDropSound);
    mauro07
    - For play drop sound need search drop and pick functions & hook this, simple hook 1/9 of used in main function like Jewel Of Bless.

    And for shine effect on jewels need use gl function or hook anyther in main, not glow effect =/

    Like this:
    Code:
    _asm
    {
    PUSH -1 // option
    PUSH -1 // option
    MOV EAX,DWORD PTR SS:[ARG.2]
    MOV ECX,DWORD PTR DS:[EAX+0A0]
    PUSH ECX 
    MOV EDX,DWORD PTR SS:[ARG.2]
    MOV EAX,DWORD PTR DS:[EDX+9C]
    PUSH EAX                              
    MOV ECX,DWORD PTR SS:[ARG.2]
    MOV EDX,DWORD PTR DS:[ECX+98]
    PUSH EDX                                 
    MOV EAX,DWORD PTR SS:[ARG.2]
    MOV ECX,DWORD PTR DS:[EAX+94]
    PUSH ECX                                
    PUSH 3F666666 // KML color
    PUSH 2 // Shine type (2 or 44 like)
    MOV ECX,DWORD PTR SS:[ARG.1]
    CALL 0051932D // Call to gl function
    }
    Young
    - Offsets for 1.02.11 JPN main, for pick sound you need hook like function) If need i'm upload pick sound)
    Last edited by -=DarkSim=-; 03-02-12 at 06:02 AM.

  4. #19
    Darkness Member Kiosani is offline
    MemberRank
    Oct 2007 Join Date
    ArgentinaLocation
    1,276Posts

    Re: New Jewels for 1.03k Main (1.03.11)

    Thanks for help with this: DarkSim, you are the best! :D

  5. #20
    Everything is a joke. duracel is offline
    MemberRank
    Sep 2005 Join Date
    442Posts

    Re: New Jewels for 1.03k Main (1.03.11)

    Quote Originally Posted by mauro07 View Post
    Thanks for help with this: Crazzy, you are the best! :D
    Where do you see crazzy? that's DarkSim

    on topic: i'll look in my old pc and see if i can find my research on adding new wings.

  6. #21
    Proficient Member Young is offline
    MemberRank
    Jul 2005 Join Date
    BrazilLocation
    190Posts

    Re: New Jewels for 1.03k Main (1.03.11)

    Quote Originally Posted by -=DarkSim=- View Post
    Jewel Of Divinity - Upgrade items from 9 to 13
    Dark, how this level upgrade works ? Is sequential or random ?

    For sequential I mean:
    Each Jewel of Divinity increment 1 level from +9 to +13. It's interesting implement a failure chance for this method...

    For random I mean:
    Each Jewel of Divinity random from 1 to 4 then increment item level with the result. If the item level is 11 and the rand returns 3, then the max result will be 2 (11 + 2 = 13). I think this function sucks, but I don't know how this Jewel works in RMTS server.

    --

    Server side progress:
    Jewel Of Skill - 100% Done
    Jewel Of Luck - 100% Done
    Jewel Of Excellent - 100% Done
    Jewel Of Assembly - 100% Done
    Jewel Of Divinity - 0% Done

  7. #22
    nullptr -=DarkSim=- is offline
    MemberRank
    Oct 2008 Join Date
    Lost continentLocation
    240Posts

    Re: New Jewels for 1.03k Main (1.03.11)

    Young
    Code:
    if((gObj->pInventory[lpMsg->invenrotyTarget].m_Level < MaxLevel) && (gObj->pInventory[lpMsg->invenrotyTarget].m_Level >= MinLevel))
    		{	
    			if(iRate < SucRate2)
    			{
    				gObj->pInventory[lpMsg->invenrotyTarget].m_Level++;
    				gObjInventoryItemSet(aIndex,lpMsg->inventoryPos, -1);
    				ItemClear(aIndex,lpMsg->inventoryPos);
    				GCInventoryItemOneSend(aIndex, lpMsg->invenrotyTarget);
    				GCInventoryItemDeleteSend(aIndex, lpMsg->inventoryPos, 1);
    			}
    			else
    			{
    				gObjInventoryItemSet(aIndex,lpMsg->inventoryPos, -1);
    				ItemClear(aIndex,lpMsg->inventoryPos);
    				GCInventoryItemOneSend(aIndex, lpMsg->invenrotyTarget);
    				GCInventoryItemDeleteSend(aIndex, lpMsg->inventoryPos, 1);
    			}
    		}
    		else
    		{
    			MsgNormal(aIndex,"[SYSTEM] This Jewel not used to this item");
    			return;
    		}

  8. #23
    Member MuTimisoara is offline
    MemberRank
    Jan 2012 Join Date
    JungleLocation
    75Posts

    Re: New Jewels for 1.03k Main (1.03.11)

    after finishing the project can u share a guide how to add them on server .... Thanks

  9. #24
    Everything is a joke. duracel is offline
    MemberRank
    Sep 2005 Join Date
    442Posts

    Re: New Jewels for 1.03k Main (1.03.11)

    Simple guide -> Learn C++.

  10. #25
    Proficient Member Young is offline
    MemberRank
    Jul 2005 Join Date
    BrazilLocation
    190Posts

    Re: New Jewels for 1.03k Main (1.03.11)

    Server side 100% done. Topic updated. Please recompile client with the new files to enable New Jewel usage in Pendants & Rings.

    Please respect credits !

    Thanks everybody.

  11. #26
    Proficient Member Van_Bom is offline
    MemberRank
    May 2009 Join Date
    194Posts

    Re: New Jewels for 1.03k Main (1.03.11)

    void ExpBugObtainedExp()
    {
    _asm
    {
    POP ESI
    TEST BYTE PTR DS:[0x561616], 1
    JNZ SHORT q1
    ADD ESI, ECX
    q1: MOV ECX, 0x55C4C20
    MOV BYTE PTR DS:[0x561616], 0
    PUSH ESI
    }
    }

    have you fix HP show and damg show in main.exe ? mauro07
    thank you

  12. #27
    Proficient Member josesp is offline
    MemberRank
    Mar 2009 Join Date
    186Posts

    Re: New Jewels for 1.03k Main (1.03.11)

    Code:
    void __declspec(naked) Extern_JewelsBEEPSound()
    {
    	IsJewel = FALSE;
    
    	__asm {
    		MOV EAX, DWORD PTR SS:[EBP-4]
    		MOV dItem, EAX
    	}
    
    	if(dItem == ITEMGET(14,14) || dItem == ITEMGET(14,101)){ //Jewel of ^^
    		IsJewel = TRUE;
    	}
    
    	if(IsJewel == TRUE){
    		__asm {
    			MOV EDX, 0x005C17EF
    			JMP EDX
    		}
    	}
    
    	__asm {
    		MOV EDX, 0x005C17CB
    		JMP EDX
    	}
    }
    Jewels Sound... for 1.03K 0x005C17C2 <-Start Here

    NOT TESTED :) xD
    Last edited by josesp; 03-02-12 at 04:41 PM.

  13. #28
    Novice Genilson is offline
    MemberRank
    Jun 2010 Join Date
    3Posts

    Re: New Jewels for 1.03k Main (1.03.11)

    Young here continues giving error

    the problem is in the function

    void InitModel(int ItemID, char *ModelName, char *Folder, char *Form)

    because the function Writejmp SetNop worked and in others not only worked in PatchNewModel

    Only the error when void CustomBmdInit() be enabled

    Below is a photo for more details


    :)

  14. #29
    Darkness Member Kiosani is offline
    MemberRank
    Oct 2007 Join Date
    ArgentinaLocation
    1,276Posts

    Re: New Jewels for 1.03k Main (1.03.11)

    with all this new sources, we can add other items (like: special quest items) or maybe too: new chaos items for new chaos combinations!

    like this:



    :)

  15. #30
    Proficient Member Young is offline
    MemberRank
    Jul 2005 Join Date
    BrazilLocation
    190Posts

    Re: New Jewels for 1.03k Main (1.03.11)

    Quote Originally Posted by Genilson View Post
    Young here continues giving error

    the problem is in the function

    void InitModel(int ItemID, char *ModelName, char *Folder, char *Form)
    ...
    No problem with this function. You have try the VirtualProtect ? Try to compile it in Release, not Debug ! If don't work, start a new DLL project or kill yourself...

    Quote Originally Posted by mauro07 View Post
    with all this new sources, we can add other items...
    No shit, Sherlock !



Page 2 of 6 FirstFirst 123456 LastLast

Advertisement