Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 02/17/13 in all areas

  1. About comments above functions... Doxygen?
    2 points
  2. BotKiller 6 BotKiller 6 is a powerfull antibot system based on Scripts, useful to detect Bots without modify your server executables nor install external libraries. Features BK6 support external modules, giving flexibility and security to your server. BK6 was integrated with a new multi-language system that support multiple languages at the same time, the users can change the default language whispering to npc:lang BK6 give you enough time to find a safe place before initiate the interrogatory, during that time the player will glow to visually alert to other players about this process. During the interrogatory, the player will see the remaining time to respond in real time. BK6 rewards player when their effectiveness is OK responding the antibot (AGI,DEX,Zeny,Exp) BK6 will try to bypass recently interrogated players and definitely will ignore chatting or vending players. The Administrators are allowed to send a manual interrogatory to anyone in any moment. The players are allowed to send a manual interrogatory to any other common player, excepting players chatting, vending or in locked places (whisp to npc:bkconfig to configure BK6 safe zones) BK6 now uses "real time" in prison, the countdown only works when the guy remains logged in the jail. When the countdown is over, the player have to respond a new interrogatory to be sure is a human. if failed, the countdown is restarted and the Bot player is kicked from the server. BK6 store logs that helps administrators to detect Bots Players and apply other sanctions. Installation: Download the script: bk6.rar (6.17) Additional Languages: Portuguese: BK6_PT.txt (by Pedro Brito) Modify "script_athena.conf" setting this values to the check_* parameters. check_cmdcount: 655360 check_gotocount: 655360 Create this folders in your server root: npc/custom/bk npc/custom/bk/lang npc/custom/bk/mods Copy this scripts in the following paths: npc/custom/bk/LangManagement.txt npc/custom/bk/VarSystem.txt npc/custom/bk/BotKiller6.txt npc/custom/bk/lang/BK6_EN.txt npc/custom/bk/lang/BK6_ES.txt npc/custom/bk/mods/BK6_Asc2Num.txt npc/custom/bk/mods/BK6_Asc2Word.txt npc/custom/bk/mods/BK6_Fakename.txt npc/custom/bk/mods/BK6_Img2Num.txt npc/custom/bk/mods/BK6_SMath.txt npc/custom/bk/mods/BK6_Lie2Me.txt npc/custom/bk/mods/BK6_WordNum.txt To use Img2Num Module, use this client patch: BK6_Img2Num.rar Edit npc/scripts_custom.conf adding the following lines: // Unlimited Variable System npc: npc/custom/bk/VarSystem.txt // Multi-Language System npc: npc/custom/bk/LangManagement.txt // Translations npc: npc/custom/bk/lang/BK6_EN.txt // English Dialogs npc: npc/custom/bk/lang/BK6_ES.txt // Spanish Dialogs // Remember to copy and declare here any additional language // BotKiller Main Script npc: npc/custom/bk/BotKiller6.txt // BotKiller Modules npc: npc/custom/bk/mods/BK6_Asc2Num.txt npc: npc/custom/bk/mods/BK6_Asc2Word.txt npc: npc/custom/bk/mods/BK6_Fakename.txt npc: npc/custom/bk/mods/BK6_Img2Num.txt npc: npc/custom/bk/mods/BK6_Lie2Me.txt npc: npc/custom/bk/mods/BK6_SMath.txt npc: npc/custom/bk/mods/BK6_WordNum.txt Run your server and whisp to npc:bkconfig to configure BotKiller 6. * Note: BotKiller 6 doesn't work on TXT based servers, please don't request it * Some Demos: Basic Demo: Modules: Lie2Me Module: Asc2Number Module: Img2Num Module: Simple Math Module: Asc2Word Module: Word Num Module: Testing GM Commands trying to ByPass BotKiller 6: History: 2011-05-01: 6.0 - New version, a friendly Police in Midgard! 2012-01-18: 6.1 - Using the new version of Unlimited Variable System! 2012-01-19: 6.11 - Fixed some problems in the jail! 2012-01-19: 6.12 - Fixed another wierd function in the jail! 2012-01-28: 6.13 - npc:bk don't show player selector when found only 1' 2012-01-28: 6.13 - removed some useless variables in functions
    1 point
  3. E - Script Collection Last Update : September 10, 2013 Refine Function SQL Mission Board Monster Marching Vendor Control Advanced Stylist Coin Exchanger Doppelganger Race Of The Day Limited Items Multi Currency Shop Random News GM Online List Link Broken E-Inquiry DotA Runes Flower Counting Game Class Restriction Chain Quest Build Manager Misc Scripts : Freebies Script Card Trader Gold Room [ Pick Gold ] Gold Room [ Guild Tax ] Map Restriction [ GM Based ] Daily Reward Monthly Reward Monster Spawner Monster Summoner with Last Summoned Display Players Stats & Equipments 3rd Job Item Giver Exchanger [ Cashpoint to Coins ] Exchanger [ Poring Coin - Zeny ] Exchanger [ Points to Tickets ] Exchanger [ Item to Item ] Exchanger [ Item to Item ] Exchanger [ Multi Item to 1 Item ] Party Match Auto Ban Over Stats Users Soul Link Buff Kill Players gain Cash Points Party Members All Get Items [ Snippet ] Message Board Stalker Class Skill Reproduce NPC Multiple Selection Quest [ Template ] In-Game Item Rewarder In-Game Points Rewarder Invasion Event Custom Item Rate Status Point Seller [ Snippet ] Anti Bot Security Script Anti Bot Script [ Code / Question ] Item Combo Restriction [ LHZ Card ] Drop Item Upon Death PVP Switcher + Announcer [ Guild Master ] Rotating Waitingroom Messages +10 Refiner [ Specific Items ] Random Rate Item Exchanger MVP Invasion Premium Users [ Boost Rates ] Display Cutin Image upon Login Custom Randomed Box Items Kick GM during WOE Custom Crafting NPC Restrict Same IP [ Certain Map ] Coloured Items Exchanger Guild Master Changer Party Team PK Match Gambling Game IRC Channel Crafting NPC Guild Storage Restriction Stage Game [ Version 4 ] Monster Wiki Event [ Version 3 ] Special Thank you for my Tutor : Notes : I am a bit lazy to write all those Script Descriptions, i do believe that all of you able to get how this script works. Anyway, i will still doing my best to write the Updated Changelog or informations about the script as detail as possible. All the Scripts above are uploaded to Pastebin . Abide the Following Rule : Scripts Error / Not Working , you have to Explain it in Details. ( Add in Images / Modified Scripts ) Do not SPAM / BUMP in my Topic. Do not ask for Support stuffs for other Scripts in this Topic. Link Down , then drop [ @Emistry ] a message. I Reserved the Right for NOT Answering your Posts if you did not abide my Topic's Rules. Keep This In Your Mind : All the Scripts i distribute here are NOT FOR COMMERCIAL USES . DO NOT remove my Credits if you are using part of the scripts to modify your own. DO NOT re-release the scripts in any form / way. If you ♥ these Scripts , Click on to Vote this Topic up. Or you may also click on at above the Topic
    1 point
  4. Toasty's Warper by: ToastOfDoom So this is a project I've been working on and off for a while and only really just had it done to a release standard recently. The original reason I started this script was cause of Annie's Favorite Warper script. While pretty original in that I think it was the 1st one to implement a favorites menu in a warper, I absolutely detested how ugly that script looked. No offence to annie, but it looked like an absolute nightmare to configure (menu structure in one area, warp data in another, lots of duplicated data all over the place making it very easy to make a mistake). So I set out to write a warper that meets this one objective: Be able to portray the configuration of all map and menu structure data in a single glance. Features: Easy to configure layout Zeny cost configuration on menu/submenu/map levels Configurable dynamic access to menus and maps Remembers last warps Brain hurting complexity in other parts of the script (not guaranteed) Download: ver 1.32 - 21-04-2011 (r14682 trunk) ver 1.31 - 27-04-2011 (r14682 trunk) ver 1.30 - 26-04-2011 (r14682 trunk) ver 1.20 - 12-02-2011 (r14682 trunk) ver 1.10 - 13-01-2011 (r14413 trunk) ver 1.00 - 08-01-2011 (r14413 trunk) Mirrors: ver 1.32 - 21-04-2011 (r14682 trunk) How to configure: Look for the 'LoadData' label in the script (line 184). All menu and map data is stored in this one subroutine. Configuring the menus is as easy as moving lines around. Details for each function as follows. AddLastWarpNode(): Will add a menu item to access previously used warps. The maximum amount of stored last maps is 64, however by default it has been set to 10 (.numLastWarps) AddNode(<node_name>{, <modifier>, <modifier_value>{, <modifier>, ...}}): This will add a submenu to the current menu. The cost value for zeny is optional. The cost value will carry on to all nodes and maps within the submenu unless overwritten but another cost value either at a lower node or map. Setting cost to 0 will cancel any costs from being carried down. //Eg. This will make a menu called "Dungeons" with a menu called "Abbey, Cursed Monastery" within StartNode("Dungeons"); StartNode("Abbey, Cursed Monastery"); AddMap("Abbey, Cursed Monastery - Level 1", "abbey01", 51, 14); AddMap("Abbey, Cursed Monastery - Level 2", "abbey02", 150, 11); ... EndNode(); EndNode(); EndNode(): This will exit the current menu that was opened with AddNode() and go back to the parent menu of that menu. Consider it like brackets. All StartNode()s must end somewhere with an EndNode(). AddMap(<map_title>, <map_name>, <x>, <y>{, <modifier>, <modifier_value>{, <modifier>, ...}}): This will add a map to the current menu. //Eg. This will make a menu called "Towns" and place 5 maps within StartNode("Towns"); AddMap("Alberta", "alberta", 28, 234); AddMap("Aldebaran", "aldebaran", 140, 131); AddMap("Amatsu", "amatsu", 198, 84, 5000); AddMap("Ayothaya", "ayothaya", 150, 163); AddMap("Comodo", "comodo", 209, 143); EndNode(); Modifiers: With the 'AddNode' and 'AddMap' commands you are able to add modifiers to either give a set price or dynamically allow access to the specified menu or map (and some other things). All modifiers will cascade down all children nodes until overwritten by another modifier. You can apply multiple modifiers but only one of each (ie..can't use 2x "gm" modifiers, but you can use 1x "gm", 1x "woe") Descriptions of all avaiable modifiers and examples follow: "zeny" - This sets a zeny cost to either all maps within the set node or the set map depending on how it was used. //Eg. This will make all maps within the 'Dungeons' menu cost 1000z StartNode("Dungeons", "Zeny", 1000); StartNode("Abbey, Cursed Monastery"); AddMap("Abbey, Cursed Monastery - Level 1", "abbey01", 51, 14); AddMap("Abbey, Cursed Monastery - Level 2", "abbey02", 150, 11); ... EndNode(); EndNode(); "gm"- This limits access to the menu/map according to the player's gm level. If set to positive it will check if the player's gm level is above or equal. If set to negative, it will check if the player's gm level is below or equal to the absolute of the value //Eg. This will make all maps within the 'Fields' menu accessible to only GMs above or equal to level 20 StartNode("Fields", "gm", 20); StartNode("Amatsu Fields"); AddMap("Amatsu Field 1", "ama_fild01", 190, 197); EndNode(); StartNode("Ayothaya Fields"); AddMap("Ayothaya Field 1", "ayo_fild01", 173, 134); AddMap("Ayothaya Field 2", "ayo_fild02", 212, 150); ... EndNode(); EndNode(); //This will make all maps within the 'Fields' menu accessible to only players below or equal to level 40 StartNode("Fields", "gm", -40); StartNode("Amatsu Fields"); AddMap("Amatsu Field 1", "ama_fild01", 190, 197); EndNode(); StartNode("Ayothaya Fields"); AddMap("Ayothaya Field 1", "ayo_fild01", 173, 134); AddMap("Ayothaya Field 2", "ayo_fild02", 212, 150); ... EndNode(); EndNode(); "woe"- This limits access to the menu/map according to the current state of WoE. This relies on the OnAgitStart/OnAgitEnd events at the end of the script. //1: active when woe inactive //2: active when woe active //3: active regardless of woe setting(default) //Eg. This will only allow access to the Castles menus and maps when WoE is active StartNode("Castles", "woe", 2); StartNode("Aldebaran Castles"); AddMap("Neuschwanstein(Aldebaran)", "alde_gld", 48, 83, "mapUsers", "aldeg_cas01"); AddMap("Hohenschwangau(Aldebaran)", "alde_gld", 95, 249, "mapUsers", "aldeg_cas02"); ... EndNode(); EndNode(); "job"- This limits access to the menu/map according to the player's current job. Calculation method is exactly the same as the one used for jobs in item_db (ie..add up the bitmasks) (S.) Novice (2^00): 0x00000001 Swordman (2^01): 0x00000002 Mage (2^02): 0x00000004 Archer (2^03): 0x00000008 Acolyte (2^04): 0x00000010 Merchant (2^05): 0x00000020 Thief (2^06): 0x00000040 Knight (2^07): 0x00000080 Priest (2^08): 0x00000100 Wizard (2^09): 0x00000200 Blacksmith (2^10): 0x00000400 Hunter (2^11): 0x00000800 Assassin (2^12): 0x00001000 Unused (2^13): 0x00002000 Crusader (2^14): 0x00004000 Monk (2^15): 0x00008000 Sage (2^16): 0x00010000 Rogue (2^17): 0x00020000 Alchemist (2^18): 0x00040000 Bard/Dancer (2^19): 0x00080000 Unused (2^20): 0x00100000 Taekwon (2^21): 0x00200000 StarGladi (2^22): 0x00400000 Soul Linker (2^23): 0x00800000 Gunslinger (2^24): 0x01000000 Ninja (2^25): 0x02000000 //Eg. This will only allow access to the Payon dungeons to Wizards and Hunters and only when WoE is inactive StartNode("Payon Dungeon", "job", 0x00000A00, "woe", 1); AddMap("Payon Dungeon - Lvl 1", "pay_dun00", 21, 183); AddMap("Payon Dungeon - Lvl 2", "pay_dun01", 19, 33); AddMap("Payon Dungeon - Lvl 3", "pay_dun02", 19, 63); AddMap("Payon Dungeon - Lvl 4", "pay_dun03", 155, 159); AddMap("Payon Dungeon - Lvl 5", "pay_dun04", 201, 204); EndNode(); "upper"- This limits access to the menu/map according to wherever the player is a normal/high/baby class. Like with 'job' this works the same as the 'upper' value in item_db. //1: Normal jobs //2: Upper jobs //4: Baby jobs //Eg. This will only allow access to the casino to baby classes AddMap("Casino", "cmd_in02", 179, 129, "upper", 4); "gender"- This limits access to the menu/map according to the sex of the player. 0 is female, 1 is male, 2 for both. "blvl"- This limits access to the menu/map according to the base level of the player. This works exactly the same as with "gm" except with baselevels instead of gmlevels. "flag"- This will limit access to the menu/map depending on the value of a specified variable. This is very useful for restricting access to things when an event is on or wherever the player as passed a certain quest. //Eg. This will only allow access to the guild dungeons if the global variable $@testEvent is not set to 0. StartNode("Guild Dungeons", "flag", "$@testEvent"); AddMap("Baldur Guild Dungeon", "gld_dun01", 119, 93); AddMap("Luina Guild Dungeon", "gld_dun02", 39, 161); AddMap("Valkyrie Guild Dungeon", "gld_dun03", 50, 44); AddMap("Britoniah Guild Dungeon", "gld_dun04", 116, 45); EndNode(); "function"- This will limit access to a menu/map depending on the output of a specified function. Works very similar to the 'flag' modifier only will allow greater control but is also alot more computationally expensive. Recommend only using when needed and to keep things simple in the function. The script will automatically pass the following variables to the function: //Node: "Node", <nodeid>, <nodename> //Map: "Map", <mapid>, <maptitle>, <mapname>, <mapx>, <mapy>, <mapcost> //Eg. This will only allow access to the Thanatos tower to players that are in a party and above or equal to level 90 StartNode("Thanatos Tower", "function", "PartyCheckFunc", "blvl", 90); AddMap("Thanatos Tower - Lvl 1", "tha_t01", 150, 39); AddMap("Thanatos Tower - Lvl 2", "tha_t02", 150, 136); AddMap("Thanatos Tower - Lvl 3", "tha_t03", 220, 158); AddMap("Thanatos Tower - Lvl 4", "tha_t04", 59, 143); AddMap("Thanatos Tower - Lvl 5", "tha_t05", 62, 11); ... EndNode(); ... function script PartyCheckFunc { return strcharinfo(1) != ""; } "mapUsers"- This will change the map used for the getmapusers() calculation. This allows you to warp to one map, but display the user count for another map (like for castles) Other Settings: .showNodeUserCount: 0/1 turns on/off the user count display for nodes/menus .showMapUserCount: 0/1 turns on/off the user count display for maps Important Notes: In the case that you add a map that doesn't exist a message will be displayed within your map server console indicating the name of the map. There is a limit to the length of the menu can reach. This limit is defined by 2047 characters. When this limit is reached the client will crash. The script has measures to prevent client crashes, but the menu in question will still be broken. A message in the map server console will display indicating the affected menu. Please modify the structure of the menu to prevent the overflow. Additionally all GMs above the set .gmAccessLvl will have the option to check which menus will overflow. Likewise this overflow problem will also affect the lastwarp menu so it is advised you keep the .numLastWarp value to a reasonable value (10-20) Technical stuff: Just some data on the structure of the script for those who want to modify functions (read this if you are interested in picking apart the script) ShowMenu(): Displays the menu and returns the map id of the selected map ComputeMenu(<menu_ptr>): Generates menu string. Modify this to change how you want the menus to look SelectMap(<mapid>): Does the final zeny subtraction and warping to the map after selection. You can modify this to have it do other things with the cost value (eg, subtract coins instead) All map data are stored in an infinite style array of the following names: # = index / 128, % = index % 128 .maps_name_#[%] .maps_map_#[%] .maps_x_#[%] .maps_y_#[%] .maps_cost_#[%] Node data are stored in the following manner: node_ptr$ = .menu_<nodeid>$ node[0] = Node title node[1] = Basic precomputed node menu string node[2+] = Either a pointer to a map or another node_ptr$. If it is a number it is a map id otherwise it is the menu pointer for the next submenu. Last warp menu is simply a pointer to "@menu_lastwarps$" As always will appreciate bugs reports, suggestions & criticism. This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License
    1 point
  5. File Name: Admin's Custom Broadcast File Submitter: missingxalone File Submitted: 29 Jan 2013 File Category: Source Modifications Content Author: missingxalone That Mod adds a Custom Admin's Broadcast with a Custom Label: The format to this command is: @adm <message> For Example: If you write @adm Hello World, that's my Custom Command for rAthena. The result is: [Admin] Name: Hello World, that's my Custom Command for rAthena. If you want modify the broadcast's color you need change the hexadecimal color in that line for the color that you like it, in this case from Admin's Custom Label: 0x99CCFF If you want modify the Label, you need to change the label intro [ ], in this case is Admin: "[Admin] %s : %s", sd->status.name, message); What's the New? Added GM's Custom Broadcast Added Super User's Custom Broadcast Used revision 17132 Bug fixed Click here to download this file
    1 point
  6. Hi, You may use this corrected sprite pack to fix your nose issues http://rathena.org/board/files/file/2447-corrected-classes-head-sprites/ I also think that my hair palette work with 98% of the custom hair styles, without bugs!
    1 point
  7. next step with neoncube(not a good patcher but you can use them) Is to create a .rar archive with "data/your tabel files" And adding them like to the patch list examples 1 FLD yourarchive.rar 2 GRF your grf/gpf 3 FLD morepatches 4 GRF andmore..
    1 point
  8. Предыстория: Давно уже не занимался эмулятором , и вот выявилось время и захотел возобновить работу над эмулем... но за то время пока я им не занмалься много чего изменилось .. а главное изменение произошло с еХе,шником... новые луа файлы , непонятно как дифить откуда брать файлы , как подключить к эмулю что бы не вылетало , и много много чего... сидел и плевался в поисковеке что бы найти хоть какой то гайд как создать норм ехешник и как работать с новым дивером ... и после того как я уже сам разобрался нашел отличный видео-гайд. http://www.youtube.com/watch?v=CtDRZki3Hpo ну а так же другие вопросы о ехешнике и проблемы можете задавать в данной теме! помогу чем смогу !!!
    1 point
  9. trunk/conf/battle/items.conf // How much time must pass between cash food uses? Default: 60000 (1 min) cashfood_use_interval: 60000
    1 point
  10. getmapmobs was removed from rAthena in r15530/. You can use mobcount instead. if ( mobcount("this","all") > 0 ) {
    1 point
  11. For each MVP monster spawn, edit the file in /npc/re/mobs/ and change its respawn delay (delay1 and delay2) to zero. Ex: abbey02,236,78,21,18 boss_monster Fallen Bishop 1871,1,0,0,1
    1 point
  12. I have patched rev 17133 manually with [patch 17061] and dont give me any error... if you are patch it manually, check your code one more time, maybe you missed some line or part of the code. I hope this helps. Extended_Vending_System_1.8.1 r17133.patch
    1 point
  13. Take a look at the wiki, you can find all the info you need here ---> http://rathena.org/wiki/@go
    1 point
  14. [Proyecto] Keepe Patcher Descripción Simple programa para administrar actualizaciones a archivos GRF y descomprimir utilidades en la Raíz del directorio Gravity. Requerimientos - NetFrameWork 4.0 o superior - Windows XP o Superior Explicación Este patcher puede funcionar muy similar a los ya conocidos NeonCube y KPatcher, solo que Keepe Patcher cumple otras funciones mas Flexibles: 1.- Al momento de descargar los archivos de Update lo hace sin detenerse para unir o procesar la Update descargada. Keepe Patcher descarga todos los archivos sin detenerse para procesarlos, esto hace que el uso del ancho de banda sea eficaz y los usuarios tomen menos tiempo descargando las Updates. 2.- Keepe soporta 2 archivos GRF, solo hay que indicarle en el listado de actualizaciones donde van dirigidas las Updates. 3.- RAR -> GRF, puedes comprimir tus actualizaciones GRF con WinRar o similar (para hacer mas pequeñas las Updates) y el mismo Keepe descomprime y une la Update a la GRF maestra. 4.- ¿Es incomodo crear siempre actualizaciones GRF o GPF? ¿Por que no las comprimimos la carpeta 'Data' en RaR y que el Patcher se encargue? Keepe soporta la Descompresión y unión de archivos a la GRF1 y 2 con su método MAKE. Tu solo haces los cambios en tus archivos siguiendo la ruta DATA\ y las comprimes en un archivo RaR, así sin cambiar los nombres de archivos con UnBulloc. Keepe hará la tarea de Unir los Archivos a la GRF que necesites. 5.- Ping de referencia. Puedes agregar en el archivo de configuración una IP de referencia a tu Host, Keepe cada cierto tiempo hará solo 1 envío de Ping para tomar la referencia de respuesta entre en Cliente y el Servidor. 6.- Gráfica: Keepe trae opciones básicas para tus Skins, soporta Opacity y puedes tu mismo indicarle que color harás transparente en el caso de que quieras usar transparencia. También cuenta con 2 barras de Progreso como la mayoría de los Patcher modernos logrando una apariencia mas robusta. Aun es pronto El proyecto aun esta en Alpha, y haré publico el Binario para el uso de ustedes, solo debo corregir algunas lineas en el código y seria liberar Keepe para que ustedes ayuden con lo que seria Reporte de Bugs. Otros proyectos : MakeMonoEditor (Editor de Mobs) MakeMonoEditor 2 (Editor de Mobs) ZK-Panel (Panel de Votos)
    1 point
  15. This is a local IP address, everyone has that and its only unless your friend is hosting within the same network. (Example : Same house, same college or something) If not, make sure your friend is hosting the RO server with all the server files with him. Then, make sure the clientxml must be his public IP address. you can get his public ip address here http://www.whatismyip.com/ then paste it in the clientxml and also change "certain" ip address from map,login.conf,subnet.conf from there.
    1 point
  16. Use triggers (no need OnTouch for NPC ID 45 with triggers) prontera,160,180,0 script lun002 45,2,2,{ if (BaseLevel < 100) mes "I need to be level 100 and above"; else warp "prontera",21,12; close; }
    1 point
  17. my suggestion, why don't make it with 1 command, @cb for custom broadcast. the color depends on every pc_get_group_level that written on .conf file maybe?
    1 point
  18. status.c #ifndef RENEWAL static inline unsigned short status_base_matk_min(const struct status_data* status){ return status->int_+(status->int_/7)*(status->int_/7); } static inline unsigned short status_base_matk_max(const struct status_data* status){ return status->int_+(status->int_/5)*(status->int_/5); } #else unsigned short status_base_matk(const struct status_data* status, int level){ return status->int_+(status->int_/2)+(status->dex/5)+(status->luk/3)+(level/4); }// renewal formula #endif
    1 point
  19. Add after if(getarg(0) == "PCKillEvent") if(getarg(0) == "PCKillEvent")// well don't add this line (lol) { if( @last_killed$ == rid2name( killedrid ) ) end; set @last_killed$, rid2name( killedrid ); and after if(getarg(0) == "PCDieEvent") if(getarg(0) == "PCDieEvent") { if( @last_killer$ == rid2name( killerrid ) ) end; set @last_killer$, rid2name( killerrid );
    1 point
  20. Still ongoing. Abandoning this project in its current state would be a crime to myself. I was just very busy in the last few months with my new job and playing Tera Online, lol. However, I have stopped playing MMORPGs in general and like to spend my free time with the development of the client to improve my virtual reality knowledge. I have reviewed some scripting engines like LUA, AngleScript, Python, etc. As far as I remember, V8 is the rendering engine behind Chromium? Might take a look at it. I've spent the last few days to also review some GUIs which would not be a performance bottleneck. CEGUI is indeed easy to use through it's XML structure, but it also introduces some limitations for transitions or animations. Awesomium (used in Fimbulwinter Client) and Berkelium allow to render Chromium inside an offscreen buffer and therefore allow to create animations and transitions based on CSS3 and HTML5. But the performance of blitting the rendered offscreen back to a texture might slow down the client too much, especially in high resolutions (like 1920x1080). Another approach would be to use QML with Qt5 for GUI rendering which includes animations and transitions. It renders directly to a framebuffer object and is therefore pretty fast. But this works only with OpenGL. I don't plan to insert such limits. Quite the opposite, I plan to add further 3D file formats to not only support Granny3D objects. Yep. I have yet to decide from what version upward. Nope. ------------------- Some notes: As already mentioned, I have not yet decided which scripting engine to use. I also struggle whetever I shall drop DirectX support and continue GUI development with Qt 5 and QML, based on OpenGL and Ogre3D. It seems like Qt 5 has also support for V8. On the other side, I cannot depend on V8 from Qt, since the current codebase is split into core, rendering, networking, scripting, etc. So the scripting part will be gone if someone decides to replace the Ogre3D and Qt 5 rendering with a custom rendering engine. Mhm... My best bet would probably be: - Rendering: Ogre3D, OpenGL only, Qt 5 and QML - Scripting: AngleScript - Networking: Boost.Asio Oh, and as a side note: I have forked the core module into an editor module yesterday, which uses the same rendering and scripting modules. The main purpose is to allow easier debugging of visual artifacts. It might become a full fledged map editor though.
    1 point
  21. i hope owner will release it in english. thx btw it really nice!
    1 point
  22. I don't see the need to move you in the Community Contributors group btw. whos this guy? gtfo?
    1 point
  23. They're free to do what they did for whatever reasons. Can we just please move on from this?
    1 point
  24. Do you only want to keep login accounts? Then execute these queries to delete all other information: TRUNCATE TABLE `auction`; TRUNCATE TABLE `cart_inventory`; TRUNCATE TABLE `charlog`; TRUNCATE TABLE `char`; TRUNCATE TABLE `elemental`; TRUNCATE TABLE `friends`; TRUNCATE TABLE `global_reg_value`; TRUNCATE TABLE `guild_alliance`; TRUNCATE TABLE `guild_castle`; TRUNCATE TABLE `guild_expulsion`; TRUNCATE TABLE `guild_member`; TRUNCATE TABLE `guild_position`; TRUNCATE TABLE `guild_skill`; TRUNCATE TABLE `guild_storage`; TRUNCATE TABLE `guild`; TRUNCATE TABLE `homunculus`; TRUNCATE TABLE `hotkey`; TRUNCATE TABLE `interlog`; TRUNCATE TABLE `interreg`; TRUNCATE TABLE `inventory`; TRUNCATE TABLE `ipbanlist`; TRUNCATE TABLE `mail`; TRUNCATE TABLE `mapreg`; TRUNCATE TABLE `memo`; TRUNCATE TABLE `mercenary_owner`; TRUNCATE TABLE `mercenary`; TRUNCATE TABLE `party`; TRUNCATE TABLE `pet`; TRUNCATE TABLE `quest`; TRUNCATE TABLE `ragsrvinfo`; TRUNCATE TABLE `sc_data`; TRUNCATE TABLE `skill_homunculus`; TRUNCATE TABLE `skill`; TRUNCATE TABLE `sstatus`; TRUNCATE TABLE `storage`;
    1 point
  25. how to use this i can't click the npc
    1 point
  26. that's why you should go for men
    1 point
×
×
  • Create New...