Jump to content

buraquera

Members
  • Posts

    68
  • Joined

  • Last visited

Everything posted by buraquera

  1. em npc/merchant/refine.txt na funcao refinemain Onde tem "failedrefitem .@part;" voce tem que trocar para o comando que voce deseja.
  2. Algo do tipo: MAP,X,Y,POS scrip Custom_refine::CustomRefine SPRITE_ID,{ .@item,1201; // Faca[3] para exemplo .@chance,50; if (countitem(.@item) >1) .@chance += 50; if (rnd(1,100) <= .@chance){ // Refine script aqui } }
  3. MAP,X,Y,POS script Reward Npc::99PrizeNpc SPRITE_ID,{ if (BaseLevel == 99 && !(char99reward)){ // Get prize here $99rewards += 1; // Permanent global server var. Counter set char99reward,1; // Permanent char var. announce strcharindo(3) + "has won LvL 99 reward." + (30-$99rewards) + " prizes left". } OnInit: if ($99rewards > 29) disablenpc(strnpcinfo(3)); end; } Its a very simple way of doing that. Even so, the best way of doing that is creating a SQL table for that purpose. see:
  4. Maybe something like: function script Get_FreyaItems { setarray .@items,501,502,1503,504; setarray .@chance,10,5,5,15; set .@rand,rand(1,getarraysize(.@items)); if (rand(99) < .@chance[.@rand]){ getitem .@items[.@rand],1; if (.@chance[.@rand] < 6) announce "A rare item has been created",bc_all; } end; } Note: I have not tested this script Note: This script means you can get no items also. If you want something that always give at least a item, the summ of all items chance must be 100. And this script has to be different.
  5. maybe something like : (I have not tested) - script RandomItem -1,{ OnNPCKillEvent: if (rand(99) > 9) end; // 10% chance of success set .@map$,strcharinfo(3); switch(killedrid){ case 1002: // IF PORING if (.@map$ == "prt_fild01") getitem 4005,1; // Santa poring card else if (.@map$ == "prt_fild02") getitem 2236,1; // Santa poring hat break; } end; } or alternatively - script RandomItem -1,{ OnNPCKillEvent: if (rand(99) > 9 || strnpcinfo(3) != "prt_fild01") end; // 10% chance of success, only works on prt_fild01 .setarray .@Items,4005,2236; // Item array set .@rand,rand(1,getarraysize(.@items); getitem .@Items[.@rand],1; end; } Note: This will add a item drop but not bypass any drops. Eg. if you add poring card on the custom list, you may drop 2 poring card at the sam time. For bypass itemdrop you may have to use *addmonsterdrop but this has no conditional. It means the any monster will drop that item, doesnt matter map or anything...
  6. setarray .@item,5482,2780; setarray .@chance,20,10; set .@rd, rand(0,getarraysize(.@item)); if (.@rd){ if (rand(99) < .@chance[@rd]) getitem(.@item[.@rd); } else { // player did not get any bonus } I have not tested. But maybe something like this...
  7. data/luafile514/luafile/skillinfolist.lub Check if _NeedSkillList = {} is the same as db/skill_tree.txt
  8. - script debuffAGIT -1,{ OnPCLoadMapEvent: if (!agitcheck) end; if (getmapflag(strcharinfo(3),mf_gvg)) { sc_end EFST_MVPCARD_TAOGUNKA; sc_end EFST_MVPCARD_MISTRESS; sc_end EFST_MVPCARD_ORCHERO; sc_end EFST_MVPCARD_ORCLORD; } } Only additioned agitcheck condition. I dunno if there is a better way of doing that with OnPCLoadMapEvent: Alternatively you may call a function in every warp/flag that gets you in a Castle: Something like: function script DebuffAgit,{ if(checkagit()) { sc_end EFST_MVPCARD_TAOGUNKA; sc_end EFST_MVPCARD_MISTRESS; sc_end EFST_MVPCARD_ORCHERO; sc_end EFST_MVPCARD_ORCLORD; } return; } // Now this is a exemple of a warp npc that teleports you into a castle place,x,y,0 script Warp#Castle1 "warp sprite",1,1,{ OnTouch: callfunc "DebuffAgit"; // then warp here } It may take longer to make all changes in your server but certainly less laggy. Sry bad english
  9. Can you be more specific? Would you like a Hunting Board similar to the Quest Board that comes in rAthena custom npc?? Will it be single option? Like kill X number of monsters and then get something, or will have options like "Kill 10" get something "Kill 20" get something
  10. What is calling the function? The funciton itself its not a NPC. This invisible npc that shows on map probably is the npc that is calling this function. So you may have to change it.... Can you post the full script for better understanding??
  11. This is possible but very complex and would take a long time to be developed. As you cant change the prices on shops otherwise than by editing the script itself., you may have to use "dialogs shops" instead of tradicional RO shop, wich may be ok if you want just a few itens be like that. Or may have to forget about scripting and make all those changes you want in the source before start scripting.
  12. (...) indentifyall(true); specialeffect2 EF_HEAL2; percentheal 100,100; (...) Right above specialeffect2. If you want a trigger you can use.: (...) .@Price = 0; // Zeny required for heal .@Buffs = 1; // Also buff players? (1: yes / 0: no) .@Delay = 10; // Heal delay, in seconds .@identify = 1; // Also identify? (1: yes / 0: no) (...) if (.@identify) indentifyall(true); specialeffect2 EF_HEAL2; percentheal 100,100; (...) This is extremely basic, so maybe will help if have a look on this: https://github.com/rathena/rathena/blob/master/doc/script_commands.txt
  13. HI guys, I noticed "lua files\datainfo\kaframovemapservicelist" i can add/edit Kafra animation in World Map. So i was wondering if its possible to do the same on Airship Animation or even add a new custom animation. Tkss
  14. Hello there Ive followed "Earnestinence" video tutorial how to setup rAthena (https://rathena.org/board/topic/111830-tutorial-video-edition-how-to-setup-rathena-and-run-ragnarok-updated-2018-7-28/page/2/) It seems that everthing is fine until i try to login the game. The logserv sais it accepted the connection but it close righ after. Can someone help me? Thanks and sy bad english
×
×
  • Create New...