Jump to content

crazyarashi

Developer
  • Posts

    776
  • Joined

  • Last visited

  • Days Won

    22

Everything posted by crazyarashi

  1. - Id: 607 AegisName: Yggdrasilberry Name: Yggdrasil Berry Type: Healing Buy: 5000 Weight: 300 Flags: BuyingStore: true NoConsume: true Delay: Duration: 5000 Status: Reuse_Limit_F Script: | percentheal 100,100; if( !vip_status(VIP_STATUS_ACTIVE) ) { delitem 607, 1; }
  2. From what I can see it's this part on the hunt_shop 12622:3é00
  3. Good job. I like it, a very creative event.
  4. You can change the monster size in system/monster_size_effect.lub [Mob ID] = { MonsterSize = 1.3, MonsterEff = { EFFECT.EF_NONE } },
  5. You're on the right path, however for newer clients I suggest you use the maintained English Translation by chris. The repository also has a very straight forward documentation about the hows of the client.
  6. - script Kill2Cash -1,{ OnNPCKillEvent: #CASHPOINTS += .r; dispbottom "รับ : "+ .r +" Cash รวม : "+ #CASHPOINTS +" Cash"; } end; OnInit: .r = 50; //cashpoints per kill end; } You are using temporary npc variables.
  7. It would save you the trouble if you would just use the quest_db and make those quest reset at midnight.
  8. One thing is to hold your event on a specific map to avoid any possible conflicts towards non-participants. You can set the zone mapflag and edit skill_nocast_db to your needs.
  9. - script test_bot -1,{ OnInit: bindatcmd "testsc",strnpcinfo(3) + "::OnAtcommand"; end; OnAtcommand: if (getgroupid() > 90) { getmapxy(.@m$,.@x0,.@y0,BL_PC); .@plusx = .@x0 + 5; .@plusy = .@y0 + 5; .@minx = .@x0 - 5; .@miny = .@y0 - 5; dispbottom .@m$ + " " + .@x0 + " " + .@y0; .@num = getareaunits(BL_MOB,.@m$,.@plusx,.@plusy,.@minx,.@miny,.@array[0]); .@gid = getcharid(3); detachrid; dispbottom "the number of Monsters in Prontera in that Coordinates is " + .@num + " ."; dispbottom "list of Monsters GID :"; freeloop(1); // for if the list was too big. for(.@i=0;.@i<getarraysize(.@array);.@i++) { dispbottom (.@i + 1) + " " + .@array[.@i]; //unitskilluseid getcharid(3),"WL_JACKFROST",5,getcharid(3),-4; unitattack .@gid,.@array[.@i]; } freeloop(0); dispbottom "end"; end; } else { dispbottom "Currently for testing only."; end; } }
  10. You can change it server side, but the client only handle max of 3 quest objectives. Afaik there is no patch for it.
  11. You will need a much later date client, jan 2022 onward.
  12. The client's cash shop is for #CASHPOINTS and #KAFRAPOINTS only. I don't see the reason for making this unless you want some form of tradability for your proof of donation. Other options : 1. make a script to automatically convert the CP to your proof of donation or put the proof of donation item to the cash shop, and setup a barter type shop for your proof of donation. 2. Use the cash points, then put the proof of the donations in the cp shop for players to buy it if ever they want to trade it, then add a npc to convert the proof of donation to cp or make it usable item, and gives cp on use.
  13. //This lines if (.msg_die) message .@victimaid, "You have been killed by "+ .@killername$; if (.msg_kill) message .@killeraid, "You just killed "+ .@victimname$; to if (.msg_die) message .@victimname$, "You have been killed by "+ .@killername$; if (.msg_kill) message .@killername$, "You just killed "+ .@victimname$;
  14. switch(select("MENU 1","MENU 2",(case == 1 ? "ON" : "OFF"))){ case 1: //CODE case 2: //CODE case 3: case = (case == 1 ? 0 : 1); } Use ternary operator
  15. //callfunc("RENAME_ME",501,50,30,502,5,20,503,10,30); //ITEM ID, AMOUNT, WEIGHT function script RENAME_ME { for(.@i = 0; .@i < getargcount(); .@i += 3){ .@id[.@i/3] = getarg(.@i); .@amount[.@i/3] = getarg(.@i+1); .@size += getarg(.@i+2); for(.@j = 0; .@j < getarg(.@i+2); .@j++) .@list[getarraysize(.@list)] = getarg(.@i); } .@item = .@list[rand(.@size)]; getitem .@item,.@amount[inarray(.@id,.@item)]; return; }
  16. There seems to be people around here capitalizing over my scripts, do not be a victim of those people. March 13, 2021 Update : Added 17.1 Illusion - Custom
  17. payon,139,226,5 script Potion Converter 749,{ for(.@i = 0; .@i < .size; .@i += 5) .@menu$ += .trade[.@i+1] + " x " + getitemname(.trade[.@i]) + " for " + .trade[.@i+3] + " x " + getitemname(.trade[.@i+2]) + ":"; .@s = (select(.@menu$) - 1) * 5; .@max = countitem(.trade[.@s]) / .trade[.@s+1]; mes "Max Amount available for trade : " + .@max; next; input .@amount; .@amount = min(.@amount,.@max); if(.@amount > .@max || .@amount == 0){ mes "Amount cannot be 0 or greater than the max tradeable amount."; end; } mes "You have selected " + .trade[.@s+1] + " x " + getitemname(.trade[.@s]) + " for " + .trade[.@s+3] + " x " + getitemname(.trade[.@s+2]) + "?"; mes "This has " + .trade[.@s+4] + "% success rate."; mes "Amount : " + .@amount; mes "Note: everything you trade will be character bound potion."; next; if(select("Cancel:Trade") == 1) end; .@total = countitem(.trade[.@s+1]) * .@amount; if(countitem(.trade[.@s]) < .@total){ mes "You don't have enough item for trade."; end; } delitem .trade[.@s],.trade[.@s+1] * .@amount; for(.@i = 0; .@i < .@amount; .@i++){ if(.trade[.@s+4] < rand(1,100)) continue; .@success++; } mes "Successfully converted amount : " + .@success; getitem .trade[.@s+2],.@success * .trade[.@s+3]; end; OnInit: // < ITEM FOR TRADE >, < AMOUNT >, < ITEM TRADED >, < AMOUNT >, < SUCCESS RATE >.. setarray .trade, 11503,2,32018,1,100; .size = getarraysize(.trade); end; }
  18. OnInit: // 1 = item reward // 2 = variable/cashpoints reward // If you want to set item and variable/cashpoints rewards, do 1|2. // If you only want 1, just choose between 1 or 2 $event_options = 1|2; setarray $event_item_reward, 501, 10, 502, 5; setarray $event_var$,"EVENTVARIABLE1","EVENTVARIABLE2"; setarray $event_var_name$,"Custom Points 1","EVENT VARIABLE2"; setarray $event_var_gain,1,3; $event_item_arr = getarraysize($event_item_reward); if ( $event_options&1 ) { for ( .@j = 0; .@j < $event_item_arr; .@j += 2 ) getitem $event_item_reward[.@j], $event_item_reward[.@j+1]; } if ( $event_options&2 ) { for(.@i = 0; .@i < getarraysize($event_var$); .@i++){ .@v = getd("#" + $event_var$[.@i]) + $event_var_gain[.@i]; setd getd("#" + $event_var$[.@i]),.@v; dispbottom "You gained "+$event_var_gain[.@i]+" "+$event_var_name$[.@i]+". You now have "+getd("#" + $event_var$[.@i])+" "+$event_var_name$[.@i]+"."; }
  19. - script npc_example -1,{ OnCommand: //Add event on the start of your npc mes "I'm the Example."; end; OnInit: bindatcmd "npc1",strnpcinfo(3) + "::OnCommand"; end; }
  20. View File Compendium Compendium - A levelable battle pass inspired majority of games out there. Feature : Easy customizable settings. Three types of selectable daily quest. Daily quest requirements are randomized. Daily quest count resets everyday. Compendium resets on the first day of the month. Rewards are sent via mail. '@compendium' command to access the compendium Settings : Adding a reward on the compendium Rewards : "Level | Reward ID, Amount, Reward ID, Amount,... ==| Level order doesn't matter but 'duplicates' will bug out the script. setarray .compendium_reward$, "1|501:10,502:20", "10|501:20,502:30", "5|501:100,502:500"; Adding a monster/item/mvp to hunt or collect Just add the ID on the following line. setarray .mvp_list setarray .hunt_list setarray .gather_list Changing EXP given on the quest types. .gathering_exp = 50; .hunt_exp = 50; .mvp_hunt_exp = 100; Submitter crazyarashi Submitted 12/09/2020 Category Utilities Video Content Author crazyarashi  
  21. Version 1.1.0

    923 downloads

    Compendium - A levelable battle pass inspired majority of games out there. Feature : Easy customizable settings. Three types of selectable daily quest. Daily quest requirements are randomized. Daily quest count resets everyday. Compendium resets on the first day of the month. Rewards are sent via mail. '@compendium' command to access the compendium Settings : Adding a reward on the compendium Rewards : "Level | Reward ID, Amount, Reward ID, Amount,... ==| Level order doesn't matter but 'duplicates' will bug out the script. setarray .compendium_reward$, "1|501:10,502:20", "10|501:20,502:30", "5|501:100,502:500"; Adding a monster/item/mvp to hunt or collect Just add the ID on the following line. setarray .mvp_list setarray .hunt_list setarray .gather_list Changing EXP given on the quest types. .gathering_exp = 50; .hunt_exp = 50; .mvp_hunt_exp = 100;
    Free
  22. View File Equipment Recycle NPC A recycle NPC that uses the shop interface. Changing the rewards .reward_id = 501; .reward_point$ = "#KAFRAPOINT"; Adding a recyclable equipment. /* *=============================================================================| * .@r = Refine | .@b = Bonus =| * list_add("<Equip ID>,<Value>{,<Starting .@r for .@b>,.@b1:.@b2:.@b3:..."); =| *=============================================================================| * Cotton_Shirt w/ +8 Starting .@r bonus =| * .@r = 8 : 1 Bonus Item/Point =| * .@r = 9 : 5 Bonus Item/Point =| * .@r >= 10 : 7 Bonus Item/Point. =| *=============================================================================| * list_add(2301,8,"1:5:7"); =| ==============================================================================| */ function list_create { //= Remove samples and add here. list_add(2301,10,8,"1:5:7"); //Cotton_Shirt list_add(1201,10,7,"1:2:3:4:5"); //Knife list_add(2504,5); //Muffler_ return; } Submitter crazyarashi Submitted 12/07/2020 Category Utilities Video Content Author crazyarashi  
  23. Version 1.1.0

    698 downloads

    A recycle NPC that uses the shop interface. Changing the rewards .reward_id = 501; .reward_point$ = "#KAFRAPOINT"; Adding a recyclable equipment. /* *=============================================================================| * .@r = Refine | .@b = Bonus =| * list_add("<Equip ID>,<Value>{,<Starting .@r for .@b>,.@b1:.@b2:.@b3:..."); =| *=============================================================================| * Cotton_Shirt w/ +8 Starting .@r bonus =| * .@r = 8 : 1 Bonus Item/Point =| * .@r = 9 : 5 Bonus Item/Point =| * .@r >= 10 : 7 Bonus Item/Point. =| *=============================================================================| * list_add(2301,8,"1:5:7"); =| ==============================================================================| */ function list_create { //= Remove samples and add here. list_add(2301,10,8,"1:5:7"); //Cotton_Shirt list_add(1201,10,7,"1:2:3:4:5"); //Knife list_add(2504,5); //Muffler_ return; }
    Free
×
×
  • Create New...