Jump to content

GmOcean

Members
  • Posts

    666
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by GmOcean

  1. Umm, if I'm not mistaken, I thought the effects are hard-coded into the client. As such it isn't possible to add new effects right? Unless you are using a completely custom Client with similar capabilities as Xray did in the past.
  2. Well, I don't have time to write this out atm, but you are more than likely going to have to deal with a script that uses alot of "getvariableofnpc" commands, to pull the information from each indiviusal NPC, and parse it into one NPC. It's not too difficult, BUT, it can get very confusing. More likely than not, you'll obtain a few errors, which will require you to rewrite your script. :/ You'll have to wait quite a bit for this one, or just take your request to Paid Services Section / Jobs Available.
  3. Change: Case 1: warp .Map$,0,0; end; INTO: Case 1: if( countitem( XXXX ) != 5 ){end;} delitem( XXXX,5 ); warp .Map$,0,0; end; Lastly, Replace, the " XXXX " into the ID of TCG item. CBF looking for the ID lol. Edit: To fix your errors change: monster .Map$,0,0,1950,100,strnpcinfo(0)+"::OnKilled"; INTO: monster .Map$,0,0,""+ getmonsterinfo(0) +"",1950,100,strnpcinfo(0)+"::OnKilled"; *Note - Not sure if, using getmonsterinfo command without quotations will be accepted, so I used them to be safe.
  4. Oh? And this works without hitting the 255char String limit? Interesting.
  5. O.o what do you mean by clean it? If it works, than really, it should be fine right?
  6. Edit: Miss read D:
  7. So, something like this then. prontera,180,150,4 script Skull Trader 123,{ set .@Top_charid,000000; //Replace 000000 with the variable of the top player. Not sure how you obtain this information. if( countitem2(7420,1,0,0,254,0,( .@Top_charid & 65535 ),( .@Top_charid >> 16)) ) {delitem2(7420,1,1,0,0,254,0,( .@Top_harid & 65335 ),( .@Top_charid >> 16),1); end;} dispbottom "You don't have the right skull."; end; } Not sure how you are obtaining the Top Player in your pvp. So I didn't code that part.
  8. 1. prontera,180,150,4%TAB%script%TAB%npc_name%TAB%123,{ set .@a,getcharid(0); if( .@placer[0] == .@a || .@placer[1] == .@a || .@placer[2] == .@a ) {getitem .reward,1; query_sql("DELETE FROM `system_system` WHERE `pool`='"+ .@a +"'"); end;} dispbottom "Only the Top 3 can receive a reward."; end; OnClock0000: //Once a day do this. query_sql("SELECT `pool` from `system_system` ORDER BY `pool` DESC LIMIT 3",.@placer); end; } Your problem, was you weren't specifying exactly where to delete.
  9. Have you tried Pressing Enter, before you click OK? Figure might as well throw all the possible troubleshooting solutions your way...
  10. SC_ITEMBOOST increases your item drop rate through multiplication not addition.
  11. menu "Last Warp"Warp,"Castle Warper",Castles,"Heal & Buff",L_B,"No thanks",CANCEL; INTO menu "Last Warp",Warp,"Castle Warper",Castles,"Heal & Buff",L_B,"No thanks",CANCEL;
  12. You need to have PERL installed, to support RegX type commands. Also, I suggest using the Disguise NPC that exists in rAthena SVN, as it is far more standardized, and updated. Also, that script is almost a word for word copy of the original script I created back in the past. And I know it's not an original, because I created the first one.
  13. Yes and No. It will effectively give the player an EXP BOOST, but there is nothing stopping them from entering, grabbing the boost, and then killing something in an unrelated area gaining more exp than expected. Sadly, I can't think of any way to effectively counteract this problem, because, if you were to use loadmap flags to remove the buff, you could accidentally remove their legit expboost given to them via battle manual. So, IMO, it's best to use OnNPCKillEvent, to do the calculations for you, if you want to give them 100% boost, just give them the exp again, through a script.
  14. All UI in RO is done via the Client. All we can do is take snippets of existing UI's and recreate them for our information. So were stuck using these "generic" effects, UI, Icons etc.. until someone with enough free-time and skill, can create their own customizable end-all client, that has all the support of the official client. XRay, was pretty close at one point, but they shut-down sadly. However, if you don't mind using Buff Icon's that exist already, it's possible to get what your looking for, merely by having the src send the client a "packet" specifying to display a buff. You should look at other skills, like blessing and AGI-Up.
  15. To request a Thread Relocation, Click Report, and specify that, you want to relocate the script. However your request, can be done via, scripts, considering we have Item & Exp Boost commands, and we can easily calculate the points required per level...
  16. Can't really help you on that one, until we have more information on what exactly it is supposed to resist. It may use an existing bonus, or it could require an entirely new one to be created. Until we know more about it, you'll just have to wait, do the research, or just make one up for your server until the correct one is released.
  17. Fix to issue 1: Change: if(countitem(.item1) < .itemreq1) && (countitem(.item2) < .itemreq2) { goto L_nope; end; } INTO if( (countitem(.item1) < .itemreq1) || (countitem(.item2) < .itemreq2) ) { goto L_nope; end; } For your Second Problem, I see more than just that issue. For 1, your asking for Multiple of tens, but you only give them 1 box. If your going to do that, just make it a menu. Instead of input.
  18. Escape SQL, doesn't put anything into SQL, it just enables us, to use Special Characters in our SQL Strings. What your looking for is: query_sql"SELECT Blah blah blah",@var; Special Characters: Anything not a Letter or a Number.
  19. Yea, even with the 0 flag, if the class can't normally learn the skill, then it'll just vanish. Sorta like giving bonus 5 str from an NPC, and not having always update.
  20. @Both of you - The way to fix this, is to add the skill to your Class' Skill_tree.txt. and give it an unobtainable requirement. e.g: //BEFORE //Novice 0,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 0,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# 0,143,1,0,0,0,0,0,0,0,0,0,0 //NV_TRICKDEAD#Act Dead# 0,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby# //AFTER //Novice 0,1,9,0,0,0,0,0,0,0,0,0,0 //NV_BASIC#Basic Skill# 0,142,1,0,0,0,0,0,0,0,0,0,0 //NV_FIRSTAID#First Aid# 0,143,1,0,0,0,0,0,0,0,0,0,0 //NV_TRICKDEAD#Act Dead# 0,410,1,0,0,0,0,0,0,0,0,0,0 //WE_CALLBABY#Call Baby# 1,4,10,1,10,0,0,0,0,0,0,0,0 //SM_RECOVERY#Increase HP Recovery# //Requires Basic Skill Level 10 (Impossible to recieve, so they can never learn it via using skill points. After that, you can use the skill command to give them it permanently. The issue your running into, is that, your trying to permanently give a player a skill, their class can't other wise learn. Edit: Atleast this is how I did it in the past to fix it. Shouldn't have been changed. Keep in mind that each class can't have more than i think 84 skills.
  21. Your over thinking things. It' just a matter of seperating the bonuses from the NPC that configures everything. 1. Place everything that deals with: if ( WeaponSelect1$ == "Weapon" ) into a separate npc your players can access to get all that changed. 2. Change,your Special1 | Special1_2 | Special1_3 into just 1 special...right now it's redundant, and not necessary. e.g: if( SpecialSet1 ){ bonus bAtk, (50 * EffectLevel ) / 100; if( SpecialSet2 ){ bonus bMatk, ( 50 * EffectLevel ) / 100; 3. Only put what is needed in each weapon, or it starts to get really messy. 4. Put: set Wea_Equip,1; in the {OnEquip} section of the item. 5. Put: set Wea_Equip,0; in the {UnEquip} section of the item. Following those 5 steps, should clear this up, as well, as make it easier to customize in the future.
  22. Umm, this is quite an easy script, you should read the scripting manual, to further your knowledge. prontera,180,150,4 script NPC NAME 123,{ mes "Do stuff here."; mes "I'm the one that gets hidden, and what not."; close; } - script npc_disabler -1,{ OnFri0000: enablenpc "Above NPC Name"; end; OnSat0000: OnInit: disablenpc "Above NPC NAME"; end; }
  23. Here you go, fairly easy script. It does everything you asked, except give them more exp, since that is all done through config files for your server. prontera,180,150,4 script Dark Abyss 123,{ if(BaseLevel <= 49){mes "You need to be atleast level 50 to enter."; close;} if(!countitem(AbyssRunestone)){mes "You need an Abyss Runestone to enter."; close;} if(darkabyss == 3){mes "You can only enter Dark Abyss 3x a day."; close;} if(!.Time){mes "Dark Abyss is currently closed."; close;} mes "Warp to Dark Abyss? We strongly suggest you bring a party."; menu "Warp me now!!",iWarp,"No",iClose; iWarp: set darkabyss,darkabyss+1; if(darkabyss==1){set DATime,gettimetick(2)+86400;} warp "Dark_Abyss",x,y; end; iClose: close; OnPCLoginEvent: if(gettimetick(2) >= DATime){set darkabyss,0;} end; OnClock1000: OnClock1330: OnClock1700: OnClock1900: OnClock2100: //I think you can do this... set .Time,1; end; OnClock1015: OnClock1345: OnClock1715: OnClock1915: OnClock2115: //Pretty sure label is called at time, regardless of position. set .Time,0; mapwarp "Dark_Abyss","prontera",180,150,0; end; }
  24. To do that, you need to make a new monster in your mob_db2, and just have it copy poring stats completely, sprite and all. Then you need to give it the proper skills in mob_skill_db after that, it's just making the script spawn your new poring instead of normal porings. For further help regarding this, go to the Database Support section.
  25. @LilTroll - Shortening lines, is good, but remember it doesn't always mean it's better, a small script coded wrong can still eat up more resources than one that is more than 3x it's length. Just keep that in mind. Lol.
×
×
  • Create New...