Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 05/21/18 in Posts

  1. 1 point
    Download: 1.1 sample quest log Download: 1.1 sample daily quest these are 5 sample quests using quest log system this was actually made as a sample script inside a script support section in eathena forum original topic from eathena thanks to paradog eathena admin that makes eathena forum down, almost gonna remake everything from scratch luckily I got a few segment here and there in my old hard-disk so doesn't take too much time to write this sample Quest #1 typical talk to npc A, then npc B ... etc demonstrate how to use *checkquest Quest #2 collect item quest just checkitem with it I still don't know how to use the client to trace is the item collecting has completed or not Quest #3 kill monster quest demonstrate how to use *checkquest( x, HUNTING ) Quest #4 typical talk to npc A, then npc B ... BUT with a time limit demonstrate how to use *checkquest( x, PLAYTIME ) Quest#5 if player having this quest, player can *getitem by killing this monster see https://github.com/HerculesWS/Hercules/blob/stable/db/quest_db.conf#L45-L50 and I want to remind this is just a sample script usually make for source modification on quest log system (now is 3rd time I think ?) 2 sample script for daily system 1. Daily item giver ... although I think this should done with attendance system ... 2. Daily hunting ... self explain ... [109991] = { UI_Type = 0, group = "CHATTING", major = 4, minor = 0, title = "Tavern Helper", content = { summary = "Visit the Tavern Master", details = "Visit the Tavern Master in Prontera." }, resource = { [1] = { text = "Acolyte Trouble" }, [2] = { text = "Gemstone shortage" }, [3] = { text = "Poring Problem" }, [4] = { text = "Hand over the Artifact" }, [5] = { text = "Shining Rocker" } }, reward = { title = 991 }, score = 5 }, [109992] = { UI_Type = 1, group = "GOAL_ACHIEVE", major = 6, minor = 0, title = "Complete Daily Quest for 30 times", content = { summary = "Complete Daily Quest", details = "Complete Daily Quest for 30 times and you can earn some nice rewards!" }, resource = { [1] = { text = "Collect Daily Items 30 times", count = 30 }, [2] = { text = "Complete Daily Quest 30 times", count = 30 } }, reward = { title = 992, item = 513 }, score = 30 }, UI_TYPE - display a bar like in the daily quest screenshot - 0: in the [resource], doesn't support [count] - 1: support [count] group: - read from data\texture\À¯ÀúÀÎÅÍÆäÀ̽º\achievement major - 1: General tab - 2: Adventure tab - 3: Battle tab - 4: Quest tab - 5: Memorial tab - 6: Feat tab
  2. 1 point
    Begin

    Modify reward script

    Hi All, May I request for a Hourly Point NPC with a Target Hours before you get the reward? There is a menu with Start, Stop and Pause button for logging out/offline purpose. I already tried my best to edit a hourlypoint script but I failed. Thanks in advance! ---Solved. Already found it. Sorry for not patiently testing all the topics that I saw. Hi All, Can you help me edit this script? Need to change the settings. You must not get the reward once you talked. You must only get the reward if you only reached the target time. In the photo attached, I talked to NPC in the first time and the NPC already gave the reward. I want if possible, you will only get the reward when you stayed online for 5 hours straight without logging out/disconnect/offline. Also a menu with Start, Stop and Pause for a player if he will logout of the game. Thank you. prontera,155,160,5 script Reward NPC 4_F_FAIRYKID4,{ .@npc_name$ = "[P NPC]"; for (.@i = 0; .@i < getarraysize($ip_reward$); .@i+=2) { if ($ip_reward$[.@i] != getcharip()) continue; .@delays = atoi($ip_reward$[.@i+1]) + .delay; if (.@delays > gettimetick(2)) { mes .@npc_name$; mes "Do you want a surprise item from me?"; mes "You have to wait for "+callfunc("Time2Str", .@delays); mes "To claim the reward!"; close; } .@index = .@i+1; break; } mes .@npc_name$; mes "Hello "+strcharinfo(0)+",I"; mes "am here to give you a daily"; mes "Surprise Reward. Do you want to have it?"; next; switch (select("-Yes, sure!:-No, bye!:-Cancel")) { case 1: mes .@npc_name$; for (.@j = 0; .@j < getarraysize(.reward); .@j+=2) getitem .reward[.@j], .reward[.@j+1]; mes "Okay have fun with it!"; if (.@index) $ip_reward$[.@index] = gettimetick(2); else { .@index = getarraysize($ip_reward$); $ip_reward$[.@index] = getcharip(); $ip_reward$[.@index+1] = gettimetick(2); } close; default: mes .@npc_name$; mes "Okay goodbye!"; close; } OnInit: setarray .reward, 601, 1; // <item id>, <item amount>{, <item id>, <item amount>,...} .delay = 60; // Delay time before reward can be re-claimed. time set in second, default 24 Hours = 86400 seconds end; }
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.