Graal Pastebin
New PastePasted on July 5, 2011.
View the raw file
function onActionServerSide( cmd, var ) { if ( cmd == "setShield" ) { player.shieldimg = var; } if ( cmd == "setHead" ) { player.headimg = var; } } //#CLIENTSIDE function onKeyPressed( code, key ) { if ( key == "t" || key == "T" ) { showTailor(); } } function showTailor() { Tailor_Window.destroy(); new GuiWindowCtrl( "Tailor_Window" ) { profile = "GuiBlueWindowProfile"; width = 370; height = 240; x = screenwidth / 2 - ( width / 2 ); y = screenheight / 2 - ( height / 2 ); title = canMove = canMinimize = useownprofile = canClose = visible = true; canResize = canMaximize = false; profile.transparency = .9; text = "Tailor for" SPC servername; showtop(); new GuiShowImgCtrl( "Tailor_Doll" ) { x = 70; y = 30; ani = "idle"; temp.parts = { "headimg", "shield", "bodyimg" }; for ( temp.a: temp.parts ) { actor.( @ temp.a ) = player.( @ temp.a ); } for ( temp.i = 0; temp.i < 6; temp.i ++ ) { actor.colors[temp.i] = player.colors[temp.i]; } actor.attr[3] = player.attr[3]; } temp.left_parts = { { "Head", "headimg", "headimg" }, { "Body", "bodyimg", "bodyimg" }, { "Shield", "shield", "shieldimg" } }; for ( temp.i = 0; temp.i < temp.left_parts.size(); temp.i++ ) { new GuiTextCtrl( "Tailor_" @ temp.left_parts[temp.i][0] @ "_Text" ) { profile = "GuiBlueTextProfile"; x = 10; y = 90 + ( temp.i * 30 ); useownprofile = true; profile.fontstyle = "bold"; text = temp.left_parts[temp.i][0] @ ":"; } new GuiTextEditCtrl( "Tailor_" @ temp.left_parts[temp.i][0] @ "_Edit" ) { profile = "GuiBlueTextEditProfile"; x = 55; y = 90 + ( temp.i * 30 ); height = 20; width = 100; useownprofile = true; profile.fontstyle = "bold"; this.var = temp.left_parts[temp.i][1]; text = player.( @ temp.left_parts[temp.i][1] ); thiso.catchevent( name, "onTextChanged", "onTailorFill" ); } } temp.colors = { "white", "yellow", "orange", "pink", "red", "darkred", "lightgreen", "green", "darkgreen", "lightblue", "blue", "darkblue", "brown", "cynober", "purple", "darkpurple", "lightgray", "gray", "black", "transparent" }; temp.parts = { "Skin", "Coat", "Sleeves", "Shoes", "Belt" }; temp.player_colors = { player.colors[0], player.colors[1], player.colors[2], player.colors[3], player.colors[4] }; for ( temp.i = 0; temp.i < temp.parts.size(); temp.i ++ ) { new GuiTextCtrl( "Tailor_Text_" @ temp.parts[temp.i] ) { profile = "GuiBlueTextProfile"; x = 180; y = 30 + ( 30 * temp.i ); useownprofile = true; profile.fontstyle = "bold"; text = temp.parts[temp.i] @ ":"; } new GuiPopUpMenuCtrl( "Tailor_PopUp_" @ temp.parts[temp.i] ) { profile = "GuiBluePopUpMenuProfile"; textprofile = "GuiBlueTextListProfile"; scrollprofile = "GuiBlueScrollProfile"; x = 240; y = 30 + ( 30 * temp.i ); width = 100; height = 20; clearRows(); this.var = temp.i; for ( temp.a: temp.colors ) { addRow( 0, temp.a ); } setSelectedRow( temp.player_colors[temp.i] ); thiso.catchevent( name, "onSelect", "onTailorColors" ); } } new GuiButtonCtrl( "Tailor_Accept" ) { profile = "GuiBlueButtonProfile"; x = 65; y = Tailor_Window.height - 55; height = 30; width = 70; text = "Accept"; } new GuiButtonCtrl( "Tailor_Save" ) { profile = "GuiBlueButtonProfile"; x = 145; y = Tailor_Window.height - 55; height = 30; width = 70; text = "Save Outfit"; } new GuiButtonCtrl( "Tailor_Load" ) { profile = "GuiBlueButtonProfile"; x = 225; y = Tailor_Window.height - 55; height = 30; width = 70; text = "Load Outfit"; } } } function Tailor_Save.onAction() { if ( client.outfits.size() < 9 ) { showSave(); } else { player.chat = "You already have 9 outfits, delete some!"; } } function Tailor_Doll.onMouseDown() { button = "left"; if ( button == "left" ) { if ( Tailor_Doll.dir < 3 ) { Tailor_Doll.dir ++; } else { Tailor_Doll.dir = 0; } } else if ( button == "right" ) { if ( Tailor_Doll.dir > 0 ) { Tailor_Doll.dir --; } else { Tailor_Doll.dir = 3; } } } function Tailor_Load.onAction() { if ( client.outfits.size() != -1 ) { showLoad(); } else { player.chat = "You do not have any outfits!"; } } function showSave() { TailorSave_Window.destroy(); TailorLoad_Window.destroy(); new GuiWindowCtrl( "TailorSave_Window" ) { profile = "GuiBlueWindowProfile"; width = 200; height = 200; x = screenwidth / 2 - ( width / 2 ); y = screenheight / 2 - ( height / 2 ); canClose = visible = canMove = true; canMinimize = canMaximize = canResize = false; useownprofile = true; profile.transparency = .9; showtop(); text = "Save Outfit"; new GuiMLTextCtrl( "TailorSave_Label" ) { profile = "GuiBlueTextProfile"; x = 10; y = 28; width = 180; text = "<center><b>Current Outfit</b></center>"; } new GuiShowImgCtrl( "TailorSave_Doll" ) { x = 75; y = 40; ani = "idle"; actor.headimg = Tailor_Doll.actor.headimg; actor.bodyimg = Tailor_Doll.actor.bodyimg; actor.shield = Tailor_Doll.actor.shield; for ( temp.i = 0; temp.i < 5; temp.i ++ ) { actor.colors[temp.i] = Tailor_Doll.actor.colors[temp.i]; } } new GuiMLTextCtrl( "TailorSave_Text" ) { profile = "GuiBlueTextProfile"; width = 180; y = 100; x = 10; useownprofile = parsehtml = true; text = "<center><b>Enter the name you wish to save your current outfit as.</b></center>"; } new GuiTextEditCtrl( "TailorSave_Name" ) { profile = "GuiBlueTextEditProfile"; width = 180; height = 20; x = TailorSave_Window.width / 2 - ( width / 2 ); y = TailorSave_Window.height - 65; useownprofile = true; profile.align = "center"; text = "Outfit" SPC client.outfits.size() + 1; } new GuiButtonCtrl( "TailorSave_Button" ) { profile = "GuiBlueButtonProfile"; width = 50; height = 30; x = TailorSave_Window.width / 2 - ( width / 2 ); y = TailorSave_Window.height - 40; text = "Save"; } } } function showLoad() { TailorSave_Window.destroy(); TailorLoad_Window.destroy(); new GuiWindowCtrl( "TailorLoad_Window" ) { profile = "GuiBlueWindowProfile"; width = 200; height = 240; x = screenwidth / 2 - ( width / 2 ); y = screenheight / 2 - ( height / 2 ); canClose = visible = canMove = true; canMinimize = canMaximize = canResize = false; useownprofile = true; profile.transparency = .9; showtop(); text = "Load Outfit"; new GuiShowImgCtrl( "TailorLoad_Doll" ) { x = 75; y = 30; ani = "idle"; actor.headimg = player.headimg; actor.bodyimg = player.bodyimg; actor.shield = player.shieldimg; for ( temp.i = 0; temp.i < 5; temp.i ++ ) { actor.colors[temp.i] = player.colors[temp.i]; } } new GuiScrollCtrl( "TailorLoad_Scroll" ) { profile = "GuiBlueScrollProfile"; width = 180; height = 100; x = 10; y = 90; vScrollBar = "dynamic"; hScrollBar = "dynamic"; new GuiTextListCtrl( "TailorLoad_List" ) { profile = "GuiBlueTextListProfile"; x = 0; y = 0; width = 180; height = 100; clearRows(); for ( temp.i: client.outfits ) { addRow( 0, temp.i ); } setSelectedRow( 0 ); } } new GuiButtonCtrl( "TailorLoad_Load" ) { profile = "GuiBlueButtonProfile"; x = 30; y = TailorLoad_Window.height - 40; height = 30; width = 50; text = "Load"; } new GuiButtonCtrl( "TailorLoad_Delete" ) { profile = "GuiBlueButtonProfile"; x = 120; y = TailorLoad_Window.height - 40; height = 30; width = 50; text = "Delete"; } } } function TailorLoad_Delete.onAction() { var = TailorLoad_List.getselectedtext(); client.outfits.delete( client.outfits.index( var ) ); player.chat = "Outfit" SPC var SPC "deleted!"; showLoad(); } function TailorLoad_List.onSelect( blah, outfit ) { var = client.( @ "outfit_" @ outfit ); TailorLoad_Doll.actor.headimg = var[0]; TailorLoad_Doll.actor.bodyimg = var[1]; TailorLoad_Doll.actor.shield = var[2]; for ( temp.i = 0; temp.i < 6; temp.i ++ ) { TailorLoad_Doll.actor.colors[temp.i] = var[3 + temp.i]; } } function TailorLoad_Load.onAction() { // Head, Body, Shield, colors[0], colors[1], colors[2], colors[3], colors[4] triggerserver( "gui", name, "setHead", client.( @ "outfit_" @ TailorLoad_List.getselectedtext() )[0] ); triggerserver( "gui", name, "setShield", client.( @ "outfit_" @ TailorLoad_List.getselectedtext() )[2] ); player.bodyimg = client.( @ "outfit_" @ TailorLoad_List.getselectedtext() )[1]; for ( temp.i = 0; temp.i < 5; temp.i ++ ) { player.colors[temp.i] = client.( @ "outfit_" @ TailorLoad_List.getselectedtext() )[3 + temp.i]; } player.chat = "Outfit" SPC TailorLoad_List.getselectedtext() SPC "loaded!"; TailorLoad_Window.destroy(); } function TailorSave_Button.onAction() { if ( client.outfits.index( TailorSave_Name.text ) == -1 ) { client.outfits.add( TailorSave_Name.text ); client.( @ "outfit_" @ TailorSave_Name.text ) = { TailorSave_Doll.actor.headimg, TailorSave_Doll.actor.bodyimg, TailorSave_Doll.actor.shield, TailorSave_Doll.actor.colors[0], TailorSave_Doll.actor.colors[1], TailorSave_Doll.actor.colors[2], TailorSave_Doll.actor.colors[3], TailorSave_Doll.actor.colors[4] }; // Head, Body, Shield, colors[0], colors[1], colors[2], colors[3], colors[4] player.chat = "Outfit" SPC TailorSave_Name.text SPC "saved!"; TailorSave_Window.destroy(); } else { player.chat = "That outfit name is already taken!"; } } function Tailor_Accept.onAction() { player.bodyimg = Tailor_Doll.actor.bodyimg; triggerserver( "gui", name, "setHead", Tailor_Doll.actor.head ); triggerserver( "gui", name, "setShield", Tailor_Doll.actor.shield ); for ( temp.a = 0; temp.a < 5; temp.a ++ ) { player.colors[temp.a] = Tailor_Doll.actor.colors[temp.a]; } Tailor_Window.destroy(); TailorSave_Window.destroy(); } function onTailorColors() { temp.var = ( params[0] ).var; Tailor_Doll.actor.colors[temp.var] = params[3]; } function onTailorFill() { Tailor_Doll.actor.( @ params[0].( "var" ) ) = params[1]; }