Jump to content

hendra814

Members
  • Posts

    1305
  • Joined

  • Last visited

  • Days Won

    17

Posts posted by hendra814

  1. 1 hour ago, Waldrich said:

    Hi, I did what you said, it solved several errors but gave me others, even because when importing db/re/mob_db.yml it generated the image error.

    Capturadetela2024-08-14234139.png.1d678bf6a27e39a995a51a41a6ab27cd.png

    try import mob_db_re.sql first at sql-files folder

  2. 2 hours ago, kittypryde said:

    Hello I'm using this warper npc script: https://github.com/rathena/rathena/blob/master/npc/custom/warper.txt

    I'd like to seek assistance with modifying the script so that the town warps will cost 2,000 zeny and the dungeon warps will cost 5,000 zeny. Also I'd like to know how to make it free for VIPs.

    I was able to put town warp cost by adding this:

    function Go {
    	if (select("Pay 20k Zeny", "Cancel") == 2) close3;
    	if (Zeny < 20000) {
    		mes "You don't have enough Zeny.";
    		close3;
    	}
    	Zeny -= 20000;
    	close2;
    	set lastwarp$, getarg(0);
    	set lastwarpx, getarg(1,0);
    	set lastwarpy, getarg(2,0);
    	warp getarg(0),getarg(1,0),getarg(2,0);
    	end;
    }

    But I'd like to know how I can make it so that dungeon warps will cost 5,000 zeny. And is there any modification to the script that will make it so that all dungeon warps will be redirected to only 1st floor of the dungeon?

     

    Thank you.

    For this part "s there any modification to the script that will make it so that all dungeon warps will be redirected to only 1st floor of the dungeon?"

    OnInit:
    	OnTimer0050:
    		showscript "Warper & Storage", getnpcid(0);
    		initnpctimer;
    	.Satan_Morocc = true;	//	false will enable moc_fild 4,5,6,8,9,10,14,15 while disable moc_fild 20,21,22 Default is true.
    	.OnlyFirstFld = false;	//	true will teleport to the first level of the Fields  Default is false.
    	.OnlyFirstDun = false;	//	true will teleport to the first level of the Dungeons  Default is false.

    set .OnlyFirstDun into true

  3. 57 minutes ago, GoldRoger said:

    Anyone know how to add this script?..first login.. player need to put security code..to prevent deal,buy,sell and drop item..

    try use this script

    //===== rAthena Script =======================================
    //= Account Management System
    //===== By: ==================================================
    //= Patskie
    //===== Current Version: =====================================
    //= 1.1
    //===== Compatible With: =====================================
    //= rAthena SVN
    //===== Description: =========================================
    //= Simple and useful script to boost the capabilities of 
    //= players to manage their account without going into the 
    //= control panel.
    //= 1.0 Initial Release
    //= 1.1 Remove unnecessary variables
    //============================================================
    
    -	script	Char Information	-1,{
    
    	OnInit:
    		bindatcmd("account",strnpcinfo(3)+ "::OnAccount");
    		end;
    
    	OnPCLoginEvent: 
    		if (#finalpassword$ != "") goto P_insert;
    		else end;
    
    	P_insert:
    		sc_start sc_berserk, 1000000000, 1;
    		mes "^55AA88Account System^000000";
    		mes "Please enter your locker password";
    		
    		next;
    		input @insertlp$;
    		if (@insertlp$ == #finalpassword$) goto P_pass;
    		mes "^55AA88Account System^000000";
    		mes "Invalid password!";
    		next;
    		mes "^55AA88Account System^000000";
    		mes "Forgot Password?(Y/N)";
    		next;
    		input @askfp$;
    		next;
    		if ((@askfp$ == "Y") || (@askfp$ == "y")) {
    			mes "^55AA88Account System^000000";
    			mes "Ask the administrator to retrieve your password";
    			next;
    			mes "^55AA88Account System^000000";
    			mes "Bye!";
    			atcommand "@kick "+strcharinfo(0);
    			end;
    		} else if ((@askfp$ == "N") || (@askfp$ == "n")) {
    			mes "^55AA88Account System^000000";
    			mes "Try again!";
    			next;
    			input @insertlp$;
    			next;
    			if (@insertlp$ == #finalpassword$) goto P_pass;
    			mes "^55AA88Account System^000000";
    			mes "Invalid password. Bye!";
    			next;
    			atcommand "@kick "+strcharinfo(0);
    			end;	
    		} else {
    			mes "^55AA88Account System^000000";
    			mes "Invalid Choice. Bye!";
    			next;
    			atcommand "@kick "+strcharinfo(0);
    			end;
    		}
    
    	P_pass:
    		sc_end sc_berserk;
    		end;
    
    	OnAccount:
    		switch(prompt("My Account:Change Mail:Change Birthday:Who's Online:Set Password:Delete Password:View Character:Exit")) {
    			case 1: 
    				query_sql "SELECT `userid` , `email` , `logincount` , `last_ip` , `birthdate` FROM `login` WHERE `account_id` = '"+getcharid(3)+"'",@user$,@email$,@login,@last_ip$,@birthdate$;
    				mes "^55AA88Account System^000000";
    				mes "Account Username: " + @user$;
    				mes "Account ID: " + getcharid(3);
    				mes "E-Mail: " + @email$;
    				mes "Login Count: " + @login;
    				mes "IP Address: " + @last_ip$;
    				mes "Birthday: " + @birthdate$;
    				end;
    			case 2:
    				query_sql "SELECT `email` FROM `login` WHERE `account_id` = '"+getcharid(3)+"'",@old_email$;
    				mes "^55AA88Account System^000000";
    				mes "Input the new e-mail you want";
    				input @new_mail$;
    				mes "Old e-mail: " +@old_email$;
    				mes "New e-mail: " +@new_mail$;
    				mes " ";
    				mes "Is that correct?";
    				next;
    				if(select("Yes:No") - 1) {
    					mes "^55AA88Account System^000000";
    					mes "Next time, make a faster decision";
    					end;
    				} else {
    					mes "^55AA88Account System^000000";
    					mes "Your e-mail will be changed now";
    					next;
    					query_sql "UPDATE `login` SET `email` = '"+escape_sql(@new_mail$)+"' WHERE `account_id` = '"+getcharid(3)+"'";
    					mes "^55AA88Account System^000000";
    					mes "Done!";
    					end;
    				}
    			case 3:
    				query_sql "select birthdate from login where account_id = "+ getcharid(3), .@birthdate$;
    				mes "^55AA88Account System^000000";
    				mes "Well tell me your new birthdate - format 0000-00-00";
    				mes "Example 2018-12-31";
    				input .@string$;
    				next;
    					explode( .@tmp$, .@string$, "-" );
    					if( getarraysize( .@tmp$ ) != 3 ||
    						getstrlen(.@tmp$[0]) != 4 || atoi(.@tmp$[0]) < 1 ||
    						getstrlen(.@tmp$[1]) != 2 || atoi(.@tmp$[1]) < 1 ||
    						getstrlen(.@tmp$[2]) != 2 || atoi(.@tmp$[2]) < 1 ) {	
    					mes "wrong format bye";
    					end;
    					}
    				query_sql "update login set birthdate = '"+ escape_sql( .@string$ ) +"' where account_id = "+ getcharid(3);
    				mes "done";
    				end;
    			case 4:
    				query_sql "SELECT `name` , `class` FROM `char` WHERE `online` = '1'", .@name$, .@class;
    				mes "^55AA88Account System^000000";
    				mes "-----------------------------------";
    				mes "Online Users: " + getusers(1);
    				mes "-----------------------------------";
    				for( set .@a,0; .@a < getarraysize(.@name$); set .@a,.@a + 1)
    					mes .@name$[.@a]+ " | Job: " +jobname(.@class[.@a]);
    					mes "-----------------------------------";
    				set .@count, .@count + 128;
    				end;
    			case 5:
    				if (#finalpassword$ != "") {
    					mes "^55AA88Account System^000000";
    					mes "You already have your account password. Delete it first before setting a new password";
    					end;
    				}
    				mes "^55AA88Account System^000000";
    				mes "Do you want to set a password for your account?";
    				next;
    				if(select("Yes:No") - 1) {
    					mes "^55AA88Account System^000000";
    					mes "Next time, make a faster decision";
    					end;
    				} else {
    					sc_start sc_berserk, 1000000000, 1;
    					mes "^55AA88Account System^000000";
    					mes "Input your password here. Note that this is CASE SENSITIVE.";
    					next;
    					input @pw$;
    					next;
    					mes "^55AA88Account System^000000";
    					mes "Confirm your password";
    					next;
    					input @accountvpw$;
    					next;
    					if (@accountvpw$ != @pw$) {
    						mes "^55AA88Account System^000000";
    						mes "The verification password that you had entered is incorrect";
    						sc_end sc_berserk;
    						end;
    					} else {
    						mes "^55AA88Account System^000000";
    						mes "Thank you. Please remember the password you had setted. I will ask for it again everytime you login";
    						set #finalpassword$,@pw$;
    						sc_end sc_berserk;
    						end;
    					}
    				}
    				end;
    			case 6:
    				if (#finalpassword$ == "") {
    					mes "^55AA88Account System^000000";
    					mes "You do not have a password to delete";
    					end;
    				}
    				mes "^55AA88Account System^000000";
    				mes "Please enter your current password";
    				next;
    				input @cpassword$;
    				next;
    				if (@cpassword$ != #finalpassword$) {
    					mes "^55AA88Account System^000000";
    					mes "Invalid Password!";
    					end;
    				} else {
    					mes "^55AA88Account System^000000";
    					mes "Are you sure you want to delete your password?";
    					next;
    					if(select("Yes:No") - 1) {
    						mes "^55AA88Account System^000000";
    						mes "Next time, make a faster decision";
    						end;
    					} else {
    						mes "^55AA88Account System^000000";
    						mes "Done!";
    						set #finalpassword$,"";
    						end;
    					}
    				}
    			case 7:
    				mes "Choose a character, if you";
    				mes "want to change something.";
    				query_sql "SELECT `char_num` , `name` , `class` , `base_level` , `job_level` , `zeny` , `str` , `agi` , `vit` , `int` , `dex` , `luk` , `last_map` , `last_x` , `last_y` , `save_map` , `save_x` , `save_y` FROM `char` WHERE `account_id` = '"+getcharid(3)+"' ORDER BY `base_level` DESC",@char_num,@name$,@class,@base_level,@job_level,@zeny,@str,@agi,@vit,@int,@dex,@luk,@last_map$,@last_x,@last_y,@save_map$,@save_x,@save_y;
    				set @menu$,"";
    				mes " ";
    				set @menu$,"- " + @name$[0] + "";
    				mes "^FF0000"+@name$[0]+"^000000";
    				mes "---------------------";
    				mes "[Base/Job: " + @base_level[0] + "/" + @job_level[0] + "]";
    				mes "(Class: " + jobname(@class[0]) + ")";
    				mes "=====================";
    				for( set @a,1; @a < getarraysize(@name$); set @a,@a + 1) {
    					mes "^FF0000"+@name$[@a]+"^000000";
    					mes "---------------------";
    					mes "[Base/Job: " + @base_level[@a] + "/" + @job_level[@a] + "]";
    					mes "(Class: " + jobname(@class[@a]) + ")";
    					mes "=====================";
    					set @menu$,@menu$ + ":- " + @name$[@a] + "";
    				}
    				next;
    
    				if((prompt(@menu$) - getarraysize(@name$)) > 0) {
    					end;
    				} else {
    					set @m,@menu - 1;
    					mes "^55AA88Account System^000000";
    					mes "You have chosen:";
    					mes "^FF0000"+@name$[@m]+"^000000";
    					mes "Base/Job: " + @base_level[@m] + "/" + @job_level[@m];
    					mes "Class: " + jobname(@class[@m]);
    					mes "Zeny: " + @zeny[@m];
    					mes " ";
    					mes "Strenght: " + @str[@m];
    					mes "Agility: " + @agi[@m];
    					mes "Vitality: " + @vit[@m];
    					mes "Intelligence: " + @int[@m];
    					mes "Dexterity: " + @dex[@m];
    					mes "Luck: " + @luk[@m];
    					mes " ";
    					mes "Position:";
    					mes "Current Map: " + @last_map$[@m];
    					mes "Cooardinates x: " + @last_x[@m] + ", y: " + @last_y[@m];
    					mes " ";
    					mes "Savepoint:";
    					mes "Map: "+ @save_map$[@m] + " x: " + @save_x[@m] + ", y: " + @save_y[@m];
    					mes "What do you want to do?";
    					next;
    					switch(select("Reset Position:Reset Style:Reset Equip:Nothing")) {
    						case 1:
    							mes "^55AA88Account System^000000";
    							query_sql "SELECT `online` FROM `char` WHERE `name` = '"+escape_sql(@name$[@m])+"'",@online;
    							if(@online) {
    								mes "I'm sorry, but I can't reset the";
    								mes "position of the chosen character";
    								mes "while you are logged-in on it.";
    								end;
    							}
    							mes "I will reset the position now.";
    							query_sql "UPDATE `char` SET `last_map` =  '"+@save_map$[@m]+"' , `last_x` = '"+@save_x[@m]+"' , `last_y` = '"+@save_y[@m]+"' WHERE `name` = '"+escape_sql(@name$[@m])+"'";
    							end;
    						case 2:
    							mes "^55AA88Account System^000000";
    							mes "This will reset your";
    							mes "whole style.";
    							next;
    							if(select("Proceed:Stop!!") - 1) {
    								mes "^55AA88Account System^000000";
    								mes "Next time, make a faster decision";
    								end;
    								end;
    							} else {
    								mes "^55AA88Account System^000000";
    								query_sql "SELECT `online` FROM `char` WHERE `name` = '"+escape_sql(@name$[@m])+"'",@online;
    								if(@online) {
    									mes "I'm sorry, but I can't reset the";
    									mes "style of the chosen character";
    									mes "while you are logged-in on it.";
    									end;
    								}
    								query_sql "UPDATE `char` SET `hair` , `hair_color` , `clothes_color` = '0' , '0' , '0' WHERE `name` = '"+escape_sql(@name$[@m])+"'";	
    								mes "Your request has been completed.";
    								end;
    							}
    						case 3:
    							mes "^55AA88Account System^000000";
    							mes "Wanna reset your Equip?";
    							if(select("Yes, please:No, thanks") - 1) {
    								end;
    							} else {
    								next;
    								mes "^55AA88Account System^000000";
    								query_sql "SELECT `online` FROM `char` WHERE `name` = '"+escape_sql(@name$[@m])+"'",@online;
    								if(@online) {
    									mes "I'm sorry, but I can't reset";
    									mes "your equipment of this character";
    									mes "while you are logged-in on it.";
    									end;
    								}
    								mes "I will start now.";
    								query_sql "UPDATE `inventory` SET `equip` = '0' WHERE `char_id` = '"+getcharid(0,escape_sql(@name$[@m]))+"'";
    								query_sql "UPDATE `char` SET `weapon` = '0' , `shield` = '0' , `head_top` = '0' , `head_mid` = '0' , `head_bottom`  = '0' WHERE `name` = '"+escape_sql(@name$[@m])+"'";
    								next;
    								mes "^55AA88Account System^000000";
    								mes "Your request has been completed.";
    								end;
    							}
    						case 4:
    							mes "^55AA88Account System^000000";
    							mes "Okay, Bye!";
    							end;	
    					}
    				} 
    			case 8:
    				mes "^55AA88Account System^000000";
    				mes "Okay, Bye!";
    				end;
    		}
    }

     

  4. 6 hours ago, Topzin said:

    Bro removed the smicolon and have the same error 😕
    image.thumb.png.bb63b1fe64f55e94a26eb25e1e708eb1.png

    try remove ; sign at the end of all this

    bossnia_01,0,0,0,0 monster Poring  1002,70,0,0,0;
    bossnia_02,0,0,0,0 monster Poring  1002,70,0,0,0;
    bossnia_03,0,0,0,0 monster Poring  1002,70,0,0,0;
    bossnia_04,0,0,0,0 monster Poring  1002,70,0,0,0;

     

  5. 7 hours ago, maciel said:
    That's the problem friend, I don't know how to do this, could you tell me how to configure NPC in the database?

    check in the npc script are there have sql script, if exist run it at your sql database.

  6. 3 hours ago, ragger00 said:

    Hello there!

    I'll keep it short and to the point:
    - I'm working on a local server to play with a couple of friends
    - everything works, both server-side and client-side
    - I'd like to "change" RO episode, starting with the earliest ones such as ep.11 (pre morroc ruins) or even as early as ep.8 (niflheim, pre-rebirth)
    - I'm prepared to do the "dirty work" manually, no problems so far

    So my main question is:
    what is the list of things I have to work on, server-side, to change episode and go back in time?

    --
    Here's what i thought about, for now:

    • obviously, compile for pre-re
    • maps
      • available maps (map_index.txt -> map_cache.dat)
      • map versions (old payon <-> new payon, morroc <-> morroc ruins...)
      • map2map warps
      • kafra warps
      • NPCs
    • items
      • available items (item_db*)
      • item effects
    • mobs
      • available mobs
      • which-mob-in-which-map
      • mob skills (stats?)
      • mob drops
    • jobs
      • available jobs (rebirth, 3rd class...)
      • job skills & skilltree
    • other
      • switch off/on features (banking, achievements...)
      • quests
    • things i'm unsure about (don't know if they change from ep. to ep.)
      • exp tables
      • elements dmg modifiers

    --

    Any input is apprecciated, both on the list of things to work on, or on the specific modifications themselves.

    Thank you in advance for any help you guys can give me,
    I wish you all a nice day 😄

    maybe as comparation you can check 3ceam project at this link 

    https://sourceforge.net/p/v1-3ceam/code/HEAD/tree/

  7. 10 hours ago, GoChrisP said:

    still same error, but im realize in tutorial youtube there are 3 panel when runserver and mine are 4 panel (log/login-server.exe.leaks, char-server.exe.leaks, web-server.exe.leaks, and map-server.exe.leaks). Can i ignore the error web-server.exe?

    image.thumb.png.2c0e7fd6c3736c1dc6ee3efd5d50c8ea.png

    sorry, is that error for web server?

    and are you already import web.sql script into your database?

  8. 1 hour ago, GoChrisP said:

    yes i have already and double check again, nothing seems anything wrong.. administrative roles i try to change uncheck dba no difference, sorry im noob

    image.thumb.png.553bc40ad780d865d72bd85e000073d3.pngimage.thumb.png.213259d2371f97bb0f240abea8d22230.pngimage.thumb.png.320d6980ec48e25104ec0b95f63bbc59.pngimage.thumb.png.d119bce8eb97fc3a66a933790df247c0.png

    i think you miss this part

    Double click on s1 and change it to username then hit enter  ( we put the userid: username in rathena/conf/import-tmpl/char_conf.txt and map_conf.txt  make sure you use the same one you put in these files  ) 
    Double click on p1 and change it to password then hit enter  ( we put the passwd: password in rathena/conf/import-tmpl/char_conf.txt and map_conf.txt  make sure you use the same one you put in these files ) 

    because in your login database it's empty

  9. 6 hours ago, Chaos92 said:

    try to remove the stateicon file related at your client file. there are some changes from latest kRO about it. Or are you sure you are using latest chris translation ? Make sure latest kRO and latest chris translation. Also try to not use the addon folder first and see have error or not.

    I encounter that twitter error but it related to client side which is wrong.

    i can open the client with new recomended option 

    - addtional client validation (recomended)

    - always load Korea ExternalSetting lua files (recomended)but this error still appear, even already using default chris translation project for 20220330 client (using read data folder)

    Spoiler


    image.png.279bfd22d4ea5212d6ec089c2e143152.png

    image.png.6f822c843298533a58d335bb30988137.png

    image.png.7a8413db5fca9347d56df10a61c3a6e3.png

    image.png.7337698148fb9395e61efca68a2464c7.png

    image.png.cdd35b33da81421779b31d02146fe25c.png

    image.png.76293b4527a9cfaee462af485fc13961.png

    image.png.c644e932922b23944583430cdd44779e.png

    image.png.8f083607194966dcfabb5c45626a13d3.png

     

    and this error when using read GRF

    image.png.742045652b30656d89436abc84a82ade.png

     

    this is how i get client data and system folder for this issue

    - run client generator

    image.png.497735f904ef562be6b60891d9d5e845.png

    - press 1 for renewal

    image.png.baeb7ed7a88cc4562f4b91e446ddaac9.png

    -  choose 10 for 20220330 client

    image.png.c1386cdd63eb3dcff6cb1f5ea8c51a3b.png

    - proceed the request
    image.png.29391991d863f7e491bc61699a635751.png

    is it already correct?

    image.png

    image.png

    image.png

    image.png

×
×
  • Create New...