Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 03/23/20 in all areas

  1. enum EMobRank { MOB_RANK_PAWN, MOB_RANK_S_PAWN, MOB_RANK_KNIGHT, MOB_RANK_S_KNIGHT, MOB_RANK_BOSS, MOB_RANK_KING, MOB_RANK_MAX_NUM }; if (GetMobRank() == MOB_RANK_BOSS)
    2 points
  2. M2 Download Center Download Here ( Internal )
    2 points
  3. M2 Download Center Download Here ( Internal ) Download Here ( Latest Version ) This WE is a version compiled directly by me which includes infinite fixes and features. It's certain that you won't longer use the worldeditor_en! To make it simple, I wrote all the details about this feature and the common WE inside the relative config file: (called WorldEditorRemix.ini) ; Info: ; -) 100% translated ; -) granny2.11 ; -) F6 as Insert alternative ; -) many default features not present inside the worldeditor_en (probably, that binary was taken out from an SVN long time ago and resource hacked) such as Ins for all regions and skyboxes ; -) WASD UPLEFTDOWNRIGHT to move around (+asynchronous diagonally movements) ; -) UP-LEFT-DOWN-RIGHT to move around*10 (+asynchronous diagonally movements) ; -) config file for few things ; Output options by default ; few others such as default WASD movement ; whether or not Insert should let you go where you were before the press ; no MAI dump when saving atlas ; whether or not DevIL should compress and remove alpha from minimap.dds ; whether or not loading .mdatr building heights ; default textureset when creating maps ; overlapped tabs ; other stuff ; -) several bugfixes ; default title app name ; attempting to write to an empty textureset name when creating new maps ; ViewRadius doubled every load&save ; shadowmap.dds creation ; assert when saving atlas ; crash when adjusting height ; many buffer under/overflows ; *.mdc collision data saving (for game_test) ; not checking output options when loading maps ; water brush waterid bug (the id was increased until 256 each time the function was called; now it's based on the water height just like it should be) ; init texture map reload map crash and last 2px always blank ; square shape even for up/down height brushes ; add textureset texture button (+multiselection) ; remove textureset texture feature (just selecting a texture from the list and pressing DELETE) ; creation of empty textureset with index -1 (changed to 0) ; change baseposition button ; misspelled stuff ; skybox bottom image (nb: you also need a fixed launcher for this) ; removed boring CTRL requirement (to move the camera) when editing daylight/attr ; fixed refresh texture imagebox onKey pressing the down/up keys (like when onClicking them) ; fixed TextureSet file creation if not existing ; fixed new wolfman motion event handling ; fixed crash when editing animation attack bones and 00010.gr2 was missing ; fixed locale/ymir/mob_proto load (it autodetects the most common structures) and <map>/regen.txt load/save ; fixed ./group.txt load ; fixed load/save/edit <map>/regen.txt (very nice for "m" regens, untested for "g") ; load from PACK is available if pack/property is present! Be sure pack/Index exists! ; fixed multi-object selection crash ; fixed crash when previewing a missing texture ; fixed not clearing of old environment (e.g. skybox) when switching maps ; fixed not creating property folders in root tree (object tab) ; fixed object attachment in Model Tab ; fixed newly particles names in Effect Tab ; fixed crash when saving a .mse script with no mesh model ; fixed crash when inserting a lower gradient ; -) created new TextureSet field when creating new maps ; -) created new Change/Delete Texture buttons when double-clicking a texture ; -) created Background Music playback and Shadow Recalculate buttons ; -) created water height "set 0z", "+1z", "-1z" buttons ; -) server_attr generator ; -) every crash will generate a logs/WorldEditorRemix_{target}_{date}.dmp file useful for debugging ; -) implemented a "water path" mapsettings option (the launcher requires additional code) ; -) implemented a "wind strength" msenv option (the launcher requires additional code) ; -) the "encrypt data" feature does nothing (unimplemented) ; Note: ; 0) there are no regressions in this version! a bug here means it'd also be present in older WE versions too! ; 1) the shadow output option is tricky: when UpdateUI is called, shadows are hidden although the check is pressed (i implemented the shadow recalculate function for that) #fixed since v11 ; 2) the bgm player requires /miles and the fadein/out doesn't work until you load the map ; 3) the adjusting height button works only if mdatr height is detected ; 4) the Debug version is laggy when working on maps such as n_flame_dungeon and n_ice_dungeon (by default, because SphereRadius are intensively checked in SphereLib\spherepack.h) ; 5) if you load a map, the script panels (where you load .msa et similia) will have the camera perspective a little fucked up (0z instead of -32767z or 0x 0y -163,94z) ; 6) few tree objects are not movable and/or highlightable after placed on the ground and their selection is invisible (you can still delete 'em) ; trick: draw a square selecting a normal building and 'em, then move the building and you'll see all of 'em will be moved! ; 7) the server_attr generator will clean all the unused flags! attr[idx]&=~0xFFFFFFF8; ; 8) you can read files from pack/Index 'n stuff but be aware that Property will not be considered! #fixed since v15 ; 9) the MonsterAreaInfo features are laggy and buggy as fuck ; 10) even though you can select many textures at once (using ctrl+click on textureset list; for brushing or initializing a base texture), you can't delete more than one at the same time ; 11) the .mdatr height is tricky; if you move a building, the height will not be refreshed until you put a new building or whatever you want to trigger the update event ; 12) by default, the worldeditor tries to render only the first 8 terrain textures of a 32x32px region (nb: a 1x1 map is a 256x256 px region) ; 13) the minimap rendering cannot catch the buildings/trees inside the first 2x2 regions due a ymir cache fault and you need to set the camera to "see" them ; 14) when the textureset, environment, etc load fails, the old filename still remains loaded ; 15) the attr flag "3" (three) has no implementation, so don't use it! ; 16) load from PACK doesn't load texturesets from files for first (if they are already in pack/), and the object placer's object list will remain empty because it takes the list from property/ (and not from pack/property) ; 17) to save the regen.txt you press CTRL+S ; 18) if you enable the wireframe (f4) when on Attr Tab, you see the terrain all white ; 19) the water brush disappears when the camera renders the waterwheel small/big effect ; 20) the monster area info goes under ground if you're outside the relative sectree ; 21) the full skybox may be displayed only after the top picture has been added (if the other textures have already been inserted) ; 22) the slider in the Attr Tab is something like "16 photoshop layers" in which you can split your attrs; not so helpful and quite confusing sometimes ; 23) the fixed model - object attachment attaches static objects (hairs'skeleton will not mirror the playing animation) ; 24) in environment tab, if you insert lower gradients, you may end up with an out of range crash #fixed since v30 ; 25) brushes working out-of-screen/map-range may affect random terrain places ; TODO: ; A) look at more than 8 textures for region -> DONE ; B) create a shortcut to fix the #5 note -> DONE ; C) disable the radius <= GetRadius()+0.0001f check to fix the #4 note -> REJECTED ; the worldeditor_en calls this assert and, if ignored, the lag ceases to exist (this will not occur in source version) ; at least, if the release version is not a problem for you, use that in those few cases when .mse are abused and try to kill the debug one ; D) translation in more languages other than english -> REJECTED ; english should be enough! ; E) alternative path for d: -> REJECTED ; you can mount d as a subpath of c like this: ; subst d: "c:\mt2stuff" ; F) need to fix note #19 #25 -> TODO [shortcuts] ; ### SHORTCUTS ; # ESC(ape) Clean cursor ; # Canc(el|Delete) Delete stuff such as selected buildings ; # Ctrl+S Save map ; # Ins(ert) or F6 Save shadowmap|minimap.dds ; # F3 BoundGrid Show/Hide ; # F4 Render UI Show/Hide ; # F11 WireFrame Show/Hide ; # R Reload Texture ; # Z and X Decrease/Increase Texture Splat by 0.1 ; # CapsLock Show GaussianCubic effect if shadows are displayed ; # L-Shift+1-6 Show TextureCountThreshold flags (&2-7) as colors on the ground ; # L-Shift+8 Set Max Showable texture to 8 (de-fix note 12) ; # L-Shift+0 Set Max Showable texture to 255 (fix note 12) ; # H Refresh MDATR Heights (useful when you move an object) (fix note 11) ; # Y Set Perspective as default (fix note 5) ; # T Set the Camera to catch all the object on the screen (w/a note 13) then you'll be ready to press Insert/F6 ; # DO NOT HAVE AN OBJECT SELECTED WHEN USING THOSE SHORTCUTS (MW1-7) ; # MouseWheel+1 move cursor x rotation ; # MouseWheel+2 move cursor y rotation ; # MouseWheel+3 move cursor z rotation ; # MouseWheel+4 move cursor height base (1x) ; # MouseWheel+5 move cursor height base (0.5x) ; # MouseWheel+6 move cursor height base (0.05x) ; # MouseWheel+7 move cursor ambience scale (1x) ; # MouseWheel+Q move selected object height base (1x) ; # MouseWheel+9 move selected object x position (1x) (+asyncronous) ; # MouseWheel+0 move selected object y position (1x) (+asyncronous) ; # MW+RSHIFT+9|0 as above but *10x (+asyncronous) ; # MW+RCONTROL+9|0 as above but *100x (+asyncronous) ; # MouseLeft Insert Objects ; # MouseRight Move camera (it could require CTRL too) ; # SPACE Start move/selected animation in Object/Effect/Fly CB ; # ESC Stop animation in Effect/Fly CB [config] ; ### CONFIG OPTIONS VIEW_CHAR_OUTPUT_BY_DEFAULT = 1 VIEW_SHADOW_OUTPUT_BY_DEFAULT = 1 VIEW_WATER_OUTPUT_BY_DEFAULT = 1 ; WINDOW_HEIGHT_SIZE = 1080 ; WINDOW_WIDTH_SIZE = 1920 WINDOW_FOV_SIZE = 45 ; #100 = 1px (minimal px movement when pressing WASD) WASD_MINIMAL_MOVE = 100 ; came back from where you were before pressing Insert/F6 NO_GOTO_AFTER_INSERT = 1 ; disable MAI dumps when saving atlas and/or pressing Insert/F6 NOMAI_ATLAS_DUMP = 1 ; disable minimap.dds alpha saving and enable compression NOMINIMAP_RAWALPHA = 1 ; enable .mdatr height collision loading when moving on buildings or adjusting terrain DETECT_MDATR_HEIGHT = 1 ; disable fog when loading maps NOFOG_ONMAPLOAD = 1 ; refresh all checkbox configurations when loading maps 'n stuff REFRESHALL_ONUPDATEUI = 0 ; set a default mapname prefix when creating new maps ("" to disable) NEW_MAP_MAPNAME_PREFIX = "metin2_map_" ; display a default textureset when creating new maps ("" to disable) ; note: it loads the filepath if exists, otherwise it will create an empty textureset file NEWMAP_TEXTURESETLOADPATH = "textureset\metin2_a1.txt" ; create a default textureset as "textureset/{mapname}.txt" ; note: this option is not considered if NEWMAP_TEXTURESETLOADPATH is not empty. [before v24] ; note: this option is not considered if the TextureSet path input is not empty when creating a new map [since v24] NEWMAP_TEXTURESETSAVEASMAPNAME = 1 ; remove the weird attr flags from the generated server_attr SERVERATTR_REMOVE_WEIRD_FLAGS = 1 ; show diffuse lighting to object VIEW_OBJECT_LIGHTING = 1 ; path of mob_proto used for regen MOB_PROTO_PATH = "locale/ymir/mob_proto" ; select monster area info checkbox at startup VIEW_MONSTER_AREA_INFO = 0 ; brush cursor / object selection color RGB float between 0.0 to 1.0 (default: green -> 0 1 0) RENDER_CURSOR_COLOR_R = 0.0 RENDER_CURSOR_COLOR_G = 1.0 RENDER_CURSOR_COLOR_B = 0.0 Download: [Hidden Content] How To Map: This release will not cover this part. Look at CryPrime`s tutorials to understand how to do it. About the ServerAttr Generator: (since v14) This is a beta function but it should work fine. I tested it on gm_guild_build (1x1), metin2_map_a1 (4x5), metin2_map_trent (2x2), metin2_n_snowm_01 (6x6) and the result was the same as the blackyuko map editor. (I use a different lzo version and I clean deprecated and useless flags, so the size is different from this last one but the "final image" will be the same; using game_test to fix his server_attr will let mine and his perfectly equal byte per byte) I also give you the source code of my server_attr generator function. CLICK A server_attr file is based on all the attr.atr files merged into a one raw RGBA image and each one scaled from 256x256 to 512x512. After that, the image will be splitted into sectors of 128x128 px and each one compressed using lzo compression. The server_attr header is composed by the size of the map*4. (e.g. a 4x4 will have a 16x16 size with 256 sectors inside) (gj ymir CLICK) An uncompressed server_attr sector is just like this: CLICK (the sub 4 byte header is the size returned by the LzoCompress which indicates how much the compressed sector data are large) Each attr.atr is just like this: CLICK (the header is composed of 6 byte in total: 3 WORDs respectively for version, width and height; they are always 2634, 1, 1 so don't bother about it) A single attr.atr scaled from 256x256 to 512x512 will be just like this: CLICK You can use the game_test (from source) to perform few tasks like: Create a server_attr from a .mcd file (I won't suggest it) a <collision data filename> <map directory> Regenerate an old server_attr to server_attr.new using the current lzo compression and cleaning useless flag CLICK c <filename> Other stuff such as b to create a character instance or q to quit About the SkyBox Bottom pic fix: (since v21) Both metin2launch.exe and worldeditor.exe should be edited to see the bottom pic of the skybox. Ymir messed up the code wrongly flipping the bottom image. Open ./Srcs/Client/EterLib/SkyBox.cpp and replace: ////// Face 5: BOTTOM v3QuadPoints[0] = D3DXVECTOR3(1.0f, -1.0f, -1.0f); v3QuadPoints[1] = D3DXVECTOR3(1.0f, 1.0f, -1.0f); v3QuadPoints[2] = D3DXVECTOR3(-1.0f, -1.0f, -1.0f); v3QuadPoints[3] = D3DXVECTOR3(-1.0f, 1.0f, -1.0f); with: ////// Face 5: BOTTOM v3QuadPoints[0] = D3DXVECTOR3(1.0f, 1.0f, -1.0f); v3QuadPoints[1] = D3DXVECTOR3(1.0f, -1.0f, -1.0f); v3QuadPoints[2] = D3DXVECTOR3(-1.0f, 1.0f, -1.0f); v3QuadPoints[3] = D3DXVECTOR3(-1.0f, -1.0f, -1.0f); then recompile. Credits:
    1 point
  4. M2 Download Center Download Here ( Internal ) Hello, Working on some new stuff I found out that current implementation of event looks a bit tricky. Due to this fact I basically deciced to re-implement it in C++11 providing up to date tech. Don`t forget to take a look at this topic before you start: [Hidden Content] So lets begin. Add include into the main.cpp: #ifdef __NEW_EVENT_HANDLER__ #include "EventFunctionHandler.h" #endif And add this into main function before: while (idle()); #ifdef __NEW_EVENT_HANDLER__ CEventFunctionHandler EventFunctionHandler; #endif Now add this at the end of idle: #ifdef __NEW_EVENT_HANDLER__ CEventFunctionHandler::instance().Process(); #endif Now search for: sys_log(0, "<shutdown> Destroying CArenaManager..."); And add before: #ifdef __NEW_EVENT_HANDLER__ sys_log(0, "<shutdown> Destroying CEventFunctionHandler..."); CEventFunctionHandler::instance().Destroy(); #endif Now open service.h and add this define: #define __NEW_EVENT_HANDLER__ That`s all. Now just download attachment and add included files to your source.
    1 point
  5. Hi Community, As you have noticed, all sections of Metin2 are being cleaned up. All topics with a dead link have been temporarily moved to this section. 400 topics have been removed for dead links! This means that all topics you find in the Realease section, have a download link that works. Huge thanks to @ASIKOO and @Raylee for their work and for making this possible. But that's not all! We are going to upload all files to our new download platform, which will prevent dead links. It will be the same with dead screenshots links. In addition, all topics will be re-formatted and moved to the appropriate section. We'll also be redesigning the forum tree. Are you motivated by the metin2.dev community? Do you want to get involved in the forum? Then join us! We are actively looking for motivated members to update the forum. We need : People who own the files of a dead link and would be willing to upload them again for the community. All dead links are here People to upload the release files to our download platform People to redesign some topics to make them more readable If you want to participate, post a message on this topic and we will come back to you to give you all the necessary information. Discord is necessary for us to be able to communicate easily with each other. Help us to make metin2.dev a welcoming, clean and comprehensive forum that will allow the whole Metin2 community to evolve. Who without you, metin2.dev would be nothing ... The staff
    1 point
  6. 1 point
  7. polymorph isn't changing race?? ------------------------ here is an example for real change race: int pc_change_race(lua_State* L) { const LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr(); if (!lua_isnumber(L, 1) || !ch) return 0; const BYTE race = static_cast<BYTE>(lua_tonumber(L, 1)); if (race < 0 || race >= MAIN_RACE_MAX_NUM) return 0; ch->SetRace(race); ch->SetSkillGroup(0); ch->ClearSkill(); ch->ClearSubSkill(); if (ch->GetDesc()) ch->GetDesc()->SetPhase(PHASE_SELECT); return 0; }
    1 point
  8. I hope you are disconnected when the change race Here is a check when items loading Find input_db.cpp - void CInputDB::ItemLoad(LPDESC d, const char * c_pData): if (item->CheckItemUseLevel(ch->GetLevel()) == true ) Change: if (item->CheckItemUseLevel(ch->GetLevel()) && item->CanUsedBy(ch)) If you don't disconnect for change race, put your race change func in here
    1 point
  9. I think It doesn't fix the problem.
    1 point
  10. M2 Download Center Download Here ( Internal ) Rather than having this crap die in my HDD I've decided to share them, they range around 2017-2018 utils.h optimizations (You need a c++11 compiler) utils.h //Replace: out = (long long) strtoull(in, NULL, 10); //To: out = strtoll(in, NULL, 10); //Replace: out = (unsigned long) strtoul(in, NULL, 10); //To: out = strtoul(in, NULL, 10); //Replace: out = (long) strtol(in, NULL, 10); //To: out = strtol(in, NULL, 10); //Add: inline bool str_to_number (unsigned long long& out, const char *in) { if (0==in || 0==in[0]) return false; out = strtoull(in, NULL, 10); return true; } Useless check in char.cpp //From: if(val==0 && val>0) pack.value = val; else pack.value = val; //To: pack.value = val; Random stuff: Colored console messages (Windows only - you can do a nix version by using ansii colors) - this code was made in 2017, the quality definitly shows as it could be extended or make a singular API for console (working for both nix and win) Sample usage: #include "../libthecore/include/winconsole.h" void test_console() { winconsole_set_color(CONSOLE_COLOR_GREEN); //This set the color //You can find the list of all usable color in winconsole.h printf("Test WinConsole\n"); //Print the text with the new color winconsole_resetcolor(); //Always reset color else the console will continue print the same color printf("No color\n"); //Print with default color (WHITE) } winconsole.h (libthecore/include) /* --------------------------------- ARVES100 WinConsole Required for colored console ------------------------------------ */ #ifndef _ARVES100_INCLUDE_WINCONSOLE_HEADER_C_ #define _ARVES100_INCLUDE_WINCONSOLE_HEADER_C_ #define CONSOLE_COLOR_BLACK 0 #define CONSOLE_COLOR_RED 4 #define CONSOLE_COLOR_BLUE 9 #define CONSOLE_COLOR_WHITE 15 #define CONSOLE_COLOR_GREEN 10 #define CONSOLE_COLOR_YELLOW 14 #define CONSOLE_COLOR_PURPLE 13 int winconsole_initialize(); void winconsole_resetcolor(); void winconsole_setcolor(int color); void winconsole_pause(); #endif winconsole.c (libthecore/src) /* ARVES100 COLORED CONSOLE FOR WIN32 CODED 06.01.2017 */ #include "stdafx.h" #if defined(_WIN32) || defined(WIN32) || defined(__WIN32__) #include <Windows.h> #include <stdio.h> #include <stdlib.h> #include "winconsole.h" FILE* fp = NULL; HANDLE StdOut = NULL; int winconsole_initialize() { StdOut = GetStdHandle(STD_OUTPUT_HANDLE); SetConsoleTextAttribute(StdOut,CONSOLE_COLOR_WHITE); return 0; } void winconsole_resetcolor() { SetConsoleTextAttribute(StdOut, CONSOLE_COLOR_WHITE); } void winconsole_setcolor(int color) { SetConsoleTextAttribute(StdOut, color); } void winconsole_pause() { // Alternativa portatile usando scanf+printf (cstdio) printf("Press any key to continue..."); char ch; scanf("%1c",&ch); } #endif Example usage on log.c (libthecore) /********************************************************/ /* COLORED CONSOLE FOR WIN32 (PRIVATE FREE SYSTEM) */ /* CODED BY ARVES100 (06/01/2017) */ /********************************************************/ //libthecore/src/log.c #define SYSERR_FILENAME "syserr.txt" #define PTS_FILENAME "PTS.txt" #include "winconsole.h" #endif /////////////////////// #else void _sys_err(const char *func, int line, const char *format, ...) { va_list args; time_t ct = time(0); char *time_s = asctime(localtime(&ct)); char buf[1024 + 2]; // \n을 붙이기 위해.. int len; if (!log_file_err) return; winconsole_setcolor(CONSOLE_COLOR_RED); time_s[strlen(time_s) - 1] = '\0'; len = snprintf(buf, 1024, "SYSERR: %-15.15s :: %s: ", time_s + 4, func); buf[1025] = '\0'; if (len < 1024) { va_start(args, format); vsnprintf(buf + len, 1024 - len, format, args); va_end(args); } strcat(buf, "\n"); // log_file_err 에 출력 fputs(buf, log_file_err->fp); fflush(log_file_err->fp); // log_file_sys 에도 출력 fputs(buf, log_file_sys->fp); fflush(log_file_sys->fp); fputs(buf, stdout); fflush(stdout); winconsole_resetcolor(); } #endif /////////////////// void sys_log(unsigned int bit, const char *format, ...) { va_list args; if (bit != 0 && !(log_level_bits & bit)) return; #ifdef __WIN32__ winconsole_setcolor(CONSOLE_COLOR_BLUE); #endif if (log_file_sys) { time_t ct = time(0); char *time_s = asctime(localtime(&ct)); fprintf(log_file_sys->fp, sys_log_header_string); time_s[strlen(time_s) - 1] = '\0'; fprintf(log_file_sys->fp, "%-15.15s :: ", time_s + 4); va_start(args, format); vfprintf(log_file_sys->fp, format, args); va_end(args); fputc('\n', log_file_sys->fp); fflush(log_file_sys->fp); } #ifndef __WIN32__ // log_level이 1 이상일 경우에는 테스트일 경우가 많으니 stdout에도 출력한다. if (log_level_bits > 1) { #endif fprintf(stdout, sys_log_header_string); va_start(args, format); vfprintf(stdout, format, args); va_end(args); fputc('\n', stdout); fflush(stdout); #ifndef __WIN32__ } #else winconsole_resetcolor(); #endif } Teamspeak 3 python interfaces This was a leftover for an old system a pserver told me to make and then simply dropped the idea (TS3 SDK was too expensive) this is what is left to, I don't have any source code in client side and I do not provide any support for this, it's just a working python interface that needs to be finished. Pretty much the same you would achieve if you unpack the root where this system was originally going to be. [Hidden Content] XMLCreator updated Who does remember the old XML files from Tim's archive? This is an updated version for Tim's 40k archiver that was based from a version of Tim's old 2089 archiver made by some guy on epvp. [Hidden Content] You need ActionScript3 to build this. Wrong comparison on char_skill.cpp:2635 (Required for clang) from: (NULL != pkVictim && SKILL_HORSE_WILDATTACK != dwVnum) ? pkVictim->GetVID() : NULL, ComputeCooltime(iCooltime * 1000), to: (NULL != pkVictim && SKILL_HORSE_WILDATTACK != dwVnum) ? pkVictim->GetVID() : 0, ComputeCooltime(iCooltime * 1000),
    1 point
  11. self.RetryButton.SetEvent(ui.__mem_func__(self.RetryButton)) self.RecvButton.SetEvent(ui.__mem_func__(self.RecvButton)) [Hidden Content] Change function names to something like def OnClickRetryButton and def OnClickRecvButton, they cannot be the same like button names For example: self.serverSelectButton.SetEvent(ui.__mem_func__(self.serverSelectButton)) Instead of: self.serverSelectButton.SetEvent(ui.__mem_func__(self.__OnClickSelectServerButton)) Is going to throw same AttributeError which is stated as: 0323 01:00:01004 :: File "introLogin.py", line 714, in __LoadScript 0323 01:00:01005 :: File "ui.py", line 82, in __init__ 0323 01:00:01005 :: AttributeError 0323 01:00:01005 :: : 0323 01:00:01005 :: 'Button' object has no attribute 'im_func' 0323 01:00:01005 ::
    1 point
  12. you can download the new version 1.3
    1 point
  13. Will be released in the next few days. I didn't have time to finish the installation guide yet.
    1 point
  14. M2 Download Center Download Here ( Internal ) Hello There. I publish here this system i hope that this help you a bit with this you can hide your costume if you dont like it (if I forgot something just say it ) (this system is not complete yet you can hide only your costume no hairstyle,sash,weapon) (This system is not mine! i just found the source function and made the python codes and quest)
    1 point
  15. look for: relace: with: I'm not sure it will work i haven't tested it yet but it seems to prevent the issue. Let me know if it worked.
    1 point
  16. I wanted to join the course but he scammed me and took my serverfiles to put systems on WoM² is it a masterclass??? help me pls @ASIKOO @PACI
    0 points
  17. @Mali61 Google translate is a shit sorry :))
    0 points
  18. bool CMgrMap::IsPartecipant(DWORD dwPlayerID) { if (!dwPlayerID) return false; itertype(v_Partecipants) it = std::find(v_Partecipants.begin(), v_Partecipants.end(), dwPlayerID); if (it != v_Partecipants.end()) return true; return false; } This refactor by WeedHex helped me. Seems like the problem is solved. Thanks
    0 points
×
×
  • 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.