Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 01/14/25 in all areas

  1. View File Card Recycler This is my version of king poring if someone can improve this script just leave the script with your improvement changes The NPC script for "King Poring" in NexoMMORPG allows players to recycle cards with the following functionalities: Requirements: Players need 2,500,000 Zeny and must submit 4 different cards for recycling. Validation and Prohibitions: Checks if players have enough Zeny and verifies if submitted cards are not on the prohibited list ()..@forbidden_card$ Card Types and Rates: Offers three card types with specific probabilities: Normal Cards: 99% chance ()..@rate_normal_card = 9900 Mini Boss Cards: 3% chance ()..@rate_mini_boss_card = 300 MVP Cards: 1% chance ()..@rate_mvp_card = 100 Functionality: Allows players to recycle cards, deducts Zeny, removes submitted cards, and randomly gives a new card based on defined probabilities. Additional Features: Connects to a shop () and handles transactions related to card recycling and potentially other items.card_merge_shop This script enhances gameplay by providing a mechanism to recycle unwanted cards into potentially more valuable ones, adding depth and strategy to the game economy. Submitter JinYuichi Submitted 07/02/24 Category Utilities Video Content Author JinYuichi  
    1 point
  2. @Questune Here's a modified version of my goldroom script. You can download free here: https://skorm.gumroad.com/l/wJIhW?layout=profile //NPCS //Goldroom V1.1 prontera,160,158,2 script Private Gold Room 100,{ mes .npc$; mes "Hello, "+strcharinfo(0)+", I'm the "; mes "Private gold room manager."; mes "Here you can rent your own private gold room."; next; for(.@a = 0;getarraysize(getd(".room"+.@a+"$"));.@a++) { .rmn$ = ".room"+.@a+"$"; .rrm$ = getd(.rmn$+"[0]"); .map$ = getd(.rmn$+"[1]"); .mes$[.@a] = .rrm$; setd ".remain"+.@a+"$", callfunc("t",atoi(getd(".rtime_"+.map$+"$"))-gettimetick(2)); while(.@b<=getarraysize(.srch$)) { .@b++; if(.srch$[.@b-1] != "") { while(.@i<=countstr(.rrm$, .srch$[.@b-1])) { .@i++; if(atoi(getd(".remain"+.@a+"$"))>0) set .mes$[.@a], replacestr(.mes$[.@a], .srch$[.@b-1], getd(getd(".srch$["+(.@b-1)+"]")+.@a+"$"), 1, 1); else set .mes$[.@a], replacestr(.mes$[.@a], .repl$, .empty$, 1, 1); } } set .@i, 0; } set .@b,0; } set .@menu$, implode(.mes$,":"); set .@menu, select(.@menu$)-1; set .@remain, atoi(getd(".remain"+.@menu+"$")); if(strcharinfo(atoi(getd(".type"+.@menu+"$")))==getd(".name" +.@menu+"$") || getgmlevel() >= 60) { if(.@remain>0) { warp getd(".room"+.@menu+"$[1]"),0,0; end; } } if(.@remain>0) { mes .npc$; mes "This room is already in use please pick a different one."; close; } mes .npc$; mes "You may rent this room for ^0000FFYourself^000000, ^0000FFParty members^000000, or ^0000FFGuild members^000000."; next; set .@menu2, select("Myself Only:Party Members:Guild Members")-1; mes .npc$; mes "How long would you like to rent this room?"; next; set @menu, select(.menu2$)-1; if(Zeny<(.price[@menu]*.multi)) { mes .npc$; mes "I'm sorry you don't have enough"; mes "Zeny for that."; emotion ET_CRY; close; } set Zeny, Zeny-(.price[@menu]*.multi); setd(".type" +.@menu+"$", .@menu2); setd(".time" +.@menu+"$", callfunc("t",.times[@menu])); setd(".name" +.@menu+"$", strcharinfo(.@menu2)); setd(".rtime_"+getd(".room"+.@menu+"$[1]")+"$", gettimetick(2)+.times[@menu]); initnpctimer(.cnt$+"#"+.@menu); warp getd(".room"+.@menu+"$[1]"),0,0; end; Oninit: // Room# Room Name , Map ; setarray .room0$ , "PGR 1 = .name, .time, .remain" , "06guild_01"; setarray .room1$ , "PGR 2 = .name, .time, .remain" , "06guild_02"; setarray .room2$ , "PGR 3 = .name, .time, .remain" , "06guild_03"; setarray .room3$ , "PGR 4 = .name, .time, .remain" , "06guild_04"; setarray .room4$ , "PGR 5 = .name, .time, .remain" , "06guild_05"; setarray .room5$ , "PGR 6 = .name, .time, .remain" , "06guild_06"; setarray .room6$ , "PGR 7 = .name, .time, .remain" , "06guild_07"; setarray .room7$ , "PGR 8 = .name, .time, .remain" , "06guild_08"; setarray .srch$, ".name", ".time", ".remain"; //String searched and replaced in the Room Name Field. setarray .mapfs, mf_nomemo, mf_nosave, mf_noteleport, mf_nowarp, mf_nowarpto, mf_noskill; //mapflags setarray .times, 60, 60*15, 60*30, 60*45, 60*60; //In seconds. setarray .price, 10, 150 , 300 , 450 , 600 ; //Price of time multiplied by .multi. set .npc$, "[^0000FFManager^000000]"; //NPC name set .cnt$, "NPC"; //connected npc name set .repl$, ".name, .time, .remain"; //part of the name you want replace by .empty$ if it's not being used. set .empty$, "EMPTY"; // This text will appear when the room is not being used. set .multi, 100000; while(.@a++<=getarraysize(.price)) //Building static menus set .menu2$, .menu2$+(.times[.@a-1]/60)+" minute"+((.times[.@a-1]/60>1)?"s":"")+" costs "+.price[.@a-1]+"M.:"; while(getarraysize(getd(".room"+.@i+"$"))) { setmapflag getd(".room"+.@i+"$[1]"),.mapfs[.@i]; set .maps$, .maps$+"|"+getd(".room"+.@i+"$[1]"); .@i++; } set .maps$, .maps$+"|"; } 06guild_01,50,50,5 script NPC#0 100,500,500,{ if(mobcount(strcharinfo(3),strnpcinfo(0)+"::OnDeathEvent")) { mes .npc$; mes getd(".amnt_"+strcharinfo(3))+" mobs still remain!"; mes "You need to kill them all before I can summon more."; emotion ET_SWEAT; close; } set .@len, getarraysize(getd(".monster"+strnpcinfo(2))); for(.@h = 0; .@h < .@len; .@h += 3) { .@i++; set .@mobs[.@i-1], getd(".monster"+strnpcinfo(2)+"["+.@h+"]"); set .@chnc[.@i-1], getd(".monster"+strnpcinfo(2)+"["+(.@h+1)+"]"); set .@amnt[.@i-1], getd(".monster"+strnpcinfo(2)+"["+(.@h+2)+"]"); set .@menu$, .@menu$+getmonsterinfo(.@mobs[.@i-1],0)+":"; } set .@menu$, .@menu$+"Back to SavePoint"; mes .npc$; mes "Select which mob you'd like me to summon!"; next; set @menu, select(.@menu$)-1; if(@menu>=getarraysize(.@mobs)) { close2; warp "SavePoint",0,0; end; } setd ".drop_"+strcharinfo(3), .@chnc[@menu]; setd ".amnt_"+strcharinfo(3), .@amnt[@menu]; monster strcharinfo(3),0,0,"--ja--",.@mobs[@menu],.@amnt[@menu],strnpcinfo(0)+"::OnDeathEvent"; close; OnTouch: if(strcharinfo(atoi(getvariableofnpc(getd(".type"+strnpcinfo(2)+"$"),.cnt$)))!=getvariableofnpc(getd(".name"+strnpcinfo(2)+"$"),.cnt$) && getgmlevel() <= 60) { warp "SavePoint",0,0; end; } end; OnTimer1000: initnpctimer; setd ".timer"+strnpcinfo(2), (atoi(getvariableofnpc(getd(".rtime_"+strnpcinfo(4)+"$"),.cnt$))-gettimetick(2)); if(gettimetick(2)>=getd(".tick"+strnpcinfo(2))) { setd ".tick"+strnpcinfo(2), gettimetick(2)+60; mapannounce strnpcinfo(4),callfunc("t",getd(".timer"+strnpcinfo(2)))+" remaining!",bc_map|bc_blue; } if( getd(".timer"+strnpcinfo(2)) <= 0 ) { stopnpctimer; mapannounce strnpcinfo(4),"Gold Room Time has ended!",bc_map|bc_blue; mapwarp strnpcinfo(4),"prontera",156,191; killmonster strnpcinfo(4),strnpcinfo(0)+"::OnDeathEvent"; } end; OnDeathEvent: if(!playerattached()) end; getitem 969,rand(getd(".drop_"+strcharinfo(3))); setd ".amnt_"+strcharinfo(3), getd(".amnt_"+strcharinfo(3))-1; if( getd(".amnt_"+strcharinfo(3))<=0 ) mapannounce strcharinfo(3),"All monsters have been killed!",bc_map|bc_blue; end; OnCommandEvent: if ( !compare(getvariableofnpc(.maps$,.cnt$),"|"+strcharinfo(3)+"|") || getgmlevel() >= 99 ) atcommand .@atcmd_command$+" "+ implode( .@atcmd_parameters$," " ); else if (.@atcmd_command$ == "grtime") dispbottom callfunc("t",getd(".timer"+strnpcinfo(2)))+" remaining!"; else message strcharinfo(0), "You're not allowed to use that command here!"; end; OnInit: // Room# <ID> Chance Amount ... setarray .monster0, 1002, 2 , 100 , 1236, 3, 100, 1095, 4, 100, 1105, 5, 100, 1176, 6, 100; setarray .monster1, 1002, 2 , 100 , 1236, 3, 100, 1095, 4, 100, 1105, 5, 100, 1176, 6, 100; setarray .monster2, 1002, 2 , 100 , 1236, 3, 100, 1095, 4, 100, 1105, 5, 100, 1176, 6, 100; setarray .monster3, 1002, 2 , 100 , 1236, 3, 100, 1095, 4, 100, 1105, 5, 100, 1176, 6, 100; setarray .monster4, 1002, 2 , 100 , 1236, 3, 100, 1095, 4, 100, 1105, 5, 100, 1176, 6, 100; setarray .monster5, 1002, 2 , 100 , 1236, 3, 100, 1095, 4, 100, 1105, 5, 100, 1176, 6, 100; setarray .monster6, 1002, 2 , 100 , 1236, 3, 100, 1095, 4, 100, 1105, 5, 100, 1176, 6, 100; setarray .monster7, 1002, 2 , 100 , 1236, 3, 100, 1095, 4, 100, 1105, 5, 100, 1176, 6, 100; set .cnt$, "Private Gold Room"; //Connecting NPC name (Change this if you change the npc above) set .npc$, "[^0000FF"+strnpcinfo(1)+"^000000]"; //NPC Name set .dlay, 60; //Announce timer delay in seconds bindatcmd "storage",strnpcinfo(3)+"::OnCommandEvent"; //Disabled commands. bindatcmd "warp",strnpcinfo(3)+"::OnCommandEvent"; bindatcmd "savepoint",strnpcinfo(3)+"::OnCommandEvent"; bindatcmd "useskill",strnpcinfo(3)+"::OnCommandEvent"; bindatcmd "skillon",strnpcinfo(3)+"::OnCommandEvent"; bindatcmd "grtime",strnpcinfo(3)+"::OnCommandEvent"; } //DUPLICATIONS 06guild_02,50,50,5 duplicate(NPC#0) NPC#1 100,500,500 06guild_03,50,50,5 duplicate(NPC#0) NPC#2 100,500,500 06guild_04,50,50,5 duplicate(NPC#0) NPC#3 100,500,500 06guild_05,50,50,5 duplicate(NPC#0) NPC#4 100,500,500 06guild_06,50,50,5 duplicate(NPC#0) NPC#5 100,500,500 06guild_07,50,50,5 duplicate(NPC#0) NPC#6 100,500,500 06guild_08,50,50,5 duplicate(NPC#0) NPC#7 100,500,500 //FUNCTIONS function script t { function s; set .@left, getarg(0); if ( .@left <= 0 ) return getarg(0); set .@day, .@left / 86400; set .@hour, .@left % 86400 / 3600; set .@min, .@left % 3600 / 60; set .@sec, .@left % 60; return ( ( .@day ? .@day +" day"+ s( .@day ) : "" ) + ( .@hour ? .@hour +" hour"+ s( .@hour ) : "" ) + ( .@min ? .@min +" min"+ s( .@min ) : "" ) + ( .@sec ? .@sec +" sec"+ s( .@sec,1 ) : "" ) ); function s { return ( ( getarg(0) > 1 ? "s" : "" ) + ( getarg(1,0) ? "" : " " ) ); } }
    1 point
  3. Hi!, i make this tool. a SDXL model for recreating RO sprites https://civitai.com/models/1043663?modelVersionId=1266169
    1 point
  4. View File Pre-Registro Online Pre-Registration - Goal Counting Platform and Administrative Panel Our pre-registration platform offers a complete solution for account goal counting, with an intuitive and easy-to-use admin panel. Furthermore, a platform is designed to be easily customized and changed according to the user's needs, as demonstrated in the explanatory video. https://youtu.be/atVff95HYrY Submitter God Usopp Submitted 11/18/24 Category Other Web/CP Scripts Video https://youtu.be/atVff95HYrY Content Author Good Usopp  
    1 point
×
×
  • Create New...