Jump to content

elmucho

Members
  • Posts

    32
  • Joined

  • Last visited

Everything posted by elmucho

  1. Can you help me, Instead of using cashpoint i want to use pods
  2. how to change broadcast color to a different one ? for example white
  3. How to change prontera flag ? i want to create custom map for prontera flag please check the photo below
  4. How to make custom npc load automatically once server restart ? for example once server restart we need to type @loadnpc individually for the script but what i want to accomplish is a script that it automatically load the npc
  5. New script but its not dropping gold and not working when added on the item db //********************************************************************************************************************************************************************************* //***--Topic Link : ***\( ^ ~ ^ )/*** //*** //*** //********************************************************************************************************************************************************************************* //***-- Script by : ***\( ^ ~ ^ )/*** //***-- Emistry //*** //********************************************************************************************************************************************************************************* //***-- Contact Info : ***\( ^ ~ ^ )/*** //***-- My Email : [email protected] //*** //********************************************************************************************************************************************************************************* //***-- Messages : ***\( ^ ~ ^ )/*** //***-- Drop me a private message or email if you are looking for my helps ^^. //***-- Beside that, I am looking for a Server to work with ^^ . //***-- I will do my best to help you ^^. //***-- More Details ? PM Me ^^. //*** //********************************************************************************************************************************************************************************* //***Although these scripts might not suit or follow with what you have requested completely. But i still wish you can give it a try before reject the works. //*** //********************************************************************************************************************************************************************************* //-------------------------MONSTER DATABASE [ REPLACE it in Your MOB_DB.txt ] -------------------------------------------------------------------- //1852,G_EM_ANGELING,Angeling,Angeling,99,120,0,0,0,1,60,71,100,99,1,17,80,80,126,20,10,12,0,8,66,0x37B5,300,1288,288,384,0,0,0,0,0,0,969,5000,969,10000,969,8000,969,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //1853,G_EM_DEVILING,Deviling,Deviling,99,120,0,0,0,1,60,71,100,99,1,17,80,80,126,20,10,12,0,8,66,0x37B5,300,1288,288,384,0,0,0,0,0,0,7444,5000,7444,10000,7444,5000,969,10000,969,5000,0,0,0,0,0,0,0,0,0,0,0,0 //-------------------------NPC [ Warper + Exchanger ] -------------------------------------------------------------------- prontera,150,164,3 script Gold Room Manager 100,{ mes "[ Gold Room Manager ]"; mes "How may I serve for you ?"; mes "I can warp you to a Gold Mine."; next; mes "[ Gold Room Manager ]"; mes "I need you to give me"; mes "1,000,000 Zeny to Enter."; next; switch(select("Enter to Gold Room:Cancel")) { case 1: if(Zeny < 1000000) goto nomoney; set .@a,rand(50); set .@b,rand(50); mes "[Gold Room]"; mes "Before you enter, you need to answer the question "; mes "for security check."; mes "If A = "+.@a+" B = "+.@b; switch( rand(1) ){ set .@answer,.@a + .@b; mes "How many is A + B ?"; next; input .@input; next; if( .@input!=.@answer ) { atcommand "@kick " + strcharinfo(0); close; break; } else if (.@input==.@answer) { set Zeny,Zeny-1000000; warp "ordeal_3-2",0,0; close; } end; } case 2: mes "[ Gold Room Manager ]"; mes "Owh...."; mes "Nevermind..since it is your decision."; mes "It is all up to you."; mes "Come back to me if you changed your mind."; close; } nomoney: mes "[Gold Room Manager]"; mes "Sorry you need 1,000,000z to enter"; close; } //-------------------------MONSTER SPAWN-------------------------------------------------------------------- // Duplicados Warps v1.0 ordeal_3-2.gat,130,193,0 warp goldroomwrp#1 3,3,ordeal_3-2.gat,154,154 ordeal_3-2.gat,106,154,0 warp goldroomwrp#2 3,3,ordeal_3-2.gat,154,154 ordeal_3-2.gat,201,129,0 warp goldroomwrp#3 3,3,ordeal_3-2.gat,154,154 ordeal_3-2.gat,177,193,0 warp goldroomwrp#4 3,3,ordeal_3-2.gat,154,154 //ordeal_3-2,24,228,0 warp prontera 1,1,prontera,156,172; //ordeal_3-2,25,58,0 warp prontera 1,1,prontera,156,172; //ordeal_3-2,289,130,0 warp prontera 1,1,prontera,156,172; //ordeal_3-2,283,230,0 warp prontera 1,1,prontera,156,172; //ordeal_3-2,210,203,0 warp prontera 1,1,prontera,156,172; // Natural Monsters v1.0 ordeal_3-2,154,154,0,0 monster Gold Peco Peco 3003,15,0,0,0 ordeal_3-2,0,0,0,0 monster Gold Peco Peco 3003,50,0,0,0 ordeal_3-2,0,0,0,0 monster Gold Peco Peco 3003,50,0,0,0 ordeal_3-2,0,0,0,0 monster Gold Peco Peco 3003,50,0,0,0 // Map Flags v1.0 ordeal_3-2 mapflag nowarp ordeal_3-2 mapflag nobranch ordeal_3-2 mapflag nomemo ordeal_3-2 mapflag nowarpto ordeal_3-2 mapflag nopenalty ordeal_3-2 mapflag pvp_noparty ordeal_3-2 mapflag noskill ordeal_3-2 mapflag nosave ordeal_3-2 mapflag novending ordeal_3-2 mapflag noteleport
  6. Hi @Emistry i found this somewhere but im not able to spawn the monsters when i change the angeling and develing on my db its not working. can u check this please //********************************************************************************************************************************************************************************* //***--Topic Link : ***\( ^ ~ ^ )/*** //*** //*** //********************************************************************************************************************************************************************************* //***-- Script by : ***\( ^ ~ ^ )/*** //***-- Emistry //*** //********************************************************************************************************************************************************************************* //***-- Contact Info : ***\( ^ ~ ^ )/*** //***-- My Email : [email protected] //*** //********************************************************************************************************************************************************************************* //***-- Messages : ***\( ^ ~ ^ )/*** //***-- Drop me a private message or email if you are looking for my helps ^^. //***-- Beside that, I am looking for a Server to work with ^^ . //***-- I will do my best to help you ^^. //***-- More Details ? PM Me ^^. //*** //********************************************************************************************************************************************************************************* //***Although these scripts might not suit or follow with what you have requested completely. But i still wish you can give it a try before reject the works. //*** //********************************************************************************************************************************************************************************* //-------------------------MONSTER DATABASE [ REPLACE it in Your MOB_DB.txt ] -------------------------------------------------------------------- //1852,G_EM_ANGELING,Angeling,Angeling,99,120,0,0,0,1,60,71,100,99,1,17,80,80,126,20,10,12,0,8,66,0x37B5,300,1288,288,384,0,0,0,0,0,0,969,5000,969,10000,969,8000,969,1000,0,0,0,0,0,0,0,0,0,0,0,0,0,0 //1853,G_EM_DEVILING,Deviling,Deviling,99,120,0,0,0,1,60,71,100,99,1,17,80,80,126,20,10,12,0,8,66,0x37B5,300,1288,288,384,0,0,0,0,0,0,7444,5000,7444,10000,7444,5000,969,10000,969,5000,0,0,0,0,0,0,0,0,0,0,0,0 //-------------------------NPC [ Warper + Exchanger ] -------------------------------------------------------------------- phtownall,209,163,3 script Gold Room Manager 4_M_EINMINER,{ mes "[ Gold Room Manager ]"; mes "How may I serve for you ?"; mes "I can warp you to a Gold Mine."; next; mes "[ Gold Room Manager ]"; mes "I need you to give me"; mes "1,000,000 Zeny to Enter."; next; switch(select("Enter to Gold Room:Cancel")) { case 1: if(Zeny < 1000000) goto nomoney; set .@a,rand(50); set .@b,rand(50); mes "[Gold Room]"; mes "Before you enter, you need to answer the question "; mes "for security check."; mes "If A = "+.@a+" B = "+.@b; switch( rand(1) ){ set .@answer,.@a + .@b; mes "How many is A + B ?"; next; input .@input; next; if( .@input!=.@answer ) { atcommand "@kick " + strcharinfo(0); close; break; } else if (.@input==.@answer) { set Zeny,Zeny-1000000; warp "ordeal_3-2",0,0; close; } end; } case 2: mes "[ Gold Room Manager ]"; mes "Owh...."; mes "Nevermind..since it is your decision."; mes "It is all up to you."; mes "Come back to me if you changed your mind."; close; } nomoney: mes "[Gold Room Manager]"; mes "Sorry you need 1,000,000z to enter"; close; } //-------------------------MONSTER SPAWN-------------------------------------------------------------------- // Duplicados Warps v1.0 ordeal_3-2.gat,130,193,0 warp goldroomwrp#1 3,3,ordeal_3-2.gat,154,154 ordeal_3-2.gat,106,154,0 warp goldroomwrp#2 3,3,ordeal_3-2.gat,154,154 ordeal_3-2.gat,201,129,0 warp goldroomwrp#3 3,3,ordeal_3-2.gat,154,154 ordeal_3-2.gat,177,193,0 warp goldroomwrp#4 3,3,ordeal_3-2.gat,154,154 //ordeal_3-2,24,228,0 warp prontera 1,1,prontera,156,172; //ordeal_3-2,25,58,0 warp prontera 1,1,prontera,156,172; //ordeal_3-2,289,130,0 warp prontera 1,1,prontera,156,172; //ordeal_3-2,283,230,0 warp prontera 1,1,prontera,156,172; //ordeal_3-2,210,203,0 warp prontera 1,1,prontera,156,172; // Natural Monsters v1.0 ordeal_3-2,154,154,0,0 monster Gold Peco Peco 3003,15,0,0,0 ordeal_3-2,0,0,0,0 monster Gold Peco Peco 3003,50,0,0,0 ordeal_3-2,0,0,0,0 monster Gold Peco Peco 3003,50,0,0,0 ordeal_3-2,0,0,0,0 monster Gold Peco Peco 3003,50,0,0,0 // Map Flags v1.0 ordeal_3-2 mapflag nowarp ordeal_3-2 mapflag nobranch ordeal_3-2 mapflag nomemo ordeal_3-2 mapflag nowarpto ordeal_3-2 mapflag nopenalty ordeal_3-2 mapflag pvp_noparty ordeal_3-2 mapflag noskill ordeal_3-2 mapflag nosave ordeal_3-2 mapflag novending ordeal_3-2 mapflag noteleport
  7. //********************************************************************************************************************************************************************************* //********************************************************************************************************************************************************************************* //***-- Script by : //***-- Syllabear //*** //********************************************************************************************************************************************************************************* //********************************************************************************************************************************************************************************* //***-- Messages : //***-- I will do my best to help you //***-- More Details ? PM Me //*** //********************************************************************************************************************************************************************************* //*** //********************************************************************************************************************************************************************************* //***Although these scripts might not suit or follow with what you have requested completely. But i still wish you can give it a try before reject the works. //*** //********************************************************************************************************************************************************************************* //-------------------------MONSTER DATABASE [ REPLACE it in Your MOB_DB.txt ] -------------------------------------------------------------------- //-------------------------NPC [ Warper + Exchanger ] -------------------------------------------------------------------- belagio,72,61,7 script Gold Room 452,{ mes "[ Gold Room Manager ]"; mes "Hello, "; mes "How may i serve for you ?"; mes "I can warp you to a Gold Mine."; mes "Would you like to go there try to get some gold ?"; mes "You could be get rich if you lucky enough."; next; switch(select("Hunt Now:Later")) { Case 1: mes "[ Gold Room Manager ]"; mes "Okay, here you go"; next; mes "[ Gold Room Manager ]"; mes "Enjoy !"; close2; warp "bat_c01",0,0; end; Case 2: mes "[ Gold Room Manager ]"; mes "Okay, I'll wait you."; close; Case 3: mes "[ Gold Room Manager ]"; mes "Do you wish to change it into "; mes "^0000FFBronze Coin^000000?"; next; switch(select("Exchange:Not yet")) { case 1: mes "[ Gold Room Manager ]"; mes "you have "; mes "- "+countitem(969)+" x ^008800 Golds^000000"; mes "- "+countitem(7444)+" x ^008800 Treasure Boxes^000000"; next; switch(select("Gold to Bronze Coin:Treasure Box to Coin")) { Case 1: mes "[ Gold Room Manager ]"; if(countitem(969)<100){ mes "You dont have enough gold with you."; close; } if(countitem(969)>100){ mes "Okay there you go."; mes "100 Gold has been changed to 10 Bronze Coin"; delitem 969,100; getitem 673,10; close; end; } Case 2: mes "[ Gold Room Manager ]"; if(countitem(7444)<100){ mes "You dont have enough treasure box with you."; close; } if(countitem(969)>100){ mes "Okay there you go."; mes "100 Treasure Box has been changed to 10 Bronze Coin"; delitem 7444,100; getitem 673,10; close; end; } } } } } //-------------------------MONSTER SPAWN-------------------------------------------------------------------- bat_c01,0,0,0,0 monster Gold Room Angel 1852,80,0,0,0 bat_c01,0,0,0,0 monster Gold Room Devil 1853,80,0,0,0 bat_c01,0,0,0,0 monster Gold Room Guardian 2071,1,0,0,0 But its not working no item drop
  8. Ho can i make it pods instead of points ?
  9. Can i request a gold room that you need to pick the gold bar to it ? thank you!
  10. Hi can i request a npc script that will provide you pods automatically on your storage every 1 hr, and every 6 hrs you will be getiing a bonus. i tried this but its not working even i change in to 1 minute. help please //===== Hourly Points Script ========================================= //===== By: ========================================================== //= GorthexTiger modified by Nibi //===== Current Version: ============================================= //= 1.0 //===== Compatible With: ============================================= //= Any eAthena Version //===== Description: ================================================= //= Get Points every successful hours of gameplay, you cannot get //= the points even if you miss a second or a minute. A player will //= get a very big bonus if they played 12 hours consecutively //= or without logging out of the game. If the player is vending //= the script will then stop. //===== Additional Comments: ========================================= //= You can modify the script to your liking. //= The default points is Kafrapoints change it anyway if you like. //= 1.1 = Check Chatting too //= 1.2 = 5 Minute Idle Check & @at/@autotrade check. //= 1.3 = Corrected the current balance line on 12 Hours Consecutive //==================================================================== - script hourlypoints -1,{ //--Start of the Script OnPCLoginEvent: attachnpctimer ""+strcharinfo(0)+""; initnpctimer; end; OnTimer30000: //Check if Vending (normal or @at) if(checkvending() >= 1 || checkchatting() == 1) { dispbottom "The hourly points event stopped because you were vending / chatting. Please relog if you wish to start again."; stopnpctimer; end; } //Check if Idle getmapxy( .@map$, .@x, .@y, 0 ); if(@map$ == .@map$ && @x == .@x && @y == .@y) { set @afk, @afk + 1; } //If move timer resets else { set @afk, 0; } set @map$, .@map$; set @x, .@x; set @y, .@y; //Idle Check for 5 Minutes if(@afk == 5) { dispbottom "The hourly points event stopped because you were idle for 5 minutes. Please relog if you wish to start again."; stopnpctimer; end; } end; OnTimer60000: set @minute, @minute + 1; //Check for 1 Minute if(@minute == 60){ set @minute,0; set .@point_amt, 3; //Points to get every hour (default: 10) getitem 7227,.@point_amt; dispbottom "You received "+.@point_amt+" TCG by staying ingame for 1 hour"; set @consecutive_hour, @consecutive_hour + 1; } //Check for 12 hours consecutive if(@consecutive_hour == 12) { set @consecutive_hour,0; set .@cpoint_amt, 50; //Points to get for 12 Consecutive hours (default: 50) getitem 7227,.@point_amt; dispbottom "You received "+.@point_amt+" TCG in playing for 12 consecutive hours"; } stopnpctimer; initnpctimer; end; } //--End of the Script
  11. @Emistry how can i add more option to select for example the current one is Enter pvp [0] Im out of potion How to add more option for different map but same functionality Enter Pvp Main [0] Map 2 Map 3 Map 4 1 v 1 Im out of potion
  12. Hi how to add room names so people can choose map and enter to it - script PvpRotative -1,{ OnInit: // ====================================== // Configurations *********************** // ====================================== // Which map will be on the rotation? setarray .lista$[0],"guild_vs3","pvp_y_3-2","guild_vs4" ,"pvp_y_1-4"; // From how much time to time will the maps change? (Standard value 30 minutes/18000000) // WARNING, DO NOT SET VALUES HERE SMALLER THAN 60000 (1 Minute). set .rotatetime, 4500000; // ====================================== set $@lista$, ""+.lista$[0]+""; set .count, getarraysize(.lista$); for( set .@i,0; .@i < .count; set .@i, .@i+1 ){ sleep .rotatetime-60000; mapannounce ""+.lista$[.@i]+"","The PVP map will change in 30 seconds.",8; sleep 30000; mapannounce ""+.lista$[.@i]+"","The PVP map will change in 20 seconds.",8; sleep 20000; mapannounce ""+.lista$[.@i]+"","The PVP map will change in 10 seconds.",8; sleep 10000; if(.lista$[.@i] == .lista$[.count-1]){ mapwarp ""+.lista$[.@i]+"",""+.lista$[0]+"",0,0; set $@lista$, ""+.lista$[0]+""; set .@i,-1; } else{ mapwarp ""+.lista$[.@i]+"",""+.lista$[.@i+1]+"",0,0; set $@lista$, ""+.lista$[.@i+1]+""; } } } prontera,129,215,5 script PvP Keeper 843,{ mes "[PvP Keeper]"; mes "Ready for a bloody"; mes "and glorious battle today?"; if (select("Enter PVP. ["+getmapusers( $@lista$ ) +"]:I'm out of potions today.") == 1) { warp $@lista$,0,0; announce strcharinfo(0)+" has entered PVP! at "+$@lista$,0; end; } next; mes "[PvP Keeper]"; mes "Haha!~"; mes "It's okay to be scared!!"; mes "HAHAHAHAHAHA!"; close; }
  13. This is the code that i have but its not working can you Punching Bag Npc with auto respawn and dps help me about this please thank you i want to create 3 punching bag when die it will automatically respawn - script Punching Bag -1,{OnInit:monster "prontera”,203,183,”Punching Bag",1905,1,strnpcinfo(0)+"::OnDummyKill";monster "prontera”,203,180,”Punching Bag",1905,1,strnpcinfo(0)+"::OnDummyKill2";monster "prontera",203,177,”Punching Bag",1905,1,strnpcinfo(0)+"::OnDummyKill3";end;OnDummyKill: monster "prontera",203,183,"Punching Bag",1905,1,strnpcinfo(0)+"::OnDummyKill"; end;OnDummyKill2: monster "prontera”,203,180,”Punching Bag",1905,1,strnpcinfo(0)+"::OnDummyKill2"; end;OnDummyKill3: monster "prontera”,203,177,”Punching Bag",1905,1,strnpcinfo(0)+"::OnDummyKill3"; end;}
  14. Hi can you help me because im bot able to use devition on a pvp room. "SKILL FAILED"
  15. hair only shows from 1 to 30 and after it every hair is the same
  16. Hi how can we change the coordinates when you type @go 10 or warp to amatsu ? thank you
  17. Hi i have the same problem what to do ? all of the wings is working except for [Recolor] Archangel Wings when you view it infront
  18. Hi This is the item that im using. It works perfectly except when youre viewing your character infront how to fix this please check the photo but the other kind of wing is working escept for this Please check the screenshot below thank u! and look at the infront photo
  19. Upon Deleting the character it will ask you are you sure about it and once you click the ok it will ask you for this "Please enter the deletion password" but if you typed your password its wrong. but when i try to type my email it will work. how can i change the please enter the deletion password word with email ? please check the video for explanation thank u When you type your password its incorrect but when you type your email its correct how can i change please enter deletion password to email ? Screen Recording.mov
  20. Hi i need you help here because upon checking izlude town the warper is not on the bridge its on the water thats the only warper there. how can i fix it its not on the npc/cities or npc/warper please check photo
  21. elmucho

    Two Shop

    Hi how to make another euphys quest shop because i tried to make another one but the item is the same what should i do code //===== 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>{,...}}}; //============================================================ prontera,164,203,6 script Quest Shop#1 998,{ callfunc "qshop"; } // Script Core //============================================================ - script quest_shop -1,{ function Add; function Chk; function Slot; OnInit: freeloop(1); // ----------------------------------------------------------- // Basic shop settings. // ----------------------------------------------------------- set .Announce,1; // 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","Other"; // ----------------------------------------------------------- // 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,5022,1,0,0,7086,1,969,10,999,40,1003,50,984,2); Add(1,5032,1,0,0,1059,250,2221,1,2227,1,7063,600); Add(1,5027,1,0,0,2252,1,1036,400,7001,50,4052,1); Add(1,5045,1,0,0,2252,1,1054,450,943,1200); Add(2,1224,1,0,0,7297,30,969,10,999,50,714,10); Add(2,1225,1,0,0,7292,30,969,10,999,50,714,10); Add(3,531,1,3,0,512,1,713,1); Add(3,532,1,3,0,513,1,713,1); Add(3,533,1,3,0,514,1,713,1); Add(3,534,1,3,0,515,1,713,1); // ----------------------------------------------------------- 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
  22. @Ninja @Zutcer 1.4b is not showing on the map can u check the 1.6b because it only shows jellpy im using the 1.6b its still the same https://raw.githubusercontent.com/rathena/rathena/master/npc/custom/quests/quest_shop.txt
  23. The Code below only shows jellopy //===== rAthena Script ======================================= //= Euphy's Quest Shop //===== By: ================================================== //= Euphy //===== Current Version: ===================================== //= 1.4b //===== Compatible With: ===================================== //= rAthena SVN r15340+ //===== Description: ========================================= //= A dynamic quest shop based on Lunar's, with easier config. //= Includes support for multiple shops & cashpoints. //= Item Preview script by ToastOfDoom. //============================================================ prontera,164,203,6 script Quest Shop 998,{ function Add; function Chk; function Slot; function A_An; if (.Shops$ == "") set .@i, select(.menu$); else set .@i,1; dispbottom "Select one item at a time."; callshop "qshop"+.@i,1; npcshopattach "qshop"+.@i; end; function Add { if (getitemname(getarg(1)) == "null") { debugmes "Quest reward #"+getarg(1)+" invalid (skipped)."; return; } for(set .@n,5; .@n<127; set .@n,.@n+2) { if (!getarg(.@n,0)) break; if (getitemname(getarg(.@n)) == "null") { debugmes "Quest requirement #"+getarg(.@n)+" invalid (skipped)."; return; } } for(set .@i,2; .@i<.@n; set .@i,.@i+1) set getd(".q_"+getarg(1)+"["+(.@i-2)+"]"), getarg(.@i); npcshopadditem "qshop"+getarg(0),getarg(1),((.ShowZeny)?getarg(3):0); return; } function Chk { if (getarg(0) < getarg(1)) { set @qe0,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 A_An { setarray .@A$[0],"a","e","i","o","u"; set .@B$, "_"+getarg(0); for(set .@i,0; .@i<5; set .@i,.@i+1) if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0); return "a "+getarg(0); } OnBuyItem: set .@q[0],@bought_nameid; copyarray .@q[1],getd(".q_"+@bought_nameid+"[0]"),getarraysize(getd(".q_"+@bought_nameid+"[0]")); if (!.@q[1]) { message strcharinfo(0),"An error has occurred."; end; } mes "[Quest Shop]"; mes "Reward: ^0055FF"+((.@q[1]>1)?.@q[1]+"x ":"")+Slot(.@q[0])+"^000000"; mes "Requirements:"; if (.@q[2]) mes " > "+Chk(Zeny,.@q[2])+.@q[2]+" Zeny^000000"; if (.@q[3]) mes " > "+Chk(getd(.Points$[0]),.@q[3])+.@q[3]+" "+.Points$[1]+" ("+getd(.Points$[0])+"/"+.@q[3]+")^000000"; if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2) mes " > "+Chk(countitem(.@q[.@i]),.@q[.@i+1])+((.DisplayID)?"{"+.@q[.@i]+"} ":"")+Slot(.@q[.@i])+" ("+countitem(.@q[.@i])+"/"+.@q[.@i+1]+")^000000"; next; set @qe1, getiteminfo(.@q[0],5); set @qe2, getiteminfo(.@q[0],11); addtimer 1000, strnpcinfo(1)+"::OnEnd"; while(1) { switch(select(" ~ Purchase ^0055FF"+getitemname(.@q[0])+"^000000:"+((((@qe1&1) || (@qe1&256) || (@qe1&512)) && @qe2 > 0 && !@qe6)?" ~ Preview...":"")+": ~ ^777777Cancel^000000")) { case 1: if (@qe0) { mes "[Quest Shop]"; mes "You're missing one or more quest requirements."; close; } if (!checkweight(.@q[0],.@q[1])) { mes "[Quest Shop]"; mes "^FF0000You need "+(((.@q[1]*getiteminfo(.@q[0],6))+Weight-MaxWeight)/10)+" additional weight capacity to complete this trade.^000000"; close; } if (.@q[2]) set Zeny, Zeny-.@q[2]; if (.@q[3]) setd .Points$[0], getd(.Points$[0])-.@q[3]; if (.@q[4]) for(set .@i,4; .@i<getarraysize(.@q); set .@i,.@i+2) delitem .@q[.@i],.@q[.@i+1]; getitem .@q[0],.@q[1]; if (.Announce) announce strcharinfo(0)+" has created "+A_An(getitemname(.@q[0]))+"!",0; specialeffect2 699; close; case 2: set @qe3, getlook(3); set @qe4, getlook(4); set @qe5, getlook(5); set @qe6,1; if (@qe1&1) atcommand "@changelook 3 "+@qe2; if (@qe1&256) atcommand "@changelook 1 "+@qe2; if (@qe1&512) atcommand "@changelook 2 "+@qe2; break; case 3: close; } } OnEnd: if (@qe6) { atcommand "@changelook 3 "+@qe3; atcommand "@changelook 1 "+@qe4; atcommand "@changelook 2 "+@qe5; } for(set .@i,0; .@i<7; set .@i,.@i+1) setd "@qe"+.@i,0; end; OnInit: freeloop(1); // --------------------- Config --------------------- // Custom points, if needed: "<variable>","<name to display>" setarray .Points$[0],"#CASHPOINTS","Cash Points"; set .Announce,1; // Announce quest completion? (1: yes / 0: no) set .ShowSlot,1; // Show item slots? (2: all equipment / 1: if slots > 0 / 0: never) set .DisplayID,0; // Show item IDs? (1: yes / 0: no) set .ShowZeny,0; // Show Zeny cost, if any? (1: yes / 0: no) // Shop categories, if needed: "<Shop 1>","<Shop 2>"{,...}; // Duplicate dummy data for any additional shops (bottom of script). // If no categories, use the second line instead (remove //). setarray .Shops$[1],"Headgears","Weapons","Other"; // set .Shops$,"n/a"; // Add(<shop number>,<reward ID>,<reward amount>,<Zeny cost>,<point cost>, // <required item ID>,<required item amount>{,...}); // Shop number corresponds with order above (default is 1). // Note: Do NOT use a reward item more than once! Add(1,5022,1,0,0,7086,1,969,10,999,40,1003,50,984,2); Add(1,5032,1,0,0,1059,250,2221,1,2227,1,7063,600); Add(1,5027,1,0,0,2252,1,1036,400,7001,50,4052,1); Add(1,5045,1,0,0,2252,1,1054,450,943,1200); Add(2,1224,1,0,0,7297,30,969,10,999,50,714,10); Add(2,1225,1,0,0,7292,30,969,10,999,50,714,10); Add(3,531,1,3,0,512,1,713,1); Add(3,532,1,3,0,513,1,713,1); Add(3,533,1,3,0,514,1,713,1); Add(3,534,1,3,0,515,1,713,1); // -------------------------------------------------- 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; } // -------- Dummy data (duplicate as needed) -------- - shop qshop1 -1,909:-1 - shop qshop2 -1,909:-1 - shop qshop3 -1,909:-1
×
×
  • Create New...