Jump to content
  • 0

npc wont talk when clicked


crystaleye

Question


  • Group:  Members
  • Topic Count:  41
  • Topics Per Day:  0.01
  • Content Count:  150
  • Reputation:   1
  • Joined:  06/29/12
  • Last Seen:  

hi i am having trouble with my disguise npc it wont talk when i click it can someone help me on it

Link to comment
Share on other sites

10 answers to this question

Recommended Posts


  • Group:  Members
  • Topic Count:  75
  • Topics Per Day:  0.02
  • Content Count:  2223
  • Reputation:   593
  • Joined:  10/26/11
  • Last Seen:  

Please post the script in

[/b][/font] tags so we can look at it. 

Then we can find the error.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  41
  • Topics Per Day:  0.01
  • Content Count:  150
  • Reputation:   1
  • Joined:  06/29/12
  • Last Seen:  

//=====eAthena Script=====================
// Disguise NPC
// v1.0
//=====By:==============================
//= Soryia
//===== Description: ======================
//= An NPC that changes your class sprite while wearing a special item
//===== Additional Comments: ==============
//= Supports third classes, just uncomment the appropriate lines
//=====================================
prontera,147,174,5 script Disguise NPC 803,{
mes "Hi! I can change your look!";
mes "Want to try?";
if(countitem(xxxx) == 0) {
switch(select("Sure!","No thanks")) {
 Case 1:
  next;
  mes "Alright! First you need to have these special rings.";
  next;
  mes "Now, I need to properly enchant your rings before you put them on...";
  next;
  switch(rand(1,3)) {
Case 1:
 set .@Type$,"base";
break;
Case 2:
 set .@Type$,"EAJL_UPPER";
break;
Case 3:
 set .@Type$,"EAJL_BABY";
break;}
  if(.@Type$ == "base") {
switch(rand(1,10)) {
 Case 1:
  set .@Class$,"EAJ_NOVICE";
 break;
 Case 2:
  set .@Class$,"EAJ_SWORDMAN";
 break;
 Case 3:
  set .@Class$,"EAJ_ACOLYTE";
 break;
 Case 4:
  set .@Class$,"EAJ_ARCHER";
 break;
 Case 5:
  set .@Class$,"EAJ_MAGE";
 break;
 Case 6:
  set .@Class$,"EAJ_MERCHANT";
 break;
 Case 7:
  set .@Class$,"EAJ_THIEF";
 break;
 Case 8:
  set .@Class$,"EAJ_TAEKWON";
 break;
 Case 9:
  set .@Class$,"EAJ_NINJA";
 break;
 Case 10:
  set .@Class$,"EAJ_GUNSLINGER";
 break;}}
  else if(.@Type$ == "EAJL_UPPER") {
switch(rand(1,6)) {
 Case 1:
  set .@Class$,"EAJ_SWORDMAN";
 break;
 Case 2:
  set .@Class$,"EAJ_ACOLYTE";
 break;
 Case 3:
  set .@Class$,"EAJ_ARCHER";
 break;
 Case 4:
  set .@Class$,"EAJ_MAGE";
 break;
 Case 5:
  set .@Class$,"EAJ_MERCHANT";
 break;
 Case 6:
  set .@Class$,"EAJ_THIEF";
 break;}}
  else if(.@Type$ == "EAJL_BABY") {
switch(rand(1,7)) {
 Case 1:
  set .@Class$,"EAJ_NOVICE";
 break;
 Case 2:
  set .@Class$,"EAJ_SWORDMAN";
 break;
 Case 3:
  set .@Class$,"EAJ_ACOLYTE";
 break;
 Case 4:
  set .@Class$,"EAJ_ARCHER";
 break;
 Case 5:
  set .@Class$,"EAJ_MAGE";
 break;
 Case 6:
  set .@Class$,"EAJ_MERCHANT";
 break;
 Case 7:
  set .@Class$,"EAJ_THIEF";
 break;}}
  if((.@Class$ != "EAJ_GUNSLINGER") && (.@Class$ != "EAJ_NINJA") && (.@Class$ != "EAJ_NOVICE") && (.@Type$ != "EAJL_UPPER")) {
switch(rand(1,3)) {
 Case 1:
  set .@Branch$,"";
 break;
 Case 2:
  set .@Branch$,"EAJL_2_1";
 break;
 Case 3:
  set .@Branch$,"EAJL_2_2";
 break;}}
  else if(.@Type$ == "EAJL_UPPER") {
switch(rand(1,2)) {
 Case 1:
  set .@Branch$,"EAJL_2_1";
 break;
 Case 2:
  set .@Branch$,"EAJL_2_2";
 break;}}
  else if((.@Class$ == "EAJ_NOVICE")) {
switch(rand(1,2)) {
 Case 1:
  set .@Branch$,"";
 break;
 Case 2:
  set .@Branch$,"EAJL_2_1";
 break;}}
  if(.@Type$ != "base") { set DisguiseJob,roclass(getd(.@Class$)|getd(.@Branch$)|getd(.@Type$)); }
  else { set DisguiseJob,roclass(getd(.@Class$)|getd(.@Branch$)); }
  mes "Alright, they should be ready to use!";
  mes "Come back if you want me to change the enchantment on your rings!";
  close;
 break;
 Case 2:
  mes "Suit yourself, then!";
  close;
 break;}}
switch(select("Sure!","No thanks")) {
Case 1:
 next;
 if(isequipped(xxxx) != 1) {
  mes "Sorry, you need to have your disguise rings on first.";
  close;}
 mes "Would you like to select a class or let me select one?";
 switch(select("Let me select", "You pick")) {
  Case 1:
next;
mes "Alright! First select a catagory!";
switch(select("Normal","Advanced","Baby")) {
//switch(select("Normal","Advanced","Baby","Third")) { //Switch this and the above line if your server supports third classes
 Case 1:
  set .@Type$,"base";
 break;
 Case 2:
  set .@Type$,"EAJL_UPPER";
 break;
 Case 3:
  set .@Type$,"EAJL_BABY";
 // break; //Uncomment these lines if your server supports third classes
 // Case 4:
 // set .@Type$,"EAJL_THIRD";
 break;}
next;
mes "Alright! Now select your base class!";
if(.@Type$ == "base") {
 switch(select("Novice","Swordsman","Acolyte","Archer","Mage","Merchant","Thief","Taekwon","Ninja","Gunslinger")) {
  Case 1:
   set .@Class$,"EAJ_NOVICE";
  break;
  Case 2:
   set .@Class$,"EAJ_SWORDMAN";
  break;
  Case 3:
   set .@Class$,"EAJ_ACOLYTE";
  break;
  Case 4:
   set .@Class$,"EAJ_ARCHER";
  break;
  Case 5:
   set .@Class$,"EAJ_MAGE";
  break;
  Case 6:
   set .@Class$,"EAJ_MERCHANT";
  break;
  Case 7:
   set .@Class$,"EAJ_THIEF";
  break;
  Case 8:
   set .@Class$,"EAJ_TAEKWON";
  break;
  Case 9:
   set .@Class$,"EAJ_NINJA";
  break;
  Case 10:
   set .@Class$,"EAJ_GUNSLINGER";
  break;}}
else if((.@Type$ == "EAJL_UPPER")) {
//else if((.@Type$ == "EAJL_UPPER") || (.@Type$ == "EAJL_THIRD")) { //Switch this and the above line if your server supports third classes
 switch(select("Swordsman","Acolyte","Archer","Mage","Merchant","Thief")) {
  Case 1:
   set .@Class$,"EAJ_SWORDMAN";
  break;
  Case 2:
   set .@Class$,"EAJ_ACOLYTE";
  break;
  Case 3:
   set .@Class$,"EAJ_ARCHER";
  break;
  Case 4:
   set .@Class$,"EAJ_MAGE";
  break;
  Case 5:
   set .@Class$,"EAJ_MERCHANT";
  break;
  Case 6:
   set .@Class$,"EAJ_THIEF";
  break;}}
else if(.@Type$ == "EAJL_BABY") {
 switch(select("Novice","Swordsman","Acolyte","Archer","Mage","Merchant","Thief")) {
  Case 1:
   set .@Class$,"EAJ_NOVICE";
  break;
  Case 2:
   set .@Class$,"EAJ_SWORDMAN";
  break;
  Case 3:
   set .@Class$,"EAJ_ACOLYTE";
  break;
  Case 4:
   set .@Class$,"EAJ_ARCHER";
  break;
  Case 5:
   set .@Class$,"EAJ_MAGE";
  break;
  Case 6:
   set .@Class$,"EAJ_MERCHANT";
  break;
  Case 7:
   set .@Class$,"EAJ_THIEF";
  break;}}
next;
if((.@Class$ != "EAJ_GUNSLINGER") && (.@Class$ != "EAJ_NINJA") && (.@Class$ != "EAJ_NOVICE") && (.@Type$ != "EAJL_UPPER")) {
//if((.@Class$ != "EAJ_GUNSLINGER") && (.@Class$ != "EAJ_NINJA") && (.@Class$ != "EAJ_NOVICE") && (.@Type$ != "EAJL_UPPER") && (.@Type$ != "EAJL_THIRD")) { //Switch this and the above line if your server supports third classes
 mes "1st class, 2-1 class, or 2-2 class?";
 switch(select("1st","2-1","2-2")) {
  Case 1:
   set .@Branch$,"";
  break;
  Case 2:
   set .@Branch$,"EAJL_2_1";
  break;
  Case 3:
   set .@Branch$,"EAJL_2_2";
  break;}}
else if((.@Type$ == "EAJL_UPPER")) {
//else if((.@Type$ == "EAJL_UPPER") || (.@Type$ == "EAJL_THIRD")) { //Switch this and the above line if your server supports third classes
 mes "2-1 class or 2-2 class?";
 switch(select("2-1","2-2")) {
  Case 1:
   set .@Branch$,"EAJL_2_1";
  break;
  Case 2:
   set .@Branch$,"EAJL_2_2";
  break;}}
else if((.@Class$ == "EAJ_NOVICE")) {
 mes "Normal or Super?";
 switch(select("Normal","Super")) {
  Case 1:
   set .@Branch$,"";
  break;
  Case 2:
   set .@Branch$,"EAJL_2_1";
  break;}}
next;
  break;
  Case 2:
next;
switch(rand(1,3)) {
//switch(rand(1,4)) { //Switch this and the above line if your server supports third classes
  Case 1:
   set .@Type$,"base";
  break;
  Case 2:
   set .@Type$,"EAJL_UPPER";
  break;
  Case 3:
   set .@Type$,"EAJL_BABY";
  // break; //Uncomment these lines if your server supports third classes
  // Case 4:
   // set .@Type$,"EAJL_THIRD";
  break;}
 if(.@Type$ == "base") {
  switch(rand(1,10)) {
   Case 1:
	set .@Class$,"EAJ_NOVICE";
   break;
   Case 2:
	set .@Class$,"EAJ_SWORDMAN";
   break;
   Case 3:
	set .@Class$,"EAJ_ACOLYTE";
   break;
   Case 4:
	set .@Class$,"EAJ_ARCHER";
   break;
   Case 5:
	set .@Class$,"EAJ_MAGE";
   break;
   Case 6:
	set .@Class$,"EAJ_MERCHANT";
   break;
   Case 7:
	set .@Class$,"EAJ_THIEF";
   break;
   Case 8:
	set .@Class$,"EAJ_TAEKWON";
   break;
   Case 9:
	set .@Class$,"EAJ_NINJA";
   break;
   Case 10:
	set .@Class$,"EAJ_GUNSLINGER";
   break;}}
 else if((.@Type$ == "EAJL_UPPER")) {
 //else if((.@Type$ == "EAJL_UPPER") || (.@Type$ == "EAJL_THIRD")) { //Switch this and the above line if your server supports third classes
  switch(rand(1,6)) {
   Case 1:
	set .@Class$,"EAJ_SWORDMAN";
   break;
   Case 2:
	set .@Class$,"EAJ_ACOLYTE";
   break;
   Case 3:
	set .@Class$,"EAJ_ARCHER";
   break;
   Case 4:
	set .@Class$,"EAJ_MAGE";
   break;
   Case 5:
	set .@Class$,"EAJ_MERCHANT";
   break;
   Case 6:
	set .@Class$,"EAJ_THIEF";
   break;}}
 else if(.@Type$ == "EAJL_BABY") {
  switch(rand(1,7)) {
   Case 1:
	set .@Class$,"EAJ_NOVICE";
   break;
   Case 2:
	set .@Class$,"EAJ_SWORDMAN";
   break;
   Case 3:
	set .@Class$,"EAJ_ACOLYTE";
   break;
   Case 4:
	set .@Class$,"EAJ_ARCHER";
   break;
   Case 5:
	set .@Class$,"EAJ_MAGE";
   break;
   Case 6:
	set .@Class$,"EAJ_MERCHANT";
   break;
   Case 7:
	set .@Class$,"EAJ_THIEF";
   break;}}
 if((.@Class$ != "EAJ_GUNSLINGER") && (.@Class$ != "EAJ_NINJA") && (.@Class$ != "EAJ_NOVICE") && (.@Type$ != "EAJL_UPPER")) {
 //if((.@Class$ != "EAJ_GUNSLINGER") && (.@Class$ != "EAJ_NINJA") && (.@Class$ != "EAJ_NOVICE") && (.@Type$ != "EAJL_UPPER") && (.@Type$ != "EAJL_THIRD")) { //Switch this and the above line if your server supports third classes
  switch(rand(1,3)) {
   Case 1:
	set .@Branch$,"";
   break;
   Case 2:
	set .@Branch$,"EAJL_2_1";
   break;
   Case 3:
	set .@Branch$,"EAJL_2_2";
   break;}}
 else if((.@Type$ == "EAJL_UPPER")) {
 //else if((.@Type$ == "EAJL_UPPER") || (.@Type$ == "EAJL_THIRD")) {
  switch(rand(1,2)) {
   Case 1:
	set .@Branch$,"EAJL_2_1";
   break;
   Case 2:
	set .@Branch$,"EAJL_2_2";
   break;}}
 else if((.@Class$ == "EAJ_NOVICE")) {
  switch(rand(1,2)) {
   Case 1:
	set .@Branch$,"";
   break;
   Case 2:
	set .@Branch$,"EAJL_2_1";
   break;}}
  break;}
// This section allows GMs to apply the disguise to anyone else online, you can disable that by commenting out everything below here...
if(getgmlevel() >= 60) {
 mes "Would you like to change yourself or a different person?";
 switch(select("Myself","Someone Else")) {
  Case 1:
   next;
  break;
  Case 2:
   L_Remote:
   next;
   mes "Who do you want to change, then?";
   input .@Disguise$;
   next;
   if (isloggedin(getcharid(3,.@Disguise$)) == 0){
	mes "Hmm... I can't find "+.@Disguise$+". Double check your spelling or try someone else.";
	goto L_Remote;}
   mes "Alright then!";
   close2;
   attachrid getcharid(3,.@Disguise$);
   else if(.@Type$ != "base") { set DisguiseJob,roclass(getd(.@Class$)|getd(.@Branch$)|getd(.@Type$)); }
   else { set DisguiseJob,roclass(getd(.@Class$)|getd(.@Branch$)); }
   specialeffect2 699;
   changebase DisguiseJob;
   end;
  break;}}
// ...and above here
mes "Alright! Stand back!";
next;
else if(.@Type$ != "base") { set DisguiseJob,roclass(getd(.@Class$)|getd(.@Branch$)|getd(.@Type$)); }
else { set DisguiseJob,roclass(getd(.@Class$)|getd(.@Branch$)); }
specialeffect2 699;
changebase DisguiseJob;
mes "Alright! Have Fun!";
close;
break;
Case 2:
 next;
 break;
 mes "Alright, suit yourself!";
 close;
break;}
}

