PDA

View Full Version : |Dúvida| Add NewMaps MuEmu



boris160
17/11/2017, 12:54 PM
bom alguém aki ja tentou add novos mapas na versão 1.05? estou tentando adicionar tendo como base o code do Nemesis mas a source zteam s6, o problema é q ao tentar mover para o mapa simplesmente n acontece nda,acho que deve ser os offsets de aumentar o limite de terrains,pois na versão 1.03 jmp os offsets são visíveis,já na 1.04E são invisíveis ! por exemplo um dos offsets é 5D7761 (visível) já pra a 1.04E ele pula três dígitos pra frente 5D7764(invisível).... n sei se isso seria o problema muitos aki entendem mais que eu,então poderão ajudar !

deixo aki a source de leitura .tga de novos mapas,linha text.bmd de novos mapas e aumentar .atts

NewMap.h



void NewMapHooks();


NewMap.cpp



#include "stdafx.h"
#include "NewMap.h"
#include "ToolKit.h"
#include "TMemory.h"
#include "Defines.h"


DWORD MapTextOffset = 0x00402570;
DWORD MapJumpOffset = 0x00597A81;
DWORD MapReturnOffset = 0x0059779F;




void __declspec(naked) LoadNewTextMapName()
{
_asm
{
CMP ESI,0x22 // Crywolf MapId: 34
JNZ NextMapText1
PUSH 0x73B
MOV ECX, 0x079F5190
CALL MapTextOffset
JMP MapJumpOffset
// ---
NextMapText1:
// ---
CMP ESI,0x3F //NewMap : 63
JNZ ReturnMapLoad
PUSH 0x741 // Text.bmd number line: 1857
MOV ECX, 0x079F5190
CALL MapTextOffset
JMP MapJumpOffset
// ---
ReturnMapLoad:
// ---
JMP MapReturnOffset
}
}


char * arkania_map = "Interface\\Arkania_Map.tga";


void __declspec(naked) LoadNewInterfaceMapName()
{
_asm
{
MOV DWORD PTR SS:[EBP-0x0D0],0x3E // 0x3E = 62 santatown (Hook place)
PUSH 0x0083ECE8 // Arg1 = ASCII "Interface\santatown.tga"
LEA EAX,DWORD PTR SS:[EBP-0x0D0]
PUSH EAX
MOV ECX,DWORD PTR SS:[EBP-0x0D4]
ADD ECX,0x4
CALL InterfaceLoad1
MOV ECX,EAX
CALL InterfaceLoad2


MOV DWORD PTR SS:[EBP-0x0D0],0x3F
PUSH arkania_map
LEA EAX,DWORD PTR SS:[EBP-0x0D0]
PUSH EAX
MOV ECX,DWORD PTR SS:[EBP-0x0D4]
ADD ECX,0x4
CALL InterfaceLoad1
MOV ECX,EAX
CALL InterfaceLoad2


MOV ESP,EBP
POP EBP
RETN


InterfaceLoad1:
MOV EDI, 0x0045E270
JMP EDI
// ---
InterfaceLoad2:
MOV EDI, 0x004087B0
JMP EDI

}
}


void NewMapHooks()
{
ToolKit.WriteJmp(0x00597786,(DWORD)&LoadNewTextMapName);
ToolKit.WriteJmp(0x0045DEB0,(DWORD)&LoadNewInterfaceMapName);


////.att
SetByte((PVOID)0x005D7764,0xEB);
SetByte((PVOID)0x005D776A,0xEB);
SetByte((PVOID)0x005D79BB,0xEB);
SetByte((PVOID)0x005D79C1,0xEB);
SetByte((PVOID)0x005D7A5E,0xEB);
SetByte((PVOID)0x005D7A64,0xEB);


SetByte((PVOID)0x005D7763,0x69);
SetByte((PVOID)0x005D79BA,0x69);
SetByte((PVOID)0x005D7A5D,0x69);
}

Mentor
17/11/2017, 01:43 PM
@boris160 ([Only registered and activated users can see links]) eu já tentei adicionar na season6 mais não deu muito certo porque não sei os offsets do main que é 1.04E "/
Tem uma source ai acho que ta com nome muarkania que tem isso codado mais é para main da zteam mais acredito que por ela você vai ter sucesso ;)
Dá uma procurada na área de source pois tem ela postada aqui no fórum.
No gs até conseguir e rodar inclusive o main deles mais queria introduzir isso no main da muemu, pois eles usam main da zteam.
Abraço!

edit

Eu procurei o tópico mais acho que essa source ainda não tem postada aqui não, não lembro de onde peguei a source mais é uma source do michi, depois dar uma pesquisada pois acho que ta na rz.

boris160
17/11/2017, 01:51 PM
Já vi essa source,foi por ela q me baseei pra achar os offsets :ott1

louis
17/11/2017, 03:36 PM
Você disse que não move para o novo mapa, mais no caso acredito que moveria mesmo sem o mapa exsitir, tipo ficaria lá voando no preto, ou daria erro no cliente, tentou usar o move de gm?

adicionou o mapa o mapmanager.txt?

boris160
17/11/2017, 04:06 PM
Você disse que não move para o novo mapa, mais no caso acredito que moveria mesmo sem o mapa exsitir, tipo ficaria lá voando no preto, ou daria erro no cliente, tentou usar o move de gm?

adicionou o mapa o mapmanager.txt?

sim tentei mover por um gm,tbm ja tentei add novos gate do mapa e nda vai,por isso acredito q seja o limite de leitura de .atts q o main n está fazendo pk ele n identifica a att do novo mapa

louis
17/11/2017, 04:12 PM
sim tentei mover por um gm,tbm ja tentei add novos gate do mapa e nda vai,por isso acredito q seja o limite de leitura de .atts q o main n está fazendo pk ele n identifica a att do novo mapa

e no muserver vc fez o load da att?

Eu acho que se tiver certo no muserver vai mover na marra, e vai dar erro no cliente, então falta a parte do muserver

boris160
17/11/2017, 05:26 PM
e no muserver vc fez o load da att?

Eu acho que se tiver certo no muserver vai mover na marra, e vai dar erro no cliente, então falta a parte do muserver

sim era pra dar pelo menos algum erro ao tenta mover,no muserver apenas adicionei os novos moves e a terrain do mapa, no muserver e so isso,n precisa add novas terrarin no GS

louis
17/11/2017, 05:42 PM
sim era pra dar pelo menos algum erro ao tenta mover,no muserver apenas adicionei os novos moves e a terrain do mapa, no muserver e so isso,n precisa add novas terrarin no GS

Tem sim, se for muemu, por exemplo:

#define MAX_MAP 82 (S6)

e também tem que adicionar o mapa no MapManager.txt

s00x
17/11/2017, 06:33 PM
sim era pra dar pelo menos algum erro ao tenta mover,no muserver apenas adicionei os novos moves e a terrain do mapa, no muserver e so isso,n precisa add novas terrarin no GS

Existe sim, o GameServer lê o total padrão, se quiser adicionar um Custom, deve mudar o limite assim como o louis disse, se a parte do Main estiver correta, não irá dar erro algum.

boris160
17/11/2017, 06:56 PM
[Only registered and activated users can see links]
[Only registered and activated users can see links]

16 Horas 13 minutes:------- Atualizado -------

adicionado 2 novos mapas ^^


[Only registered and activated users can see links]