Jump to content

Ryokem

Members
  • Posts

    205
  • Joined

  • Last visited

1 Follower

About Ryokem

  • Birthday 03/28/1988

Profile Information

  • Gender
    Male

Recent Profile Visitors

2117 profile views

Ryokem's Achievements

Poring

Poring (1/15)

19

Reputation

1

Community Answers

  1. I can't remember SQL tables used, but I believe you can simply query the IP to get it, if that command is broken.
  2. You want to modify the current refiner NPC or create a custom NPC for this matter?
  3. Ryokem

    [Rank] MvP

    I honestly don't really like how that script is written. In the MvPRank function, you are trying to build up a script-based ranking without facing position swaps or referals. If it is of just 1 variable, I'd just run a query_sql command to get the ranking positions, there should be an example of exactly what you need in the script_commands.txt file, under the query_sql command explanation. About the variable being resetted, I honestly didn't find anything that actually resets it. Try to check if you have some other scripts that may use the same variable.
  4. each part of the header are separated by tabulations (made with the TAB key) and not spaces. TAB is the key above the CAPLOCK one.
  5. Refering to this thread, don't forget to add proper tabulations in the header.
  6. The script seems fine. Be sure you have added the proper tabulations in the header.
  7. Add a restriction list as NPC-array in a OnInit event label: OnInit: setarray .restrictedMaps$[0],"prontera","your_map",[...]; Add a check at the very beginning of your script after the NPCKillEvent label call: OnNPCKillEvent: for( .@i=0; .@i<getarraysize(.restrictedMap$); .@i++ ) if(strcharinfo(3) == .restrictedMaps$[.@i]) end; if($@CPc && (getgmlevel() < $@CPgm0)) { //[...]
  8. prontera,147,171,3 script IRO Freebies Giver 509,{ mes "[^000088 Freebies Giver ^000000]"; mes "Hello "+strcharinfo(0)+", Welcome To Infinite-RO."; mes "I'm the freebies giver."; mes "I only give 1 freebies per account and can be use by this character only."; next; mes "[^000088 Freebies Giver ^000000]"; if(#freebies) { mes "You already have your freebies."; close; } if (select ("Please Bless me:I Change my mind") == 2) { Mes "Come back for my Blessing"; Mes "Thank you"; close; } else { set #freebies, 1; getitem2 2357,1,1,7,0,0,0,0,0; // +7 valkarmor getitem2 2524,1,1,7,0,0,0,0,0; // +7 valkmant getitem2 2421,1,1,7,0,0,0,0,0; // +7 valksh getitem2 2102,1,1,7,0,0,0,0,0; // +7 Guard[1] getitem2 2115,1,1,7,0,0,0,0,0; // +7 Shoes[1] getitem 4174, 2; getitem 4302, 2; getitem 4142, 3; mes "[^000088 Freebies Giver ^000000]"; mes "Enjoy your Gifts."; close; } end; //Should never happen OnInit: waitingroom "WELCOME",0; end; }
  9. mes "15 Heroic Quest Token = 1 Sacred Token(20001)";\ There is an unknown \ at the end of this line
  10. I'm not really updated about Athena, but you can try to remove the "E.G" part in every variable check call. if( #quest_done ) { set #quest_done, 1; Also, your freebies, even if divided by "Strengh, Dexterity and Intellect Type", give all the same items (you may need to check thi
  11. My bad about that then, but Kenpachi said it correctly:
  12. You mean the variable player_point stay the same ? player_point -> 0 set player_point, player_point++; -> 0 ? Coz that's not true Actually, he is correct speaking about the instance scope. But you are correct as well, because the variable check is located in another scope. a = 1; b = a++; //b stores 1, not 2. a = 1; b = ++a; //b stores 2 That's what Kenpachi means. During the execution command, a "var++" command is executed after the scope of the command it is located. Practically, as it is the same variable you are using, it makes no difference but to set an unneeded command; otherwise, if you work with more than 1 variable, it may land out in weird errors. set a, a++; //Is equal to: set a, a; a++; It's really long I don't script for Ragnarok Online, so I don't really know if OnHit actually is a viable On-label event or not, what it does or if you recall it through a onevent command. Just remember that each time you click on the NPC, you get your variable resetted. So, to trigger the getitem thing, you need to activate the "OnHit" label 5 times without clicking on the NPC. Also, the L_change label is pretty much useless 'cause you jump in there in any case. payon,111,110,5 script Crazy Man 757,{ set player_point, player_point==0; //I don't know if you need a reset here... but well... OnHit: player_point++; if( player_point == 5 ) getitem 999,1; dispbottom "..."; end; }
  13. What about to use sc_invincible instead? I find it more practical.. sc_start sc_invincible 60000; Edit: I hope that bonus wasn't been nerfed or deleted.
  14. What do you mean by "costume"? If you mean cloth-changing, such as Santa Suit or other custom suits, refer to Checkoption. If you mean to check if there is an item equipped on a certain slot, refer to Getequipid. Tip: getequipid() is a function that needs a certain argument to work. You can find the list of possible arguments in the wiki page I linked above. Tip2: to check if the slot is empty (nothing is equipped), just check if the function returns -1 or not. if( getequipid(2) == -1 ) { mes "You are not wearing an Armor!!"; } About the input command, try not to use permanent player-attached variables to store your input, but just set them as Scope. input .@low_head; // OR, if you need to attach it to a player input @low_head;
  15. You can optimize this part just by using attachrid. A little bit more tricky, but helps saving heap and lowers the C-O (credits to you) input .@tmp$; set .@MyID, getcharid(3); if( !attachrid(getcharid(3,.@tmp$)) ) { mes "Char is offline or not exist"; close; } set .@value, ABCDEFG; attachrid(.@MyID); mes .@tmp$ + "'s ABCDEFG variable has value: " + .@value;
×
×
  • Create New...