Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 07/12/20 in all areas

  1. There´s a new method of upscaling imagens using Artificial Inteligence, based on Deep learning. Here´s the results of my tests with it (called ESRGAN) And there is another AI model that change animations to 60 FPS (Called DAIN) Original (about 10 fps)-> 60 fps (gif aproximation to post here)-> And the two methods can be combined: Its possible to make a 4k Remake of ragnarok with this?
    1 point
  2. Hello people, I'm Katakuri. I'm on a part of learning deeply on spriting and I hoped you like it. ----------------------------------------------------------------------------------------------------------------------------- Various headgears, monster & weapons from different anime. ----------------------------------------------------------------------------------------------------------------------------- 2020 Update Equipment Set for each job/classes Seven Deadly Sins - Sacred Treasure Weapons Monsters Vermilion Bird Suzaku Midgard's Bane Grordag the Twin Head Wounded Dragon Giant Rat - with Recolors Tailed Cape Squid Game Hoodie Attack on Titan - Faction Capes Elemental Garments Demon Slayers FREE RELEASE Owl Mask Link Chubby Meow Link Randoseru / School Bag (Japanese) Link Notes: 1. Sprites came from different game resources which I reworked to make it ROish looks. 2. I won't teach where to find raw image references of it. 3. I will always update this topic as I accomplished something new. 4. I'm newbie regards this matter but I always helping myself to get better. 4. Feel free to comment thanks. 5. If you want to contact me here's my discord. Katakuri#4880 For more works of mine kindly join us on our discord channel! Link: Click me for Discord Link!
    1 point
  3. View File [FREE] Event Manager Ehh since my event scripts are piling up, I decided to make an Event Manager // Basic Event Manager // By Mabuhay /*-=-=-=-=-=-=-=-=-=-=-=-=-=- Currently added are the ff : {#} NAME - "NPC_NAME" [1] Bombring - "Event_Bombring" [2] Dice - "Event_Dice" [3] Last Man Standing - "Event_LMS" [4] Novice V Zombie - "Event_NvZ" [5] Poring Catcher - "Poring_Catcher" [6] Poring Hunter - "Poring_Hunter" (Added 12-15-2019) -=-=-=-=-=-=-=-=-=-=-=-=-=-=-*/ // For easier management of Event NPCs ///////////////////////////////////// // NOTE: // ///////////////////////////////////// // I don't support any modifications unless I want to. // But if you want to change things especially the rewards, // Please refer to my F_Reward Functions // https://rathena.org/board/files/file/4068-itemvariablepoints-reward-function-for-beginners-or-lazy/ // You should be able to easily change the rewards // If you have basic scripting knowledge Header Settings: OnInit: // 1 = item reward // 2 = variable/cashpoints reward // If you want to set item and variable/cashpoints rewards, do 1|2. // If you only want 1, just choose between 1 or 2 $event_options = 1|2; // If item reward enabled // What items will be rewarded setarray $event_item_reward, 501, 10, 502, 5; // If variable reward.. set to your variable. // If cashpoints.. set to #CASHPOINTS / #KAFRAPOINTS (Free Cash Points) $event_var$ = "#EVENTVARIABLE"; // Variable name? // If cash points, set to Cash Points // If your custom var, set to the name of that thing. $event_var_name$ = "Custom Points"; // How much points gain if #VAR / #CASHPOINTS / #KAFRAPOINTS? $event_var_gain = 1; $event_item_arr = getarraysize($event_item_reward); // @eventstart for GM bindatcmd "eventstart", strnpcinfo(0)+"::OnStart",60,60; // @eventjoin bindatcmd "eventjoin", strnpcinfo(0)+"::OnJoinEvent"; end; You may now use @eventstart for GMs to select which ones to start. @eventjoin for players to enter and see which event is currently active Event timers / Clock are to be set here : // OnClock<hour><minute>: donpcevent "<npc_name>::OnStart"; OnClock0000: donpcevent "Event_Bombring::OnStart"; end; //----- 12 mn OnClock0100: donpcevent "Event_Dice::OnStart"; end; OnClock0200: donpcevent "Event_LMS::OnStart"; end; OnClock0300: donpcevent "Poring_Catcher::OnStart"; end; OnClock0400: donpcevent "Event_NvZ::OnStart"; end; OnClock0500: donpcevent "Poring_Hunter::OnStart"; end; OnClock0600: donpcevent "Event_Bombring::OnStart"; end; //----- 6 am OnClock0700: donpcevent "Event_Dice::OnStart"; end; OnClock0800: donpcevent "Event_LMS::OnStart"; end; OnClock0900: donpcevent "Poring_Catcher::OnStart"; end; OnClock1000: donpcevent "Event_NvZ::OnStart"; end; OnClock1100: donpcevent "Poring_Hunter::OnStart"; end; OnClock1200: donpcevent "Event_Bombring::OnStart"; end; //----- 12 nn OnClock1300: donpcevent "Event_Dice::OnStart"; end; OnClock1400: donpcevent "Event_LMS::OnStart"; end; OnClock1500: donpcevent "Poring_Catcher::OnStart"; end; OnClock1600: donpcevent "Event_NvZ::OnStart"; end; OnClock1700: donpcevent "::OnStart"; end; OnClock1800: donpcevent "Event_Bombring::OnStart"; end; //----- 6 pm OnClock1900: donpcevent "Event_Dice::OnStart"; end; OnClock2000: donpcevent "Event_LMS::OnStart"; end; OnClock2100: donpcevent "Poring_Catcher::OnStart"; end; OnClock2200: donpcevent "Event_NvZ::OnStart"; end; OnClock2300: donpcevent "Poring_Hunter::OnStart"; end; //----- 11 pm Currently I just alternately activate events per hour. You can change the event time as you wish. You may choose any of the ff: OnClock<hour><minute>: OnMinute<minute>: OnHour<hour>: On<weekday><hour><minute>: OnDay<month><day>: I hope this helps. If you want me to add more, just PM me on an event script that needs to be updated. Thank you. ? Compatibility is your responsibility. No backward Compatibility Support. Enjoy! NOTE : If you find this useful, please click the Upvote button to motivate me to do stuffs like this ? And you are welcome! Submitter Mabuhay Submitted 11/23/2019 Category Utilities Video Content Author Mabuhay  
    1 point
  4. Hello, I checked the src and the bonus is only working on normal dropped items, same for bubble gum. Normal drops and mvp drops are in 2 totally seperate check.
    1 point
  5. getitem callfunc("F_Rand",6635,19598),1;
    1 point
  6. A big thanks to rAthena Development Team for the scripts, sources, tools and tutorials! I'm just 13 years old running a Ragnarok Private Server! Long live rAthena!
    1 point
  7. Hello... I have problem ,too I compiled the latest rathena from https://github.com/rathena/rathena my map server info as following: [Info]: Git Hash: '5647c875d62bdf5be5429e43252e27a7c91b047f' , [Status]: Using packet version: 20200401. KRO client from https://rathena.org/board/topic/106413-kro-full-client-2020-04-09-includes-bgm-rsu/ english translation data from https://github.com/llchrisll/ROenglishRE and copied above client because my packet version: 20200401 , so i download the 2020-04-01bRagexe.exe from http://nemo.herc.ws/downloads/2020-04-01bRagexe/ nemo version 2.7 (patch by 4144) update 2020-04-30, plugin 2019-07-10 I nemo 2020-04-01bRagexe with load profile 2020_Translation.log, select rcomnded button, and Read Data Folder First , then apply selected and i tried patch nemo with selected recommend only,too when I clicked select rcomnded button, it has a lot of fail T_T my clientinfo.xml and sclientinfo.xml from data folder are as following https://imgur.com/ft33Nxm my nemo said the 2020-04-01bRagexe client loaded: 20200326 ? https://imgur.com/C7IDwyU I can login to the game, walking , buying , but when I open the skill window, it cause problem and close the game window https://imgur.com/6J4nHSQ both two exe have same problem I need some help, which step i did wrong? hope my English can be understood, thank you
    1 point
  8. try this /*========================================== * @whosell - List who is vending the item (amount, price, and location). * revamped by VoidLess, original by zephyrus_cr *------------------------------------------*/ ACMD_FUNC(whosell) { char item_name[100]; int item_id = 0, j, count = 0, sat_num = 0; int s_type = 1; // search bitmask: 0-name,1-id, 2-card, 4-refine int refine = 0,card_id = 0; bool flag = 1; // place dot on the minimap? struct map_session_data* pl_sd; struct s_mapiterator* iter; unsigned int MinPrice = battle_config.vending_max_value, MaxPrice = 0; struct item_data *item_data; static char atcmd_output[CHAT_SIZE_MAX]; if (!*message) { clif_displaymessage(fd, "Use: @whosell <item_id> or @whosell <name>"); return -1; } if (sscanf(message, "+%d %d[%d]", &refine, &item_id, &card_id) == 3){ s_type = 1+2+4; } else if (sscanf(message, "+%d %d", &refine, &item_id) == 2){ s_type = 1+4; } else if (sscanf(message, "+%d [%d]", &refine, &card_id) == 2){ s_type = 2+4; } else if (sscanf(message, "%d[%d]", &item_id, &card_id) == 2){ s_type = 1+2; } else if (sscanf(message, "[%d]", &card_id) == 1){ s_type = 2; } else if (sscanf(message, "+%d", &refine) == 1){ s_type = 4; } else if (sscanf(message, "%d", &item_id) == 1 && item_id == atoi(message)){ s_type = 1; } else if (sscanf(message, "%99[^\n]", item_name) == 1){ s_type = 1; if ((item_data = itemdb_searchname(item_name)) == NULL){ clif_displaymessage(fd, "Not found item with this name"); return -1; } item_id = item_data->nameid; } else { clif_displaymessage(fd, "Use: @whosell <item_id> or @whosell <name>"); return -1; } //check card if(s_type & 2 && ((item_data = itemdb_exists(card_id)) == NULL || item_data->type != IT_CARD)){ clif_displaymessage(fd, "Not found a card with than ID"); return -1; } //check item if(s_type & 1 && (item_data = itemdb_exists(item_id)) == NULL){ clif_displaymessage(fd, "Not found an item with than ID"); return -1; } //check refine if(s_type & 4){ if (refine<0 || refine>10){ clif_displaymessage(fd, "Refine out of bounds: 0 - 10"); return -1; } /*if(item_data->type != IT_WEAPON && item_data->type != IT_ARMOR){ clif_displaymessage(fd, "Use refine only with weapon or armor"); return -1; }*/ } iter = mapit_getallusers(); for (pl_sd = (TBL_PC*)mapit_first(iter); mapit_exists(iter); pl_sd = (TBL_PC*)mapit_next(iter)) { if (pl_sd->vender_id ) { // check if player is vending for (j = 0; j < pl_sd->vend_num; j++) { if ((item_data = itemdb_exists(pl_sd->cart.u.items_cart[pl_sd->vending[j].index].nameid)) == NULL) continue; if(s_type & 1 && pl_sd->cart.u.items_cart[pl_sd->vending[j].index].nameid != item_id) continue; if(s_type & 2 && ((item_data->type != IT_ARMOR && item_data->type != IT_WEAPON) || (pl_sd->cart.u.items_cart[pl_sd->vending[j].index].card[0] != card_id && pl_sd->cart.u.items_cart[pl_sd->vending[j].index].card[1] != card_id && pl_sd->cart.u.items_cart[pl_sd->vending[j].index].card[2] != card_id && pl_sd->cart.u.items_cart[pl_sd->vending[j].index].card[3] != card_id))) continue; if(s_type & 4 && ((item_data->type != IT_ARMOR && item_data->type != IT_WEAPON) || pl_sd->cart.u.items_cart[pl_sd->vending[j].index].refine != refine)) continue; if(item_data->type == IT_ARMOR) snprintf(atcmd_output, CHAT_SIZE_MAX, "+%d %s[%d] | Price %ud | Amount %d | %s[%d,%d] | %s",pl_sd->cart.u.items_cart[pl_sd->vending[j].index].refine ,item_data->jname ,pl_sd->cart.u.items_cart[pl_sd->vending[j].index].card[0] ,pl_sd->vending[j].value ,pl_sd->vending[j].amount ,mapindex_id2name(pl_sd->mapindex) ,pl_sd->bl.x,pl_sd->bl.y ,pl_sd->message); else if(item_data->type == IT_WEAPON) snprintf(atcmd_output, CHAT_SIZE_MAX, "+%d %s[%d,%d,%d,%d] | Price %ud | Amount %d | %s[%d,%d] | %s",pl_sd->cart.u.items_cart[pl_sd->vending[j].index].refine ,item_data->jname ,pl_sd->cart.u.items_cart[pl_sd->vending[j].index].card[0] ,pl_sd->cart.u.items_cart[pl_sd->vending[j].index].card[1] ,pl_sd->cart.u.items_cart[pl_sd->vending[j].index].card[2] ,pl_sd->cart.u.items_cart[pl_sd->vending[j].index].card[3] ,pl_sd->vending[j].value ,pl_sd->vending[j].amount ,mapindex_id2name(pl_sd->mapindex) ,pl_sd->bl.x,pl_sd->bl.y ,pl_sd->message); else snprintf(atcmd_output, CHAT_SIZE_MAX, "%s | Price %ud | Amount %d | %s[%d,%d] | %s",item_data->jname ,pl_sd->vending[j].value ,pl_sd->vending[j].amount ,mapindex_id2name(pl_sd->mapindex) ,pl_sd->bl.x, pl_sd->bl.y ,pl_sd->message); if(pl_sd->vending[j].value < MinPrice) MinPrice = pl_sd->vending[j].value; if(pl_sd->vending[j].value > MaxPrice) MaxPrice = pl_sd->vending[j].value; clif_displaymessage(fd, atcmd_output); count++; flag = 1; } if (flag && pl_sd->mapindex == sd->mapindex) { clif_viewpoint(sd, 1, 1, pl_sd->bl.x, pl_sd->bl.y, ++sat_num, 0xFFFFFF); flag = 0; } } } mapit_free(iter); if(count > 0) { snprintf(atcmd_output, CHAT_SIZE_MAX, "================== Found %d entries. ==================", count, MinPrice, MaxPrice); clif_displaymessage(fd, atcmd_output); } else clif_displaymessage(fd, "Nobody is selling it now."); return 0; }
    1 point
  9. Version 1.2

    2086 downloads

    Status Icon Included: Blind Stone Confusion Curse Sleep Poison Freeze Stun Silence Undead DPoison Click here to see the installation guide
    Free
    1 point
  10. Below are a bunch of castle locations in front of the castle manager. If I use an accolyte character I can store up to 3 locations. The 12 locations below I have pasted in wordpad along with 40 other locations. a GM or admin should be able to store locations with a description of each and be able to scroll through a list and click where they want to go. I found several control panels that do a lot, but none of them have a feature to send the client warp info. I was left a message a week ago that a player was stuck in a dungeon location with no teleporters and stupidly didn't think to write the map down and just eddited the mysql file to move them to izude. Got to wait for the next person to get stuck to find out where it was. a menu to hold all the data below and be able to select it would be great if it exists. I don't know how to code for RO yet, but looking at a lot of files, looks very similar to uo, terraria, minecraft. Thanks. @warp payg_cas04, 39,283 @warp gefg_cas02, 14,65 @warp aldeg_cas01, 217,174 @warp gefg_cas01, 40,46 @warp payg_cas01, 123,58 @warp prtg_cas01, 110,179 @warp aldeg_cas02, 72,73 @warp payg_cas02, 23,260 @warp prtg_cas02, 94,60 @warp aldeg_cas03, 108,118 @warp gefg_cas03, 107,22 @warp payg_cas03, 48,261 You want it editable in game yes? Also did you want it shared between multiple ppl or unique to each? As for how to script, look at this https://github.com/rathena/rathena/blob/master/doc/script_commands.txt its everything you need to learn.
    1 point
  11. https://rathena.svn.sourceforge.net/svnroot/rathena/trunk/conf/battle/skill.conf // Allows players to skip menu when casting Teleport level 1 // Menu contains two options. "Random" and "Cancel" skip_teleport_lv1_menu: yes
    1 point
  12. Solved: Solution: check skillinfo_f.lua if function 8 exist: -- Function #8 IsLevelUseSkill = function(SkillID) local obj = SKILL_INFO_LIST[skillID] if obj ~= nil then obj = SKILL_INFO_LIST[skillID].SpAmount end if obj ~= nil then return 1 end return 0 end New lua isnt functioning like that "if in not mistaken" And skillinfolist.lua [sKID.AL_TELEPORT] = { "AL_TELEPORT"; SkillName = "Teleportation", MaxLv = 2, SpAmount = { 10, 9 }, bSeperateLv = true, AttackRange = { 1, 1 }, _NeedSkillList = { { SKID.AL_RUWACH,1 } } }, However you can still be prompted by a dialog to warp into random area. To disable it: conf/skill.conf
    1 point
×
×
  • Create New...