Jump to content

ryzenthird

Donators
  • Posts

    23
  • Joined

  • Last visited

  • Days Won

    1

ryzenthird last won the day on May 12 2023

ryzenthird had the most liked content!

1 Follower

About ryzenthird

Profile Information

  • Gender
    Male
  • Location
    Cabnatuan City

Recent Profile Visitors

39611 profile views

ryzenthird's Achievements

Santa Poring

Santa Poring (3/15)

  • Conversation Starter
  • Collaborator
  • First Post
  • Dedicated
  • Week One Done

Recent Badges

2

Reputation

  1. Hi i'm wondering if is it possible to show item(s) restriction on the item description like if its Dropable,Storageable,Tradeable,Account Bound,Character Bound i saw this How to change item restrictions on the item description? <-- BUT ITS 2016 its so old and the file " item_trade.txt " does not exist anymore. so im wondering if its possible to implement this in latest git. thanks in advanced.
  2. Try this - script SelectRate -1,{ OnPCLoginEvent: if(!server_preferred_rate){ mes "Select Your Preferred Server Rates"; switch(select("High Rate:Mid Rate:Low Rate")){ case 1: mes "Thank you for choosing!"; set server_preferred_rate,1; close; case 2: mes "Thank you for Choosing!"; set server_preferred_rate,2; close; case 3: mes "Thank you for Choosing!"; set server_preferred_rate,3; close default: mes "Please relogin to choose!"; close; } } OnShowStatistics: query_sql("SELECT COUNT(*) FROM char_reg_num WHERE `key` = 'server_preferred_rate' AND `value` = 1",.@highratecount); query_sql("SELECT COUNT(*) FROM char_reg_num WHERE `key` = 'server_preferred_rate' AND `value` = 2",.@midratecount); query_sql("SELECT COUNT(*) FROM char_reg_num WHERE `key` = 'server_preferred_rate' AND `value` = 3",.@lowratecount); mes "This is the current statistics"; mes "High Rate Count : ("+.@highratecount+")"; mes "Mid Rate : ("+.@midratecount+")"; mes "Low Rate : ("+.@lowratecount+")"; close; OnInit: bindatcmd("showstatistics",strnpcinfo(3)+"::OnShowStatistics",99,99); end; }
  3. Total Silver Coin Farmed in the whole server? query_sql("SELECT SUM(points) FROM table_name",.@sumpoints); // This would add all the points in the server or you could modify this to sum/add all silver coined farmed in the server like if its in inventory it should be query_sql("SELECT COUNT(*) FROM inventory WHERE item_id = silver_coin_item_id",.@total_silver_coined_farmed); so it should be set .@total,(.@total_silver_coined_farmed * 5) / 100;
  4. its pretty easy to code your own zeny to pod converter.. try this prontera,150,150,4 script Zeny To Pods E_PORING,{ .@total_pods_can_get = zeny / .pods_price; mes "[Zeny to pods]"; mes "("+callfunc("F_InsertComma",.pods_price)+"z) for 1 pod"; mes "You can get ("+.@total_pods_can_get+") pods with your current zeny"; next; switch(select("Zeny to Pods:Cancel")){ case 1: if(.@total_pods_can_get){ input(.@convert,0,.@total_pods_can_get); if(.@convert > .@total_pods_can_get){ mes "Sorry but you cannot convert that many PODS with your current zeny"; close; }else if(!.@convert){ mes "Sorry but you do not input any amount"; close; }else if(!checkweight(7179,.@convert)){ mes "Sorry but you cannot hold that many PODS with your current inventory weight"; close; }else{ mes "You want to convert your zeny to "+.@convert+" PODS Right?"; switch(select("Yes:No")){ case 1: set zeny,zeny-(.@convert * .pods_price); getitem 7179,.@convert; mes "Thank you for converting ("+.@convert+") PODS "; close; default: close; } close; } }else{ mes "Sorry but you do not have enough zeny to convert to pods"; close; } default: close; } OnInit: set .pods_price,100000; end; }
  5. why not just remove the kill instead of putting false? did you try it?
  6. View File Mir 4 Inspired Mining Script Config in OnInit : setarray .reward_id,969,677; // Item ID Rewards set .mineral_count,50; // How many Mineral (*PS : Need to duplicate npc see the bottom script) <-- THIS IS NOT NEEDED IN v1.0.1 set .mining_time,10; // How many Seconds to Mine In v1.0.1 there will be a new command "@startming" you need to run this command 1 time then until you "@reloadscript" or server restart the mining will run correctly ? Submitter ryzenthird Submitted 05/11/2023 Category Games, Events, Quests Video Content Author Ryzen Third  
  7. Version 1.0.1

    15 downloads

    Config in OnInit : setarray .reward_id,969,677; // Item ID Rewards set .mineral_count,50; // How many Mineral (*PS : Need to duplicate npc see the bottom script) <-- THIS IS NOT NEEDED IN v1.0.1 set .mining_time,10; // How many Seconds to Mine In v1.0.1 there will be a new command "@startming" you need to run this command 1 time then until you "@reloadscript" or server restart the mining will run correctly ?
    10.00 USD
  8. prontera,150,173,4 script VIP Central E_PORING,{ mes .npc_name$; if(vip_status(1)){ mes "^008affYour VIP access will expire on " + callfunc("Time2Str",vip_status(2)) + ".^000000"; } mes "Welcome "+strcharinfo(0)+","; mes "How can i help you?"; next; switch(select("Warp Central VIP:"+(vip_status(1)?"Extend VIP Status":":VIP 1:VIP 2:VIP 3"))){ case 1: mes .npc_name$; if(!vip_status(1)){ mes "Excuse me! Access to VIP Central is only allowed to ^008affVIP^000000 players."; mes "-----------------------------------"; mes "Visit our website and learn how to become a ^008affVIP^000000 player."; mes "-----------------------------------"; close; } warp .map$,.cord[0],.cord[1]; end; case 2: mes .npc_name$; mes "You want to extend your vip status"; break; case 3: mes .npc_name$; mes "You selected VIP 1 (7 Days)"; explode(.item_info$,.item_ids$[0],":"); mes "The Item requirements is : "+getitemname(atoi(.item_info$[0]))+" - ("+atoi(.item_info$[1])+")"; next; switch(select("Purchase:Cancel")){ case 1: mes .npc_name$; if(countitem(atoi(.item_info$[0])) < atoi(.item_info$[1])){ mes "You do not have enough items to buy this Subscription"; close; end; } delitem atoi(.item_info$[0]),atoi(.item_info$[1]); vip_time(.vip_day[0] * 1440); mes "Congrats you are now a vip"; close; end; default: close; end; } break; case 4: mes .npc_name$; mes "You selected VIP 2 (14 Days)"; explode(.item_info$,.item_ids$[1],":"); mes "The Item requirements is : "+getitemname(atoi(.item_info$[0]))+" - ("+atoi(.item_info$[1])+")"; next; switch(select("Purchase:Cancel")){ case 1: mes .npc_name$; if(countitem(atoi(.item_info$[0])) < atoi(.item_info$[1])){ mes "You do not have enough items to buy this Subscription"; close; end; } delitem atoi(.item_info$[0]),atoi(.item_info$[1]); vip_time(.vip_day[1] * 1440); mes "Congrats you are now a vip"; close; end; default: close; end; } break; case 5: mes .npc_name$; mes "You selected VIP 3 (30 Days)"; explode(.item_info$,.item_ids$[2],":"); mes "The Item requirements is : "+getitemname(atoi(.item_info$[0]))+" - ("+atoi(.item_info$[1])+")"; next; switch(select("Purchase:Cancel")){ case 1: mes .npc_name$; if(countitem(atoi(.item_info$[0])) < atoi(.item_info$[1])){ mes "You do not have enough items to buy this Subscription"; close; end; } delitem atoi(.item_info$[0]),atoi(.item_info$[1]); vip_time(.vip_day[2] * 1440); mes "Congrats you are now a vip"; close; end; default: close; end; } break; } close; OnInit: setarray .item_ids$[0],"501:2","502:3","503:3"; set .npc_name$,"[^FF7F00 VIP Central ^000000]"; set .map$,"sec_in02"; setarray .cord,130,161; setarray .vip_day,7,14,30; if(!.waitingroom){ waitingroom "VIP Central",0; .waitingroom = 1; } end; } Try this ?
  9. - script promoclaim -1,{ OnInit: bindatcmd "claim",strnpcinfo(3)+"::OnClaim"; bindatcmd "code",strnpcinfo(3)+"::OnEditCode"; end; OnClaim: // if ( getgmlevel() ) end; mes "^FF0000 Enter the Promo Code."; input .@pc$; close2; query_sql "SELECT `nameid`, `amount` FROM `reward_codes` WHERE `code` = '" + escape_sql(.@pc$) + "'", .@item, .@amt; query_sql "SELECT count(*) FROM `rewardlogs` WHERE `code` = '"+ escape_sql(.@pc$) + "' AND `ip_address` = '"+getcharip(strcharinfo(0))+"', .@ipcheck; if ( !.@item && !.@ipcheck ) dispbottom "Either invalid code or the code is already Expired"; else { getitem .@item, .@amt; dispbottom "Promotional code successfully redeemed."; //query_sql "DELETE FROM `reward_codes` WHERE `code` = '" + escape_sql(.@pc$) + "'"; query_logsql "INSERT INTO `rewardlogs` VALUES ( '" + getcharid(3) + "', '" + escape_sql(.@pc$) + "','"+getcharip(strcharinfo(0))+"', NOW() )"; // ADD IP ADDRESS WHEN CLAIMED IN rewardlogs then } end; OnEditCode: if ( getgmlevel() < 99 ) end; set .@choice$, "Setup a new promotional code:View existing codes:Delete exisiting codes:Cancel"; setarray .@length, 4,10; // <min>,<max> switch ( select( .@choice$ ) ) { case 1: input .@pcode$; if ( getstrlen( .@pcode$ ) < .@length[0] || getstrlen( .@pcode$ ) > .@length[1] ) { dispbottom "Codes must not be less than " +.@length[0]+ " and must be greater than " +.@length[1]+ "."; end; } mes "You have entered ^FF0000"+.@pcode$+"^000000 as the code."; mes "Are you sure?"; if ( select("Yes:No, thanks") - 1 ) end; query_sql "SELECT `code` FROM `reward_codes` WHERE `code` = '" + escape_sql(.@pcode$) + "'", .@pcode_exists; if ( .@pcode_exists ) { dispbottom "Sorry, that code already exist."; end; } mes "Please set a reward for the players who has entered the code."; input .@reward; next; if ( !.@reward || getitemname(.@reward) == "null" ) { dispbottom "Sorry, that is an invalid item id."; end; } set .@iname$, getitemname(.@reward); mes "Item number ^FF0000"+.@reward+"^000000"; mes "is equivalent to ^FF0000"+.@iname$+"^000000."; mes "Are you sure?"; next; if ( select("Yes:No, thanks") - 1 ) end; mes "How many ^FF0000"+.@iname$+"^000000.?"; input .@amount; next; if ( !.@amount ) { dispbottom "Sorry, that is an invalid amount number."; end; } mes "Are you sure?"; next; if ( select("Yes:No, thanks") - 1 ) end; query_sql "INSERT INTO `reward_codes` VALUES ( '" + escape_sql(.@pcode$) + "', '" + .@reward + "', '" + escape_sql(.@iname$) + "', '" + .@amount + "', NOW() )"; dispbottom "Done creating code!"; break; case 2: set .@nb, query_sql("SELECT code, item_name, amount FROM `reward_codes` ORDER BY time_created DESC LIMIT 20", .@code$, .@nid$, .@amount); if ( !.@nb ) { dispbottom "No exisiting codes."; end; } dispbottom "============================================="; dispbottom "============== EXISITING CODES =============="; dispbottom "============================================="; for(set .@i,0; .@i < .@nb; set .@i,.@i+1) dispbottom ""+.@code$[.@i]+" ( Reward: "+.@amount[.@i]+" "+.@nid$[.@i]+" ) "; dispbottom "============================================="; break; case 3: input .@dcode$; query_sql "SELECT `code` FROM `reward_codes` WHERE `code` = '" + escape_sql(.@dcode$) + "'", .@dcode_exists; if ( !.@dcode_exists ) { dispbottom "Promotional code not found."; end; } mes "Would you like to delete that code?"; next; if ( select("Yes:No, thanks") - 1 ) end; query_sql "DELETE FROM `reward_codes` WHERE `code` = '" + escape_sql(.@dcode$) + "'"; break; case 4: close; break; default: break; } end; } Try this edit your rewardlogs add ip_address also edit this line since i dont know what are the columns in rewardlogs hehe ? this modification will allow player with different IP to claim the code
  10. prontera,155,180,4 script Gold Room#tst 100,{ mes "What do you want?"; next; switch(select("Enter Gold Room.:Exchange Points:Cancel")) { case 1: @str$ = ""; mes "Make sure to type the strings correctly."; mes "Fee: ^FF0000"+F_InsertComma(.zeny)+" Z^000000"; for( .@i=0; .@i<.strLen; .@i++ ) @str$ += charat(.charSet$, rand(0, getstrlen(.charSet$))); mes "Passcode : ^FF0000"+@str$+"^000000"; next; input .@txt$; if( .@txt$ != @str$ ) { mes "You will be kicked."; close2; atcommand "@kick "+strcharinfo(0); end; } else { if( Zeny < .zeny ) { mes "Sorry, but you can't enter the room."; close; } else { @str$ = ""; Zeny -= .zeny; warp "ordeal_1-1",0,0; end; } } break; case 2: if( !#goldPoint ) { mes "Don't have enough Gold Points to exchange."; close; } mes "You currently have "+F_InsertPlural(#goldPoint, "Gold Point")+"."; mes "Select to what you will exchange your Gold Point"; next; switch(select("GOLD BARS:ZENY:Cancel")) { case 1: switch(select("Exchange all of my Gold Points:Decide on how many will I exchange:Cancel")) { case 1: if(!checkweight(969,#goldPoint)) { mes "Sorry, you can't carry these gold bars."; close; } else { getitem 969,#goldPoint; #goldPoint = 0; mes "Here's your gold bars."; mes "You currently have "+F_InsertPlural(#goldPoint, "Gold Point")+"."; close; } break; case 2: mes "Input how many gold points will you get."; next; input .@gpoint,0,30000; if( .@gpoint > #goldPoint ) { mes "Sorry, you don't have enough gold points to exchange."; close; } else { if(!checkweight(969,.@gpoint)) { mes "Sorry, you can't carry these gold bars."; close; } else { getitem 969, .@gpoint; #goldPoint -= .@gpoint; mes "Here's your gold bars."; mes "You currently have "+F_InsertPlural(#goldPoint, "Gold Point")+"."; close; } } break; default: goto L_Quit; break; } case 2: mes "Input how many Gold Points would you like to convert!"; input .@gpoint,0,30000; if( .@gpoint > #goldPoint ) { mes "Sorry, you don't have enough gold points to exchange."; close; } else { .@totalzeny = zeny + (.@gpoint * .zeny_to_gpoint); if(.@totalzeny > MAX_ZENY){ mes "Sorry, you can't have that much zeny in to your account."; close; }else{ zeny += .@gpoint * .zeny_to_gpoint; #goldPoint -= .@gpoint; mes "Transaction Success! You earned ("+F_InsertComma(.@gpoint * .zeny_to_gpoint)+")z"; close; } } default: goto L_QUIT; break; } close; break; default: goto L_Quit; break; } L_Quit: close; end; OnInit: .charSet$ = "0123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ"; .strLen = 10; // Sets how many characters for the generated confirmation code. .zeny = 200000; // Entrance fee for the room .zeny_to_gpoint = 1000000; end; } ordeal_1-1,150,150,4 script Exit 100,{ mes "Want to go out?"; if( select("Yes:No") == 2 ) close; else { warp "SavePoint",0,0; end; } } - script gold_room -1,{ OnInit: .mob_id = 1002; // Monster ID for the Gold Room mobs monster "ordeal_1-1",0,0,"Golden Peco",.mob_id,100,strnpcinfo(0)+"::OnKilled"; end; OnKilled: .ppk = rand(1,3); // Points per kill #goldPoint += .ppk; dispbottom "-- Gold Point Information --"; dispbottom "You have acquired "+F_InsertPlural(.ppk,"Gold Point")+"."; dispbottom "You have currently have "+F_InsertPlural(#goldPoint,"Gold Point")+"."; monster "ordeal_1-1",0,0,"Golden Peco",.mob_id,1,strnpcinfo(0)+"::OnKilled"; end; OnPCDieEvent: if( strcharinfo(3) == "ordeal_1-1" ) { #goldPoint = 0; dispbottom "Sorry, but all of the Gold Points you have earned has vanished."; } end; } ordeal_1-1 mapflag pvp_noparty ordeal_1-1 mapflag pvp_noguild ordeal_1-1 mapflag nowarp ordeal_1-1 mapflag noreturn ordeal_1-1 mapflag noteleport ordeal_1-1 mapflag noskill I'm not sure if this will work but I added a "GPOINT -> ZENY" converter and also changed the point from random(1,5) to random(1,3) hope this helps ?
  11. maybe you can modify the script where it would give reward to all members and add a checker if GL then give GL reward if not then give member reward. ?
  12. Im currently experiencing this if 2018 client its not NO MSG but if 2022 CLIENT IT SAYS NO MSG.. did anyone fixed this? FIXED USING THIS ||chris|| RO English RE - msgstringtable.txt
  13. its so hard to understand your request since u do not have a clear goal. if u want to check item is in inventory just use countitem(item_id)
  14. you mean it should go like +1 step at a time? 4702 - 4711 ( then continue get .orbs[1] until .orbs[2] ) is that right?? setarray .orbs, 4702,4712,4722,4732,4742,4752,4767,4834;
  15. what is it exactly are you trying to achieve??
×
×
  • Create New...