KirieZ

Members
  • Content count

    100
  • Joined

  • Last visited

  • Days Won

    4

KirieZ last won the day on February 25

KirieZ had the most liked content!

1 Follower

About KirieZ

  • Rank
    Advanced Member

Profile Information

  • Gender
    Male
  • Emulator:
    Hercules
  • Github
    guilherme-gm

Recent Profile Visitors

1996 profile views
  1. You have to force push git push origin <your branch> --force
  2. try 20151029 but uncomment this: //#define ENABLE_PACKETVER_RE
  3. heheehh thanks So I'll make a PR of it soon
  4. This seems like a great idea, I'll try something when I get some free time, no promises though
  5. Yes, iRO is using that, actually I got the idea of making this plugin after writting the iRO xmas quest, where they reset the quest at 4am. About HUNTING I think it's not possible as the entry of player's quest contains only the count, unless you add extra columns to quest table and some other changes, and PLAYTIME is just what my plugin currently does, right?
  6. File Name: SetQuest2 File Submitter: KirieZ File Submitted: 22 Feb 2017 File Category: Plugins Hello, This plugin adds the setquest2 script command that allows you to add a quest with your own time limit, ignoring the one in quest_db, thus allowing you to, for example, make a quest end at a determined time next day independently of when it was originally given. *setquest(<ID>,<Time Limit>)Place quest of <ID> that will expire at <Time Limit> in the users quest log, the state of which is "active". Examples: - Ask the player to come back in a random number of minutes (1 ~ 3) prontera,150,150,4 script SetQuest2 1_m_01,{ .@p = questprogress(7128,PLAYTIME); if (.@p == 1) { mes "Come back later!"; } else { if (.@p == 2) { mes "You came back!"; getitem Red_Potion, 1; erasequest 7128; } .@i = rand(1, 3); mes "Come back in " + .@i + " minutes"; setquest2 7128, gettimetick(2) + (.@i * 60); } close;} - Ask the player to come back tomorrow (next day at 00:00) prontera,150,152,4 script SetQuest2b 1_m_01,{ .@p = questprogress(7126,PLAYTIME); if (.@p == 1) { mes "Come back later!"; } else { if (.@p == 2) { mes "You came back!"; getitem Red_Potion, 1; erasequest 7126; } .@i = 86400 - gettimetick(1); mes "Come back tomorrow"; setquest2 7126, gettimetick(2) + .@i; } close;} If you find any bug let me know. Click here to download this file
  7. SetQuest2

    Version 1.0

    18 downloads

    Hello, This plugin adds the setquest2 script command that allows you to add a quest with your own time limit, ignoring the one in quest_db, thus allowing you to, for example, make a quest end at a determined time next day independently of when it was originally given. *setquest(<ID>,<Time Limit>)Place quest of <ID> that will expire at <Time Limit> in the users quest log, the state of which is "active". Examples: - Ask the player to come back in a random number of minutes (1 ~ 3) prontera,150,150,4 script SetQuest2 1_m_01,{ .@p = questprogress(7128,PLAYTIME); if (.@p == 1) { mes "Come back later!"; } else { if (.@p == 2) { mes "You came back!"; getitem Red_Potion, 1; erasequest 7128; } .@i = rand(1, 3); mes "Come back in " + .@i + " minutes"; setquest2 7128, gettimetick(2) + (.@i * 60); } close;} - Ask the player to come back tomorrow (next day at 00:00) prontera,150,152,4 script SetQuest2b 1_m_01,{ .@p = questprogress(7126,PLAYTIME); if (.@p == 1) { mes "Come back later!"; } else { if (.@p == 2) { mes "You came back!"; getitem Red_Potion, 1; erasequest 7126; } .@i = 86400 - gettimetick(1); mes "Come back tomorrow"; setquest2 7126, gettimetick(2) + .@i; } close;} If you find any bug let me know.
  8. sorry , i don't know its was my bad or not but in my client i think its has a problem when i try to right click on other character. it's doesn't show any c-code screenHercules000.jpg Ah, right, this might be fixed when my Pull Request is merged: https://github.com/HerculesWS/Hercules/pull/1567
  9. What exactly C-Code does? Sorry I thought it was only a code for you to check if it was really a friend or something like that. What is broken on it?
  10. File Name: NpcTalk2 File Submitter: KirieZ File Submitted: 04 Feb 2017 File Category: Plugins Hello, When converting iRO's Xmas event I missed a way to use npctalk to a specific player, so today I made it. This plugin adds the npctalk2 script command that allows you to show a message like npctalk, but to a specific player only (by default the one attached to the script). *npctalk2("<message>"{, "<npc name>",{"player name"}})This command will display a message to the a target player as if the NPC object running it was a player talking - that is, above their head and in the chat window. The display name of the NPC will get appended in front of the message to complete the effect.If NPC Name is given, the message will display on this npc's instead.If Player Name is given, the message will be displayed to that player instead of the attached one (if he's online)If the player is too far from the NPC (for example, in another map), the message will only show in the chatbox. Usage Example: Assumming it's running in a NPC named Test and that there's a NPC named Test2 near.// Will display "I'm only talking to <Attached Player Name>" only to the attached player over NPC Testnpctalk2 "I'm only talking to "+strcharinfo(0);// Will display "I'm only talking to KirieZ" to player named KirieZ over NPC Testnpctalk2 "I'm only talking to KirieZ", "Test", "KirieZ";// Will display "Don't bother my friend, I'll talk to you" to the Attached player over NPC Test2npctalk2 "Don't bother my friend, I'll talk to you", "Test2"; If you find any bug let me know. Click here to download this file
  11. NpcTalk2

    Version 1.0

    52 downloads

    Hello, When converting iRO's Xmas event I missed a way to use npctalk to a specific player, so today I made it. This plugin adds the npctalk2 script command that allows you to show a message like npctalk, but to a specific player only (by default the one attached to the script). *npctalk2("<message>"{, "<npc name>",{"player name"}})This command will display a message to the a target player as if the NPC object running it was a player talking - that is, above their head and in the chat window. The display name of the NPC will get appended in front of the message to complete the effect.If NPC Name is given, the message will display on this npc's instead.If Player Name is given, the message will be displayed to that player instead of the attached one (if he's online)If the player is too far from the NPC (for example, in another map), the message will only show in the chatbox. Usage Example: Assumming it's running in a NPC named Test and that there's a NPC named Test2 near.// Will display "I'm only talking to <Attached Player Name>" only to the attached player over NPC Testnpctalk2 "I'm only talking to "+strcharinfo(0);// Will display "I'm only talking to KirieZ" to player named KirieZ over NPC Testnpctalk2 "I'm only talking to KirieZ", "Test", "KirieZ";// Will display "Don't bother my friend, I'll talk to you" to the Attached player over NPC Test2npctalk2 "Don't bother my friend, I'll talk to you", "Test2"; If you find any bug let me know.
  12. yeah, it's, I can't code it at moment, but you can do it by making two extra arrays, one with the minimun and another with the maximum reward, then just use rand(min[.@j], max[.@j]). example: setarray .min[0], 1, 5; setarray .max[0], 2, 7;
  13. setarray .ItemIds[0], 2321, 2403; setarray .rewards[0], Red_Potion, White_Potion; getinventorylist; for (.@i = 0; .@i < @inventorylist_count; .@i++ ) { // Loop through the entire inventory if ( @inventorylist_equip[.@i] == 0 ) { // Item should not be equipped for (.@j = 0; .@j < getarraysize(.ItemIds); .@j++) { // Check if it's a rewardable item if (@inventorylist_id[.@i] == .ItemIds[.@j]) break; } if (.@j < getarraysize(.ItemIds)) { // If it's delitem @inventorylist_id[.@i], @inventorylist_amount[.@i]; // delete item getitem .rewards[.@j], @inventorylist_amount[.@i]; } } }
  14. Ah, right, I thought you wanted to exchange everything. You can make 2 arrays, one with Item Ids (e.g.: setarray .itemIds[0], 2321, 2403;) and one with "rewards" (e.g.: setarray .rewards[0], Red_Potion, White_Potion;) then instead of checking the type ( getiteminfo(<ID>, 2) ) you check if this item is in .ItemIds, if it's, get its index, then you can exchange it for the reward. something like: for (.@j = 0; .@j < getarraysize(.ItemIds); .@j++) { if (@inventorylist_id[.@i] == .ItemIds[.@j]) break; } if (.@j < getarraysize(.ItemIds)) { // This item reward is .rewards[.@j] // delitem/getitem } else { // This item is not rewardable }