Jump to content

ѕeмa™

Member
  • Posts

    340
  • Joined

  • Last visited

  • Days Won

    10
  • Feedback

    0%

Posts posted by ѕeмa™

  1. Version of Files XXX

    Hi everyone,

    A few days ago my brother told me that he need a hack to do some shit in the gameforge server to make money esily, so i started to code some shit, but the problem begins when u start the client, so....

     

    There are 2 ways to start the client, with gameforge launcher or just clicking the .exe button.

     

    If you click the .exe button and you load the .py file in the login window everything works, but u can not log in because it says that u have to open it with gameforge shit launcher.

    So.... if you launch the game with gayforge launcher when u inject the .py file the module names are different, so I think they are using some kind of dinamic module name or something like that.

     

    Any of you know any way to bypass the gameforge launcher or just the new module names?

     

    This is the error when u try to load something opening with gayforge launcher.

    0512 21:10:39701 :: Traceback (most recent call last):
    
    0512 21:10:39702 ::   File "<string>", line 3, in <module>
    
    0512 21:10:39702 ::   File "system.py", line 160, in system.__hybrid_import (system.c:3609)
    
    0512 21:10:39702 :: ImportError
    0512 21:10:39702 :: : 
    0512 21:10:39702 :: No module named playerm2g2
    0512 21:10:39702 :: 
    

     

    Ive been away for a while, so there are a few new things for me here.

     

    Thanks and hope any of you can help me ;)

    • Lmao 1
  2. M2 Download Center

    This is the hidden content, please
    ( Internal )

    I will explain you how can you watch 3D models in a browser, for example, metin2 models.

    Moderators please fix the fucking problem with the spoilers. Thanks

     

    182226e88e04bd2f739e18e2274aa1062f6e3c.p1822269c1f1542d42cb06638ae75ea7dda6a86.p

     

     

    1. You need the tool grnreader.exe (Dont know who made it, but the src is in the attachment)
    2. Drag the granny model to the grnreader.exe and new file will be created.
    3. Open that object with 3DMax and export it to (.obj and .mtl)
    4. Now you just need to copy the texture dds and transfor to .png.
    5. Open .mtl file and replace the texture path (example above) *
    6. Use in the browser the next js files:
      1. webgl extension.
    7. *Picture of the texture path and files
    8. ** Example code

     

    * Picture of the path and files.

    e88e04bd2f739e18e2274aa1062f6e3c.png

    ** Code

     
    
       <script src="vendors/js/webgl/three.js"></script>
        <script src="vendors/js/webgl/Detector.js"></script>
        <script src="vendors/js/webgl/OrbitControls.js"></script>
        <script src="vendors/js/webgl/OBJLoader.js"></script>
        <script src="vendors/js/webgl/MTLLoader.js"></script>
    	<script>
    		if (!Detector.webgl) {
    			Detector.addGetWebGLMessage();
    		}
    
    		var container;
    		var camera, controls, scene, renderer;
    		var lighting, ambient, keyLight, fillLight, backLight;
    
    		var windowHalfX = document.getElementById("content").offsetWidth-100; // carefull here, use your OWN getElementById.
    		var windowHalfY = document.getElementById("content").offsetHeight; // carefull here, use your OWN getElementById.
    
    		init();
    		animate();
    
    		function init() {
    
    			container = document.createElement('div');
    			document.getElementById("3dmodel").appendChild(container); // carefull here, use your OWN getElementById.
    
    			camera = new THREE.PerspectiveCamera(3000, window.innerWidth / window.innerHeight, 1, 1000);
    			camera.position.z = 200; // can be 150
    
    			/* Scene */
    
    			scene = new THREE.Scene();
    			lighting = false;
    
    			ambient = new THREE.AmbientLight(0xffffff, 1.0);
    			scene.add(ambient);
    
    			keyLight = new THREE.DirectionalLight(new THREE.Color('hsl(30, 100%, 75%)'), 1.0);
    			keyLight.position.set(100, 0, 100);
    
    			fillLight = new THREE.DirectionalLight(new THREE.Color('hsl(240, 100%, 75%)'), 0.75);
    			fillLight.position.set(100, 0, 100);
    
    			backLight = new THREE.DirectionalLight(0xffffff, 1.0);
    			backLight.position.set(100, 0, -100).normalize();
    
    			/* Model */
    
    			var mtlLoader = new THREE.MTLLoader();
    			mtlLoader.setBaseUrl('vendors/mobs/stray_dog/');
    			mtlLoader.setPath('vendors/mobs/stray_dog/');
    			mtlLoader.load('stray_dog.mtl', function (materials) {
    
    				materials.preload();
    
    				// materials.materials.default.map.magFilter = THREE.NearestFilter;
    				// materials.materials.default.map.minFilter = THREE.LinearFilter;
    
    				var objLoader = new THREE.OBJLoader();
    				objLoader.setMaterials(materials);
    				objLoader.setPath('vendors/mobs/stray_dog/');
    				objLoader.load('stray_dog.obj', function (object) {
    					scene.add(object);
    				});
    			});
    
    			/* Renderer */
    
    			renderer = new THREE.WebGLRenderer({ alpha: true });
    			renderer.setPixelRatio(window.devicePixelRatio);
    			renderer.setSize(windowHalfX, window.innerHeight);
    			//renderer.setClearColor(new THREE.Color("hsl(0, 0%, 0%)")); // 100% = background blanco, 10% = gris, 0% = negro
                //renderer.setClearColorHex( 0xffffff, 0 );
    			container.appendChild(renderer.domElement);
    
    			/* Controls */
    
    			controls = new THREE.OrbitControls(camera, renderer.domElement);
    			controls.enableDamping = true;
    			controls.dampingFactor = 0.25;
    			controls.enableZoom = true;
    
    			/* Events */
    
    			window.addEventListener('resize', onWindowResize, false);
    			window.addEventListener('keydown', onKeyboardEvent, false);
    		}
    
    		function onWindowResize() {
    			var windowHalfX = document.getElementById("content").offsetWidth-35; // carefull here, use your OWN getElementById.
    			windowHalfY = window.innerHeight / 2;
    			camera.aspect = window.innerWidth / window.innerHeight;
    			camera.updateProjectionMatrix();
    			renderer.setSize(windowHalfX, window.innerHeight);
    		}
    
    		function onKeyboardEvent(e) {
    			if (e.code === 'KeyL') {
    				lighting = !lighting;
    				if (lighting) {
    					ambient.intensity = 0.25;
    					scene.add(keyLight);
    					scene.add(fillLight);
    					scene.add(backLight);
    				} else {
    					ambient.intensity = 1.0;
    					scene.remove(keyLight);
    					scene.remove(fillLight);
    					scene.remove(backLight);
    				}
    			}
    		}
    
    		function animate() {
    			requestAnimationFrame(animate);
    			controls.update();
    			render();
    		}
    
    		function render() {
    			renderer.render(scene, camera);
    		}
    	</script>

    This is the hidden content, please

    • Metin2 Dev 4
    • Think 1
    • Good 7
    • muscle 1
    • Love 10
  3. hace 27 minutos, iMeleys dijo:

    I Actually looking on "syserr" on channel1 and found this here..
     

    
    SYSERR: Jul 22 20:29:24 :: locale_find: LOCALE_ERROR: "������ �������� 3�� �� �������ϴ�.";
    SYSERR: Jul 22 20:29:24 :: locale_find: LOCALE_ERROR: "������ ȹ��: %s";
    SYSERR: Jul 22 20:42:51 :: locale_find: LOCALE_ERROR: "������ ȹ��: %s";
    SYSERR: Jul 22 20:42:51 :: locale_find: LOCALE_ERROR: "������ ȹ��: %s";
    SYSERR: Jul 22 20:42:51 :: locale_find: LOCALE_ERROR: "������ ȹ��: %s";
    SYSERR: Jul 22 20:42:51 :: locale_find: LOCALE_ERROR: "������ ȹ��: %s";
    SYSERR: Jul 22 20:42:51 :: locale_find: LOCALE_ERROR: "������ ȹ��: %s";
    SYSERR: Jul 22 20:42:51 :: locale_find: LOCALE_ERROR: "������ ȹ��: %s";
    SYSERR: Jul 22 20:42:51 :: locale_find: LOCALE_ERROR: "������ ȹ��: %s";
    SYSERR: Jul 22 20:42:51 :: locale_find: LOCALE_ERROR: "������ ȹ��: %s";
    SYSERR: Jul 22 20:42:51 :: locale_find: LOCALE_ERROR: "������ ȹ��: %s";
    SYSERR: Jul 22 20:42:51 :: locale_find: LOCALE_ERROR: "������ ȹ��: %s";
    SYSERR: Jul 22 20:42:51 :: locale_find: LOCALE_ERROR: "������ ȹ��: %s";
    SYSERR: Jul 22 20:42:51 :: locale_find: LOCALE_ERROR: "������ ȹ��: %s";
    SYSERR: Jul 22 20:42:51 :: locale_find: LOCALE_ERROR: "������ ȹ��: %s";
    SYSERR: Jul 22 20:44:39 :: locale_find: LOCALE_ERROR: "���� �������½��ϴ�.";
    SYSERR: Jul 22 20:45:52 :: Process: SEQUENCE 29730180 mismatch 0xa3 != 0x0 header 254
    SYSERR: Jul 22 20:45:52 :: Process: SEQUENCE_LOG [UNKNOWN]-------------
    	[254 : 0xa3]


    how i can solve that? ( u can ignore the sequence error)
    i found nothing to it on google hope someone know whats the problem here.


    Sincerly
    Meleys

    Probably in one .cpp file is that string encoding problem.
    Search the file and replace the string with a kr one and should work.

    • Love 1
  4. hace 4 horas, cjunior2011 dijo:

    I have a problem to show the rendering only seals of mounts and pets please

    i try this:
     

    
            elif item.ITEM_TYPE_COSTUME == itemType:
                if itemSubType == item.COSTUME_TYPE_MOUNT:
                    MountVnum = item.GetValue(4)
                    if MountVnum != 0:
                        self.__ModelPreview(MountVnum)

     

    and this:

    
                            elif item.GetItemType() == item.ITEM_COSTUME:
                                if item.GetItemSubType() == item.COSTUME_TYPE_MOUNT:
                                    MountVnum = item.GetValue(4)
                                    if MountVnum != 0:
                                        self.__ModelPreview(MountVnum)

     

    but nothing happen:

    OYA4j67.gif

    You must send the vnum of the mount.

    I dont know if you save that value in Value4 but as i see in your gif is not working.

    Maybe you should try to make a dictionary with the vnum of the seals and the mount vnum, i know is not the best solution, but it could work.

    Example:

    PetsAndMounts = {
    					53001 :  34001,
    					53002 :  34002,
    					53003 :  34003,
    					53005 :  34004,
    }
    if PetsAndMounts.has_key(itemVnum):
    	renderTarget.SelectModel(2, PetsAndMounts[itemVnum])

    I hope this can help you.

    • Love 1
  5. hace 31 minutos, ReFresh dijo:

    Hey guys,

    is here someone who know how to get name of selected item in this function?

    I mean like % (name) so I can use it in locale_game as %s 

    self.questionDialog.SetText(localeInfo.MESSENGER_DO_YOU_DELETE % (name))

    
    def OnPressRemoveButton(self):
    		if self.selectedItem:
    			if self.selectedItem.CanRemove():
    				self.questionDialog = uiCommon.QuestionDialogOneLine()
    				self.questionDialog.SetText(localeInfo.MESSENGER_DO_YOU_DELETE)
    				self.questionDialog.SetAcceptEvent(ui.__mem_func__(self.OnRemove))
    				self.questionDialog.SetCancelEvent(ui.__mem_func__(self.OnCloseQuestionDialog))
    				self.questionDialog.Open()

    Thanks for answers!

    Sincerely,

    ReFresh

    First of all,

    item.SelectItem(vnum)

    and then

    item.GetItemName()

  6.  

    hace 1 hora, Kori dijo:

    Thats right but we know all the new users cant make this and i cant post im online with my phone now xD

    Oh sorry i thought it was easy to understand, anyway its already explained by Mario.

    Thanks again to all of you

    • Love 1
  7. hace 5 horas, Sumnix dijo:

    PythonApplication.cpp

    find -> void CPythonApplication::UpdateGame()

    find -> DWORD t3=ELTimer_GetMSec();

    add before -> m_kRenderTargetManager.UpdateModels();

     

    Solved.
    The problem was updatemodels after a return in 

        if (!PERF_CHECKER_RENDER_GAME)
        {

     

    i didnt saw that .... anyway thanks all of you.

    • Love 1
  8. hace 2 minutos, CxL'Mufuku dijo:

    hmm. PERF_CHECKER_RENDER_GAME is set to false? You could check it with TraceError("test..."); after RenderModels();

    (Idk, if debug mode will change something on this var)

    Yes it is false, and i use distribute mode

    bf39cfd6fe7a30fec2bac6710ebc19e9.png

  9. Im im not wrong, the "effect" is just another gauge image red with the last 2 pixel in orange and when the hp is moving the gauge change the color and when it stops, change again to the red, so with my code you shoul be able to do it.

    Will be something like this but instead green orange red only red and when is decreasing red+orange and then just red

    https://metin2.download/picture/DCT0k1uNI7yBVoifsrCK0sfKJr4u6fW9/.gif

    • Metin2 Dev 1
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.