Jump to content

Clare

Members
  • Posts

    18
  • Joined

  • Last visited

Posts posted by Clare

  1. 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.


     

  2. 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!
  3. 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.

  4. Hey Guys

    I have a problem with Iteminfo.lua
     
    I am using this tool 
     
     
    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.

    10273377_476343392507391_666381208165757



    exist another simple way to convert txt files into a iteminfo.lua?

  5. 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


    1374987_448032548638769_1094453355_n.jpg


    And here in the game

    1238903_448032481972109_717311868_n.jpg


    and also causes this error in some local map when rotating the camera

    1376516_448032558638768_797306936_n.jpg

    Module Name: C:\Users\Computador\Desktop\Ragnarok Editer\Ragnarok Online\2010-07-30aRagexeRE.exe.patched.exe
    Time Stamp: 0x4c52288f - Thu Jul 29 22:19:11 2010
     
     
    Exception Type: 0xc0000005
     
    0x004127c0    2010-07-30aRagexeRE.exe.patched.exe
    0x005220a5    2010-07-30aRagexeRE.exe.patched.exe
    0x00521fe5    2010-07-30aRagexeRE.exe.patched.exe
    0x0053721b    2010-07-30aRagexeRE.exe.patched.exe
    0x005a4a57    2010-07-30aRagexeRE.exe.patched.exe
    0x005a4796    2010-07-30aRagexeRE.exe.patched.exe
    0x007030f3    2010-07-30aRagexeRE.exe.patched.exe
    0x0071762d    2010-07-30aRagexeRE.exe.patched.exe
    0x76c63677    KERNEL32.dll
    0x772f9d72    ntdll.dll
    0x772f9d45    ntdll.dll
     
    eax: 0x0a24a648    ebx: 0x80000000
    ecx: 0x04572d60    edx: 0x80000000
    esi: 0x0018f9d8    edi: 0x8018f9d8
    ebp: 0x0018f998    esp: 0x0018f994
     
    stack 0018f994 - 0018fd94
    0018F994 : 00 00 00 80 74 FA 18 00 A5 20 52 00 00 00 00 80 
    0018F9A4 : 48 A6 24 0A D8 F9 18 00 10 E5 1B 0A 04 00 00 00 
    0018F9B4 : 24 30 9C 04 B8 FA 18 00 3F 00 00 00 A8 A6 24 0A 
    0018F9C4 : C0 24 38 0A E0 24 38 0A 0C 00 00 00 DC F9 18 00 
    0018F9D4 : 97 7C 71 00 A0 EF 83 00 20 FA 18 00 28 27 71 00 
    0018F9E4 : 09 00 00 00 70 08 8D 02 00 00 00 FF A8 A6 24 0A 
    0018F9F4 : 70 A5 24 0A E8 26 71 00 0C 00 00 00 66 1D 71 00 
    0018FA04 : 0C 00 00 00 01 00 00 00 00 00 00 FF 0C 00 00 00 
    0018FA14 : A8 A6 24 0A 78 0F 25 0A A8 A6 24 0A 80 0F 25 0A 
    0018FA24 : 04 00 00 00 40 FA 18 00 00 00 00 FF 80 0B 25 0A 
    0018FA34 : A8 A6 24 0A A4 FC 23 0A A8 A6 24 0A B0 FC 23 0A 
    0018FA44 : 03 00 00 00 60 FA 18 00 00 00 00 FF C0 0D 25 0A 
    0018FA54 : A8 A6 24 0A F4 FD 24 3F 48 E1 1A 3F B8 1E 65 3F 
    0018FA64 : 02 00 00 00 80 FA 18 00 D1 69 53 00 80 FB 23 0A 
    0018FA74 : 44 FB 18 00 E5 1F 52 00 48 A6 24 0A 04 00 00 00 
    0018FA84 : 01 00 00 00 B0 A5 24 0A 48 A6 24 0A C0 00 38 0A 
     
    Launch Info 
    0133 015E 015E 015E 0133 0133 00A4 0000 
    0000 0000 0000 0000 0000 0000 0000 0000 
    0000 0000 0000 0000 0000 0000 0000 0000 
    0000 0000 0000 0000 0000 0000 0000 0000 
     
    Job : Paladin

     
    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 ..

     

     

  6. 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

    24424_277308572410875_263935971_n.jpg

     

    1073882_277308555744210_1657791755_o.jpg

  7. Yes I using the revision 586 for saving my maps.
    Here see the print of my config

    942699_276736235801442_1741593625_n.jpg



    I Just edited the Global Light and nothing more

     

    Najara the purpose, I saw your maps and are very beautiful. /ok
     

  8. 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.:

    1071603_276623559146043_2002196155_o.jpg

     

    1015397_276623515812714_1232627591_o.jpg

     


     

    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.

     

    • Upvote 1
  9. 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.

    • Upvote 1
  10. Hi, I make some changes in the Geffen map and have a trouble, change the lightmap and effects of map, but the map was thus.:

    1072239_275701015904964_1528474054_o.jpg

    1072509_276128895862176_1401872630_o.jpg

    The textures disappear.

    Well, I make all of this topic say in the "IX - Finishes of a Map" :
    http://rathena.org/board/topic/53281-guide-aeries-guide-for-browedit/

    I've tried to re-save the map with version 586 of browedit, tried redoing quadtree,
    but does not function, when I use the hexadecimal editor
    and change 0201 for 0109 the effects of the map disappears but the problem

    with the textures is solved...

     

    Please Help-me I need keep the effects and solved the problem of the textures.

    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.

×
×
  • Create New...