Jump to content

rongmauhong

Members
  • Posts

    81
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by rongmauhong

  1. Hi, You have this error because missing 'end' for the 'close2' command, just put 'end' after 'close2' or using 'close3' Fixed script test.txt
  2. Hi, this crash this crash related to state icon. If you use ROenglishRE from zackdreaver open data/luafiles514/lua files/stateicon/stateiconinfo.lub change StateIconList[EFST_IDs.EFST_GEFFEN_MAGIC1] = { haveTimeLimit = 1, posTimeLimitStr = 3, descript = { { "Increases physical damage against Demihuman monster" }, { "%s", COLOR_TIME } } } StateIconList[EFST_IDs.EFST_GEFFEN_MAGIC2] = { haveTimeLimit = 1, posTimeLimitStr = 3, descript = { { "Increases magical damage against Demihuman monster" }, { "%s", COLOR_TIME } } } StateIconList[EFST_IDs.EFST_GEFFEN_MAGIC3] = { haveTimeLimit = 1, posTimeLimitStr = 3, descript = { { "Reduces damage taken from Demihuman monster" }, { "%s", COLOR_TIME } } } to StateIconList[EFST_IDs.EFST_GEFFEN_MAGIC1] = { haveTimeLimit = 1, posTimeLimitStr = 2, descript = { { "Increases physical damage against Demihuman monster" }, { "%s", COLOR_TIME } } } StateIconList[EFST_IDs.EFST_GEFFEN_MAGIC2] = { haveTimeLimit = 1, posTimeLimitStr = 2, descript = { { "Increases magical damage against Demihuman monster" }, { "%s", COLOR_TIME } } } StateIconList[EFST_IDs.EFST_GEFFEN_MAGIC3] = { haveTimeLimit = 1, posTimeLimitStr = 2, descript = { { "Reduces damage taken from Demihuman monster" }, { "%s", COLOR_TIME } } }
  3. Your campfire script used old getmapxy constant, the new is *getmapxy("<variable for map name>",<variable for x>,<variable for y>{,<type>,"<search value>"}) Type is the type of object to search for: BL_PC - Character object (default) BL_NPC - NPC object BL_PET - Pet object BL_HOM - Homunculus object BL_MER - Mercenary object BL_ELEM - Elemental object Update all your scripts where it contains getmapxy(.@mapname$, .@mapx, .@mapy, UNITTYPE_***) You can find out more from https://github.com/rathena/rathena/pull/3890
  4. Hi community! I would ask for a mapflag to make player's pet return to egg and the player can not hatch a pet egg. Thanks.
  5. Hi, you need to change UNITTYPE_PC to BL_PC and UNITTYPE_NPC to BL_NPC
  6. Hi These constants was deprecated. You need to change E_DOTS to ET_THINK E_SWT to ET_SWEAT E_PAT to ET_GOODBOY You can see the full list at tools/convert_emotions.py
  7. This script has 2 cleanmap, you only fix one. Please check the line 118.
  8. Are you sure? Can you show me your full script?
  9. just change from cleanmap .gold$,88,111,168,191; to cleanarea .gold$,88,111,168,191;
  10. The player can not send negative number so that line can't be broken. If you type -1,-5,-100 or even "bla bla" on input script command with the variable .@inputDay (not .@inputDay$) it will automatically change to 0. That's why I only use .@inputDay == 0.
  11. *cleanarea "<map name>",<x1>,<y1>,<x2>,<y2>; *cleanmap "<map name>"; You used the wrong script command... ?
  12. Use this because it meets your requirements I also edited my first comment. test.txt
  13. Don't copy and paste because it may be due to UTF-8 error. Just type it in your editor.
  14. Oops! Sorry. I fixed it Change to if (!(.@eac&EAJL_THIRD) || BaseLevel < 175) {
  15. Hi, you can find many sample files in folder npc/re/merchants/enchant_**.txt This is my script that give 3 random enchants in 1 roll. prontera,156,186,4 script stest 857,{ .@part = EQI_ARMOR; .@item_to_test = 2302; // Cotton Shirt [1] if (!countitem(.@item_to_test)) { specialeffect2 EF_STEAL; getitem2 .@item_to_test,1,1,7,0,4003,0,0,0; message strcharinfo(0),"You got a Cotton Shirt to test."; end; } if (!getequipisequiped(.@part)) { message strcharinfo(0), "Make sure you're wearing the equipment first."; end; } // Enchant stones setarray .@enchant_slot1[0],4710,4711,4720,4721; //Inteligence1,Inteligence2,Dexterity1,Dexterity2 setarray .@enchant_slot2[0],4711,4720,4721,4740; //Inteligence2,Dexterity1,Dexterity2,Vitality1 setarray .@enchant_slot3[0],4764,4799,4766,4788; //Critical5,HP500,Atk2,Mdef6 // Random .@enchant_1 = .@enchant_slot1[rand(getarraysize(.@enchant_slot1))]; .@enchant_2 = .@enchant_slot2[rand(getarraysize(.@enchant_slot2))]; .@enchant_3 = .@enchant_slot3[rand(getarraysize(.@enchant_slot3))]; // Get current refine to keep refine .@equip_refine = getequiprefinerycnt(.@part); // Get current card to keep card setarray .@equip_card[0], getequipcardid(.@part,0),getequipcardid(.@part,1),getequipcardid(.@part,2),getequipcardid(.@part,3); // Delete item delitem .@item_to_test,1; // Cotton Shirt [1] // Can break armor? if (rand(100) < 50) { specialeffect2 EF_SUI_EXPLOSION; message strcharinfo(0),"Oh Shit!"; end; } else { // Effect specialeffect2 EF_REPAIRWEAPON; emotion ET_BEST; // Get a new item getitem2 .@item_to_test,1,1,.@equip_refine,0,.@equip_card[0],.@enchant_1,.@enchant_2,.@enchant_3; message strcharinfo(0),"Yay!"; } end; } It took me about 15 minutes..., hope it helps you ?
  16. Hi, try this code query_sql( "SELECT `char_id`,`name`,`base_level` FROM `char` ORDER BY `base_level` DESC LIMIT 10",.@cid[0],.@name$[0],.@level[0]);
  17. Hi, I guess the VIP time has not been saved to the database yet so I put sleep2 into your code and it works. Fixed code: dewata,196,165,5 script CashToVIP 123,{ .@cashperday = 100; .@timeperday = 1440; mes "["+ strnpcinfo(1)+"]"; if( #CASHPOINTS < .@cashperday ){ mes "You don't have enough Cash Points to purchase VIP Days"; close; } switch(vip_status(VIP_STATUS_ACTIVE)){ case 0: mes "You're not a VIP"; break; case 1: mes "You are a VIP"; break; } mes "You currently have "+ #CASHPOINTS +" Cash Points."; mes "Each VIP Day will cost you ^0000ff"+ .@cashperday +"^000000"; next; mes "["+ strnpcinfo(1)+"]"; mes "Would you like to purchase/increase your VIP Days?"; switch(select(" - Nope: - 1 day: - many days")){ case 1: break; case 2: #CASHPOINTS -= .@cashperday; vip_time .@timeperday; sleep2 1; set .@Timer, vip_status(VIP_STATUS_EXPIRE); dispbottom "Current Cash Points: "+ #CASHPOINTS; dispbottom "Time left : "+ callfunc("Time2Str",.@Timer); break; case 3: input .@inputDay; if(.@inputDay > 0 && (.@cashperday*.@inputDay) < #CASHPOINTS){ #CASHPOINTS -= .@cashperday*.@inputDay; vip_time .@timeperday*.@inputDay; sleep2 1; set .@Timer, vip_status(VIP_STATUS_EXPIRE); dispbottom "Current Cash Points: "+ #CASHPOINTS; dispbottom "Time left : "+ callfunc("Time2Str",.@Timer); }else{ mes "-"; mes "^FF0000You don't have enough Cash Points to purchase VIP Days^FF0000"; close; } break; } close; } Bonus: dewata,196,165,5 script CashToVIP 123,{ .@cashperday = 100; .@timeperday = 1440; .@n$ = "["+strnpcinfo(0)+"]"; mes .@n$; switch(vip_status(VIP_STATUS_ACTIVE)){ case 0: mes "You're not a VIP."; break; case 1: mes "VIP time left: " + Time2Str(vip_status(VIP_STATUS_EXPIRE)); break; } mes "You currently have "+ #CASHPOINTS +" Cash Points."; mes "Each VIP Day will cost you ^0000ff"+ .@cashperday +"^000000"; next; mes .@n$; mes "Would you like to purchase/increase your VIP Days?"; next; switch(select(" - Nope: - 1 day: - Many days")){ case 1: break; case 2: .@inputDay = 1; case 3: if (!.@inputDay) input .@inputDay; if (.@inputDay == 0) { mes .@n$; mes "Invalid day!"; close; } .@total = .@cashperday*.@inputDay; if (.@total > #CASHPOINTS) { mes .@n$; mes "^FF0000You don't have enough Cash Points to purchase VIP Days^FF0000"; close; } mes .@n$; mes .@inputDay + " x " + .@cashperday + " = ^FF0000" + .@total + "^000000 Cash Points."; mes "Are you sure?"; if (select("No:Yes") == 1) close; #CASHPOINTS -= .@total; vip_time .@timeperday*.@inputDay; sleep2 1; .@Timer = vip_status(VIP_STATUS_EXPIRE); dispbottom "Current Cash Points: "+ #CASHPOINTS; dispbottom "VIP time left : "+ callfunc("Time2Str",.@Timer); break; } close; } Hope you like it ?
  18. prontera,198,148,3 script Test 860,{ .@eac = eaclass(); if (!(.@eac&EAJL_THIRD) || BaseLevel < 175) { mes "[npc]"; mes "Sorry, you have to have a third class and base level 175."; close; } mes ( "restertstat") ; atcommand "+resetstat"; next; mes ( "remove stpoint"); StatusPoint = 0; next; mes ( "apply st point"); StatusPoint += 25000; mes ( "done"); mes ("congratulations! now you're at max! "); close; } This also works...
  19. Hi, I tested with this script: prontera,156,186,4 script stest 857,{ monster "prontera",156,187,"Dummy",1002,1,"stest::OnMyMobDead"; .@GID = $@mobid[0]; getunitdata .@GID,.@mobData; debugmes "Mode: " + .@mobData[UMOB_MODE]; // 131 setunitdata .@GID,UMOB_MODE,(.@mobData[UMOB_MODE] | MD_STATUS_IMMUNE | MD_DETECTOR | MD_KNOCKBACK_IMMUNE); getunitdata .@GID,.@mobData; debugmes "New Mode: " + .@mobData[UMOB_MODE]; end; OnMyMobDead: end; } I have used weapon insert Abyss Knight Card but damage does not increase. Is this a bug? Thanks.
  20. Hi, just change query_sql( "SELECT `base_level` FROM `char` WHERE `base_level` = `99`",.@acclvl ); to query_sql( "SELECT `base_level` FROM `char` WHERE `base_level` = 99",.@acclvl );
  21. @AnnieRuru What about this quest https://irowiki.org/wiki/Ring_of_the_Wise_King in step 7? The progressbar is 10 seconds and monsters can hit you easily, if I can't move my character I will die :(. How about flywing?
  22. ? Please wait for @Functor Btw, I just reported a bug related to it. https://github.com/rathena/rathena/issues/3944
  23. I don't think players use 3rdparty software. Sometimes I get this error in localhost, even the live version has Gepard shield
×
×
  • Create New...