Jump to content

Clare

Members
  • Posts

    18
  • Joined

  • Last visited

Profile Information

  • Gender
    Male
  • Location
    Brasil

Recent Profile Visitors

2786 profile views

Clare's Achievements

Poring

Poring (1/15)

  • Dedicated
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

7

Reputation

  1. View File The Fair The Fair is a custom map made by me. The idea was to create a place to sell items from your ragnarok server. It can be used to create events with discounts or any other way you can imagine. Please let me know if you have any problems with this map. To facilitate use and avoid errors, the map is contained in a grf with all the files necessary for its operation. I recommend using the GRF editor with the merge grf function to add the files to your grf. You can use GRF Editor or other software to add files to your GRF. I recommend using cryptography in your grf to prevent others from getting the map. Files: - all models and textures used in creating the map. - rsw, gnd and gat files. - mini map in bmp. Submitter Clare Submitted 03/29/2020 Category Maps & 3D Resources Video Content Author Clare  
  2. Version 1.0.0

    265 downloads

    The Fair is a custom map made by me. The idea was to create a place to sell items from your ragnarok server. It can be used to create events with discounts or any other way you can imagine. Please let me know if you have any problems with this map. To facilitate use and avoid errors, the map is contained in a grf with all the files necessary for its operation. I recommend using the GRF editor with the merge grf function to add the files to your grf. You can use GRF Editor or other software to add files to your GRF. I recommend using cryptography in your grf to prevent others from getting the map. Files: - all models and textures used in creating the map. - rsw, gnd and gat files. - mini map in bmp.
    Free
  3. Hi guys, I need help! Would i like to edit this old Mapflag NoItem NoSkill2, but I dont know much about making changes to the Source, someone could help me with this? What I want do? Simply do this back to work, with the changes that occurred in the emulator it has become incompatible MapFlag original topic: http://rathena.org/board/topic/59578-mapflags-noitem-and-noskill2/ Mapflag Source Code: Index: map.c =================================================================== --- map.c (revision 15629) +++ map.c (working copy) @@ -2877,6 +2877,8 @@ map[i].bexp = 100; // per map base exp multiplicator map[i].jexp = 100; // per map job exp multiplicator memset(map[i].drop_list, 0, sizeof(map[i].drop_list)); // pvp nightmare drop list + memset(map[i].noiteml, 0, sizeof(map[i].noiteml)); // noitem item list mapflag [ Wynn ] + memset(map[i].noskilll, 0, sizeof(map[i].noskilll)); // noskill2 item list mapflag [ Wynn ] // adjustments if( battle_config.pk_mode ) Index: map.h =================================================================== --- map.h (revision 15629) +++ map.h (working copy) @@ -67,6 +67,9 @@ #define MAPID_UPPERMASK 0x0fff #define MAPID_BASEMASK 0x00ff #define MAPID_THIRDMASK (JOBL_THIRD|MAPID_UPPERMASK) + +#define MAX_RESTRICTED_LIST 50 + //First Jobs //Note the oddity of the novice: //Super Novices are considered the 2-1 version of the novice! Novices are considered a first class type, too... @@ -522,6 +525,8 @@ unsigned guildlock :1; unsigned src4instance : 1; // To flag this map when it's used as a src map for instances unsigned reset :1; // [Daegaladh] + unsigned noitem : 1; // [ Wynn ] + unsigned noskill2 : 1; } flag; struct point save; struct npc_data *npc[MAX_NPC_PER_MAP]; @@ -537,6 +542,8 @@ int jexp; // map experience multiplicator int bexp; // map experience multiplicator int nocommand; //Blocks @/# commands for non-gms. [Skotlex] + int noiteml[MAX_RESTRICTED_LIST]; // [ Wynn ] + int noskilll[MAX_RESTRICTED_LIST]; // Instance Variables int instance_id; int instance_src_map; Index: npc.c =================================================================== --- npc.c (revision 15629) +++ npc.c (working copy) @@ -3250,6 +3250,42 @@ map[m].flag.guildlock=state; else if (!strcmpi(w3,"reset")) map[m].flag.reset=state; + else if (!strcmpi(w3,"noitem") || + !strcmpi(w3,"noskill2")) + { + int i = 0, type = 0, id = 0; + char *arr = NULL, *list = strdup(w4); + + if ( !strcmpi(w3,"noitem") ) type = 1; + else if ( !strcmpi(w3,"noskill2") ) type = 2; + + arr = strtok( list, " ,.+-" ); + while (arr != NULL) { + id = atoi(arr); + switch (type) { + case 1: + if ( id && ( itemdb_exists( id ) || id < 8 ) ) + map[m].noiteml[i] = id; + else + ShowWarning("npc_parse_mapflag: Item ID \"%s\" does not exist.\n Mapflag noitem: At %s (file '%s', line '%d').\n", arr, map[m].name, filepath, strline(buffer,start-buffer)); + break; + case 2: + if ( id && skill_get_index( id ) ) + map[m].noskilll[i] = id; + else + ShowWarning("npc_parse_mapflag: Skill ID \"%s\" does not exist.\n Mapflag noitem: At %s (file '%s', line '%d').\n", arr, map[m].name, filepath, strline(buffer,start-buffer)); + break; + default: return strchr(start,'\n'); + } + i++; + arr = strtok(NULL," ,.+-"); + } + free(list); + switch (type) { + case 1: map[m].flag.noitem = state; break; + case 2: map[m].flag.noskill2 = state; break; + } + } else ShowError("npc_parse_mapflag: unrecognized mapflag '%s' (file '%s', line '%d').\n", w3, filepath, strline(buffer,start-buffer)); Index: pc.c =================================================================== --- pc.c (revision 15629) +++ pc.c (working copy) @@ -837,6 +837,13 @@ return 0; if(map[sd->bl.m].flag.battleground && ((item->flag.no_equip&8) || !pc_isAllowedCardOn(sd,item->slot,n,8))) return 0; + if(map[sd->bl.m].flag.noitem) + { + int i; + ARR_FIND(0, MAX_RESTRICTED_LIST, i, map[sd->bl.m].noiteml[i] == sd->status.inventory[n].nameid || ( map[sd->bl.m].noiteml[i] < 9 && map[sd->bl.m].noiteml[i] & 2)); // Grupo 2 : Sem equipamentos + if ( i < MAX_RESTRICTED_LIST ) + return 0; + } if(map[sd->bl.m].flag.restricted) { int flag =8*map[sd->bl.m].zone; @@ -3863,7 +3870,14 @@ return 0; break; } - + if ( map[sd->bl.m].flag.noitem ) { + int i; + ARR_FIND(0, MAX_RESTRICTED_LIST, i, map[sd->bl.m].noiteml[i] == nameid || ( map[sd->bl.m].noiteml[i] < 9 && map[sd->bl.m].noiteml[i] & 1)); // Grupo 1 : Sem itens consumíveis + if( i < MAX_RESTRICTED_LIST ) { + clif_displaymessage( sd->fd, "You cannot use this item." ); + return 0; + } + } if( nameid >= 12153 && nameid <= 12182 && sd->md != NULL ) return 0; // Mercenary Scrolls @@ -7515,6 +7529,17 @@ return 0; } + if ( map[sd->bl.m].flag.noitem ) { + int b; + ARR_FIND(0, MAX_RESTRICTED_LIST, b, map[sd->bl.m].noiteml[b] == sd->status.inventory[n].nameid || + ( map[sd->bl.m].noiteml[b] < 9 && map[sd->bl.m].noiteml[b] & 2 ) // Grupo 2 : Sem equipamentos + ); + if ( b < MAX_RESTRICTED_LIST ) { + clif_equipitemack(sd,n,0,0); + return 0; + } + } + id = sd->inventory_data[n]; pos = pc_equippoint(sd,n); //With a few exceptions, item should go in all specified slots. @@ -7862,6 +7887,19 @@ continue; } + if ( map[sd->bl.m].flag.noitem ) { + int b; + calc_flag = 1; + for(b=0;b<MAX_RESTRICTED_LIST;b++) + if ( ( map[sd->bl.m].noiteml[b] < 9 && map[sd->bl.m].noiteml[b] & 2 ) || // Grupo 2 : Sem equipamentos + ( i >= 0 && map[sd->bl.m].noiteml[b] == sd->status.inventory[i].nameid ) + ) { + clif_displaymessage( sd->fd, "You cannot use this item." ); + pc_unequipitem(sd, i, 2); + continue; + } + } + if( it ) { // check for forbiden items. int flag = @@ -7878,7 +7916,7 @@ } } - if( calc_flag && sd->state.active ) + if( sd->state.active && ( calc_flag || map[sd->state.pmap].flag.noitem ) ) { pc_checkallowskill(sd); status_calc_pc(sd,0); Index: skill.c =================================================================== --- skill.c (revision 15629) +++ skill.c (working copy) @@ -442,7 +442,7 @@ // [MouseJstr] - skill ok to cast? and when? int skillnotok (int skillid, struct map_session_data *sd) { - int i,m; + int i,m,j; nullpo_retr (1, sd); m = sd->bl.m; i = skill_get_index(skillid); @@ -567,11 +567,14 @@ break; } - return (map[m].flag.noskill); +// return (map[m].flag.noskill); + ARR_FIND(1, MAX_RESTRICTED_LIST, j, map[sd->bl.m].noskilll[j] == skillid ); + return ( map[m].flag.noskill || ( j < MAX_RESTRICTED_LIST && map[m].flag.noskill2 ) ); } int skillnotok_hom(int skillid, struct homun_data *hd) { + int j; int i = skill_get_index(skillid); nullpo_retr(1,hd); @@ -581,6 +584,12 @@ if (hd->blockskill[i] > 0) return 1; + if ( map[hd->master->bl.m].flag.noskill2 ) { + ARR_FIND(1, MAX_RESTRICTED_LIST, j, map[hd->master->bl.m].noskilll[j] == skillid ); + if ( j < MAX_RESTRICTED_LIST ) + return 1; + } + //Use master's criteria. return skillnotok(skillid, hd->master); } Index: status.c =================================================================== --- status.c (revision 15629) +++ status.c (working copy) @@ -2389,6 +2389,12 @@ } if(!data->script) continue; + if ( map[sd->bl.m].flag.noitem ) { + int b; + ARR_FIND(0, MAX_RESTRICTED_LIST, b, c == map[sd->bl.m].noiteml[b] || ( map[sd->bl.m].noiteml[b] < 9 && map[sd->bl.m].noiteml[b] & 4 ) ); + if ( b < MAX_RESTRICTED_LIST ) + continue; + } if(data->flag.no_equip) { //Card restriction checks. if(map[sd->bl.m].flag.restricted && data->flag.no_equip&(8*map[sd->bl.m].zone)) continue; After many failed attempts managed to solve the problem by myself. Solved!
  4. Hey guys, I came to bring a version of plugin mapeffectable compatible with the hexed 2013-08-07, adapted by me with help of Curiosity. Download Links:
  5. Thank you Akbare, its solved my problem
  6. I'm sorry for post in other language Emistry, it's no back to happen. About my problem, I understand, so I need converte my txt files in a iteminfo.lua, but when i used the conversion tool some of itens no have one description, you know how i can do this conversion of Txt files for Iteminfo.lua but this time convert all my txt files without error? Exist another way or tool to easily conversion txt in a iteminfo.lua? I have more of 1000 items without description, and for manually make all this are one hard job. I thank you if can help-me.
  7. Hey Guys I have a problem with Iteminfo.lua I am using this tool http://rathena.org/board/topic/66795-itemconverter/ to try to convert my files "idnum2itemdestable" and others of kind in my own Iteminfo.Lua But despite the tool make the convert some of the items are still without a description, anyone know what I can do to be able to convert all my txt files without error? I wonder if there is any other way to convert these files to create my iteminfo.lua with all the descriptions for each item. Thanks to anyone who can help. I apologize for my bad english, this is not my native language. exist another simple way to convert txt files into a iteminfo.lua?
  8. Thank you Adel, I will try to do and then come back to tell the result ^^
  9. Hi, i make a map using bowedit, but he was corrupted when i put in the game, he map is different, not the same as appearing browedit shows. Here in the browedit And here in the game and also causes this error in some local map when rotating the camera well, how can I fix it? I've tried to copy the map to a new ... my grf is fully updated already redid the quadtree map and I'm using version 586 of browedit Thanks to anyone who can help, and I apologize for my English, I use translator ..
  10. Someone to help me with this second problem?
  11. No problems, thank for your help @Edit and I have another question if you can help me with this it will be of much help. I edited the town of Morroc to an event, and I change an area "not walkable" to "walkable" but in game area is still not walkable, you know how to solve this? see the print
  12. Okay, I'll clean the ligthmap and will redo the lights when I finish I say if it worked. @Edit I remake all lightmap and not solved, you have any other ideas?
  13. Yes I using the revision 586 for saving my maps. Here see the print of my config I Just edited the Global Light and nothing more Najara the purpose, I saw your maps and are very beautiful.
  14. Hi, I changed the global light of Payon map, but some objects are with different color, what I do for make all objects have the same color? here the prints.: If anyone knows what to do to solve the problem I thank. I'm sorry for my english but I live in the Brazil and not talk english, I used the translator.
  15. I'll try to do that, and then say if it worked, thanks. @EDIT Oh thank you, it worked, despite having given enough work to redo all the gats, but what matters is that it worked, thank you so much.
×
×
  • Create New...