Jump to content
  • 0
Sign in to follow this  
Svanhild

Help with input

Question

I'm having problems with 2 npcs using input. It seems like, it's not outputing the right variable/characters inputted. For the case of build manager, the last letter is missing, so if you're gonna input hello, it will show hell, and if you will input a single letter, it shows blank.

 

Im using the build manager sccript by Cretino

//===== Hercules Script ======================================
//= Build Manager
//===== By: ==================================================
//= Cretino
//= kerbiii (Found a bug.)
//===== Current Version: =====================================
//= 1.0b (Added option to check max level of base and job (Can be disabled))
//===== Description: =========================================
//= Saves and loads build saved by the player. (Stats and/or Skills)
//===== Additional Comments: =================================
//= 1.0 Initial version [Cretino]
//      TODO: Need revise all script with comments for spelling errors.
//      Little improvement applied [Cretino]
//      Fixed typo error in variable '.load_status_cost' (Thanks to [kerbiii]:[Hercules])
//      Added option to check max level of base and job (Can be disabled) [Cretino]
//============================================================

prontera,210,196,6	script	Build Manager	4_M_MINSTREL,{
	function	check_skills;

	.@npc_name$ = " ";

PROFILE_START_MENU:
	mes .@npc_name$;

	if (.check_max_lv == true)
	{
		if (NextJobExp > 0 || BaseLevel < MAX_LEVEL)
		{
			mes "Sorry ^FF0000" + strcharinfo(0) + "^000000,";
			mes "but you need reach the max level of Base and Job to use my services.";
			close;
		}
	}

	mes "Hey ^FF0000" + strcharinfo(0) + "^000000, what do you want?";

	.@selected = select("Skills profile:Stats profile:Cancel");

	switch(.@selected)
	{
		next;

		case 1:
			if (BaseClass == Job_Novice)
			{
				.@eac = eaclass();

				if ((.@eac&EAJ_UPPERMASK) != EAJ_SUPER_NOVICE)
				{
					mes .@npc_name$;
					mes "Sorry ^FF0000" + strcharinfo(0) + "^000000, but ^FF0000" + jobname(Class) + "^000000 can't use skills profile.";
					close;
				}
			}

			goto PROFILE_SKILLS_MAIN;
		break;

		case 2:
			goto PROFILE_STATS_MAIN;
		break;

		case 3:
			mes .@npc_name$;
			mes "Come back whenever you need me!";
			close;
		break;
	}

PROFILE_SKILLS_MAIN:
	mes .@npc_name$;
	mes "What do you want?";

	.@selected = select("Create new skills profile:See my skills profiles:Reset my skills:Back");

	switch(.@selected)
	{
		next;

		case 1:
			mes .@npc_name$;

			getskilllist;

			if (@skilllist_count == 0)
			{
				mes "Sorry ^FF0000" + strcharinfo(0) + "^000000, but you don't have any skill to create a skills profile.";
				close;
			}

			mes "Input the skills profile name:";
			input .@profile_name$;
			next;

			.@profile_name$ = replacestr(.@profile_name$, ":", "");

			if (.@profile_name$ == "" || compare(.@profile_name$, ":"))
			{
				mes .@npc_name$;
				mes "Invalid skills profile name.";
				mes "^FF0000" + .@profile_name$ + "^000000";
				next;
				goto PROFILE_SKILLS_MAIN;
			}

			for(.@i = 0; .@i < @skilllist_count; .@i++)
			{
				if ((check_skills(@skilllist_id[.@i]) == true) || (@skilllist_lv[.@i] <= 0) || (@skilllist_id[.@i] <= 0))
					continue;

				if (@skilllist_flag[.@i] == 0)
				{
					.@skilllist_id[.@i] = @skilllist_id[.@i];
					.@skilllist_lv[.@i] = @skilllist_lv[.@i];
				}
			}

			.@size = getarraysize(.@skilllist_id);

			mes .@npc_name$;

			if (.@size != 0)
			{
				if (Zeny - .create_skills_cost < 0)
				{
					mes "You don't have ^FF0000" + callfunc("F_InsertComma", .create_skills_cost, 3, ".") + "^000000z to create your skills profile.";
					close;
				}

				mes "Skills profile: ^FF0000" + .@profile_name$ + "^000000";

				Zeny -= .create_skills_cost;

				.@pos = getarraysize(#skills_profile);
				#skills_profile[.@pos] = ++#skills_profile_count; // '#skills_profile_count' is used only to generate unique profile id.
				.@var_name$ = "#skilllist_" + #skills_profile[.@pos];

				setd .@var_name$ + "_name$", .@profile_name$;
				setd .@var_name$ + "_count", .@size;
				setd .@var_name$ + "_class", Class;
				setd .@var_name$ + "_cost", skillpointcount() - SkillPoint;

				for(.@i = 0; .@i < .@size; .@i++)
				{
					setd .@var_name$ + "_lv" + "[" + .@i + "]", .@skilllist_lv[.@i];
					setd .@var_name$ + "_id" + "[" + .@i + "]", .@skilllist_id[.@i];
				}

				resetskill;

				deletearray .@skilllist_id;
				deletearray .@skilllist_lv;
				last_skills_profile = 0;

				mes " ";
				mes "Your skills profile have been created.";
			}
			else
				mes "You don't have any skill to create a skills profile.";

			next;
			goto PROFILE_SKILLS_MAIN;
		break;

		case 2:
			mes .@npc_name$;
			if (getarraysize(#skills_profile) != 0)
			{
PROFILE_SKILLS_SELECT:
				mes "Choose your skills profile:";

				.@menu$ = "";

				if (getarraysize(#skills_profile) > .freeloop_size_active)
					.@free = freeloop(true);

				for(.@i = 0; .@i < getarraysize(#skills_profile); .@i++)
				{
					.@menu$ += "^FF0000" + getd("#skilllist_" + #skills_profile[.@i] + "_name$") + "^000000" + ":";

					if (.@i + 1 == getarraysize(#skills_profile))
						.@menu$ += "Back";
				}

				if (.@free == true)
					.@free = freeloop(false);

				.@selected = select(.@menu$);

				if (.@selected == getarraysize(#skills_profile) + 1)
				{
					next;
					goto PROFILE_SKILLS_MAIN;
				}

				.@profile_id = (.@selected - 1);
				.@var_name$ = "#skilllist_" + #skills_profile[.@profile_id];

				next;
PROFILE_SKILLS_INFO:
				mes .@npc_name$;
				mes "What do you want?";
				mes " ";
				mes "Skills profile: ^FF0000" + getd(.@var_name$ + "_name$") + "^000000";

				.@selected = select("Load:Delete:Back");

				switch(.@selected)
				{
					next;
					mes .@npc_name$;

					case 1:
						if (getd(.@var_name$ + "_class") != Class)
						{
							mes "You can't load a skills profile of ^FF0000" + jobname(getd(.@var_name$ + "_class")) + "^000000, because you are ^FF0000" + jobname(Class) + "^000000.";
							next;
							mes .@npc_name$;
							goto PROFILE_SKILLS_SELECT;
						}

						if (Zeny - .load_skills_cost < 0)
						{
							mes "You don't have ^FF0000" + callfunc("F_InsertComma", .create_skills_cost, 3, ".") + "^000000z to load your skills profile.";
							close;
						}

						if (last_skills_profile != #skills_profile[.@profile_id])
							resetskill;
						else
						{
							mes "You're already using this profile.";
							mes "Skills profile: ^FF0000" + getd(.@var_name$ + "_name$") + "^000000";
							next;
							goto PROFILE_SKILLS_INFO;
						}

						if (SkillPoint - getd(.@var_name$ + "_cost") >= 0)
						{
							mes "Loading skills profile...";
							mes "This may take awhile.";

							SkillPoint -= getd(.@var_name$ + "_cost");
							Zeny -= .load_skills_cost;

							for(.@i = 0; .@i < getd(.@var_name$ + "_count"); .@i++)
							{
								if ((getd(.@var_name$ + "_id" + "[" + .@i + "]") <= 0) || (getd(.@var_name$ + "_lv" + "[" + .@i + "]") <= 0))
									continue;

								if (getd(.@var_name$ + "_id" + "[" + .@i + "]") == RK_HUNDREDSPEAR)
								{
									// NOTE: Have any bug in skill 'Hundred Spear'. (ID: RK_HUNDREDSPEAR)
									mes " ";
									mes "Failed to load:";
									mes "^FF0000Hundred Spear^000000 Lv: ^FF0000" + getd(.@var_name$ + "_lv" + "[" + .@i + "]") + "^000000";
									mes "You get back ^FF0000" + getd(.@var_name$ + "_lv" + "[" + .@i + "]") + "^000000 skill points.";
									SkillPoint += getd(.@var_name$ + "_lv" + "[" + .@i + "]");
								}
								else
									skill getd(.@var_name$ + "_id" + "[" + .@i + "]"), getd(.@var_name$ + "_lv" + "[" + .@i + "]"), 0;
							}

							mes " ";
							mes "Your skills profile have been loaded.";
							last_skills_profile = #skills_profile[.@profile_id];
						}
						else
						{
							mes "You don't have sufficient skill points to load your skills profile.";
							mes "You need more ^FF0000" + (getd(.@var_name$ + "_cost") - SkillPoint) + "^000000 skill points.";

							if (last_skills_profile != 0)
							{
								next;
								mes .@npc_name$;
								mes "Going back to the previous skills profile.";
								mes "Skills profile: ^FF0000" + getd(.@var_name$ + "_name$") + "^000000";

								resetskill;

								.@var_name$ = "#skilllist_" + last_skills_profile;

								if (SkillPoint - getd(.@var_name$ + "_cost") >= 0)
								{
									SkillPoint -= getd(.@var_name$ + "_cost");

									for(.@i = 0; .@i < getd(.@var_name$ + "_count"); .@i++)
									{
										if ((getd(.@var_name$ + "_id" + "[" + .@i + "]") <= 0) || (getd(.@var_name$ + "_lv" + "[" + .@i + "]") <= 0))
											continue;

										if (getd(.@var_name$ + "_id" + "[" + .@i + "]") == RK_HUNDREDSPEAR)
										{
											// NOTE: Have any bug in skill 'Hundred Spear'. (ID: RK_HUNDREDSPEAR)
											mes " ";
											mes "Failed to load:";
											mes "^FF0000Hundred Spear^000000 Lv: ^FF0000" + getd(.@var_name$ + "_lv" + "[" + .@i + "]") + "^000000";
											mes "You get back ^FF0000" + getd(.@var_name$ + "_lv" + "[" + .@i + "]") + "^000000 skill points.";
											SkillPoint += getd(.@var_name$ + "_lv" + "[" + .@i + "]");
										}
										else
											skill getd(.@var_name$ + "_id" + "[" + .@i + "]"), getd(.@var_name$ + "_lv" + "[" + .@i + "]"), 0;
									}
								}
								else
								{
									next;
									mes .@npc_name$;
									mes "Fail to back to the previous skills profile.";
									mes "Skills profile: ^FF0000" + getd(.@var_name$ + "_name$") + "^000000";
									last_skills_profile = 0;
								}
							}
						}

						next;
						goto PROFILE_SKILLS_INFO;
					break;

					case 2:
						mes "You sure you want to delete the skills profile?";
						mes "Skills profile: ^FF0000" + getd(.@var_name$ + "_name$") + "^000000";

						if (select("No:Yes") == 1)
						{
							next;
							goto PROFILE_SKILLS_INFO;
						}

						next;
						mes .@npc_name$;
						mes "Skills profile ^FF0000" + getd(.@var_name$ + "_name$") + "^000000 deleted.";

						if (last_skills_profile == #skills_profile[.@profile_id])
							last_skills_profile = 0;

						setd .@var_name$ + "_count", 0;
						setd .@var_name$ + "_cost", 0;
						setd .@var_name$ + "_class", 0;
						setd .@var_name$ + "_name$", "";
						deletearray getd(.@var_name$ + "_lv");
						deletearray getd(.@var_name$ + "_id");
						deletearray #skills_profile[.@profile_id], 1;

						next;

						if (getarraysize(#skills_profile) != 0)
						{
							mes .@npc_name$;
							goto PROFILE_SKILLS_SELECT;
						}
						else
							goto PROFILE_SKILLS_MAIN;
					break;

					case 3:
						goto PROFILE_SKILLS_SELECT;
					break;
				}
			}
			else
				mes "You don't have any skills profile.";

			next;
			goto PROFILE_SKILLS_MAIN;
		break;

		case 3:
			mes .@npc_name$;

			if (Zeny - .reset_skills_cost >= 0)
			{
				Zeny -= .reset_skills_cost;
				last_skills_profile = 0;
				resetskill;
				mes "Your skills have been reset.";
			}
			else
				mes "You don't have ^FF0000" + callfunc("F_InsertComma", .reset_skills_cost, 3, ".") + "^000000z to reset your skills.";

			close;
		break;

		case 4:
			goto PROFILE_START_MENU;
		break;
	}

PROFILE_STATS_MAIN:
	mes .@npc_name$;
	mes "What do you want?";

	.@selected = select("Create new stats profile:See my stats profiles:Reset my stats:Back");

	switch(.@selected)
	{
		next;

		case 1:
			mes .@npc_name$;

			if (Zeny - .create_status_cost < 0)
			{
				mes "You don't have ^FF0000" + callfunc("F_InsertComma", .create_status_cost, 3, ".") + "^000000z to create your stats profile.";
				close;
			}

			mes "Input the stats profile name:";
			input .@profile_name$;
			next;

			.@profile_name$ = replacestr(.@profile_name$, ":", "");

			if (.@profile_name$ == "" || compare(.@profile_name$, ":"))
			{
				mes .@npc_name$;
				mes "Invalid stats profile name.";
				mes "^FF0000" + .@profile_name$ + "^000000";
				next;
				goto PROFILE_STATS_MAIN;
			}

			.@last_status = StatusPoint;

			for(.@i = bStr; .@i < (bLuk + 1); .@i++)
			{
				.@value = readparam(.@i);

				if (.@value > 1)
				{
					.@statslist_value[.@j] = .@value - 1;
					.@statslist_id[.@j] = .@i;
					.@j++;
				}
			}

			mes .@npc_name$;

			if (.@j != 0)
			{
				mes "Stats profile: ^FF0000" + .@profile_name$ + "^000000";
				mes "Stats:";

				Zeny -= .create_status_cost;
				resetstatus;

				.@pos = getarraysize(#stats_profile);
				#stats_profile[.@pos] = ++#stats_profile_count; // '#stats_profile_count' is used only to generate unique profile id.
				.@var_name$ = "#statslist_" + #stats_profile[.@pos];

				setd .@var_name$ + "_name$", .@profile_name$;
				setd .@var_name$ + "_count", .@j;
				setd .@var_name$ + "_cost", StatusPoint - .@last_status;

				for(.@i = 0; .@i < .@j; .@i++)
				{
					setd .@var_name$ + "_value" + "[" + .@i + "]", .@statslist_value[.@i];
					setd .@var_name$ + "_id" + "[" + .@i + "]", .@statslist_id[.@i];
					mes "^00FF00" + .stats_name$[(.@statslist_id[.@i] - bStr)] + "^000000 = ^0000FF" + .@statslist_value[.@i] + "^000000";
				}

				.@j = 0;
				deletearray .@statslist_value;
				deletearray .@statslist_id;
				last_stats_profile = 0;

				mes " ";
				mes "Your stats profile have been created.";
			}
			else
				mes "You don't have any spending points in stats to create your stats profile.";

			next;
			goto PROFILE_STATS_MAIN;
		break;

		case 2:
			mes .@npc_name$;

			if (getarraysize(#stats_profile) != 0)
			{
PROFILE_STATS_SELECT:
				mes "Choose your stats profile:";

				.@menu$ = "";

				if (getarraysize(#stats_profile) > .freeloop_size_active)
					.@free = freeloop(true);

				for(.@i = 0; .@i < getarraysize(#stats_profile); .@i++)
				{
					.@menu$ += "^FF0000" + getd("#statslist_" + #stats_profile[.@i] + "_name$") + "^000000" + ":";

					if (.@i + 1 == getarraysize(#stats_profile))
						.@menu$ += "Back";
				}

				if (.@free == true)
					.@free = freeloop(false);

				.@selected = select(.@menu$);

				if (.@selected == getarraysize(#stats_profile) + 1)
				{
					next;
					goto PROFILE_STATS_MAIN;
				}

				.@profile_id = (.@selected - 1);
				.@var_name$ = "#statslist_" + #stats_profile[.@profile_id];

				next;
PROFILE_STATS_INFO:
				mes .@npc_name$;
				mes "What do you want?";
				mes " ";
				mes "Stats profile: ^FF0000" + getd(.@var_name$ + "_name$") + "^000000";
				mes "Stats:";

				for(.@i = 0; .@i < getd(.@var_name$ + "_count"); .@i++)
					mes "^00FF00" + .stats_name$[(getd(.@var_name$ + "_id" + "[" + .@i + "]") - bStr)] + "^000000 = ^0000FF" + getd(.@var_name$ + "_value" + "[" + .@i + "]") + "^000000";

				.@selected = select("Load:Delete:Back");

				switch(.@selected)
				{
					next;
					mes .@npc_name$;

					case 1:
						if (Zeny - .load_status_cost < 0)
						{
							mes "You don't have ^FF0000" + callfunc("F_InsertComma", .create_skills_cost, 3, ".") + "^000000z to load your stats profile.";
							close;
						}

						if (last_stats_profile != #stats_profile[.@profile_id])
							resetstatus;
						else
						{
							mes "You're already using this stats profile.";
							mes "Stats profile: ^FF0000" + getd(.@var_name$ + "_name$") + "^000000";
							next;
							goto PROFILE_STATS_INFO;
						}

						if (StatusPoint - getd(.@var_name$ + "_cost") >= 0)
						{
							mes "Loading stats profile...";
							mes "This may take awhile.";

							Zeny -= .load_status_cost;
							StatusPoint -= getd(.@var_name$ + "_cost");

							for(.@i = 0; .@i < getd(.@var_name$ + "_count"); .@i++)
							{
								mes "^00FF00" + .stats_name$[(getd(.@var_name$ + "_id" + "[" + .@i + "]") - bStr)] + "^000000 = ^0000FF" + getd(.@var_name$ + "_value" + "[" + .@i + "]") + "^000000";
								statusup2 getd(.@var_name$ + "_id" + "[" + .@i + "]"), getd(.@var_name$ + "_value" + "[" + .@i + "]");
							}

							mes " ";
							mes "Your stats profile have been loaded.";
							last_stats_profile = #stats_profile[.@profile_id];
						}
						else
						{
							mes "You don't have sufficient stats points to load your stats profile.";
							mes "You need more ^FF0000" + (getd(.@var_name$ + "_cost") - StatusPoint) + "^000000 stats points.";

							if (last_stats_profile != 0)
							{
								next;
								mes .@npc_name$;
								mes "Going back to the previous stats profile.";
								mes "Stats profile: ^FF0000" + getd(.@var_name$ + "_name$") + "^000000";

								resetstatus;

								.@var_name$ = "#statslist_" + last_stats_profile;

								if (StatusPoint - getd(.@var_name$ + "_cost") >= 0)
								{
									StatusPoint -= getd(.@var_name$ + "_cost");

									for(.@i = 0; .@i < getd(.@var_name$ + "_count"); .@i++)
										statusup2 getd(.@var_name$ + "_id" + "[" + .@i + "]"), getd(.@var_name$ + "_value" + "[" + .@i + "]");
								}
								else
								{
									next;
									mes .@npc_name$;
									mes "Fail to back to the previous stats profile.";
									mes "Stats profile: ^FF0000" + getd(.@var_name$ + "_name$") + "^000000";
									last_stats_profile = 0;
								}
							}
						}

						next;
						goto PROFILE_STATS_INFO;
					break;

					case 2:
						mes "You sure you want to delete the stats profile?";
						mes "Stats profile: ^FF0000" + getd(.@var_name$ + "_name$") + "^000000";

						if (select("No:Yes") == 1)
						{
							next;
							goto PROFILE_STATS_INFO;
						}

						next;
						mes .@npc_name$;
						mes "Stats profile ^FF0000" + getd(.@var_name$ + "_name$") + "^000000 deleted.";

						if (last_stats_profile == #stats_profile[.@profile_id])
							last_stats_profile = 0;

						setd .@var_name$ + "_count", 0;
						setd .@var_name$ + "_cost", 0;
						setd .@var_name$ + "_name$", "";
						deletearray getd(.@var_name$ + "_value");
						deletearray getd(.@var_name$ + "_id");
						deletearray #stats_profile[.@profile_id], 1;

						next;

						if (getarraysize(#stats_profile) != 0)
						{
							mes .@npc_name$;
							goto PROFILE_STATS_SELECT;
						}
						else
							goto PROFILE_STATS_MAIN;
					break;

					case 3:
						goto PROFILE_STATS_SELECT;
					break;
				}
			}
			else
				mes "You don't have any stats profile.";

			next;
			goto PROFILE_STATS_MAIN;
		break;

		case 3:
			mes .@npc_name$;

			if (Zeny - .reset_status_cost >= 0)
			{
				Zeny -= .reset_status_cost;
				last_stats_profile = 0;
				resetstatus;
				mes "Your stats have been reset.";
			}
			else
				mes "You don't have ^FF0000" + callfunc("F_InsertComma", .reset_status_cost, 3, ".") + "^000000z to reset your stats.";

			close;
		break;

		case 4:
			goto PROFILE_START_MENU;
		break;
	}

	OnInit:
		// Cost to reset player stats
		.reset_status_cost = 0;

		// Cost to reset player skills
		.reset_skills_cost = 0;

		// Cost to create a new stats profile
		.create_status_cost = .reset_status_cost * 2;

		// Cost to create a new skills profile
		.create_skills_cost = .reset_skills_cost * 2;

		// Cost to load a stats profile
		.load_status_cost = .reset_status_cost * 2;

		// Cost to load a skills profile
		.load_skills_cost = .reset_skills_cost * 2;

		// Will check if player have max base level and job level to access the npc. (Max Level = 'MAX_LEVEL' constant)
		// false = Disabled
		.check_max_lv = false;

		// ONLY CHANGE IF YOU KNOW WHAT YOU'RE DOING !!
		setarray .stats_name$[0], "Str", "Agi", "Vit", "Int", "Dex", "Luk";

		.freeloop_size_active = 128;
	end;

	function	check_skills	{
		if (getarg(0) == NV_FIRSTAID || getarg(0) == NV_BASIC)
			return true;

		if (BaseClass == Job_Swordman)
		{
			if (getarg(0) == SM_MOVINGRECOVERY || getarg(0) == SM_FATALBLOW || getarg(0) == SM_AUTOBERSERK)
				return true;
		}
		else if (BaseClass == Job_Mage)
		{
			if (getarg(0) == MG_ENERGYCOAT)
				return true;
		}
		else if (BaseClass == Job_Archer)
		{
			if (getarg(0) == AC_MAKINGARROW || getarg(0) == AC_CHARGEARROW)
				return true;
		}
		else if (BaseClass == Job_Acolyte)
		{
			if (getarg(0) == AL_HOLYLIGHT)
				return true;
		}
		else if (BaseClass == Job_Merchant)
		{
			if (getarg(0) == MC_CARTREVOLUTION || getarg(0) == MC_CHANGECART || getarg(0) == MC_LOUD)
				return true;
		}
		else if (BaseClass == Job_Thief)
		{
			if (getarg(0) == TF_SPRINKLESAND || getarg(0) == TF_BACKSLIDING || getarg(0) == TF_PICKSTONE || getarg(0) == TF_THROWSTONE)
				return true;
		}

		if (BaseJob == Job_Knight)
		{
			if (getarg(0) == KN_CHARGEATK)
				return true;
		}
		else if (BaseJob == Job_Priest)
		{
			if (getarg(0) == PR_REDEMPTIO)
				return true;
		}
		else if (BaseJob == Job_Wizard)
		{
			if (getarg(0) == WZ_SIGHTBLASTER)
				return true;
		}
		else if (BaseJob == Job_Blacksmith)
		{
			if (getarg(0) == BS_UNFAIRLYTRICK || getarg(0) == BS_GREED)
				return true;
		}
		else if (BaseJob == Job_Hunter)
		{
			if (getarg(0) == HT_PHANTASMIC)
				return true;
		}
		else if (BaseJob == Job_Assassin)
		{
			if (getarg(0) == AS_SONICACCEL || getarg(0) == AS_VENOMKNIFE)
				return true;
		}
		else if (BaseJob == Job_Crusader)
		{
			if (getarg(0) == CR_SHRINK)
				return true;
		}
		else if (BaseJob == Job_Monk)
		{
			if (getarg(0) == MO_KITRANSLATION || getarg(0) == MO_BALKYOUNG)
				return true;
		}
		else if (BaseJob == Job_Sage)
		{
			if (getarg(0) == SA_ELEMENTWIND || getarg(0) == SA_CREATECON || getarg(0) == SA_ELEMENTWATER
				|| getarg(0) == SA_ELEMENTGROUND || getarg(0) == SA_ELEMENTFIRE)
				return true;
		}
		else if (BaseJob == Job_Rogue)
		{
			if (getarg(0) == RG_CLOSECONFINE)
				return true;
		}
		else if (BaseJob == Job_Alchemist)
		{
			if (getarg(0) == AM_BIOETHICS)
				return true;
		}
		else if (BaseJob == Job_Bard)
		{
			if (getarg(0) == BA_PANGVOICE)
				return true;
		}
		else if (BaseJob == Job_Dancer)
		{
			if (getarg(0) == DC_WINKCHARM)
				return true;
		}

		return false;
	}
}

 

 

And also, this thing doesn't work too, can someone correct this? Thanks!

 input .@Pass$;
 if (.@Pass$ == "0") {
  mes " ";
  mes "Alright, you can always talk me to again if you changed your mind.";
  close;
 }

 

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

As far as I know, you cannot compare two strings using the "==" operator. You need to use the "compare" function.

 

 input .@Pass$;
 if (compare(.@Pass$, "0")) {
  mes " ";
  mes "Alright, you can always talk me to again if you changed your mind.";
  close;
 }
Edited by maqc1

Share this post


Link to post
Share on other sites
  • 0

ah I see, I'll take a look on that, thank you.

 

Edit: It doesn't work.. the compare code works the same thing as the ==


Take a look at this,

 

mes " ";
mes "You need a password to pass.";
next;

input .@pwd$;
if (.@pwd$ == "pass")close;
mes " ";
mes "Your pass is " +.@pwd$;
close;

Now this is just a simple script, when i type in pass, it shows pas
but when when i type in passs, it closes the dialog.

 

Therefore... there's a bug with the input, like it doesn't capture all the letters inputted, one last letter is always missing. like when I input hello, it outputs hell without the o. :(

Edited by Svanhild

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.