Jump to content
  • 0

quests account bound


Poseidon

Question


  • Group:  Members
  • Topic Count:  25
  • Topics Per Day:  0.01
  • Content Count:  107
  • Reputation:   6
  • Joined:  12/09/11
  • Last Seen:  

Hi guys

 

Is it possible to my quests account bound instead of character bound if so how do i achieve that

 

Kind regards

Poseidon

Link to comment
Share on other sites

18 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  94
  • Reputation:   4
  • Joined:  10/31/12
  • Last Seen:  

This variable MUST present after you FINISH quest.

 

Example: you made quest to Amatsu Dungeon. Your character successfully take variable ( amatsu.... X ). After that line add

set #amatsu_dangeon_q, 1;

 

So, next time if any players of this account will try use warper to Amatsu Dungeon, it will check first this:

 

if( #amatsu_dangeon_q == 1 ) { // Teleport to Amatsu Dungeon }

 

So, you need make it for every quest and this #Var must be unique, as #amatsu_dungeon, #lhz_dungeon and etc.

 

I suggest you to make custom quest to enter dungeons, and after making this quest player will take set #account_variable, 1;

So, you will no need make quest at all and other characters on this account also will can enter to dungeons.

Edited by Phenomena
Link to comment
Share on other sites

  • 1

  • Group:  Members
  • Topic Count:  38
  • Topics Per Day:  0.01
  • Content Count:  949
  • Reputation:   174
  • Joined:  06/12/12
  • Last Seen:  

place a # prefix on your variables instead.

 

example

set QuestVar,1;

change it to

set #QuestVar,1;
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  25
  • Topics Per Day:  0.01
  • Content Count:  107
  • Reputation:   6
  • Joined:  12/09/11
  • Last Seen:  

Thanks sandbox, I did put this in the wrong section its a script related request not a DB request my fault thanks again sandbox

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  38
  • Topics Per Day:  0.01
  • Content Count:  949
  • Reputation:   174
  • Joined:  06/12/12
  • Last Seen:  

No problem, I moved it already for you

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  25
  • Topics Per Day:  0.01
  • Content Count:  107
  • Reputation:   6
  • Joined:  12/09/11
  • Last Seen:  

As its apart of this request i would like to know how i can i have the account bound in my warper script please

 

thanks

prontera,158,193,4	script	Warper	117,{

	mes "[Warper]";
	mes "Hello " + strcharinfo(0) + ",";
	mes "What can I do for you?";
	next;
	switch(select("Save:Warp Service")){
		case 1:
			mes "You position is saved!";
			getmapxy(@mapname$,@mapx,@mapy,0);
			mes "Current Coordinates: "+@mapname$+", "+@mapx+", " +@mapy;
			savepoint @mapname$,@mapx,@mapy;		
			close2;
			end;
		case 2:
			mes "[Warper]";
			mes "Where would you like to go?";
			next;
			switch(select("Last Warp:Towns:Dungeons:Mall")){
				case 1:
						if(lastmap$=="") { mes "You have not warped anywhere yet!"; close; }
						warp lastmap$,lastx,lasty;
						end;
						break;
				case 2:
					mes "[Warper]";
					mes "Please choose your destination.";
					next;
					switch(select("Prontera:Alberta:Aldebaran:Amatsu:Ayothaya:Brasilis:Comodo:Dewata:Eclarge:Einbech:Einbroch:El Dicastes:Geffen:Gonryun:hugel:Izlude:Jawaii:Lighthalzen:Louyang:Lutie:Malangdo:Malaya:Mora:Morroc:Moscovia:Nameless:Niflheim:Payon:Rachel:Thor's Camp:Umbala:Veins:Yuno")){
						case 1:
							warp "prontera",155,183;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 2:
							warp "alberta",116,58;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 3:
							warp "aldebaran",140,119;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 4:
							warp "amatsu",198,84;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 5:
							warp "ayothaya",208,166;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 6:
							warp "brasilis",196,217;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 7:
							warp "comodo",118,157;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 8:
							warp "dewata",200,180;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 9:
							warp "ecl_in01",48,53;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 10:
							warp "einbech",187,121;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 11:
							warp "einbroch",64,200;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 12:
							warp "dicastes01",198,187;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 13:
							warp "geffen",119,59;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 14:
							warp "gonryun",160,120;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 15:
							warp "hugel",96,145;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 16:
							warp "izlude",127,143;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 17:
							warp "jawaii",251,132;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 18:
							warp "lighthalzen",158,92;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 19:
							warp "louyang",217,100;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 20:
							warp "xmas",147,134;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 21:
							warp "malangdo",140,114;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 22:
							warp "malaya",231,200;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 23:
							warp "mora",55,146;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 24:
							warp "morocc",156,93;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 25:
							warp "moscovia",223,184;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 26:
							warp "nameless_n",256,215;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 27:
							warp "niflheim",202,174;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 28:
							warp "payon",179,100;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 29:
							warp "rachel",130,110;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 30:
							warp "thor_camp",246,68;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 31:
							warp "umbala",97,153;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 32:
							warp "veins",216,123;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 33:
							warp "yuno",151,182;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
					}
				case 3:
					mes "[Warper]";
					mes "^0024ff[Please note to access certain dungeons you will need to do the access quest first]^000000";
					mes "Please choose your destination.";
					next;
					switch(select("Abyss Lakes:Amatsu Dungeon:Anthell:Ayothaya Dungeon:Beach Dungeon:Bio Labs:Brasilis Dungeon:byalan Dungeon:Clock Tower:Coal Mines:Culverts:Cursed Abbey:Dewata Dungeons:Einbroch Dungeon:Gefenia:Geffen Dungeon:Glast Heim:Gonryun Dungeon:Hidden Dungeon:Ice Dungeon:Juperos:Kiel Dungeon:Louyang Dungeon:Magma Dungeon:Malangdo Dungeon:Moscovia Dungeon:Odin Temple:Orc Dungeon:Payon Dungeon:Pyramids:Rachel Sanctuary:Sphinx:Sunken Ship:Thanatos Tower:Thor Volcano:Toy Factory:Turtle Dungeon:Bifrost Tower")){
						case 1:
							warp "abyss_01",261,272;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 2:
							if( event_amatsu >= 6){
							warp "ama_dun01",228,11;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
							} else {
							warp "amatsu",168,171;
							getmapxy(lastmap$,lastx,lasty,0);
							close;}
						case 3:
							warp "anthell01",35,262;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 4:
							if(ayodunquest >= 2){
							warp "ayo_dun01",275,19;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
							} else {
							warp "ayothaya",87,129;
							getmapxy(lastmap$,lastx,lasty,0);
							close;}
						case 5:
							warp "beach_dun",266,67;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 6:
							if (#MISC_QUEST & 512){
							warp "lhz_dun01",149,287;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
							} else {
							warp "lighthalzen",158,92;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
							}
						case 7:
							if (brazil_ghost == 8){
							warp "bra_dun01",87,47;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
							} else {
							warp "brasilis",194,216;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
							}
						case 8:
							warp "iz_dun01",253,254;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 9:
							warp "c_tower1",199,159;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 10:
							warp "mjo_dun01",52,17;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 11:
							warp "prt_sewb1",131,247;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 12:
							warp "abbey01",51,14;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 13:
							warp "dew_dun01",285,160;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 14:
							warp "ein_dun01",22,14;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 15:
							if (sign_q = 144) {
							warp "gefenia01",40,103;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
							} else {
							warp "prontera",150,303;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
							}
						case 16:
							warp "gef_dun00",104,99;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 17:
							warp "glast_01",200,134;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 18:
							warp "gon_dun01",153,53;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 19:
							warp "prt_maze01",176,7;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 20:
							warp "ice_dun01",157,14;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 21:
							warp "juperos_01",53,247;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 22:
							if (KielHyreQuest = 34){
							warp "kh_dun01",28,226;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
							} else {
							warp "yuno",53,105;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
							}
						case 23:
							warp "lou_dun01",218,196;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 24:
							warp "mag_dun01",126,68;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 25:
							warp "mal_dun01",33,230;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 26:
							if(mos_whale_edq >= 38){
							warp "mosk_dun01",189,48;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
							} else {
							warp "moscovia",137,50;
							getmapxy(lastmap$,lastx,lasty,0);
							close;}
						case 27:
							warp "odin_tem01",298,167;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 28:
							warp "orcsdun01",32,170;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 29:
							warp "pay_dun00",21,180;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 30:
							warp "moc_pryd01",192,9;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 31:
							if(#MISC_QUEST & 8192){
							warp "ra_temin",27,315;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
							} else {
							warp "rachel",98,239;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
							}
						case 32:
							warp "in_sphinx1",288,9;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 33:
							warp "treasure01",69,24;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 34:
							warp "tha_t01",150,39;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 35:
							warp "thor_v01",21,228;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 36:
							warp "xmas_dun01",205,15;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 37:
							warp "tur_dun02",148,264;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						case 38:
							warp "ecl_tdun01",57,13;
							getmapxy(lastmap$,lastx,lasty,0);
							close;
						
						}
				case 4:
					warp "mall_01",40,50;
					getmapxy(lastmap$,lastx,lasty,0);
					close;
		}
	}
}
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  94
  • Reputation:   4
  • Joined:  10/31/12
  • Last Seen:  

What do you mean? Players that have #account_variable can use this script or what?

Edited by Phenomena
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  25
  • Topics Per Day:  0.01
  • Content Count:  107
  • Reputation:   6
  • Joined:  12/09/11
  • Last Seen:  

At the moment the quest before i charged the #account _variable it use to warp you to either the dungeon entrance or to the start of the quest, but now i changed it to account bound is just warps to the begin of the quest on character on the same account that haven't done the quest, I would like it so if a no quest character want to warp to a quest dungeon they can if the quest has been done on that account before

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  94
  • Reputation:   4
  • Joined:  10/31/12
  • Last Seen:  

Maybe i dont understand you correctly, but:

                        case 2:
                            if( event_amatsu >= 6){
                            warp "ama_dun01",228,11;
                            getmapxy(lastmap$,lastx,lasty,0);
                            close;
                            } else {
                            warp "amatsu",168,171;
                            getmapxy(lastmap$,lastx,lasty,0);
                            close;}

if player already done quest ( event_amatsu >= 6 ) he will go to dungeon, if he dont make this quest, he will go to starting quest location?

 

if player "A" made quest to ( Amatsu Dungeon ) - he can go to dungeon;

if player "B" on account of player "A" dont have quest, but he can warp to dungeon, because player "A" already made this quest?

Edited by Phenomena
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  25
  • Topics Per Day:  0.01
  • Content Count:  107
  • Reputation:   6
  • Joined:  12/09/11
  • Last Seen:  

yes exactly

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  94
  • Reputation:   4
  • Joined:  10/31/12
  • Last Seen:  


if( #account_variable == 1 ) {

warp "ama_dun01",228,11;

getmapxy(lastmap$,lastx,lasty,0);

close;

}

if( event_amatsu >= 6 ) {

warp "ama_dun01",228,11;

getmapxy(lastmap$,lastx,lasty,0);

close;

} else {

warp "amatsu",168,171;

getmapxy(lastmap$,lastx,lasty,0);

close;

}

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  25
  • Topics Per Day:  0.01
  • Content Count:  107
  • Reputation:   6
  • Joined:  12/09/11
  • Last Seen:  

Hi Phenomena

 

what is the account_variable as it doesn't work it just carries on warping you to begining of the quest

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  25
  • Topics Per Day:  0.01
  • Content Count:  107
  • Reputation:   6
  • Joined:  12/09/11
  • Last Seen:  

Okay ive been though the Rachel sanc quest and changed all the set variables to set #variable and in my warper i have added a #MISC_QUEST & 8192 and it dont work guys, i also have errors in my console

[Error]: quest_change: Character 150029 doesn't have quest 8097.
[Error]: quest_change: Character 150029 doesn't have quest 8097.
[Error]: quest_change: Character 150029 doesn't have quest 8098.
[Error]: quest_update_status: Character 150029 doesn't have quest 8099.

[Error]: quest_change: Character 150029 doesn't have quest 8102.
[Error]: quest_change: Character 150029 doesn't have quest 8103.
[Error]: quest_change: Character 150029 doesn't have quest 8104.
[Error]: quest_update_status: Character 150029 doesn't have quest 8105.

Could this be why its not working as technically according to this error the character doesn't have said quest so the account variable wont work?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  94
  • Reputation:   4
  • Joined:  10/31/12
  • Last Seen:  

no... no at all.

leave original quest varibles + your custom:

 

npc/quests/quests_rachel.txt

line 5266

set MISC_QUEST,MISC_QUEST | 8192;
set #rachel_quest_dungeon, 1;
case 31:
if( #rachel_quest_dungeon ) {
warp "ra_temin",27,315;
getmapxy(lastmap$,lastx,lasty,0);
end;
}
if(#MISC_QUEST & 8192){
warp "ra_temin",27,315;
getmapxy(lastmap$,lastx,lasty,0);
end;
} else {
warp "rachel",98,239;
getmapxy(lastmap$,lastx,lasty,0);
close;
}

Btw, i suggest you stop implement this idea as we discussing, and try to use universal quest:

Example:

prontera,150,150,4	script	Universal Dungeon Quest	100,{

	mes "If you make this quest, you will take #global_quest_acc variable, that allow you to teleport in any dungeon!";
	next;
	menu	"Make quest",	UniDunQuest,
			"Waht i need?",	UniDunQuestReq;
			
		UniDunQuest:
			if( #global_quest_acc ) {
				mes "You already can access to any dungeon with your CUSTOM WARPER.";
				close;
			}
			if( countitem(512) < 100 ) {
				mes "Quest failed.";
				close;
			}
			delitem 512, 100;
			set #global_quest_acc, 1;
			mes "Congratz, you make this quest and #global_quest_acc successfull added to your account!";
			close;
			
		UniDunQuestReq:
			mes "Bring me 100 " + getitemname(512) + "!";
			close;
			
}
Edited by Phenomena
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  25
  • Topics Per Day:  0.01
  • Content Count:  107
  • Reputation:   6
  • Joined:  12/09/11
  • Last Seen:  

Okay well even with the custom variable it doesnt work

 

set #ra_dun,1;

 

and in the warper

 

if (#ra_dun,1;){ script } also tried without the # too still it doesn't work

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  94
  • Reputation:   4
  • Joined:  10/31/12
  • Last Seen:  

if( #ra_dun ) { script }

or

if( #ra_dun == 1 ) { script }

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  25
  • Topics Per Day:  0.01
  • Content Count:  107
  • Reputation:   6
  • Joined:  12/09/11
  • Last Seen:  

Yes sorry that what i put that was a typo on my part ive even tried both ways

 

if(#ra_dun){script}

or

if(#ra_dun ==1){script}

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  94
  • Reputation:   4
  • Joined:  10/31/12
  • Last Seen:  

prontera,156,193,4	script	Pre Warper Quest	100,{

	mes "Setting variable to #ama_dungeon, 1";
	set #ama_dungeon, 1;
	close;
	
}
case 2:
							if( #ama_dungeon ) {
								warp "ama_dun01",228,11;
								getmapxy(lastmap$,lastx,lasty,0);
								close;
							}
							if( event_amatsu >= 6){
								warp "ama_dun01",228,11;
								getmapxy(lastmap$,lastx,lasty,0);
								close;
							} else {
								warp "amatsu",168,171;
								getmapxy(lastmap$,lastx,lasty,0);
								close;
							}

Just tested with various chars at account - all works!

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  25
  • Topics Per Day:  0.01
  • Content Count:  107
  • Reputation:   6
  • Joined:  12/09/11
  • Last Seen:  

Ye sorry it was my fault edit the wrong file, having a bad day lol thanks again Phenomena

Link to comment
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.   Paste as plain text instead

  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.

×
×
  • Create New...