Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 03/04/21 in all areas

  1. MobDB -> YAML! As of Git Hash: 7992e08, rAthena's monster database has been converted to YAML! Sorry for the delay of this post! What this means: The monster database being in YAML format means that the database is now much more human-readable, just like the item database. This allows for quick review, modification, and addition of monsters without having to memorize the CSV format or use any third party tools. The parser now also has much better error handling when reading monsters into memory so tracking down those pesky typos is a thing of the past! The update combines mob_race2 and mob_drop databases into the mob_db so there is much less searching around multiple databases when doing anything with monsters! The Mode field has been adjusted. rAthena will now be following the Aegis format of utilizing AI and Class to define monster modes. Don't fret, the Mode field is still fully supported for any custom monster modes! A detailed document with the AI and Class values can be found in doc/mob_db_mode_list.txt. Each monster can now be classified with multiple RaceGroups. Before a monster was limited to a single group, but that is a thing of the past! As with any YAML conversion we have provided an option in the CSV2YAML tool built right into rAthena! Just build the CSV2YAML tool within Visual Studio or via Make and run the executable. The tool will provide you with general steps and convert your custom monsters right on over to the YAML format! Following suit with the item database conversion, the monster database will still support SQL! Simply continue to utilize the YAML2SQL tool which can convert the YAML monster database into SQL format. This allows servers who utilize SQL to continue with this method. What this means to developers: Pull Requests can be reviewed much quicker and much more simpler. Identifying the actual change to the monster and easily verifying said change without having to count commas! Comparing monster data to Aegis becomes easier for the AI and Class as it's easy to identify immediately what the monster's mode should be without having to count the custom mode bits in rAthena. Additional features being added to the monster database no longer requires the development of a side database. A vast majority of the monster data is now part of the mob_db structure and can continue to grow in this format! As already seen with the Green Aura for MVP update from kRO. Redefined Import System: Now that the mob_db is in YAML format, the adjustment of monsters is much simpler. If a change is being made to an monster only the parts that are being changed have to be defined in the import. Below are some examples: Adjusting Scorpion attack to 1000. - Id: 1001 Attack: 1000 Allow Amon Ra to walk and adjust the Yggdrasil Berry to a Diamond at 80% drop rate. - Id: 1511 Modes: CanMove: true MvpDrops: - Item: Diamond Rate: 8000 Index: 0 Check out the mob_db documentation for further details! Thanks to @Lemongrass, @nitrous, and lukasrmattos for their help!
    4 points
  2. View File Caça Toupeiras / Whack-A-Mole [PT-BR]: O script funciona como instância, é um jogo onde o player pode iniciar uma partida sempre que quiser, quanto mais toupeiras ele acertar mais pontos ele acumula, a partida termina quando ele somar o máximo de erros que pode cometer (configurável), o player precisa acertar um mínimo de toupeiras por ciclo, conforme os ciclos aumentam os acertos mínimos também (limitando-se ao máximo de 3), acertar o cachorro contará como erro, os pontos não são acumulativos ou seja, o player entrará par ao rank com o primeiro char que ele fez a partida e será contado por conta, quando ele atingir um valor máximo de pontos na partida que supera o do seu rank anterior ele atualiza, o rank reseta todo o domingo as 12h e converte os pontos para usar na loja da toupeira. Cred: Tio Akima (criador do mapa) Cred: Frost (guia add custom npc) [ENG]: The script works as an instance, it is a game where the player can start a game whenever he wants, the more moles he hits the more points he accumulates, the game ends when he adds up the maximum mistakes he can make (configurable), the player needs hitting a minimum of moles per cycle, as the cycles increase the minimum hits as well (limited to a maximum of 3), hitting the dog will count as an error, the points are not cumulative ie the player will enter the rank with the first char he made the match and will be counted on account, when he reaches a maximum point value in the match that exceeds that of his previous rank he updates, the rank resets every Sunday at 12pm and converts the points to use in the mole shop . NOTE: Perhaps the translation was not the best, so you can send a suggestion that I will be correcting. Cred: Tio Akima (map creator) Cred: Frost (guide add custom npc) Submitter Hyroshima Submitted 03/01/2021 Category Games, Events, Quests Video https://youtu.be/A_Y_9LxSWt4 Content Author Hyroshima  
    1 point
  3. Please try this: // Scripted by : Royr // Description : Simple Cash Converter // Topic: https://rathena.org/board/topic/127558-facing-problem-with-the-coin-to-cash-exchanger-npc/ prontera.gat, 155, 100, 4 script Cash Converter 4_M_01,{ mes .@name$ = "[ ^FF0000Cash Point Converter^000000 ]"; mes "Greetings! Player "+strcharinfo(0)+"."; mes " "; mes "Total Balance: ^FF0000"+F_InsertComma(#CASHPOINTS)+"^000000 Cash Points"; dispbottom "You have Total Balance of: ^FF0000"+F_InsertComma(#CASHPOINTS)+"^000000 Cash Points"; next; switch( select( implode(.menu_options$, ":") ) ) { case 1: mes .@name$; mes "^0000FF"+.ItemName$+"^000000 will ^ff0000NOT TO BE REFUND^000000 after converted to ^FF0000Cash Points^000000."; mes "How many Gold Coin do you want to exchange?"; mes " "; mes "^ff0000Note^000000: "+.qty+" x ^0000FF"+.ItemName$+"^000000 equivalent to 200 ^FF0000Cash Points^000000."; next; input .@amount; if( .@amount < .qty || .@amount > countitem(.itemID) ) { mes .@name$; mes "That's an Invalid amount."; mes "Please try again."; close; } mes .@name$; mes "Are you sure you want to exchange "+.@amount+" x ^0000FF"+.ItemName$+"^000000 to "+ .@amount * 5 +" ^FF0000Cash Points^000000?"; next; if( select(" - Yes: - No") == 2 ) close; #CASHPOINTS = #CASHPOINTS + .@amount * 5 ); mes .@name$; mes "You have successfully exchanged "+ .ItemName$ +" to Cash Points."; mes " "; mes "You have added your new balance "+ F_InsertComma(#CASHPOINTS) +" ^FF0000Cash Points^000000."; delitem .itemID, .@amount; dispbottom "Your new balance is now : "+ F_InsertComma(#CASHPOINTS) +" Cash Points"; close; case 2: mes .@name$; mes "Alrighth then! You can come back anytime."; close; } OnInit: .itemID = 7517; .qty = 40; .ItemName$ = getitemname(.itemID) +""; setarray .menu_options$[0], "- Exchange ^0000FF"+.ItemName$+"^000000 to ^FF0000Cash Points^000000", "- Cancel"; end; }
    1 point
  4. They are already making the correction. https://github.com/rathena/FluxCP/pull/275
    1 point
  5. Heya, The issue is that act files must be loaded with their sprite counterpart to function properly. The act file stores the width and height of the image for each layer and this data is loss otherwise (causing your position issues). The script works fine otherwise. foreach (var file in Directory.GetFiles(@"C:\Users\medakas\data\sprite\¸ó½ºÅÍ\", "*.act")) { var act1 = new Act(file, file.ReplaceExtension(".spr")); act1.AnimationExecute(4, action => { action.Frames = new List<Frame> { new Frame() }; }); act1.Save(file); } Edit: Actually, I looked more into it and that explanation turns out to be somewhat incorrect. At some point, the behavior was changed so that a Sprite object is automatically created if an Act object is created without specifying the Sprite path. The problem with that is that the saving function rewrites the Width/Height values if a Sprite object exists. Act Editor abstracts the Width/Height properties of the layers as that'd just be too annoying for the endusers to setup in the first place. But this is a bug; if no image is associated with the layer with a Sprite present, it should not default to 0 Width/Height.
    1 point
  6. Hello everyone, Updated changes on the platform from below spoilers: Changelog v1.0.0 - Date: 01/14/2021 Changelog v1.0.1 - Date: 01/16/2021 Details: PHP Framework Laravel 8.x. HTML5, Javascript with jQuery, CSS3 for theme templating. Bootstrap 5 Framework Responsive & Mobile Friendly PHP 7.4 required (and other Laravel dependencies). Clean Design SEO Friendly Feature Plan - Player Dashboard: Account Feature (Register, Login, Forgot Password, Account Setting) Donate system (paypal and skrill ready) News & Events Ticket support system(WIP) GM Task List Item Shop Feature Plan - Admin Dashboard: Ban Module System (ban or unban from the platform) Manage Item Cash Shop (Fully working with lastest rathena item_cash_db table) CMS Latest Donation (You can see the amount and account who made the donation) Ticket Support System (WIP) Theme configuration (We are still debating if this should be a thing. since you just need a bit of html and css knowledge to edit front page). We are also open to suggestions and idea. We are not gonna abandon the project anytime soon and we would like to have people to test and make us fix backdoors that could appear to make the system more secure. As a matter of fact, we are developing our rathena renewal server in order to test this new platform!. Sorry for the spoiler if it's too big I'm not really used to forums now days.... Also sorry for any grammar mistakes. English is not really my first language Edit: Clic on this Discord Server to access our server. At the moment is just me and no body else, but I believe we can make a good community out of it! Edit #2 : All new updates about the platform will be posted only on discord. This is to prevent more text wall and some other issues it might bring. Edit #3 : Screen Previews are all within discord server.
    1 point
  7. Salve salve comunidade BR do rATHENA aqui quem vós fala é o Zelos sou desenvolvedor e contribuo como posso para alguns fóruns de Ragnarok, já venho observando a tempos que o rATHENA se mantém o emulador mais atualizado e por isso estou com um projeto para traduzi-lo para português, porem sozinho é praticamente impossível porque demandaria muito tempo coisa que eu não tenho, e o brAthena mudou e está seguindo os padrões do Hercules pelo que me parece, então iremos traduzir tudo na mão, de uma forma que sempre que houver uma atualização iremos precisar traduzir apenas os novos NPCs, pretendo manter o projeto sempre atualizado, mas para isso preciso de uma equipe que me ajude e até incentive em continuar porque sozinho é desmotivador, caso alguém se interesse em participar da equipe iremos disponibilizar para toda comunidade BR isso ajudaria muito para futuros servidores de Ragnarok Brasileiros ou Portugueses, os requisitos mínimos são: Boa vontade e conhecimento em Inglês, Caso queiram participar da equipe favor me mandem uma mensagem aqui no fórum mesmo no privado para mantermos contato e trocarmos umas ideias, a tradução será toda dividida para que a equipe não fique sobrecarregada e demandará tempo ou seja pessoas que se interessarem no futuro em entrar para a equipe podem me procurar pois teremos uma rotação de pessoas. Lembrando que todos que participarem do projeto terão seus nomes citados como contribuintes para o projeto! PS: Mesmo que não possa ajudar no projeto se você gostou dessa iniciativa e quer nos apoiar deixe seu comentário ai da um Upvote no tópico! Desde já agradeço, Att; Zelos
    1 point
×
×
  • Create New...