Jump to content

ViewtifulNinja

Members
  • Posts

    35
  • Joined

  • Last visited

Everything posted by ViewtifulNinja

  1. How do I make a script that automatically triggers an event when the character reaches a certain job level, without having to talk to any npc?
  2. Thank you, @Skorm. How do I do this reloading? What would the command be?
  3. So I didn't get what I wanted, even though the years had gone by. I went back to working on my server, and I did it as follows: - script DaynNight -1,{ OnInit: if(gettime(3) >= 18 || gettime(3) < 6){night;} else {day;} end; OnClock0600: day; setbattleflag "mob_count_rate",100; end; OnClock1800: night; setbattleflag "mob_count_rate",150; end; } But it doesn't work, whichever way I put it. I've tried it in different ways. If possible and they can help me...
  4. The size of the client has decreased. Please, can you tell us the reason?
  5. I would like to thank you for everything ... Today I walk with my own legs, but your topic helped me a lot in the beginning. Thank you @anacondaq!
  6. How did you solve it?

    1. domez86

      domez86

      add file -> data\luafiles514\lua files\service_usa\externalsettings_usa.lub

      and change <langtype>1</langtype> in sclientinfo.xml

    2. ViewtifulNinja

      ViewtifulNinja

      Thanks... I got it!

  7. How do I put in a NPC script a command that calls the mob_count_rate configuration of the conf\battle\monster.conf file? I want in a given game event, the mob_count_rate setting to increase from 100 to 150.
  8. It worked ... I do not know why, but when I gave <tab>, it came in as two spaces. I had to compose the line from another NPC and replace the values. But now it's working. Thank you so much.
  9. I have an NPC that uses Reset Stones to reset the attributes. However, when I run the server, it generates the following error in mapserv.bat: [Error]: npc_parsesrcfile: Unknown syntax in file 'npc/custom/reseter.txt', line '1'. Stopping... * w1=prontera,146,304,5 script Reseter 407,{ * w2= * w3= * w4= Here is the code for the NPC: prontera,146,304,5 script Reseter 407,{ mes .npcname$; mes "So are you satisfied with your"; mes "current stat allocation?"; mes "Of course not, if you want to make"; mes "a change then listen on."; next; mes .npcname$; mes "I use the power of the"; mes "^009900"+getitemname(.stoneid)+"^000000 to help adventurers"; mes "reset their stat choices."; mes "Of course the more powerful the"; mes "adventurer, the more ^009900"+getitemname(.stoneid)+"s^000000"; mes "I need the perform the reset."; next; for(set .@i,0; .@i<getarraysize(.minrange); set .@i,.@i+1) { if(BaseLevel >= .minrange[.@i] && BaseLevel <= .maxrange[.@i]) { set .@stonesreq,.stones[.@i]; } } mes .npcname$; mes "For instance you ["+strcharinfo(0)+"] would require."; mes "["+.@stonesreq+"] "+getitemname(.stoneid)+" to reset all your stats to 1 and get all your status points back."; next; switch(select("Tell me More!","Lets reset NOW","First Time Free Reset","Later")) { case 1: mes .npcname$; for(set .@i,0; .@i<getarraysize(.minrange); set .@i,.@i+1) { mes "Base Lvl ^000099"+.minrange[.@i]+" - "+.maxrange[.@i]+"^000000 ^009900["+.stones[.@i]+" "+getitemname(.stoneid)+"]^000000"; } close; case 2: mes .npcname$; mes "Ok let's start checking."; next; if(Weight > 0) { mes .npcname$; mes "Lower your weight to 0"; close; } if(checkcart()) { setcart 0; } if(checkfalcon()) { setfalcon 0;} if(checkriding()) { setriding 0;} if(countitem(.stoneid) >= .@stonesreq) { delitem .stoneid,.@stonesreq; resetstatus; close; } else { mes .npcname$; mes "You do not have enough ^009900"+getitemname(.stoneid)+"s^000000"; close; } case 3: if( !Freebies ){ set Freebies,1; mes "Welcome...this is your first character free reset..."; resetstatus; }else{ mes "You have reset for free already."; } close; case 4: close; } OnInit: set .stoneid,6320; //reset stone id = 6320 ? set .npcname$,"["+strnpcinfo(0)+"]"; setarray .minrange[0],1 , 41, 71, 91, 111, 126, 141; setarray .maxrange[0],40, 70, 90, 110,125, 140, 150; setarray .stones[0], 1, 2, 3, 4, 5, 6, 7; end; } Does anyone know what it could be?
  10. You know how I put a limiter so this formula only works up to level 175?
  11. Where can I find the ATK status formula, which appears in the status window? Something like this that shows in iRO? StatusATK = floor[(BaseLevel ÷ 4) + Str + (Dex ÷ 5) + (Luk ÷ 3)] https://irowiki.org/wiki/ATK#StatusATK
  12. This topic is wrong. Can delete.
  13. I was able to change the formulas. However, the ATK and ATK2 formula do not have the level variable. Could anyone tell me how to change these two formulas? // Atk stat = (status_get_homstr(bl) + status_get_homdex(bl)) / 5; status->rhw.atk = cap_value(stat, 0, SHRT_MAX); // Atk2 stat = (status_get_homluk(bl) + status_get_homstr(bl) + status_get_homdex(bl)) / 3; status->rhw.atk2 = cap_value(stat, 0, SHRT_MAX); I wish these two formulas would stop being influenced by the level from level 176, and would only be influenced by stats. Or if possible, can you tell me a source language manual that I can download and study? I would be very grateful.
  14. Hello masters I would like to know how to modify the formulas of the substats (atk, atk2, def, def2, mdef, mdef2, hit, flee) so that after level 175, stop evolving due to level and are influenced only by stat points. I know the formula is in status.c, but I do not know how to modify it. I looked a lot, but could not. I think something like a level limiter is missing for the formula. The code I found is the following: #ifdef RENEWAL // Renewal formulas if (bl->type == BL_HOM) { // Def2 stat = status_get_homvit(bl) + status_get_homagi(bl) / 2; status->def2 = cap_value(stat, 0, SHRT_MAX); // Mdef2 stat = (status_get_homvit(bl) + status_get_homint(bl)) / 2; status->mdef2 = cap_value(stat, 0, SHRT_MAX); // Def stat = status->def; stat += status_get_homvit(bl) + level / 2; status->def = cap_value(stat, 0, SHRT_MAX); // Mdef stat = (int)(((float)status_get_homvit(bl) + level) / 4 + (float)status_get_homint(bl) / 2); status->mdef = cap_value(stat, 0, SHRT_MAX); // Hit stat = level + status->dex + 150; status->hit = cap_value(stat, 1, SHRT_MAX); // Flee stat = level + status_get_homagi(bl); status->flee = cap_value(stat, 1, SHRT_MAX); // Atk stat = (status_get_homstr(bl) + status_get_homdex(bl)) / 5; status->rhw.atk = cap_value(stat, 0, SHRT_MAX); // Atk2 stat = (status_get_homluk(bl) + status_get_homstr(bl) + status_get_homdex(bl)) / 3; status->rhw.atk2 = cap_value(stat, 0, SHRT_MAX); } else { // Hit stat = status->hit; stat += level + status->dex + (bl->type == BL_PC ? status->luk / 3 + 175 : 150); //base level + ( every 1 dex = +1 hit ) + (every 3 luk = +1 hit) + 175 status->hit = cap_value(stat, 1, SHRT_MAX); // Flee stat = status->flee; stat += level + status->agi + (bl->type == BL_MER ? 0 : bl->type == BL_PC ? status->luk / 5 : 0) + 100; //base level + ( every 1 agi = +1 flee ) + (every 5 luk = +1 flee) + 100 status->flee = cap_value(stat, 1, SHRT_MAX); // Def2 if (bl->type == BL_MER) stat = (int)(status->vit + ((float)level / 10) + ((float)status->vit / 5)); else { stat = status->def2; stat += (int)(((float)level + status->vit) / 2 + (bl->type == BL_PC ? ((float)status->agi / 5) : 0)); //base level + (every 2 vit = +1 def) + (every 5 agi = +1 def) } status->def2 = cap_value(stat, 0, SHRT_MAX); // Mdef2 if (bl->type == BL_MER) stat = (int)(((float)level / 10) + ((float)status->int_ / 5)); else { stat = status->mdef2; stat += (int)(bl->type == BL_PC ? (status->int_ + ((float)level / 4) + ((float)(status->dex + status->vit) / 5)) : ((float)(status->int_ + level) / 4)); //(every 4 base level = +1 mdef) + (every 1 int = +1 mdef) + (every 5 dex = +1 mdef) + (every 5 vit = +1 mdef) } status->mdef2 = cap_value(stat, 0, SHRT_MAX); } // MAtk status->matk_min = status->matk_max = status_base_matk(bl, status, level); ///! TODO: Confirm these RENEWAL calculations. Currently is using previous calculation before 083cf5d9 (issue: #321) and until re/mob_db.txt is updated. //switch (bl->type) { // case BL_MOB: // status->matk_min += 70 * ((TBL_MOB*)bl)->status.rhw.atk2 / 100; // status->matk_max += 130 * ((TBL_MOB*)bl)->status.rhw.atk2 / 100; // break; // case BL_MER: // status->matk_min += 70 * ((TBL_MER*)bl)->battle_status.rhw.atk2 / 100; // status->matk_max += 130 * ((TBL_MER*)bl)->battle_status.rhw.atk2 / 100; // break; //} #else // Matk status->matk_min = status_base_matk_min(status); status->matk_max = status_base_matk_max(status); // Hit stat = status->hit; stat += level + status->dex; status->hit = cap_value(stat, 1, SHRT_MAX); // Flee stat = status->flee; stat += level + status->agi; status->flee = cap_value(stat, 1, SHRT_MAX); // Def2 stat = status->def2; stat += status->vit; status->def2 = cap_value(stat, 0, SHRT_MAX); // Mdef2 stat = status->mdef2; stat += status->int_ + (status->vit>>1); status->mdef2 = cap_value(stat, 0, SHRT_MAX); #endif Can someone help me? Thanks.
  15. Hi, GM Takumirai. Your NPC really interests me, but he is giving error on line 1. [Error]: npc_parsesrcfile: Unknown syntax in file 'npc/custom/reseter.txt', line '1'. Stopping... * w1=prontera,146,304,5 script Reseter 407,{ * w2= * w3= * w4= You know what's going on? Thanks
  16. Guys, editing by Visual Studio worked perfectly. Thanks for the answers. The only problem is that for each line, the program works a lot of time. When I edit by Notepad ++, it gives error in the game when I start. However, they have helped me a lot. Is there any other editor that can be faster to edit? Visual Studio Code is different from the regular Visual Studio?
  17. Good question. I am from Brazil, and here there are some symbols in the words that do not exist in English. For example, Red Potion is written Poção Vermelha here. I need the encode in ANSI, or it will not recognize the ã and ç. Or some way to convert the file names of items into the texture folder.
  18. When I open the itemInfo.lua by Visual Studio, the PC almost gives bug so heavy that the file is.
  19. Hello guys. I have a problem when creating my itemInfo.lua file. I'm using a program called ItemConverter, and in the description says that I need to put the following files in a folder: Idnum2itemdesctable.txt Idnum2itemdisplaynametable.txt Idnum2itemresnametable.txt Itemslotcounttable.txt Num2itemdesctable.txt Num2itemdisplaynametable.txt Num2itemresnametable.txt There is a note in the description too: Note: if you want classNum field to be filled, copy your item_db.txt to the same folder, where your client side files are located. Test with and without item_db.txt in the folder. If I leave without it, no weapon sprite appears in the character's hand, and if I put the item_db in the folder, all items have a single basic sprite. All two-handed swords, for example, are left with the sprite of the image below, regardless of which sword. Does anyone know what I can do, or do I have some other way to edit the itemInfo.lua file, or convert direct from itemInfo.lub? If I change directly in the itemInfo.lua, the game gives error when it starts and all items have seen an apple. I even tested without making any changes to the files, and the same error happens.
  20. Hello guys. I have a problem when creating my itemInfo.lua file. I'm using a program called ItemConverter, and in the description says that I need to put the following files in a folder: Idnum2itemdesctable.txt Idnum2itemdisplaynametable.txt Idnum2itemresnametable.txt Itemslotcounttable.txt Num2itemdesctable.txt Num2itemdisplaynametable.txt Num2itemresnametable.txt There is a note in the description too: Note: if you want classNum field to be filled, copy your item_db.txt to the same folder, where your client side files are located. Test with and without item_db.txt in the folder. If I leave without it, no weapon sprite appears in the character's hand, and if I put the item_db in the folder, all items have a single basic sprite. All two-handed swords, for example, are left with the sprite of the image below, regardless of which sword. Does anyone know what I can do, or do I have some other way to edit the itemInfo.lua file, or convert direct from itemInfo.lub? If I change directly in the itemInfo.lua, the game gives error when it starts and all items have seen an apple. Edit: I even tested without making any changes to the files, and the same error happens.
  21. I set up the emulator from the beginning and it worked. Problem solved.
  22. I have a problem. When I login with a character, the following error appears: [Status]: Received '44' guild castles from char-server. [Status]: Received '4' clans from char-server. [Info]: 'Test' logged in. (AID / CID: '2000000/150000', Packet See: '55', IP: '127.0.0.1', Group '0'). [Debug]: Selected langtype 240 not loaded, trying fallback ... [Error]: intif_parse_Mail_inboxreceived: char not found 150000 When I logoff or try to change characters, it generates two more errors and a window appears saying that map-server.exe stopped working. [Info]: Character 'Test' logged off. [Error]: delete_timer error: function mismatch 011CD3D0 (connect_check_clear)! = 00ECCEFB (pc_expiration_timer) [Error]: delete_timer error: function mismatch 011CD3D0 (connect_check_clear)! = 00ED2F63 (pc_autotrade_timer) Do you know what that can be?
  23. Sorry for my ignorance, Capuche, but is there any way I can update the files in the src folder without making an error when compiling? I use Visual C ++ 2010 Express to compile. I did not find anything about this in the forum. I thank you.
  24. Is there any problem in changing warp2 to warp in the warps.txt file? When I did this, there was no error in the warps.txt file, but I do not know if it makes any difference.
×
×
  • Create New...