重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
一般按了TMM 1的话 地图会全开 如果退出就会进不去。所以必须重新读档 再按TMM 0 就会什么地图都没有
成都创新互联是一家集网站建设,乌兰企业网站建设,乌兰品牌网站建设,网站定制,乌兰网站建设报价,网络营销,网络优化,乌兰网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
tmm1,中间有个空格。如果输入tmm空格0的话,就是地图全闭的状态。控制台是按键盘左上角“-”键,输入前面说的代码,然后按Enter就可以了。适合玩家前期使用,可以看到地图上的所有可到达位置。
togglemapmarkers - 开关显示地图上全部位置
savegame [filename] - 存档到名称为[filename]的文件
prid 锁定指定的目标进行命令操作
resurrect - 复活该目标
moveto player - 移动目标到身边
togglemapmarkers 0/1
开关显示地图上全部位置,0是地图全关,1是全开
你试试,这个我电脑上存的,好长时间没玩了,
用java写一个地图编辑器
记得媒体在采访c++之父的时候,他说作为程序员,要相信自己能够解决已经理解的任何事情.
换句话说:您可以解决任何问题,只要想得明白
现实问题:开发一个基于地砖的二维游戏的地图编辑器,要求生成两个binary文件,各包含一个二维数组,*.map存放地砖,花花草草什么的.*.item放道具,比如某个点可能会触发一个事件.很简单,随便写.看到这里您已经大致明白程序的整体结构.
计算机语言:java.
要理解事件必须分析
初步来看,地图编辑器:生成某种形式的若干数组,无论是哪种形式的数组,你的目的:
生成数组.地图是实际是一个(x,y)的二维坐标系,这很容易让人联系到:亦无论
我准备把设置两个程序界面(主界面/map界面),java的布局管理器不好摆弄,不如分开两个class,主界面用jbuilder自动创建的application模块(带菜单).map界面自己写,也是jframe,类之间相互传递消息,map界面将在程序开始时被初始化,也可以在程序从主界面中初始化(有问题)
构建程序
以下内容为程序代码:
basepanel.setlayout(new gridlayout(5, 5));
for (byte i = 0; i 9; i++) {
basemapbutton[i] = new
((icon) pic.getimageicon(i, 0));
basemapbutton[i].setbuttontitle(i);
basemapbutton[i].addactionlistener(buttonlistener);
basepanel.add(basemapbutton[i]);
}
itempanel.setlayout(new gridlayout(5, 5));
for (byte i = 0; i 3; i++) {
itemmapbutton[i] = new mapbutton((icon) pic.getimageicon(i, 1));
itemmapbutton[i].setbuttontitle(i);
itemmapbutton[i].addactionlistener(buttonlistener1);
itempanel.add(itemmapbutton[i]);
}
tabbedpane.addtab("bases", basepanel);
tabbedpane.addtab("items", itempanel);
contentpane.add(tabbedpane, borderlayout.center);
有两个地方要解释:
mapbutton:自己写的一个类
以下内容为程序代码:
import javax.swing.icon;
import javax.swing.jbutton;
public class mapbutton extends jbutton {
public mapbutton() {
super();
}
public mapbutton(string arg0) {
super(arg0);
}
public mapbutton(action arg0) {
super(arg0);
}
public mapbutton(icon arg0) {
super(arg0);
}
public mapbutton(string arg0, icon arg1) {
super(arg0, arg1);
}
public byte width, height;
//public pic_w, pic_y;
public void setbuttontitle(byte w, byte h) {
width = w;
height = h;
}
public void setbuttontitle(byte w){
width =w;
}
public byte getbuttonwidth() {
return width;
}
public byte getbuttonheight() {
return height;
}
}
pic:自己写的mappic类的intance:
以下内容为程序代码:
package com.nenghe.mapeditor;
import javax.swing.imageicon;
public class mappic {
imageicon[] baseimages;
imageicon[] itemimages;
imageicon image1;
public mappic() {
init();
}
public void init() {
baseimages = new imageicon[9];
baseimages[0] = new imageicon(mappic.class.getresource("m1.png"/images/wink.gif[/img]);
baseimages[1] = new imageicon(mappic.class.getresource("m2.png"/images/wink.gif[/img]);
baseimages[2] = new imageicon(mappic.class.getresource("m3.png"/images/wink.gif[/img]);
baseimages[3] = new imageicon(mappic.class.getresource("m4.png"/images/wink.gif[/img]);
baseimages[4] = new imageicon(mappic.class.getresource("m5.png"/images/wink.gif[/img]);
baseimages[5] = new imageicon(mappic.class.getresource("m6.png"/images/wink.gif[/img]);
baseimages[6] = new imageicon(mappic.class.getresource("m7.png"/images/wink.gif[/img]);
baseimages[7] = new imageicon(mappic.class.getresource("m8.png"/images/wink.gif[/img]);
baseimages[8] = new imageicon(mappic.class.getresource("m9.png"/images/wink.gif[/img]);
itemimages = new imageicon[3];
itemimages[0] = new imageicon(mappic.class.getresource("error.png"/images/wink.gif[/img]);
itemimages[1] = new imageicon(mappic.class.getresource("i1.png"/images/wink.gif[/img]);
itemimages[2] = new imageicon(mappic.class.getresource("i2.png"/images/wink.gif[/img]);
}
public imageicon getimageicon(int x, int flags) {
if (flags == 0) {
return baseimages[x];
} else if (flags == 1) {
return itemimages[x];
}
return null;
}
}
写mapbutton在于处理事件的时候可以准确的获得按钮的坐标,忘了说了,map界面中我是用按钮代替地图方格的.这是很容易想到的,最笨也是最省力的办法
pic单独写好改,什么时候内容改变了,很容易改,硬要合写没有也随便.
下面就是事件了
有两个事件要处理,第一个是按钮事件,第二个菜单事件
按钮事件我套用这样的结构
以下内容为程序代码:
actionlistener buttonlistener = new actionlistener() {
public void actionperformed(actionevent e) {
//system.out.println(e.tostring());
mapbutton pressedbutton = (mapbutton) e.getsource();
mapdraw.temp_x = pressedbutton.getbuttonwidth();
mapdraw.temp_y = 0;
//system.out.println(mapdraw.temp_x+" "+mapdraw.temp_y);
}
};
....
basemapbutton[i].addactionlistener(buttonlistener);
jbuilder中把按钮事件事件单独生成一个类,我不明白,看不懂.真的很高深.
菜单事件模型jbuilder自己加的.overwrite
以下内容为程序代码:
public void *_actionperformed(actionevent e) {...}
用两个中间值从主界面向map界面传递按了什么:
这里是map界面中的按钮的事件处理程序
以下内容为程序代码:
actionlistener buttonlistener = new actionlistener() {
public void actionperformed(actionevent e) {
mapbutton pressedbutton = (mapbutton) e.getsource();
pressedwidth = pressedbutton.getbuttonwidth();
pressedheight = pressedbutton.getbuttonheight();
if (temp_y == 0) {
if (item[pressedwidth][pressedheight] != 0) {
item[pressedwidth][pressedheight] = 0;
jfm.showmessage("这里的道具已被置空!\nthe item has been null!"/images/wink.gif[/img];
}
map[pressedwidth][pressedheight] = temp_x;
pressedbutton.seticon((icon) pic.getimageicon(temp_x,
temp_y));
} else {
if (map[pressedwidth][pressedheight] == 0) {
jfm.showmessage("道具不能放在这!\nnot put item at this point!"/images/wink.gif[/img];
} else {
if (temp_x == 0) {
byte value = map[pressedwidth][pressedheight];
item[pressedwidth][pressedheight] = 0;
pressedbutton.seticon((icon) pic.getimageicon(
value, 0));
} else {
pressedbutton.seticon((icon) pic.getimageicon(
temp_x, temp_y));
item[pressedwidth][pressedheight] = temp_x;
}
}
}
}
};
请问两个中间值是什么呢?一目了然哦
最后是生成map
以下内容为程序代码:
public void createmap() throws ioexception {
try {
dataoutputstream mapbinaryfile = new dataoutputstream(
new fileoutputstream(mapeditor.filename + "map"/images/wink.gif[/img]);
dataoutputstream itembinaryfile = new dataoutputstream(
new fileoutputstream(mapeditor.filename + "item"/images/wink.gif[/img]);
mapbinaryfile.writebyte(width);
mapbinaryfile.writebyte(height);
for (byte i = 0; i height; i++)
for (byte j = 0; j width; j++) {
//system.out.println(i+" "+j);
byte mapvalue = map[i][j];
byte itemvalue = item[i][j];
if (mapvalue != 0) {
system.out.println(i+" "+j+" "+ mapvalue);
mapbinaryfile.writebyte(j);
mapbinaryfile.writebyte(i);
mapbinaryfile.writebyte(mapvalue);
}
if (itemvalue != 0) {
itembinaryfile.writebyte(j);//x
itembinaryfile.writebyte(i);//y
itembinaryfile.writebyte(itemvalue);
}
}
mapbinaryfile.close();
itembinaryfile.close();
} catch (eofexception e) {
system.err.println("error"/images/wink.gif[/img];
}
}
会不会太多?
一.控制台常用代码
player.modav health # 生命
player.modav stamina # 耐力
player.modav magicka # 魔法
player.setav healrate # 生命恢复速度 默认0.7 (打个10战斗中基本血马上就恢复满)
player.setav magickarate # 魔法恢复速度默认3.0
player.setav staminarate # 耐力恢复速度默认20.0
恢复速率的每次进游戏都要打
player.forceav healrate # 改成这种之后每次进游戏就不用再输入了
行走速度: player.setav speedmult # 默认100
添加开锁器:player.additem a 999
添加金钱:player.additem 0000000f 99999
负重:player.forceav carryweight 99999
调出改变种族窗口:showracemenu
身高调整:setscale 1.05(先点选角色!标准身高1.00)
复活:resurrect
开锁:unlock
地图全开:tmm 1(0为全关闭)
无敌:tgm
穿墙:tcl
拍照视角:tfc
TM开关所有菜单(建议截图时使用)
SexChange变性
set timescale to # 将游戏时间设为真实时间的#倍。建议设为1,游戏世界时间流逝的速度和真实世界一样,更有代入感
player.setav dragonsouls # 龙魂数量
player.setav shoutrecoverymult 0 龙吼无cd
player.AddItem 00000000 #得到代号00000000的物品#个
player.AddSpell 00000000 得到代号00000000的魔法
player.removeitem FormID # 从你身上移除代号为FormID的物品#个
player.removespell FormID 移除代号为FormID的魔法
resurrect 复活你鼠标所选择的人或怪
player.setcrimegold 0 清掉自己头上的赏金。要注意的是如果正被守卫追赶,则必须离开城市再回来指令才会生效。
player.payfine 守卫停止攻击,你头上的赏金清除。
coc qasmoke 会把你传去一个拥有所有游戏物品 所有制造器具的房间
挑完后再用coc传送命令传出来
比如coc dawnstar coc winterhlem coc riverwood
二.特技
player.addperk FormID 添加特技
player.removeperk FormID 移除特技
player.setav onehanded 100 : 单手武器(One-Handed)
player.setav twohanded 100 : 双手武器(Two-Handed)
player.setav alteration 100 : 变化系(Alteration)
player.setav conjuration 100 : 召唤系(Conjuration)
player.setav destruction 100 : 毁灭系(Destruction)
player.setav enchanting 100 : 附魔(Enchanting)
player.setav illusion 100 : 迷幻系(Illusion)
player.setav restoration 100 : 回复系(Restoration)
player.setav marksman 100 : 箭术(Archery)
player.setav block 100 : 格挡(Block)
player.setav heavyarmor 100 : 重甲(Heavy Armor)
player.setav smithing 100 : 锻造(Smithing)
player.setav alchemy 100 : 炼金术(Alchemy)
player.setav lightarmor 100 : 轻甲(Light Armor)
player.setav lockpicking 100 : 开锁(Lockpicking)
player.setav pickpocket 100 : 偷窃(Pickpocket)
player.setav sneak 100 : 潜行(Sneak)
player.setav speechcraft 100 : 口才(Speech)
炼金术(Alchemy):特技总数15
player.addperk BE127 : Alchemist炼金术士1---自制药水和毒剂效果提升20%
player.addperk C07CA : Alchemist炼金术士2---自制药水和毒剂效果提升40%
player.addperk C07CB : Alchemist炼金术士3---自制药水和毒剂效果提升60%
player.addperk C07CC : Alchemist炼金术士4---自制药水和毒剂效果提升80%
player.addperk C07CD : Alchemist炼金术士5---自制药水和毒剂效果提升100%
player.addperk 58215 : Physician医师---自制药水对生命魔法耐力回复效果提升25%
player.addperk 58216 : Benefactor增益---自制药水的有益效果提升25%
player.addperk 58217 : Poisoner毒物---自制毒剂效果提升25%
player.addperk 58218 : Experimenter试药1---服用素材可知其前2个的效果
player.addperk 105F2A : Experimenter试药2---服用素材可知其前3个的效果
player.addperk 105F2B : Experimenter试药3---服用素材可知其前4个的效果
player.addperk 105F2F : Concentrated Poison剧毒---武器淬毒有效攻击次数加倍
player.addperk 105F2E : Green Thumb园艺---从植物中可采集到两份素材
player.addperk 105F2C : Snakeblood蛇血---抗毒增加50%
player.addperk 5821D : Purity提纯---消除自制药水的所有副作用和自制毒剂的所有有益效果
箭术(Archery):特技总数16
player.addperk BABED : Overdraw神臂1---增加弓箭伤害20%
player.addperk 7934A : Overdraw神臂2---增加弓箭伤害40%
player.addperk 7934B : Overdraw神臂3---增加弓箭伤害60%
player.addperk 7934D : Overdraw神臂4---增加弓箭伤害80%
player.addperk 79354 : Overdraw神臂5---增加弓箭伤害100%
player.addperk 58F61 : Eagle Eye鹰眼---瞄准时按下格挡键可以缩距
player.addperk 103ADA : Steady Hand持弓1---缩距瞄准状态下时间减慢25%
player.addperk 103ADB : Steady Hand持弓2---缩距瞄准状态下时间减慢..不知道
player.addperk 105F1C : Critical Shot夺命箭1---10%致命一击
player.addperk 105F1E : Critical Shot夺命箭2---15%致命一击(应该是?)
player.addperk 105F1F : Critical Shot夺命箭3---20%致命一击(应该是?)
player.addperk 58F62 : Power Shot强弓---50%几率使敌人站立不稳,对大型敌人无效
player.addperk 105F19 : Quick Shot速射---拉弓速度增加30%
player.addperk 51B12 : Hunter's Discipli猎人训练---可从尸体上取回双倍的箭支
player.addperk 58F63 : Ranger游侠---提高拉弓状态下的移动速度
player.addperk 58F64 : Bullseye神射---15%几率使目标麻痹几秒
格挡(Block):特技总数13
player.addperk BCCAE : Shield Wall 盾墙 1---格挡效果提升20%
player.addperk 79355 : Shield Wall 盾墙 2---格挡效果提升40%
player.addperk 79356 : Shield Wall 盾墙 3---格挡效果提升60%
player.addperk 79357 : Shield Wall 盾墙 4---格挡效果提升80%
player.addperk 79358 : Shield Wall 盾墙 5---格挡效果提升100%
player.addperk D8C33 : Quick Reflexes 快速反应---遭到重击时格挡会使时间减慢
player.addperk 58F68 : Deflect Arrows 御箭---击中盾牌的箭支不构成伤害
player.addperk 58F69 : Elemental Protection 元素防护---举盾格挡下火冰电伤害减半
player.addperk 106253 : Block Runner 奔跑防御---举盾状态下移动速度加快
player.addperk 58F6A : Shield Charge 冲刺盾击---举盾状态下加速可以撞倒大多数敌人
player.addperk 58F67 : Power Bash 强力盾击---可以使用强力盾击
player.addperk 5F594 : Deadly Bash 致命盾击---盾击造成5倍伤害
player.addperk 58F66 : Disarming Bash 缴械盾击---强力盾击有几率解除对方武器
附魔(Enchanting):特技总数13
player.addperk BEE97 : Enchanter附魔师---新的附魔效果提升20%
player.addperk C367C : Enchanter附魔师---新的附魔效果提升40%
player.addperk C367D : Enchanter附魔师---新的附魔效果提升60%
player.addperk C367E : Enchanter附魔师---新的附魔效果提升80%
player.addperk C367F : Enchanter附魔师---新的附魔效果提升100%
player.addperk 58F80 : Fire Enchanter烈火附魔---武器和防具上的火焰类附魔效果提升25%
player.addperk 58F7E : Insightful Enchanter技艺附魔---防具上的技能类附魔效果提升25%
player.addperk 58F7D : Corpus Enchanter体质附魔---防具上的命魔耐附魔效果提升25%
player.addperk 58F81 : Frost Enchanter寒冰附魔---武器防具上的冰冻类附魔效果提升25%
player.addperk 58F82 : Storm Enchanter风暴附魔---武器和防具上的闪电类附魔效果提升25%
player.addperk 58F7C : Soul Squeezer灵魂榨取---灵魂石充能时提供额外能量
player.addperk 108A44 : Soul Siphon灵魂吸收---对非人类目标使用终结技科自动吸收对方5%的灵魂为武器充能
player.addperk 58F7F : Extra Effect额外效果---一件物品可以有两种附魔
重甲(Heavy Armor):特技总数12
player.addperk 7935E : Juggernaut铁壁1---增加重甲护甲值20%
player.addperk 79361 : Juggernaut铁壁2---增加重甲护甲值40%
player.addperk 79362 : Juggernaut铁壁3---增加重甲护甲值60%
player.addperk 79374 : Juggernaut铁壁4---增加重甲护甲值80%
player.addperk BCD2A : Juggernaut铁壁5---增加重甲护甲值100%
player.addperk 58F6E : Fists of Steel铁拳---重甲手套会在徒手攻击时根据护甲值造成额外伤害
player.addperk 58F6F : Well Fitted合身---全身均装备重甲时会有25%的护甲值加成
player.addperk 58F6C : Tower of Strength力量之塔---只穿重甲时站立不稳几率下降50%
player.addperk 107832 : Matching Set套装---全身重甲组成套装(材料相同)时有额外25%护甲值加成
player.addperk 105F33 : Reflect Blows反弹攻击---全身均装备重甲时有10%几率反弹近战伤害
player.addperk BCD2B : Cushioned缓冲---全身均装备重甲时从高处跌落所受伤害减半
player.addperk 58F6D : Conditioning调和---重甲装备时不计重量且不影响移动速度
轻甲(Light Armor):特技总数10
player.addperk BE123 : Agile Defender灵敏防卫1---增加轻甲护甲值20%
player.addperk 79376 : Agile Defender灵敏防卫2---增加轻甲护甲值40%
player.addperk 79389 : Agile Defender灵敏防卫3---增加轻甲护甲值60%
player.addperk 79391 : Agile Defender灵敏防卫4---增加轻甲护甲值80%
player.addperk 79392 : Agile Defender灵敏防卫5---增加轻甲护甲值100%
player.addperk 51B1B : Custom Fit量身定做---全身均装备轻甲时有25%护甲加成
player.addperk 51B1C : Unhindered伸展无碍---轻甲装备时不计重量且不影响移动速度
player.addperk 105F22 : Wind Walker疾风步---全身均装备轻甲时耐力恢复速度提升50%
player.addperk 51B17 : Matching Set套装---全身轻甲组成套装(材料相同)时有额外的25%护甲值加成
player.addperk 107831 : Deft Movement神行百变---全身均装备轻甲时有10%几率避免一次近战攻击的全部伤害
开锁(Lockpicking):特技总数11
player.addperk F392A : Novice Locks新手开锁---大大降低新手等级开锁难度
player.addperk BE125 : Apprentice Locks学徒开锁---大大降低学徒等级开锁难度
player.addperk 106259 : Quick Hands眼疾手快---开锁不会被注意到
player.addperk 107830 : Wax Key复制钥匙---如果打开的锁有钥匙,自动获得一把复制品
player.addperk C3680 : Adept Locks老手开锁---大大降低老手等级开锁难度
player.addperk 5820A : Golden Touch点石成金---宝箱中可以找到更多钱
player.addperk 105F26 : Treasure Hunter宝藏猎人---找到特殊财宝的几率增加50%
player.addperk C3681 : Expert Locks专家开锁---大大降低专家等级开锁难度
player.addperk 58208 : Locksmith锁匠---开锁器的起始位置接近正确位置
player.addperk 58209 : Unbreakable金刚开锁器---开锁器无敌了。。
player.addperk C3682 : Master Locks大师开锁---大大降低大师等级开锁难度
单手武器(One-Handed):特技总数21
player.addperk BABE4 : Armsman武士1---增加单手武器伤害20%
player.addperk 79342 : Armsman武士2---增加单手武器伤害40%
player.addperk 79343 : Armsman武士3---增加单手武器伤害60%
player.addperk 79344 : Armsman武士4---增加单手武器伤害80%
player.addperk 79345 : Armsman武士5---增加单手武器伤害100%
player.addperk 3FFFA : Hack and Slash劈砍1---单手斧攻击造成额外的出血伤害
player.addperk C3678 : Hack and Slash劈砍2---单手斧攻击造成额外的出血伤害
player.addperk BE124 : Light Fingers巧手1---偷窃成功率加成20%
pdperk CB411 : Glass Smithing玻璃材料锻造---可以制作玻璃盔甲和武器,并使强
player.addperk BE126 : Stealth隐匿1---潜行被发现难度提升20%
player.addperk C07C6 : Stealth隐匿2---潜行被发现难度提升40%
player.addperk C07C7 : Stealth隐匿3---潜行被发现难度提升60%
player.addperk C07C8 : Stealth隐匿4---潜行被发现难度提升80%
player.addperk C07C9 : Stealth隐匿5---潜行被发现难度提升100%
player.addperk 58210 : Backstab背刺---单手武器潜行攻击造成6倍伤害
player.addperk 58213 : Muffled Movement悄声移动---盔甲噪音降低50%
player.addperk 5820C : Light Foot轻盈脚步---不会触发压力陷阱
player.addperk 1036F0 : Deadly Aim狙击---弓箭潜行攻击造成3倍伤害
player.addperk 58211 : Assassin’s Blade刺客利刃---匕首潜行攻击造成15倍伤害
player.addperk 105F23 : Silent Roll悄声翻滚---潜行中加速会做出悄无声息的前滚翻
player.addperk 105F24 : Silence无声无息---走或跑都不影响被发现的几率
player.addperk 58214 : Shadow Warrior暗影斗士---蹲伏会暂时停止战斗,并让远处的敌人
双手武器(Two-Handed):特技总数19
上古卷轴5有显示世界地图全部据点的代码
打开控制台 输入tmm 1 地图就全开了
《上古卷轴5:天际》 拥有高自由度,游戏设定在《上古卷轴4》的200年之后,随着天际省之王的暗杀,诺德内部出现了内战。大部分诺德人意图让天际省脱离帝国。诺德内战是上古卷轴的终极预兆,古诺德毁灭之神Alduin的回归,现已呈现为龙的形态。Alduin拥有一支苍龙军团,名为Jill。
距今两百年前,在《上古卷轴4:湮没》的主线剧情后,被4代主角扶持的国王马丁失踪。
不久后,统治整片Tamriel(塔玛瑞尔)大陆的帝国分裂,各省独立。
一位英雄出现,征战四方,重新统一了帝国。
距今三十年前,Aldmeri Dominion与帝国展开了战争。Aldmeri Dominion是一个在南方由高等精灵组成的极端种族主义政权。这个政权的政府代表叫做Thalmor,Thalmor在5代里占有很大的剧情。
帝国在与Thalmor(梭默)的战争中处于弱势。
国王懦弱(Skyrim(天际)的诺德人普遍认为),帝国与Thalmor(梭默)签署了不平等的和平条约。不过就算在和平条约下,Thalmor(梭默)也一直在变相间接地削弱帝国的实力。
和平条约的内容就是让帝国废除并禁止TALOS的信仰,TALOS的信徒则被视为异教徒而遭到Thalmor的迫害。DIVINE(圣神)TALOS也就是帝国的开国元勋Tiber Septim,他死后被人民神化为DIVINE,之后TALOS信仰几乎吞没了其他八位正牌DIVINE的信仰。Thalmor则重新扶植了原来八位DIVINE的信仰。
因为TALOS,也就是Tiber Septim是诺德人,所以TALOS的信仰在诺德人的家乡Skyrim非常普及。很多诺德人开始对帝国不满,因为他们认为帝国对Thalmor的让步是懦弱的行为,而且TALOS信仰的废除无疑触及了他们的底线。Windhelm(风盔)领主的Ulfric Stormcloak(乌弗瑞克·风暴斗篷)就是一位典型的代表人物。
距今不久,Ulfric Stormcloak(乌弗瑞克·风暴斗篷)打算推翻帝国对Skyrim(天际)的统治。
Ulfric使用战吼挑战并杀死了服从帝国的Skyrim高阶领主(high king)。由于诺德人的习俗,Ulfric Stormcloak理论上应被拥立为Skyrim新的高阶领主。
当然诺德人的习俗并不代表帝国。于是利用诺德人对帝国的厌恶,Ulfric Stormcloak组织了Stormcloak帝国反抗军。Stormcloak占领了整个Skyrim的半个东侧,与西侧的帝国死忠派对持。Skyrim内战开始。
有证据表明是Thalmor暗中利用并扶植了Ulfric Stormcloak,但作为一个纯正的诺德人,Ulfric显然不想做他所憎恨的Thalmor的傀儡,所以Ulfric拒绝与Thalmor联络。
不过只要帝国与Stormcloak的战争一直持续,Thalmor就不会干涉Stormcloak,因为Thalmor的核心利益是削弱帝国,使其内耗。根据情况Thalmor还会继续在暗中支持Stormcloak。
Whiterun的领主(5代主线任务里让主角去杀第一条龙的领主)由于地理位置(被夹在中间)而暂时保持中立。
帝国从Cyridol调来了经验丰富的将军Tullius(图留斯)去对抗Stormcloak。
战争继续僵持。
Ulfric的一个手下被买通,在一场Tullius设计的伏击中Ulfric Stormcloak被捕获
5代的主角恰巧和Ulfric Stormcloak被押上了同一辆送往刑场的囚车。