this is the script

Edited by Emistry
Please use [CODEBOX] or Attachments for long contents.
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  222
  • Reputation:   35
  • Joined:  12/13/11
  • Last Seen:  

post a screenshot of the error in the mapserver when you load this npc, and when you click the npc

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  41
  • Topics Per Day:  0.01
  • Content Count:  150
  • Reputation:   1
  • Joined:  06/29/12
  • Last Seen:  

post a screenshot of the error in the mapserver when you load this npc, and when you click the npc

when i click the npc it does nothing but it exists on the map server

New_Bitmap_Image.png

Edited by crystaleye
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  43
  • Topics Per Day:  0.01
  • Content Count:  815
  • Reputation:   86
  • Joined:  10/26/12
  • Last Seen:  

show the error not the npc

Link to comment
Share on other sites


  • Group:  Developer
  • Topic Count:  10
  • Topics Per Day:  0.00
  • Content Count:  2407
  • Reputation:   613
  • Joined:  07/05/12
  • Last Seen:  

btw i'm pretty sure item ID xxxx doesn't exist XD

if(countitem(xxxx) == 0) {

   close2;
   attachrid getcharid(3,.@Disguise$);
   else if(.@Type$ != "base") { set DisguiseJob,roclass(getd(.@Class$)|getd(.@Branch$)|getd(.@Type$)); }
   else { set DisguiseJob,roclass(getd(.@Class$)|getd(.@Branch$)); }

Where is the first if ?

Edited by Capuche
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  41
  • Topics Per Day:  0.01
  • Content Count:  150
  • Reputation:   1
  • Joined:  06/29/12
  • Last Seen:  

show the error not the npc

it dosnt respond to any of my clicks

btw i'm pretty sure item ID xxxx doesn't exist XD

if(countitem(xxxx) == 0) {

   close2;
   attachrid getcharid(3,.@Disguise$);
   else if(.@Type$ != "base") { set DisguiseJob,roclass(getd(.@Class$)|getd(.@Branch$)|getd(.@Type$)); }
   else { set DisguiseJob,roclass(getd(.@Class$)|getd(.@Branch$)); }

Where is the first if ?

where to add the item id and also what did you mean by the first if

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  11
  • Topics Per Day:  0.00
  • Content Count:  222
  • Reputation:   35
  • Joined:  12/13/11
  • Last Seen:  

it needs to be a custom ring item that you made called disguise ring.

Edited by lilcooldude69
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  41
  • Topics Per Day:  0.01
  • Content Count:  150
  • Reputation:   1
  • Joined:  06/29/12
  • Last Seen:  

it needs to be a custom ring item that you made called disguise ring.

i removed the get item line can you edit it to not use any item instead

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  18
  • Topics Per Day:  0.00
  • Content Count:  2044
  • Reputation:   682
  • Joined:  10/09/12
  • Last Seen:  

seems like this member is asking to get spoon feed =/

//=====eAthena Script=====================
// Disguise NPC
// v1.0
//=====By:==============================
//= Soryia
//===== Description: ======================
//= An NPC that changes your class sprite while wearing a special item
//===== Additional Comments: ==============
//= Supports third classes, just uncomment the appropriate lines
//=====================================
prontera,147,174,5	script	Disguise NPC	803,{
mes "Hi! I can change your look!";
mes "Want to try?";
if(countitem(5083) == 0) {
switch(select("Sure!","No thanks")) {
 Case 1:
  next;
  mes "Alright! First you need to have these special rings.";
  next;
  mes "Now, I need to properly enchant your rings before you put them on...";
  next;
  switch(rand(1,3)) {
Case 1:
 set .@Type$,"base";
break;
Case 2:
 set .@Type$,"EAJL_UPPER";
break;
Case 3:
 set .@Type$,"EAJL_BABY";
break;}
  if(.@Type$ == "base") {
switch(rand(1,10)) {
 Case 1:
  set .@Class$,"EAJ_NOVICE";
 break;
 Case 2:
  set .@Class$,"EAJ_SWORDMAN";
 break;
 Case 3:
  set .@Class$,"EAJ_ACOLYTE";
 break;
 Case 4:
  set .@Class$,"EAJ_ARCHER";
 break;
 Case 5:
  set .@Class$,"EAJ_MAGE";
 break;
 Case 6:
  set .@Class$,"EAJ_MERCHANT";
 break;
 Case 7:
  set .@Class$,"EAJ_THIEF";
 break;
 Case 8:
  set .@Class$,"EAJ_TAEKWON";
 break;
 Case 9:
  set .@Class$,"EAJ_NINJA";
 break;
 Case 10:
  set .@Class$,"EAJ_GUNSLINGER";
 break;}}
  else if(.@Type$ == "EAJL_UPPER") {
switch(rand(1,6)) {
 Case 1:
  set .@Class$,"EAJ_SWORDMAN";
 break;
 Case 2:
  set .@Class$,"EAJ_ACOLYTE";
 break;
 Case 3:
  set .@Class$,"EAJ_ARCHER";
 break;
 Case 4:
  set .@Class$,"EAJ_MAGE";
 break;
 Case 5:
  set .@Class$,"EAJ_MERCHANT";
 break;
 Case 6:
  set .@Class$,"EAJ_THIEF";
 break;}}
  else if(.@Type$ == "EAJL_BABY") {
switch(rand(1,7)) {
 Case 1:
  set .@Class$,"EAJ_NOVICE";
 break;
 Case 2:
  set .@Class$,"EAJ_SWORDMAN";
 break;
 Case 3:
  set .@Class$,"EAJ_ACOLYTE";
 break;
 Case 4:
  set .@Class$,"EAJ_ARCHER";
 break;
 Case 5:
  set .@Class$,"EAJ_MAGE";
 break;
 Case 6:
  set .@Class$,"EAJ_MERCHANT";
 break;
 Case 7:
  set .@Class$,"EAJ_THIEF";
 break;}}
  if((.@Class$ != "EAJ_GUNSLINGER") && (.@Class$ != "EAJ_NINJA") && (.@Class$ != "EAJ_NOVICE") && (.@Type$ != "EAJL_UPPER")) {
switch(rand(1,3)) {
 Case 1:
  set .@Branch$,"";
 break;
 Case 2:
  set .@Branch$,"EAJL_2_1";
 break;
 Case 3:
  set .@Branch$,"EAJL_2_2";
 break;}}
  else if(.@Type$ == "EAJL_UPPER") {
switch(rand(1,2)) {
 Case 1:
  set .@Branch$,"EAJL_2_1";
 break;
 Case 2:
  set .@Branch$,"EAJL_2_2";
 break;}}
  else if((.@Class$ == "EAJ_NOVICE")) {
switch(rand(1,2)) {
 Case 1:
  set .@Branch$,"";
 break;
 Case 2:
  set .@Branch$,"EAJL_2_1";
 break;}}
  if(.@Type$ != "base") { set DisguiseJob,roclass(getd(.@Class$)|getd(.@Branch$)|getd(.@Type$)); }
  else { set DisguiseJob,roclass(getd(.@Class$)|getd(.@Branch$)); }
  mes "Alright, they should be ready to use!";
  mes "Come back if you want me to change the enchantment on your rings!";
  close;
 break;
 Case 2:
  mes "Suit yourself, then!";
  close;
 break;}}
switch(select("Sure!","No thanks")) {
Case 1:
 next;
 if(isequipped(5083) != 1) {
  mes "Sorry, you need to have your disguise rings on first.";
  close;}
 mes "Would you like to select a class or let me select one?";
 switch(select("Let me select", "You pick")) {
  Case 1:
next;
mes "Alright! First select a catagory!";
switch(select("Normal","Advanced","Baby")) {
//switch(select("Normal","Advanced","Baby","Third")) { //Switch this and the above line if your server supports third classes
 Case 1:
  set .@Type$,"base";
 break;
 Case 2:
  set .@Type$,"EAJL_UPPER";
 break;
 Case 3:
  set .@Type$,"EAJL_BABY";
 // break; //Uncomment these lines if your server supports third classes
 // Case 4:
 // set .@Type$,"EAJL_THIRD";
 break;}
next;
mes "Alright! Now select your base class!";
if(.@Type$ == "base") {
 switch(select("Novice","Swordsman","Acolyte","Archer","Mage","Merchant","Thief","Taekwon","Ninja","Gunslinger")) {
  Case 1:
   set .@Class$,"EAJ_NOVICE";
  break;
  Case 2:
   set .@Class$,"EAJ_SWORDMAN";
  break;
  Case 3:
   set .@Class$,"EAJ_ACOLYTE";
  break;
  Case 4:
   set .@Class$,"EAJ_ARCHER";
  break;
  Case 5:
   set .@Class$,"EAJ_MAGE";
  break;
  Case 6:
   set .@Class$,"EAJ_MERCHANT";
  break;
  Case 7:
   set .@Class$,"EAJ_THIEF";
  break;
  Case 8:
   set .@Class$,"EAJ_TAEKWON";
  break;
  Case 9:
   set .@Class$,"EAJ_NINJA";
  break;
  Case 10:
   set .@Class$,"EAJ_GUNSLINGER";
  break;}}
else if((.@Type$ == "EAJL_UPPER")) {
//else if((.@Type$ == "EAJL_UPPER") || (.@Type$ == "EAJL_THIRD")) { //Switch this and the above line if your server supports third classes
 switch(select("Swordsman","Acolyte","Archer","Mage","Merchant","Thief")) {
  Case 1:
   set .@Class$,"EAJ_SWORDMAN";
  break;
  Case 2:
   set .@Class$,"EAJ_ACOLYTE";
  break;
  Case 3:
   set .@Class$,"EAJ_ARCHER";
  break;
  Case 4:
   set .@Class$,"EAJ_MAGE";
  break;
  Case 5:
   set .@Class$,"EAJ_MERCHANT";
  break;
  Case 6:
   set .@Class$,"EAJ_THIEF";
  break;}}
else if(.@Type$ == "EAJL_BABY") {
 switch(select("Novice","Swordsman","Acolyte","Archer","Mage","Merchant","Thief")) {
  Case 1:
   set .@Class$,"EAJ_NOVICE";
  break;
  Case 2:
   set .@Class$,"EAJ_SWORDMAN";
  break;
  Case 3:
   set .@Class$,"EAJ_ACOLYTE";
  break;
  Case 4:
   set .@Class$,"EAJ_ARCHER";
  break;
  Case 5:
   set .@Class$,"EAJ_MAGE";
  break;
  Case 6:
   set .@Class$,"EAJ_MERCHANT";
  break;
  Case 7:
   set .@Class$,"EAJ_THIEF";
  break;}}
next;
if((.@Class$ != "EAJ_GUNSLINGER") && (.@Class$ != "EAJ_NINJA") && (.@Class$ != "EAJ_NOVICE") && (.@Type$ != "EAJL_UPPER")) {
//if((.@Class$ != "EAJ_GUNSLINGER") && (.@Class$ != "EAJ_NINJA") && (.@Class$ != "EAJ_NOVICE") && (.@Type$ != "EAJL_UPPER") && (.@Type$ != "EAJL_THIRD")) { //Switch this and the above line if your server supports third classes
 mes "1st class, 2-1 class, or 2-2 class?";
 switch(select("1st","2-1","2-2")) {
  Case 1:
   set .@Branch$,"";
  break;
  Case 2:
   set .@Branch$,"EAJL_2_1";
  break;
  Case 3:
   set .@Branch$,"EAJL_2_2";
  break;}}
else if((.@Type$ == "EAJL_UPPER")) {
//else if((.@Type$ == "EAJL_UPPER") || (.@Type$ == "EAJL_THIRD")) { //Switch this and the above line if your server supports third classes
 mes "2-1 class or 2-2 class?";
 switch(select("2-1","2-2")) {
  Case 1:
   set .@Branch$,"EAJL_2_1";
  break;
  Case 2:
   set .@Branch$,"EAJL_2_2";
  break;}}
else if((.@Class$ == "EAJ_NOVICE")) {
 mes "Normal or Super?";
 switch(select("Normal","Super")) {
  Case 1:
   set .@Branch$,"";
  break;
  Case 2:
   set .@Branch$,"EAJL_2_1";
  break;}}
next;
  break;
  Case 2:
next;
switch(rand(1,3)) {
//switch(rand(1,4)) { //Switch this and the above line if your server supports third classes
  Case 1:
   set .@Type$,"base";
  break;
  Case 2:
   set .@Type$,"EAJL_UPPER";
  break;
  Case 3:
   set .@Type$,"EAJL_BABY";
  // break; //Uncomment these lines if your server supports third classes
  // Case 4:
   // set .@Type$,"EAJL_THIRD";
  break;}
 if(.@Type$ == "base") {
  switch(rand(1,10)) {
   Case 1:
	set .@Class$,"EAJ_NOVICE";
   break;
   Case 2:
	set .@Class$,"EAJ_SWORDMAN";
   break;
   Case 3:
	set .@Class$,"EAJ_ACOLYTE";
   break;
   Case 4:
	set .@Class$,"EAJ_ARCHER";
   break;
   Case 5:
	set .@Class$,"EAJ_MAGE";
   break;
   Case 6:
	set .@Class$,"EAJ_MERCHANT";
   break;
   Case 7:
	set .@Class$,"EAJ_THIEF";
   break;
   Case 8:
	set .@Class$,"EAJ_TAEKWON";
   break;
   Case 9:
	set .@Class$,"EAJ_NINJA";
   break;
   Case 10:
	set .@Class$,"EAJ_GUNSLINGER";
   break;}}
 else if((.@Type$ == "EAJL_UPPER")) {
 //else if((.@Type$ == "EAJL_UPPER") || (.@Type$ == "EAJL_THIRD")) { //Switch this and the above line if your server supports third classes
  switch(rand(1,6)) {
   Case 1:
	set .@Class$,"EAJ_SWORDMAN";
   break;
   Case 2:
	set .@Class$,"EAJ_ACOLYTE";
   break;
   Case 3:
	set .@Class$,"EAJ_ARCHER";
   break;
   Case 4:
	set .@Class$,"EAJ_MAGE";
   break;
   Case 5:
	set .@Class$,"EAJ_MERCHANT";
   break;
   Case 6:
	set .@Class$,"EAJ_THIEF";
   break;}}
 else if(.@Type$ == "EAJL_BABY") {
  switch(rand(1,7)) {
   Case 1:
	set .@Class$,"EAJ_NOVICE";
   break;
   Case 2:
	set .@Class$,"EAJ_SWORDMAN";
   break;
   Case 3:
	set .@Class$,"EAJ_ACOLYTE";
   break;
   Case 4:
	set .@Class$,"EAJ_ARCHER";
   break;
   Case 5:
	set .@Class$,"EAJ_MAGE";
   break;
   Case 6:
	set .@Class$,"EAJ_MERCHANT";
   break;
   Case 7:
	set .@Class$,"EAJ_THIEF";
   break;}}
 if((.@Class$ != "EAJ_GUNSLINGER") && (.@Class$ != "EAJ_NINJA") && (.@Class$ != "EAJ_NOVICE") && (.@Type$ != "EAJL_UPPER")) {
 //if((.@Class$ != "EAJ_GUNSLINGER") && (.@Class$ != "EAJ_NINJA") && (.@Class$ != "EAJ_NOVICE") && (.@Type$ != "EAJL_UPPER") && (.@Type$ != "EAJL_THIRD")) { //Switch this and the above line if your server supports third classes
  switch(rand(1,3)) {
   Case 1:
	set .@Branch$,"";
   break;
   Case 2:
	set .@Branch$,"EAJL_2_1";
   break;
   Case 3:
	set .@Branch$,"EAJL_2_2";
   break;}}
 else if((.@Type$ == "EAJL_UPPER")) {
 //else if((.@Type$ == "EAJL_UPPER") || (.@Type$ == "EAJL_THIRD")) {
  switch(rand(1,2)) {
   Case 1:
	set .@Branch$,"EAJL_2_1";
   break;
   Case 2:
	set .@Branch$,"EAJL_2_2";
   break;}}
 else if((.@Class$ == "EAJ_NOVICE")) {
  switch(rand(1,2)) {
   Case 1:
	set .@Branch$,"";
   break;
   Case 2:
	set .@Branch$,"EAJL_2_1";
   break;}}
  break;}
// This section allows GMs to apply the disguise to anyone else online, you can disable that by commenting out everything below here...
if(getgmlevel() >= 60) {
 mes "Would you like to change yourself or a different person?";
 switch(select("Myself","Someone Else")) {
  Case 1:
   next;
  break;
  Case 2:
   L_Remote:
   next;
   mes "Who do you want to change, then?";
   input .@Disguise$;
   next;
   if (isloggedin(getcharid(3,.@Disguise$)) == 0){
	mes "Hmm... I can't find "+.@Disguise$+". Double check your spelling or try someone else.";
	goto L_Remote;}
   mes "Alright then!";
   close2;
   attachrid getcharid(3,.@Disguise$);
   if(.@Type$ != "base") { set DisguiseJob,roclass(getd(.@Class$)|getd(.@Branch$)|getd(.@Type$)); }
   else { set DisguiseJob,roclass(getd(.@Class$)|getd(.@Branch$)); }
   specialeffect2 699;
   changebase DisguiseJob;
   end;
  break;}}
// ...and above here
mes "Alright! Stand back!";
next;
if(.@Type$ != "base") { set DisguiseJob,roclass(getd(.@Class$)|getd(.@Branch$)|getd(.@Type$)); }
else { set DisguiseJob,roclass(getd(.@Class$)|getd(.@Branch$)); }
specialeffect2 699;
changebase DisguiseJob;
mes "Alright! Have Fun!";
close;
break;
Case 2:
 next;
 break;
 mes "Alright, suit yourself!";
 close;
break;}
}

this kind of script ... should be able to optimized further with arrays ... but the script works itself so meh ...

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...