//============================================================
//= Preview Item Script
//===== By: ==================================================
//= iHeart
//===== Current Version: =====================================
//= 1.01
//===== Description: =========================================
//= A method to allow headgear sprites to be previewed without
//= being 'stolen'
//===== Changelog: ===========================================
//= 1.01
//=   -Modified so it dynamically gets npc name for the timer
//= 1.00 
//=   -Initial Release
//============================================================

prontera,155,156,5	script	PreviewStuff	813,{

    //save current look for later
    set @bottomview, getlook(3);
    set @topview, getlook(4);
    set @midview, getlook(5);

    //doesn't actually execute until just before a 'close' statement, or when the char leaves the npc's control
    addtimer 1000, strnpcinfo(3)+"::On_Leave";

INTRO:

    mes "Welcome to the preview NPC";

    mes "Please input an itemID you would like to preview";

    input @itemid;

    //modifies char's look based on item
    set @equip, getiteminfo(@itemid, 5);
    set @view, getiteminfo(@itemid, 11);

    if(@equip != -1 && @view > 0) {
            //note: yes...i'm using atcommand here cause for some reason 
            //      'setlook' has permanent effects...last time i checked at least
            if(@equip & 1)
		atcommand "@changelook 3 " + @view;
            if(@equip & 256)
                atcommand "@changelook 1 " + @view;
            if(@equip & 512) 
		atcommand "@changelook 2 " + @view;
    }

    next;
    mes "Would to like to preview something else?";
    if(select("Yes", "No") == 1) {
        goto INTRO;
    }
        
    //*preview wears off automatically here due to delayed timer*//

    close;   



On_Leave:
    atcommand "@changelook 1 " + @topview;
    atcommand "@changelook 2 " + @midview;
    atcommand "@changelook 3 " + @bottomview;
    close;
}