-
Posts
1677 -
Joined
-
Last visited
-
Days Won
71
Community Answers
-
sader1992's post in H> npc took item equiped was marked as the answer
well that change every thing XD
you need to write a check for it the item equiped is the same item the npc want it
something like this
if(getequipid(EQI_HAND_R) == 16001){ if(countitem(16001) > 1) goto twentysix; }else{ if(countitem(16001) > 0) goto twentysix; } or you need to make a sub or function and optimize the script to write this only once not one every id
and make sure you use the right getequipid
*getequipid({<equipment slot>,<char_id>}) EQI_COMPOUND_ON (-1) - Item slot that calls this script (In context of item script) EQI_ACC_L (0) - Accessory 1 EQI_ACC_R (1) - Accessory 2 EQI_SHOES (2) - Footgear (shoes, boots) EQI_GARMENT (3) - Garment (mufflers, hoods, manteaux) EQI_HEAD_LOW (4) - Lower Headgear (beards, some masks) EQI_HEAD_MID (5) - Middle Headgear (masks, glasses) EQI_HEAD_TOP (6) - Upper Headgear EQI_ARMOR (7) - Armor (jackets, robes) EQI_HAND_L (8) - Left hand (weapons, shields) EQI_HAND_R (9) - Right hand (weapons) EQI_COSTUME_HEAD_TOP (10) - Upper Costume Headgear EQI_COSTUME_HEAD_MID (11) - Middle Costume Headgear EQI_COSTUME_HEAD_LOW (12) - Lower Costume Headgear EQI_COSTUME_GARMENT (13) - Costume Garment EQI_AMMO (14) - Arrow/Ammunition EQI_SHADOW_ARMOR (15) - Shadow Armor EQI_SHADOW_WEAPON (16) - Shadow Weapon EQI_SHADOW_SHIELD (17) - Shadow Shield EQI_SHADOW_SHOES (18) - Shadow Shoes EQI_SHADOW_ACC_R (19) - Shadow Accessory 2 EQI_SHADOW_ACC_L (20) - Shadow Accessory 1
-
sader1992's post in RequirePage 87557/RequestPage 3 problem. was marked as the answer
i know you did give me this file before but i didn't notice this until i did read it here sorry ~o-o~
#if PACKETVER > 20170517 this you have to not change , this what case the error
#if PACKETVER > 20151104
-
sader1992's post in R > stylist restriction for summoner (not all of them) was marked as the answer
setarray .@Styles[1], getbattleflag("max_cloth_color"), getbattleflag("max_hair_style"), getbattleflag("max_hair_color"); ^ this the array for the numbers
do like that
if(Class == Job_Summoner){ setarray .@Styles[1], 10,//max_cloth_color 6,//max_hair_style 10;//max_hair_color }else{ setarray .@Styles[1], getbattleflag("max_cloth_color"), getbattleflag("max_hair_style"), getbattleflag("max_hair_color"); }
-
sader1992's post in bind at command for town only was marked as the answer
- script mall_command -1,{ OnMall: if(getmapflag(strcharinfo(3),mf_town)){ warp "quiz_02",0,0; }else{ message strcharinfo(0),"you have to be in town to use this command"; } end; OnInit: bindatcmd("mall",strnpcinfo(3)+"::OnMall",0,99); }
-
sader1992's post in Dialing NPC Closing was marked as the answer
rathena/src/config/secure.h
/** + * Number of seconds after a 'menu' is displayed before invoking an idle timeout. + * Default: 60 **/ #define NPC_SECURE_TIMEOUT_MENU 60 /** + * Number of seconds after a 'next' button is displayed before invoking an idle timeout. + * Default: 60 **/ #define NPC_SECURE_TIMEOUT_NEXT 60 edit the numbers then recompile
-
sader1992's post in Need act and spr files for Mermaid Bubbles was marked as the answer
that was for another item
but i made one for this item
ITEM_ID-20209.zip
after testing i realize that the SC_ effect not hard coded in the exe it's in the str file
get back the view id from 0 to 1299 and use this in the grf this is an empty spr/act so and the effect will come from the str (i did include the str and the textures it use)
-
sader1992's post in emistry chain quest modification was marked as the answer
change
getitem getarg(0),getarg(1); to
getexp getarg(0),getarg(1); not the item id is the base exp and the item amount is the job exp
and get rid of getitemname
i mean remove or edit lines line this
mes "^FF0000Reward^000000 : "+getarg(1)+" x ^0000FF"+getitemname( getarg(0) )+"^000000"; edit:
like that
// NPC Name must have a Number behind it. ex Name#1 , Name#2,... prontera,155,181,5 script Chained Quest#1 757,{ function ChainedQuest; mes "I am a Chained Quest NPC, you can only redo the previous Quest after you have finished all of my Quests."; next; // Quest Setup : // ChainedQuest( Reward,Amount , Required Zeny, {Item1,Amount1,Item2,Amount2,...} ); switch( getd( "Quest"+strnpcinfo(2) ) ){ Case 0: ChainedQuest( 5001,1, 10000, 607,10 ); Case 1: ChainedQuest( 5002,1, 15000, 607,20, 608,20 ); Case 2: ChainedQuest( 5003,1, 20000, 607,30, 608,30, 7539,30 ); // Case 3: ChainedQuest( 5004,1, 25000, 607,40, 608,30, 7539,40 ,501,10 ); // Case 4: ChainedQuest( 5005,1, 30000, 607,50, 608,30, 7539,50 ,501,10 ,502,10 ); // Case 5: ChainedQuest(....); // Case 6: ChainedQuest(....); default: mes "Congratulation ,You have finished all the Quest i gave you, you may Re-Do if you want."; set getd( "Quest"+strnpcinfo(2) ),0; close; } OnPCLoadMapEvent: showevent 1,0; end; function ChainedQuest { for( set .@i,3; getarg( .@i,0 ) != 0 ; set .@i,.@i + 2 ){ if( countitem( getarg( .@i ) ) < ( getarg( .@i + 1 )) ){ mes "[ ^FF0000Part "+( getd( "Quest"+strnpcinfo(2) ) + 1 )+"^000000 ]"; mes "^00FF00_______________________________^000000"; //mes "^FF0000Reward^000000 : "+getarg(1)+" x ^0000FF"+getitemname( getarg(0) )+"^000000"; mes "^00FF00_______________________________^000000"; mes "then bring me those items :"; mes "^00FF00_______________________________^000000"; mes ( Zeny < getarg(2) ? "^FF0000":"^0000FF" )+getarg(2)+" Zeny^000000"; for( set .@a,3; getarg( .@a,0 ) != 0 ; set .@a,.@a + 2 ){ mes (( countitem(getarg( .@a )) < ( getarg(.@a + 1 )) )? "^FF0000[ "+countitem(getarg(.@a))+" / "+(getarg(.@a+1)):"^0000FF[ "+getd( "Quest"+strnpcinfo(2) ) )+" ] "+getitemname(getarg(.@a))+"^000000 "; } close; } } if( Zeny < getarg( 2 ) ){ mes "You required "+getarg( 2 )+" Zeny."; close; } mes "[ ^FF0000Part "+( getd( "Quest"+strnpcinfo(2) ) + 1 )+"^000000 ]"; mes "Look's like you have collected all"; mes "^FF0000_______________________________^000000"; mes ( Zeny < getarg(2) ? "^FF0000":"^0000FF" )+getarg(2)+" Zeny^000000"; for( set .@i,3; getarg( .@i,0 ) != 0 ; set .@i,.@i + 2 ){ mes "^FF0000"+getarg( .@i+1 )+" x ^0000FF "+getitemname( getarg( .@i ) )+"^000000"; } next; if( select("^0000FFContinue^000000:Cancel") == 2 ){ mes "Okay..as you wish ~ come back again when you do continue it."; close; } for( set .@i,3; getarg( .@i,0 ) != 0 ; set .@i,.@i + 2 ){ delitem getarg( .@i ),getarg( .@i + 1 ); } set Zeny,Zeny - getarg( 2 ); set getd( "Quest"+strnpcinfo(2) ),getd( "Quest"+strnpcinfo(2) ) + 1; mes "You will be rewarded with "; mes "^0000FF_______________________________^000000"; //mes "^FF0000"+getarg(1)+"^000000 x ^0000FF"+getitemname( getarg(0) )+"^000000"; mes "^0000FF_______________________________^000000"; getexp getarg(0),getarg(1); close; } } prontera mapflag loadevent
-
sader1992's post in (SOLVED) all scripts using sleep2 shown debug in console.. How to fix this? was marked as the answer
sleep for npc
sleep2 for players
i see here at the last of the script
OnInit:
goto Lwalk;
end;
Lwalk:
sleep2 1000;
npcwalkto rand(107,39),rand(60,99);
goto Lwalk;
end;
OnInit = no player so use sleep not sleep2
check the script for more errors like that
edit:
as i see this would fix all the errors
-
sader1992's post in How to change the list of achievements like General, Battle Etc.. and how to add custom achievements was marked as the answer
the name of the tabs can be change through the msgstringtable.txt
search for the tab name end it up with <space>#
Example:
Adventure #
also the sub tab
Example;
Training #
(i think they start at line 2657)
-
sader1992's post in Need Help my collector item script was marked as the answer
at the first script
getitem .itemrew,itemrewq; it's .itemrewq not itemrewq
prontera,164,219,4 script Collector 116,{ if (getgmlevel()>60) goto admin; if (.help == 1) goto reward; mes "Welcome "+strcharinfo(0)+","; mes "I'm Collector rune midgard item"; switch(select("What item do you collect:Ok, nice to meet you")) { case 1: next; if (.itemcoll == 0) { mes "Sorry, I'm not collecting item for now."; end;} mes "please collect "+getitemname(.itemcoll)+" for "+.itemquan +" pcs."; mes "and i will reward you "+getitemname(.itemrew)+" for "+.itemrewq +" pcs."; set .help,1; end; case 2: next; mes "Okay, see you later."; end; } reward: set .amounts, countitem(.itemcoll); if ( .amounts <= .itemquan) {mes "the quantity item not enough.";} mes "Thanks for your help"; mes "here my reward for you."; delitem .itemcoll,.itemquan; getitem .itemrew,.itemrewq; set help,0; end; admin: mes "Welcome "+strcharinfo(0)+","; mes "Please input what item for player to collect."; next; input .itemcoll; //set .itemcoll,.itemcoll; next; mes "Please input how many item to collect."; next; input .itemquan; //set .itemquan,.itemquan; next; mes "Please input what the reward item."; input .itemrew; //set .itemrew,.itemrew; next; mes "Please input how many item reward."; input .itemrewq; //set .itemrewq,.itemrewq; next; mes "Are you done?"; switch(select("Yes:No.")) { case 1: mes "Item to collect "+getitemname(.itemcoll)+" for "+.itemquan +" pcs."; mes "Item reward "+getitemname(.itemrew)+" for "+.itemrewq +" pcs."; end; case 2: mes "Okay, to re entry, please start form the begining."; end; } end; OnInit: set .itemrew,0; set .itemrewq,0; set .itemcoll,0; set .itemquan,0; end; }
-
sader1992's post in Help to complete my script was marked as the answer
try this
//================================================================================================ // // ==================================== NPC Padrao % Feats ==================================== // //================================================================================================ - script OnFeatures -1,{ OnInit: setarray .blvl,111,121,131,141,151,161; setarray .maps$,"moc_fild04","moc_fild05","moc_fild06","moc_fild08","moc_fild09","moc_fild10","moc_fild14","moc_fild15"; end; OnPCLoadMapEvent: for ( .@i = 0; .@i < getarraysize(.maps$); .@i++) { if(strcharinfo(3) == .maps$[.@i]) { percentheal 100,100; sc_start SC_FOOD_STR_CASH,36000000,7; sc_start SC_FOOD_AGI_CASH,36000000,7; sc_start SC_FOOD_INT_CASH,36000000,7; sc_start SC_FOOD_VIT_CASH,36000000,7; sc_start SC_FOOD_DEX_CASH,36000000,7; sc_start SC_FOOD_LUK_CASH,36000000,7; mes "[^ff0000Ajudante^000000]"; mes "Bom up!"; close; } } end; OnPCBaseLvUpEvent: for ( .@i = 0; .@i < getarraysize(.blvl); .@i++) { if(strcharinfo(3) == .maps$[.@i] && BaseLevel == .blvl[.@i]) { mes "[^ff0000Alerta^000000]"; mes "Voce alcançou o nivel maximo"; mes "desse mapa!"; mes " "; mes "Voce sera teleportado em 5 segundos!"; close2; warp "prontera",157,173; } } end; } - script Manager::Ajudante -1,{ mes "[^ff0000Ajudante^000000]"; mes "Em que posso ajudar?"; if(select("~ Quero me Buffar!:~ Quero voltar!") == 1) { mes "[^ff0000Ajudante^000000]"; mes "Ok... La vai!"; sc_start SC_FOOD_STR_CASH,18000000,7; sc_start SC_FOOD_AGI_CASH,18000000,7; sc_start SC_FOOD_INT_CASH,18000000,7; sc_start SC_FOOD_VIT_CASH,18000000,7; sc_start SC_FOOD_DEX_CASH,18000000,7; sc_start SC_FOOD_LUK_CASH,18000000,7; close; } else { mes "[^ff0000Ajudante^000000]"; mes "Certo, volte sempre!"; close2; warp "prontera",157,173; } end; } moc_fild04 mapflag loadevent moc_fild05 mapflag loadevent moc_fild06 mapflag loadevent moc_fild08 mapflag loadevent moc_fild09 mapflag loadevent moc_fild10 mapflag loadevent moc_fild14 mapflag loadevent moc_fild15 mapflag loadevent
-
sader1992's post in NEMO Failed in Step 2 was marked as the answer
you must use unpacked client that not patched yet
-
sader1992's post in Updating Client Date was marked as the answer
https://github.com/rathena/rathena/blob/master/src/map/clif_shuffle.h
https://github.com/rathena/rathena/blob/master/src/map/clif_packetdb.h
https://github.com/rathena/rathena/blob/master/src/map/clif_obfuscation.h
https://github.com/rathena/rathena/blob/master/src/config/packets.h
-
sader1992's post in continuous warp map cause Disconnected was marked as the answer
i would say this is normal XD
this depend on your hardware
-
sader1992's post in first hexed able to show party info was marked as the answer
i think you need 201705 and more for that
-
sader1992's post in How to save clothes colors was marked as the answer
.@charid = getcharid(0); query_sql( "SELECT `clothes_color` FROM `char` WHERE `char_id` = '"+.@charid+"'",.@clothesc ); now .@clothesc = the color you can save it to char variables or else where and call it when you want it
if you put the script here it would be easier for us to help
-
sader1992's post in In game Icons was marked as the answer
TRY data\LuaFiles514\Lua Files\SignBoardList.lub
-
sader1992's post in How to translate this? was marked as the answer
make backup from your client
try to highlight only what green from the right
and try to type there(do not edit what after the dot
i don't know how you edit in the program you have but i think as i told you
and save as .exe
-
sader1992's post in Helpp cant open browedit 2.0 was marked as the answer
it tell you type the file name
type it
config.default.json
or
config.borf.json
the one you want
-
sader1992's post in How can i disable doram race in latest client ? was marked as the answer
use (Disable Doram Character Creation UI [Experimental]) patch in this NEMO
and in the server side
rathena-master\src\char\char.cpp
search for
if (start_job != JOB_NOVICE && start_job != JOB_SUMMONER) return -2; // Invalid job change it to
if (start_job != JOB_NOVICE) return -2; // Invalid job
-
sader1992's post in server rates was marked as the answer
rathena\conf\battle\exp.conf
// Rate at which exp. is given. (Note 2) base_exp_rate: 5000 // Rate at which job exp. is given. (Note 2) job_exp_rate: 5000 rathena\conf\battle\drops.conf
item_rate_common: 3500 item_rate_common_boss: 2500 item_rate_common_mvp: 2000 item_rate_heal: 3000 item_rate_heal_boss: 3000 item_rate_heal_mvp: 2000 item_rate_use: 3000 item_rate_use_boss: 2500 item_rate_use_mvp: 2500 item_rate_equip: 3500 item_rate_equip_boss: 2500 item_rate_equip_mvp: 3000 item_rate_card: 3500 item_rate_card_boss: 1500 item_rate_card_mvp: 100 search and edit
as you see
100 = x1
1000 = x10
10000 = x100
etc