Jump to content

sader1992

Content Moderator
  • Posts

    1677
  • Joined

  • Last visited

  • Days Won

    71

Everything posted by sader1992

  1. i think you need to use another id there is ids for npcs and jobs you must not use one of them (i don't know the available IDs) try to put the monster into the id 3999 and tell me if the problem still there you can see all the already token IDs at jobidentity.lub and npcidentity.lub (i don't know if there is more) but here you will see the ids so if your id is already id of npc then you can't click on the monster
  2. rAthena\npc\scripts_custom.conf open it and you will find there npcs search for //npc: npc/custom/warper.txt remove the // from the start npc: npc/custom/warper.txt and if you wanna add any npc just add the path in this file and it would be added to the server inside the game type @reloadscript to reload the npc files and it will show inside the game
  3. rAthena\src\map\mob.h search for #define MAX_MOB_DB 5000 after you edit the number and save the file > stop the server then > recompile then > start the server
  4. you can but you will need bandwidth(in your host not you cuz every one will taake like 2g from it bandwidth) aloooot and your players will need loong time to download and if someone fail will need to re download from the start etc i would suggest you upload to some website and tell your players to redownload the grf ( or just upload the full game) again bandwidth if you have 10 players you will need 20gig if you have 50 players you will need 100 gig this without uploading it and the failing times cuz it will happen and also the internet speed in your host
  5. go to this path rAthena\npc\custom >>(all not official NPCs you will find them here) you will find warper.txt see how it work and make your own script there is no real way to learn how to make scripts if you know in development it will be easier for you but also if you test and see other scripts you will get to it
  6. try id less then 5000 like 4000+ like this 4000,lif,Lif,Lif,105,400000,1,350000,224657,1,5000,6000,64,51,62,44,25,105,85,20,10,12,1,7,89,102774421,200,598,1056,336,0,0,0,0,0,0,0,7929,5,969,20,607,20,7621,20,523,20,7136,40,7139,40,0,0,0,0,0,0 or else you need to edit file in the src to add id that more then 5000
  7. now working ? or not can you show me the line you put ? if it's not working
  8. did you add the monster line on the right file ? if you use txt files pre-re = rAthena\db\pre-re\mob_db.txt renewal = rAthena\db\re\mob_db.txt if you use sql pre-re = mob_db.sql renewal = mob_db_re.sql if you have the default setting then you use the txt files
  9. when command failed = server side @reloadmobdb or @reloadmonsterdb or restart the server if you are sure you add ever thing
  10. the files Cyro giving you will have the last kro update but you need to use the updater (rsu-kro-renewal-lite) to get the latest update
  11. no need to send it cuz i am not sure i can fix it it's like gambling can you try (OnInstanceInit:) insted (OnInstancing:)
  12. what rathena version ? where is the script ?
  13. cuz at the shops list you edit the shops names and it need to be edit but not as you think - shop qshop6 -1,909:-1 - shop qshop7 -1,909:-1 - shop qshop8 -1,909:-1 - shop qshop9 -1,909:-1 - shop qshop10 -1,909:-1 "qshop1"+.@i, so the shops will be call at the name then the number - shop qshop11 -1,909:-1 - shop qshop12 -1,909:-1 - shop qshop13 -1,909:-1 - shop qshop14 -1,909:-1 - shop qshop15 -1,909:-1 like that qshop1 = name 1 = number
  14. you upload the map files via the patcher to the other players but first you need to add the maps on the server side or else if you upload the patcher before adding them the other players may can't login to the server until you add them in the server side you must add them the server side then add them to your client if every thing work fine upload them via the pathcer
  15. at line 239 mes "really thinks that you can with me just like that?; must be mes "really thinks that you can with me just like that?"; but if you want to make 2 npcs quest shop then there is alot of things that need to change not only the function name
  16. https://github.com/rathena/rathena/wiki/Custom_Maps
  17. you wanna add or change a map in your server?
  18. BaseLevel* at line 221 i typed bacelevel >>bad english
  19. as i get it i will tell you how to do it cuz it's look like it need so many options and i need more info to do it so you see at the start the npc when you talk to the npc it call a function callfunc "qshop"; this what it call the shop , so this function that you need to call at the last of your options and you make new function that the npc call it insted of the shop function let's call that function (myquest) the npc line here will be prontera,164,203,6 script Quest Shop#1 998,{ callfunc "myquest"; } and now after you call the function you make it like that function script myquest { //my script //my script //last result after the player do all what it need you need to call the shop fuction //if... //else if //etc callfunc "qshop"; end; } i will give you an example here //===== 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 "myquest"; } // 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; } function script myquest { if(BaseLevel == 90){ callfunc "qshop"; }else{ mes "you must be level 90 to use the quest shop"; close; } 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 in this script you need to be level 90 to see the shop you can see myquest fuction at line 220 you can see at result of level 90 it call the qshop function and at the like 28 the npc call myquest function insted of qshop function if you have error put here and i or someone else can fix it
  20. so you want the npc don't let them see the shop ,only if they have one of the items needed for item inside the shop ? or you want to make the npc wont let you see the shop ,only if you have item that allow you the see the shop(like [quest shop card]) ? or you wanna the npc only display the item that the player had farm the items for it ? what the player see if >they don't have anything >they have items for a hat inside the shop else if item what they see when >they have the item that needed to see the shop >they don't have the item that alow them to see the shop
  21. you removed every // in the file~~ and every "" and you have if ( countitem(7421) == 1 ) without npc
×
×
  • Create New...