-
Posts
1678 -
Joined
-
Last visited
-
Days Won
72
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by sader1992
-
-
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
-
1
-
-
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
-
this how you make the patch
-
1
-
-
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
-
1
-
-
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
-
1
-
-
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
-
now working ? or not
can you show me the line you put ? if it's not working
-
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
-
when command failed = server side
@reloadmobdb or @reloadmonsterdb
or restart the server if you are sure you add ever thing
-
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
-
22 minutes ago, Prime said:
i'm using rAmod mm May revision or so, if you want to check the script i can send it personally :s is private
no need to send it cuz i am not sure i can fix it it's like gambling
can you try (OnInstanceInit:) insted (OnInstancing:)
-
what rathena version ?
where is the script ?
-
9 hours ago, DimarypEvans said:
Do you know where I can find a good third party patcher tutorial?
-
did you try this ?
-
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
-
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
-
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
-
put the script plz
-
-
you wanna add or change a map in your server?
-
BaseLevel* at line 221 i typed bacelevel >>bad english
-
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
-
1
-
-
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
-
you removed every // in the file~~
and every ""
and you have if ( countitem(7421) == 1 ) without npc
How to add custom mob
in Database Support
Posted · Edited by sader1992
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