Jump to content

Question

6 answers to this question

Recommended Posts

  • 0
Posted (edited)
Spoiler

 

this is the one I am currently using has a limit of view ID is the only modification

Morpho.txt

 

How can I eliminate the sprite when I take off my helmet? Because when I take off my helmet, the disguised elf is still there.  :(

Edited by Giant Whisper
  • 0
Posted (edited)
2201,Sunglasses,Sunglasses,5,5000,,100,,0,,0,0xFFFFFFFF,7,2,512,,0,0,12,{  },{ set @gear,3; callfunc ChooseHeadgear; },{ setlook 3,0; }
Like so
 
 
You want a setlook "gear",0; in the on unequip field
Edited by Stolao
  • 0
Posted

is for the Morphogenic?

 

//Morphogenic Hat Script
//Allows a player to change their look to absolutely any hat available or to a defined upper limit. Check the "OnInit" label for information on this.
//
//By Slam

-	script	Morpho	-1,{
	OnWhisperGlobal:
		goto Validation_whisp;
		end;

	Validation_whisp:
		set .@var0$, atoi(@whispervar0$);
		set .@var1, atoi(@whispervar1$);
		set .@i,0;
		while(.@i < getarraysize(.morpho_disallowed)){
                    if(.@var1 == .morphodisallowed$[.@i]){
                        goto denied_unauthorized;
                    } else {
                        set .@i,.@i+1;
                    }
                }
		set .@ii,0;
		while(.@ii < 9){
			if(@whispervar0$ == .keywords$[.@ii]){
				goto keyword;
			}
		set .@ii,.@ii+1;
		}
		dispbottom "---------------[Morpho Helper]---------------";
		dispbottom " ";
		dispbottom "Sorry, I didn't understand the option you have";
		dispbottom "have given me. Please type 'help' for more info";
		dispbottom " ";
		end;

	keyword:

	switch(.@ii){

		case 0:

			goto help;

		case 1:

			goto tophead;

		case 2:

			goto midhead;

		case 3:

			goto lowhead;

		case 4:

			goto clear;

		case 5:

			goto info;

		case 6:

			goto topheadlow;
		case 7:

			goto midheadlow;

		case 8:

			goto lowheadlow;
}

	help:

		dispbottom "---------------[Morpho Helper]---------------";
		dispbottom " ";
		dispbottom "Welcome to the Morpho Settings NPC!";
		dispbottom "I can help you set what your Morphohat looks like";
		dispbottom " ";
		dispbottom "To use this NPC, whisper NPC:Morpho (you should";
		dispbottom "know this already) with upper/middle/lower or ";
		dispbottom "wing. The wing section is not yet implemented";
		dispbottom "however. Now, to set your Morphohat use the ";
		dispbottom "following layout:";
		dispbottom " ";
		dispbottom "upper#5232 - This will make it a Pink Kitty";
		dispbottom " ";
		dispbottom "Protip: Use RateMyServer.net for item IDs.";
		end;

	tophead:

		if(!isequipped(.top_morpho)){
			goto wrong_headgear;
		}
		if((.@var1 >= 5001 && .@var1 <= 5859) || (.@var1 >= 60000 && .@var1 <= 61196)){
		set .@viewid,getiteminfo(.@var1,11);
		set .@equipslot,getiteminfo(.@var1,5);
//		if(.@equipslot != 256 && .@equipslot != 768){ //Upper and Upper+Mid Only. Comment out this line and the two below it to remove this functionality.
//			goto denied_wrongslot;
//		}
		set viewid_top,.@viewid;
		dispbottom "Selected headgear ID: "+.@viewid;
		setlook 4,.@viewid;

		end;
		}
		dispbottom "Unavailable ID";
		end;

	midhead:

        if(!isequipped(.mid_morpho)){
            goto wrong_headgear;
        }
	if((.@var1 >= 5001 && .@var1 <= 5859) || (.@var1 >= 60000 && .@var1 <= 61196)){
        set .@viewid,getiteminfo(.@var1,11);
		set .@equipslot,getiteminfo(.@var1,5);
//        if(.@equipslot != 512 && .@equipslot != 513){ //Mid and Mid+Lower only. Comment out this line and the two below it to remove this functionality.
//           goto denied_wrongslot;
//        }
        set viewid_mid,.@viewid;
		dispbottom "Selected headgear ID: "+.@viewid;
        setlook 5,.@viewid;

        end;

	}
	dispbottom "Unavailable ID";
	end;

	lowhead:

        if(!isequipped(.low_morpho)){
             goto wrong_headgear;
        }
	if((.@var1 >= 5001 && .@var1 <= 5859) || (.@var1 >= 60000 && .@var1 <= 61196)){
        set .@viewid,getiteminfo(.@var1,11);
		set .@equipslot,getiteminfo(.@var1,5);
//      if(.@equipslot != 1){ // Lower Only. Comment out this line and the two below it to remove this functionality.
//           goto denied_wrongslot;
//        }
        set viewid_low,.@viewid;
		dispbottom "Selected headgear ID: "+.@viewid;
        setlook 3,.@viewid;

        end;
	}
	dispbottom "Unavailable ID";
	end;

	topheadlow:

		if(!isequipped(.top_morphos)){
			goto wrong_headgear;
		}
		if((.@var1 >= 5001 && .@var1 <= 5859) || (.@var1 >= 60000 && .@var1 <= 61196)){
		set .@viewid,getiteminfo(.@var1,11);
		set .@equipslot,getiteminfo(.@var1,5);
//		if(.@equipslot != 256 && .@equipslot != 768){ //Upper and Upper+Mid Only. Comment out this line and the two below it to remove this functionality.
//			goto denied_wrongslot;
//		}
		set viewid_tops,.@viewid;
		dispbottom "Selected headgear ID: "+.@viewid;
		setlook 4,.@viewid;

		end;
	}
	dispbottom "Unavailable ID";
	end;

	midheadlow:
	if((.@var1 >= 5001 && .@var1 <= 5859) || (.@var1 >= 60000 && .@var1 <= 61196)){
        if(!isequipped(.mid_morphos)){
             goto wrong_headgear;
        }
        set .@viewid,getiteminfo(.@var1,11);
		set .@equipslot,getiteminfo(.@var1,5);
//      if(.@equipslot != 512){ // Lower Only. Comment out this line and the two below it to remove this functionality.
//           goto denied_wrongslot;
//        }
        set viewid_mids,.@viewid;
		dispbottom "Selected headgear ID: "+.@viewid;
        setlook 5,.@viewid;

        end;
	}
	dispbottom "Unavailable ID";
	end;

	lowheadlow:
	if((.@var1 >= 5001 && .@var1 <= 5859) || (.@var1 >= 60000 && .@var1 <= 61196)){
        if(!isequipped(.low_morphos)){
             goto wrong_headgear;
        }
        set .@viewid,getiteminfo(.@var1,11);
		set .@equipslot,getiteminfo(.@var1,5);
//      if(.@equipslot != 1){ // Lower Only. Comment out this line and the two below it to remove this functionality.
//           goto denied_wrongslot;
//        }
        set viewid_lows,.@viewid;
		dispbottom "Selected headgear ID: "+.@viewid;
        setlook 3,.@viewid;

        end;
	}
	dispbottom "Unavailable ID";
	end;

	clear:

		set viewid_low, 1;
		set viewid_mid, 2;
		set viewid_top, 3;
		if (getequipid(1) == .top_morpho)
			setlook 5,0;
		if (getequipid(9) == .mid_morpho)
			setlook 4,0;
		if (getequipid(10) == .low_morpho)
			setlook 3,0;
		dispbottom "Your Morphing Hats list has been cleared.";
		end;

	info:

		dispbottom "---------------[Morpho Helper]---------------";
		dispbottom " ";
		dispbottom "You currently have the following items set for your Morpho hat:";
		dispbottom "Upper - "+getitemname(viewid_top);
		dispbottom "Middle - "+getitemname(viewid_mid);
		dispbottom "Lower - "+getitemname(viewid_low);
		end;

	denied_wrongslot:
		dispbottom "Sorry, this headgear was not designed for this headgear slot.";
		end;

	denied_unauthorized:

		dispbottom "Sorry, you cannot change your Morpho into this headgear. Please try another.";
		end;

	wrong_headgear:

		dispbottom "Sorry, you do not currently have your Morpho equipped. Please equip it and try again!";

		end;

	OnInit:
		//Array of keywords for the script
		setarray .keywords$[0],"help","upper","middle","lower","clear","info","upperdawn","middledawn","lowerdawn";

		//Change this to the upper limit of the headgears that you wish to make available
		setarray .morpho_disallowed$[0], "9001"; //inb4OVERNINETHOUSAND

		//Equip IDs - Change these to the ID numbers of the hat you wish to designate as the Morphing hat
		set .top_morpho,60683;
		set .mid_morpho,60684;
		set .low_morpho,60685;
		end;
}

//Use 'callfunc "MorphoEquip",<1,2,3,4,5,6>;' for the "OnEquip" script to let people know that they need to set the view ID or to set the viewid if the person has already set one.
//If you wish to make the "Morph" an Account bound variable, simply change all instances of "viewid_" with "#viewid_"
function	script	MorphoEquip	{
	set .@equipslot,getarg(0);
	switch(.@equipslot) {
		case 1:  //Upper
			if (!viewid_top) {
				dispbottom "No headgear set for upper. PM \"NPC:Morpho\" with the word \"help\" for more information.";
				end;
			}
			setlook 4,viewid_top;
			end;
		case 2: //Mid
			if (!viewid_mid) {
				dispbottom "No headgear set for middle. PM \"NPC:Morpho\" with the word \"help\" for more information.";
				end;
			}
			setlook 5,viewid_mid;
			end;
		case 3: //Lower
			if (!viewid_low) {
				dispbottom "No headgear set for lower. PM \"NPC:Morpho\" with the word \"help\" for more information.";
				end;
    }
}

 

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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...