Jump to content

ajaytrix

Members
  • Posts

    84
  • Joined

  • Last visited

Everything posted by ajaytrix

  1. hi is there a tool to check the errors that itemdesctable.txt, idnum2itemdisplaynametable.txt, and other .txt files that's inside the GRF My client is crasing because i've changed those two files, i cant seem to find the errors. PS: I haven't added the items inside the item_db2 folder.
  2. Technically, if i @reloadscript, all the NPCs are showing, I would still wait for the time then??? Is there any other ways to hide them instantly before waiting for the scripts to work?
  3. Yes, for all the tuesday, wed, thursday, sat, and sunday. Will it triggered all the time of the year?
  4. Hi, this script will work continuously right, not just on a certain week?
  5. Hi rAthena, regarding the hidenpc script. Is my script fine? I've tried it and it has no errors. But the thing is, I wanted the NPCs to hide and return to the said specific day and time throughout the whole server. The NPC is not hiding every wednesday and so on, hope someone can help me. - script HidingNPC -1,{ OnInit: //Hides NPC on Wed OnWed2359: hideonnpc "Kellvahni#gefg_cas04"; //gefg_cas04 72 46 sleep ( 5 * 60000 ); OnTue0000: hideoffnpc "Kellvahni#gefg_cas04"; end; //Hides on Saturday OnSat2359: hideonnpc "Roy#prtg_cas02"; //prtg_cas02 94 61 sleep ( 5 * 60000 ); OnThu2300: hideoffnpc "Roy#prtg_cas02"; end; //Hides Hides on sunday OnSun2358: hideonnpc "Nahzarf#aldeg_cas03"; //aldeg_cas03 110 118 sleep ( 5 * 60000 ); OnSun0000: hideoffnpc "Nahzarf#aldeg_cas03"; end; }
  6. Hi rAthena, regarding the hidenpc script. Is my script fine? I've tried it and it has no errors. But the thing is, I wanted the NPCs to hide and return to the said specific day and time throughout the whole server. The NPC is not hiding every wednesday and so on, hope someone can help me. - script HidingNPC -1,{ OnInit: //Hides NPC on Wed OnWed2359: hideonnpc "Kellvahni#gefg_cas04"; //gefg_cas04 72 46 sleep ( 5 * 60000 ); OnTue0000: hideoffnpc "Kellvahni#gefg_cas04"; end; //Hides on Saturday OnSat2359: hideonnpc "Roy#prtg_cas02"; //prtg_cas02 94 61 sleep ( 5 * 60000 ); OnThu2300: hideoffnpc "Roy#prtg_cas02"; end; //Hides Hides on sunday OnSun2358: hideonnpc "Nahzarf#aldeg_cas03"; //aldeg_cas03 110 118 sleep ( 5 * 60000 ); OnSun0000: hideoffnpc "Nahzarf#aldeg_cas03"; end; }
  7. @Emistry@Playtester the purpose only is to summon the renewalmobs at pre-renewal settings.
  8. I will make the renewal-monsters without activating their renewalmodes. Just the monster and I can still use the pre-renewal settings.
  9. Good day, is this possible: Using pre-re database while showing all the Renewal Mobs ONLY. Thanks
  10. I'm using euphy's quest script 1.6c Whenever I'm clicking an item this shows up. \ here's the script //===== rAthena Script ======================================= //= Euphy's Quest Shop //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.6c //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= A dynamic quest shop based on Lunar's, with easier config. //= Includes support for multiple shops & cashpoints. //= Item Preview script by ToastOfDoom. //===== Additional Comments: ================================= //= 1.0 Initial script. //= 1.2 Added category support. //= 1.3 More options and fixes. //= 1.4 Added debug settings. //= 1.5 Replaced categories with shop IDs. //= 1.6 Added support for purchasing stackables. //= 1.6a Added support for previewing costumes and robes. //= 1.6b Added 'disable_items' command. //= 1.6c Replaced function 'A_An' with "F_InsertArticle". //============================================================ // Shop NPCs -- supplying no argument displays entire menu. // callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}}; //============================================================ poring_w02,114,82,6 script Uno 998,{ callfunc "qshop"; } // Script Core //============================================================ - script quest_shop -1,{ function Add; function Chk; function Slot; OnInit: freeloop(1); // ----------------------------------------------------------- // Basic shop settings. // ----------------------------------------------------------- set .Announce,0; // Announce quest completion? (1: yes / 0: no) set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never) set .ShowID,0; // Show item IDs? (1: yes / 0: no) set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no) set .MaxStack,100; // Max number of quest items purchased at one time. // ----------------------------------------------------------- // Points variable -- optional quest requirement. // setarray .Points$[0],"<variable name>","<display name>"; // ----------------------------------------------------------- setarray .Points$[0],"#CASHPOINTS","Cash Points"; // ----------------------------------------------------------- // Shop IDs -- to add shops, copy dummy data at bottom of file. // setarray .Shops$[1],"<Shop 1>","<Shop 2>"{,...}; // ----------------------------------------------------------- setarray .Shops$[1],"Headgears","Weapons"; // ----------------------------------------------------------- // Quest items -- do NOT use a reward item more than once! // Add(<shop ID>,<reward ID>,<reward amount>, // <Zeny cost>,<point cost>, // <required item ID>,<required item amount>{,...}); // ----------------------------------------------------------- Add(1,25455,1,0,0,671,2,7151,200,7112,180,7111,200,4033,15); Add(2,25536,1,0,0,671,2,521,200,7298,150,7100,180,4230,15); // ----------------------------------------------------------- freeloop(0); set .menu$,""; for(set .@i,1; .@i<=getarraysize(.Shops$); set .@i,.@i+1) { set .menu$, .menu$+.Shops$[.@i]+":"; npcshopdelitem "qshop"+.@i,909; } end; OnMenu: set .@size, getarraysize(@i); if (!.@size) set @shop_index, select(.menu$); else if (.@size == 1) set @shop_index, @i[0]; else { for(set .@j,0; .@j<.@size; set .@j,.@j+1) set .@menu$, .@menu$+.Shops$[@i[.@j]]+":"; set @shop_index, @i[select(.@menu$)-1]; } deletearray @i[0],getarraysize(@i); if (.Shops$[@shop_index] == "") { message strcharinfo(0),"An error has occurred."; end; } dispbottom "Select one item at a time."; callshop "qshop"+@shop_index,1; npcshopattach "qshop"+@shop_index; end; OnBuyItem: // .@q[] : RewardID, BoughtAmt, RewardAmt, BaseAmt, ReqZeny, ReqPts, { ReqItem, ReqAmt, ... } setarray .@q[0],@bought_nameid[0],((@bought_quantity[0] > .MaxStack)?.MaxStack:@bought_quantity[0]); copyarray .@q[3],getd(".q_"+@shop_index+"_"+.@q[0]+"[0]"),getarraysize(getd(".q_"+@shop_index+"_"+.@q[0])); set .@q[2],.@q[1]*.@q[3]; if (!.@q[2] || .@q[2] > 30000) { message strcharinfo(0),"You can't purchase that many "+getitemname(.@q[0])+"."; end; } mes "[Quest Shop]"; mes "Reward: ^0055FF"+((.@q[2] > 1)?.@q[2]+"x ":"")+Slot(.@q[0])+"^000000"; mes "Requirements:"; disable_items; if (.@q[4]) mes " > "+Chk(Zeny,.@q[4]*.@q[1])+(.@q[4]*.@q[1])+" Zeny^000000"; if (.@q[5]) mes " > "+Chk(getd(.Points$[0]),.@q[5]*.@q[1])+(.@q[5]*.@q[1])+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+(.@q[5]*.@q[1])+")^000000"; if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1]*.@q[1])+((.ShowID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+(.@q[.@i+1]*.@q[1])+")^000000"; next; setarray @qe[1], getiteminfo(.@q[0],5), getiteminfo(.@q[0],11); if (@qe[2] > 0 && ((@qe[1] & EQP_HEAD_LOW) || (@qe[1] & EQP_HEAD_TOP) || (@qe[1] & EQP_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_TOP) || (@qe[1] & EQP_COSTUME_HEAD_MID) || (@qe[1] & EQP_COSTUME_HEAD_LOW) || (@qe[1] & EQP_GARMENT) || (@qe[1] & EQP_COSTUME_GARMENT))) set .@preview,1; addtimer 1000, strnpcinfo(0)+"::OnEnd"; while(1) { switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((.@preview && !@qe[7])?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) { case 1: if (@qe[0]) { mes "[Quest Shop]"; mes "You're missing one or more quest requirements."; close; } if (!checkweight(.@q[0],.@q[2])) { mes "[Quest Shop]"; mes "^FF0000You need "+(((.@q[2]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000"; close; } if (.@q[4]) set Zeny, Zeny-(.@q[4]*.@q[1]); if (.@q[5]) setd .Points$[0], getd(.Points$[0])-(.@q[5]*.@q[1]); if (.@q[6]) for(set .@i,6; .@i<getarraysize(.@q); set .@i,.@i+2) delitem .@q[.@i],.@q[.@i+1]*.@q[1]; getitem .@q[0],.@q[2]; if (.Announce) announce strcharinfo(0)+" has created "+((.@q[2] > 1)?.@q[2]+"x "+getitemname(.@q[0]):callfunc("F_InsertArticle",getitemname(.@q[0])))+"!",0; specialeffect2 EF_FLOWERLEAF; close; case 2: setarray @qe[3], getlook(LOOK_HEAD_BOTTOM), getlook(LOOK_HEAD_TOP), getlook(LOOK_HEAD_MID), getlook(LOOK_ROBE), 1; if ((@qe[1] & 1) || (@qe[1] & 4096)) changelook LOOK_HEAD_BOTTOM, @qe[2]; else if ((@qe[1] & 256) || (@qe[1] & 1024)) changelook LOOK_HEAD_TOP, @qe[2]; else if ((@qe[1] & 512) || (@qe[1] & 2048)) changelook LOOK_HEAD_MID, @qe[2]; else if ((@qe[1] & 4) || (@qe[1] & 8192)) changelook LOOK_ROBE, @qe[2]; break; case 3: close; } } OnEnd: if (@qe[7]) { changelook LOOK_HEAD_BOTTOM, @qe[3]; changelook LOOK_HEAD_TOP, @qe[4]; changelook LOOK_HEAD_MID, @qe[5]; changelook LOOK_ROBE, @qe[6]; } deletearray @qe[0],8; end; function Add { if (getitemname(getarg(1)) == "null") { debugmes "Quest reward #"+getarg(1)+" invalid (skipped)."; return; } setarray .@j[0],getarg(2),getarg(3),getarg(4); for(set .@i,5; .@i<getargcount(); set .@i,.@i+2) { if (getitemname(getarg(.@i)) == "null") { debugmes "Quest requirement #"+getarg(.@i)+" invalid (skipped)."; return; } else setarray .@j[.@i-2],getarg(.@i),getarg(.@i+1); } copyarray getd(".q_"+getarg(0)+"_"+getarg(1)+"[0]"),.@j[0],getarraysize(.@j); npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0); return; } function Chk { if (getarg(0) < getarg(1)) { set @qe[0],1; return "^FF0000"; } else return "^00FF00"; } function Slot { set .@s$,getitemname(getarg(0)); switch(.ShowSlot) { case 1: if (!getitemslots(getarg(0))) return .@s$; case 2: if (getiteminfo(getarg(0),2) == 4 || getiteminfo(getarg(0),2) == 5) return .@s$+" ["+getitemslots(getarg(0))+"]"; default: return .@s$; } } } function script qshop { deletearray @i[0],getarraysize(@i); for(set .@i,0; .@i<getargcount(); set .@i,.@i+1) set @i[.@i],getarg(.@i); doevent "quest_shop::OnMenu"; end; } // Dummy shop data -- copy as needed. //============================================================ - shop qshop1 -1,909:-1 - shop qshop2 -1,909:-1 - shop qshop3 -1,909:-1 - shop qshop4 -1,909:-1 - shop qshop5 -1,909:-1
  11. ajaytrix

    mushroom

    kindly delete this thread, i accidentally doubled-a thread. http://rathena.org/board/topic/88405-edit-mushroomevent/#entry226783
  12. I now removed the @refresh from normal characters. I am using your latest limited items script. You can bypass it by just entering the "limted map", then try to not move for 5mins-6mins.. then click close.. You can now successfully smuggle the "limited items"
  13. Requesting an item script combo-restrict. Example: snglasses[1]+chewing gum = lets call this, CHEW SET. If you're wearing a CHEW SET you cannot wear a buckler of deaf [gtb card]. Bump.
  14. I can bypass Limited items 4.0 Reproduce: Eg: the limited item ban is GTB card inside a shield. 1. Enter the limited map. 2. Wait for 3mins. 3. Use @refresh at alt+m 4. Try switching/spam it. 5. successfully smuggled GTB card inside the limited area. - script Limited Items -1,{ function AddLimitedItem; OnInit: // GM Level to Bypass .gm_level = 99; // Check Every X Seconds .check_delay = 5; // Apply on Which Maps and what Zone No. setarray .map$, // "<mapname>","<zone number>", "guild_vs1","0", "aldeg_cas02","0", "prtg_cas02","0", "aldeg_cas04","0", "gefg_cas02","0", "payg_cas04","0", "cell_game","1", "guild_vs3","1"; // Initialize Mapflags set .map_size,getarraysize( .map$ ); for( .@i = 0; .@i < .map_size; .@i += 2 ){ setmapflag .map$[.@i],mf_loadevent; set .map_menu$,.map_menu$ + "^0055FF[Zone "+.map$[.@i+1]+"]^000000" + .map$[.@i] +":"; } // Zone List + Limited Items for each zone. (max 63 item per zone) // AddLimitedItem( <zone>,<item>,<limit>,..,<item>,<limit> ); AddLimitedItem( 0,25279,0,25327,0,25328,0,25330,0,25331,0,25332,0,25333,0 ); AddLimitedItem( 1,25076,0,25077,0,25079,0,610,0,4128,0,25279,0,25327,0,25328,0,25330,0,25331,0,25332,0,25333,0); end; OnTalk: mes "Please select a Map."; next; .@i = select( .map_menu$ ) - 1; .@zone = atoi( .map$[ 1 + ( .@i * 2 ) ] ); mes "[Zone : "+.@zone+"] "+.map$[ .@i * 2 ]; copyarray .@limit_item[0],getd( ".zone_"+.@zone+"[0]" ),getarraysize( getd( ".zone_"+.@zone ) ); .@size = getarraysize( .@limit_item ); if( !.@size ){ debugmes "Invalid Zone : "+.@zone; }else{ .@i = 0; while( .@i < .@size ){ .@itemid = .@limit_item[.@i]; .@limit = .@limit_item[ .@i+1 ]; .@mode = ( ( .@limit < 0 )? -1:1 ); .@limit = .@limit * .@mode; .@eq = getiteminfo( .@itemid,2 ); .@name$ = getitemname( .@itemid ) + ( ( .@eq == 5 )?" ["+getitemslots( .@itemid )+"]":"" ); if( .@mode < 0 ){ mes "^FF0000[Min. "+( .@limit )+"] ^777777"+.@name$+"^000000"; }else if( .@mode > 0 ){ mes "^FF0000["+(( .@limit > 0 )?"Max. "+.@limit:"Disabled" )+"] ^777777"+.@name$+"^000000"; } .@i += 2; } } close; function AddLimitedItem { .@arg_count = getargcount(); .@zone = getarg(0); .@i =1; while( .@i < .@arg_count && .@size <= 127 ){ .@itemid = getarg( .@i ); if( getitemname( .@itemid ) != "null" ){ setarray .@limit_item[ .@size ],.@itemid,getarg( .@i+1 ); .@size += 2; .@i++; } .@i++; } if( .@size ){ copyarray getd(".zone_"+.@zone+"[0]"),.@limit_item[0],.@size; // debugmes "Zone "+.@zone+" : Total "+( .@size/2 )+" items"; } return; } OnPCLoadMapEvent: if( getgmlevel() < .gm_level ){ .@map$ = strcharinfo(3); while( .@map < .map_size && .map$[.@map] != .@map$ ) .@map++; dispbottom "Map "+.@map; if( .@map < .map_size ){ .@map++; .@zone = atoi( .map$[.@map] ); .@size = getarraysize( getd( ".zone_"+.@zone ) ); while( strcharinfo(3) == .@map$ && .@size ){ .@i = callsub( OnCheckItem,.@zone ); if( .@i < 0 ) end; else if( .@i ){ mes " "; message strcharinfo(0),"Limited Items Exceeded."; mes "Please ensure all the Items above meet the requirements as stated above."; close2; warp "SavePoint",0,0; end; } sleep2 ( .check_delay * 1000 ); } } } end; OnCheckItem: .@zone = getarg(0); copyarray .@limit_item[0],getd( ".zone_"+.@zone+"[0]" ),getarraysize( getd( ".zone_"+.@zone ) ); .@size = getarraysize( .@limit_item ); if( !.@size ){ debugmes "Invalid Zone : "+.@zone; return -1; } while( .@i < .@size ){ .@itemid = .@limit_item[.@i]; .@limit = .@limit_item[ .@i+1 ]; .@mode = ( ( .@limit < 0 )? -1:1 ); .@limit = .@limit * .@mode; .@count = countitem( .@itemid ) ); if( getiteminfo( .@itemid,2 ) == IT_CARD ) .@count += isequippedcnt( .@itemid ); .@eq = getiteminfo( .@itemid,2 ); .@name$ = getitemname( .@itemid ) + ( ( .@eq == 5 )?" ["+getitemslots( .@itemid )+"]":"" ); if( .@mode < 0 && .@count < .@limit ){ mes "^FF0000[Min. "+( .@limit )+"] ^777777"+.@name$+"^000000"; .@fail++; }else if( .@mode > 0 && .@limit >= 0 && .@count > .@limit ){ mes "^FF0000["+(( .@limit > 0 )?"Max. "+.@limit:"Disabled" )+"] ^777777"+.@name$+"^000000"; .@fail++; } .@i += 2; } return .@fail; } // npc that allow to view the map + zone info prontera,155,181,5 script Sample#view 757,{ doevent "Limited Items::OnTalk"; }
  15. @limited item script bug You can bring a limited item/s inside the restricted map how to reproduce: 1. Warp to restricted map/limited item map. 2. Stay for a minute or so. 3. You can now click close button. 4. Successfully smuggled the limited item/s.
  16. Someone please help me to edit this script: If after 55 mins, if mushrooms are not killed, it will automatically @killmonster2 and then will start again every hour. Thank you!!! //===== rAthena Script ======================================= //= Find the Mushroom //===== By: ================================================== //= Mysterious //===== Current Version: ===================================== //= 3.6a //===== Compatible With: ===================================== //= rAthena SVN //===== Description: ========================================= //= Find the Mushroom - random amount of Mushrooms spawns in random maps. //= Players need to find these mushrooms and kill them to gain prizes! //===== Additional Comments: ================================= //= 3.0 Fully Functional with Rewritten script. [Mysterious] //= 3.6a Slightly edited. [Euphy] //============================================================ prontera,142,228,6 script Find the Mushroom 1084,{ mes "[ Find The Mushroom ]"; if (!.Status) mes "There is no event at the moment!"; else { mes "There are "+.Spawn+" Mushrooms left in "+.Map$+"!"; mes "Find and kill the mushrooms to gain "+getitemname(.Prize)+"!"; } if (.Status || getgmlevel() < .GM) close; mes "Start the event?"; next; if(select("- No:- Yes") == 1) close; donpcevent strnpcinfo(0)+"::OnMinute60"; mes "[ Find The Mushroom ]"; mes "Event started!"; close; OnInit: set .Prize,7505; // Reward item ID set .Amount,1; // Reward item amount set .GM,60; // GM level required to access NPC setarray .Maps$[0],"izlude","prontera","geffen","aldebaran","alberta","yuno","payon"; // Possible maps end; OnMinute60: // Start time ( 6 every hour) if (.Status) end; set .Status,1; set .Spawn,rand(20,20); // How many Mushrooms should spawn? set .Map$,.Maps$[rand(getarraysize(.Maps$))]; killmonster .Map$,"All"; monster .Map$,0,0,"Please don't kill me!",1084,.Spawn,strnpcinfo(0)+"::OnMobKilled"; announce "Find the Mushroom : Total of "+.Spawn+" Mushrooms have been spawned in "+.Map$+"!",0; sleep 2500; announce "Find the Mushroom : Every Mushroom you kill will give you "+getitemname(.Prize)+"!",0; end; OnMobKilled: set .Spawn, .Spawn - 1; getitem .Prize, .Amount; if (.Spawn) announce "[ "+strcharinfo(0)+" ] has killed a Mushroom. There are now "+.Spawn+" Mushroom(s) left.",bc_map; else { announce "The Find the Mushroom Event has ended. All the Mushrooms have been killed.",0; set .Status,0; } end; }
  17. Request for 'Item checker/scanner/trace' Features: NPC, will ask you for an item number. Traces an item for each character. NPC will scan ALL characters that has that item number. Includes ( Inventory, storage, cart ) . Only GMs with this level or more can use the NPC. Example: NPC: "Hello GM __ " NPC: Input item number. -- if no id number, close. [ no # or incorrect ] ..... This is the list of players who has item 607: 1. Player 1 Storage, Cart, Inventory, ( can also read a card inside a weapon/shield/armor/footgear/headgear/acce) 2. Player 2 3, PLayer 3... so on... Thank you.
  18. Requesting for a script: case: A player cannot drop any items on specific map: prontera, alberta, yuno. With a char message saying: " You cannot drop items on this map" Only GMs with level 10+ can bypass this. Thanks!
  19. Requesting for an item restriction script: Case: I have a GTB card, it is compounded inside a shield. I want to restrict the GTB card/GTB compounded on a shield on a specific map. Is this possible? Thank you! More power rAthena!
  20. Requesting: Where to edit the % reduction for ASPD from Slow Grace/ Please don't forget me skill ( Gypsy )? Thank you.
  21. Can someone please share their source mod of working phantasmic arrow/charge arrow -- can knockback when inside pnuema.
  22. Uhmm. Oh yeah, my fault sir Patskie. Your script is working fine. Sorry I restarted my server. XD works fine. Thank you again, and sorry!
  23. Edited my last post. hmm.. i can't warp sir.
×
×
  • Create New...