FANDOM


Éste es el código del primer addon que he creado utilizando AddOn Studio. He seguido los pasos descritos en uno de los tutoriales de AddOn Studio, en concreto el que puede verse seleccionando Help>Tutorials>Creating your first World of Warcraft AddOn.

Me he encontrado con varios problemas. El primero de ellos es que la opción Build no es capaz de colocar el addon donde debe. Normal, porque la ruta en concreto es de sólo lectura. No quiero que AddOn Studio pueda modificar el contenido de la carpeta de World of Warcraft, así que tendré que encontrar la forma de que sí se puede escribir en la carpeta donde van los addons, pero no en el resto. Complicado por como lo tengo montado.

El segundo problema es que la página de propiedades del addon que veo en el programa no tiene nada que ver con lo que aparece en el tutorial. Posiblemente se trate de que el tutorial fue escrito para una versión anterior de AddOn Studio, quizá no haya que darle más vueltas.

MyFirstAddOn.toc Editar

## Author: Juan Diego
## Interface: 30100
## Title: MyFirstAddOn
## Version: 1.0
Frame.xml
Frame.lua

Frame.xml Editar

<Ui xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.blizzard.com/wow/ui/">
	<Script file="Frame.lua" />
	<Frame name="Frame1" parent="UIParent" toplevel="true" movable="true" enableMouse="true">
		<Size>
			<AbsDimension x="200" y="94" />
		</Size>
		<Anchors>
			<Anchor point="CENTER">
				<Offset x="0" y="53" />
			</Anchor>
		</Anchors>
		<Backdrop bgFile="Interface\DialogFrame\UI-DialogBox-Background" edgeFile="Interface\DialogFrame\UI-DialogBox-Border" tile="true">
			<BackgroundInsets>
				<AbsInset left="11" right="12" top="12" bottom="11" />
			</BackgroundInsets>
			<TileSize>
				<AbsValue val="32" />
			</TileSize>
			<EdgeSize>
				<AbsValue val="32" />
			</EdgeSize>
		</Backdrop>
		<Frames>
			<Button name="Button1" inherits="UIPanelButtonTemplate" text="Close">
				<Size>
					<AbsDimension x="60" y="29" />
				</Size>
				<Anchors>
					<Anchor point="TOPLEFT">
						<Offset x="121" y="-45" />
					</Anchor>
				</Anchors>
				<Scripts>
					<OnClick>Button1_OnClick();</OnClick>
				</Scripts>
			</Button>
		</Frames>
		<Layers>
			<Layer level="OVERLAY">
				<FontString name="FontString1" inherits="GameFontNormal" text="Hello, World!">
					<Size>
						<AbsDimension x="162" y="20" />
					</Size>
					<Anchors>
						<Anchor point="TOPLEFT">
							<Offset x="19" y="-19" />
						</Anchor>
					</Anchors>
				</FontString>
			</Layer>
		</Layers>
		<Scripts>
			<OnLoad>Frame1_OnLoad();</OnLoad>
			<OnDragStart>self:StartMoving();</OnDragStart>
			<OnDragStop>self:StopMovingOrSizing();</OnDragStop>
			<OnEvent>Frame1_OnEvent();</OnEvent>
		</Scripts>
	</Frame>
</Ui>

Frame.lua Editar

-- Author      : Juan Diego
-- Create Date : 5/30/2009 3:49:36 PM
 
 
function Frame1_OnLoad()
	this:RegisterEvent("PLAYER_TARGET_CHANGED"); 
end
 
function Frame1_OnEvent()
	if (event == "PLAYER_TARGET_CHANGED") then
		FontString1:SetText("Hello " .. UnitName("target") .. "!");
	end
end
 
function Button1_OnClick()
	Frame1:Hide();
end
El contenido de la comunidad está disponible bajo CC-BY-SA a menos que se indique lo contrario.