這裡蒐索程式師資訊,查找有用的技術資料
当前位置:首页 » 网页前端 » hue脚本
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

hue脚本

发布时间: 2022-10-23 21:53:53

❶ rmxp 有没有什么脚本可以做出来像仙一一样几个主角一起在地图里面走的

人物跟随脚本,再脚本库MAIN前插入:
#脚本功能:人物跟随
#使用方法:全选后在脚本中新建一个类,将全部内容插入
#效果:在游戏中当伙伴加入的时候,会跟随在主角的后面
#版权:请参考脚本自带主页,有任何版权纠纷,本站不负任何责任。

# ▼▲▼ XRXS13. パーティ列车移动 ver.1.02 ▼▲▼
# by fukuyama

#
# Train_Actor
#
# fukuyama@alles.or.jp
# http://www4.big.or.jp/~fukuyama/rgss/Train_Actor.txt

mole Train_Actor

TRANSPARENT_SWITCH = false
TRANSPARENT_SWITCHES_INDEX = 20
TRAIN_ACTOR_SIZE_MAX = 4
#Input::DOWN = 2
#Input::LEFT = 4
#Input::RIGHT = 6
#Input::UP = 6
DOWN_LEFT = 1
DOWN_RIGHT = 3
UP_LEFT = 7
UP_RIGHT = 9
JUMP = 5

class Game_Party_Actor < Game_Character
def initialize
super()
@through = true
end
def setup(actor)
# キャラクターのファイル名と色相を设定
if actor != nil
@character_name = actor.character_name
@character_hue = actor.character_hue
else
@character_name = ""
@character_hue = 0
end
# 不透明度と合成方法を初期化
@opacity = 255
@blend_type = 0
end
def screen_z(height = 0)
if $game_player.x == @x and $game_player.y == @y
return $game_player.screen_z(height) - 1
end
super(height)
end
#--------------------------------------------------------------------------
# ● 下に移动
# turn_enabled : その场での向き変更を许可するフラグ
#--------------------------------------------------------------------------
def move_down(turn_enabled = true)
# 下を向く
if turn_enabled
turn_down
end
# 通行可能な场合
if passable?(@x, @y, Input::DOWN)
# 下を向く
turn_down
# 座标を更新
@y += 1
end
end
#--------------------------------------------------------------------------
# ● 左に移动
# turn_enabled : その场での向き変更を许可するフラグ
#--------------------------------------------------------------------------
def move_left(turn_enabled = true)
# 左を向く
if turn_enabled
turn_left
end
# 通行可能な场合
if passable?(@x, @y, Input::LEFT)
# 左を向く
turn_left
# 座标を更新
@x -= 1
end
end
#--------------------------------------------------------------------------
# ● 右に移动
# turn_enabled : その场での向き変更を许可するフラグ
#--------------------------------------------------------------------------
def move_right(turn_enabled = true)
# 右を向く
if turn_enabled
turn_right
end
# 通行可能な场合
if passable?(@x, @y, Input::RIGHT)
# 右を向く
turn_right
# 座标を更新
@x += 1
end
end
#--------------------------------------------------------------------------
# ● 上に移动
# turn_enabled : その场での向き変更を许可するフラグ
#--------------------------------------------------------------------------
def move_up(turn_enabled = true)
# 上を向く
if turn_enabled
turn_up
end
# 通行可能な场合
if passable?(@x, @y, Input::UP)
# 上を向く
turn_up
# 座标を更新
@y -= 1
end
end
#--------------------------------------------------------------------------
# ● 左下に移动
#--------------------------------------------------------------------------
def move_lower_left
# 向き固定でない场合
unless @direction_fix
# 右向きだった场合は左を、上向きだった场合は下を向く
@direction = (@direction == Input::RIGHT ? Input::LEFT : @direction == Input::UP ? Input::DOWN : @direction)
end
# 下→左、左→下 のどちらかのコースが通行可能な场合
if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or
(passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN))
# 座标を更新
@x -= 1
@y += 1
end
end
#--------------------------------------------------------------------------
# ● 右下に移动
#--------------------------------------------------------------------------
def move_lower_right
# 向き固定でない场合
unless @direction_fix
# 左向きだった场合は右を、上向きだった场合は下を向く
@direction = (@direction == Input::LEFT ? Input::RIGHT : @direction == Input::UP ? Input::DOWN : @direction)
end
# 下→右、右→下 のどちらかのコースが通行可能な场合
if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or
(passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN))
# 座标を更新
@x += 1
@y += 1
end
end
#--------------------------------------------------------------------------
# ● 左上に移动
#--------------------------------------------------------------------------
def move_upper_left
# 向き固定でない场合
unless @direction_fix
# 右向きだった场合は左を、下向きだった场合は上を向く
@direction = (@direction == Input::RIGHT ? Input::LEFT : @direction == Input::DOWN ? Input::UP : @direction)
end
# 上→左、左→上 のどちらかのコースが通行可能な场合
if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or
(passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP))
# 座标を更新
@x -= 1
@y -= 1
end
end
#--------------------------------------------------------------------------
# ● 右上に移动
#--------------------------------------------------------------------------
def move_upper_right
# 向き固定でない场合
unless @direction_fix
# 左向きだった场合は右を、下向きだった场合は上を向く
@direction = (@direction == Input::LEFT ? Input::RIGHT : @direction == Input::DOWN ? Input::UP : @direction)
end
# 上→右、右→上 のどちらかのコースが通行可能な场合
if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or
(passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP))
# 座标を更新
@x += 1
@y -= 1
end
end
attr_writer :move_speed
attr_writer :step_anime
end
mole Spriteset_Map_Mole
def setup_actor_character_sprites?
return @setup_actor_character_sprites_flag != nil
end
def setup_actor_character_sprites(characters)
if !setup_actor_character_sprites?
index_game_player = 0
@character_sprites.each_index do |i|
if @character_sprites.character.instance_of?(Game_Player)
index_game_player = i
break
end
end
for character in characters.reverse
@character_sprites.unshift(
Sprite_Character.new(@viewport1, character)
)
end
@setup_actor_character_sprites_flag = true
end
end
end
mole Scene_Map_Mole
def setup_actor_character_sprites(characters)
@spriteset.setup_actor_character_sprites(characters)
end
end
mole Game_Party_Mole
def set_transparent_actors(transparent)
@transparent = transparent
end
def setup_actor_character_sprites
if @characters == nil
@characters = []
for i in 1 ... TRAIN_ACTOR_SIZE_MAX
@characters.push(Game_Party_Actor.new)
end
end
for i in 1 ... TRAIN_ACTOR_SIZE_MAX
@characters[i - 1].setup(actors)
end
if $scene.class.method_defined?('setup_actor_character_sprites')
$scene.setup_actor_character_sprites(@characters)
end
end
def update_party_actors
setup_actor_character_sprites
transparent = $game_player.transparent
if transparent == false
if TRANSPARENT_SWITCH
transparent = $game_switches[TRANSPARENT_SWITCHES_INDEX]
end
end
for character in @characters
character.transparent = transparent
character.move_speed = $game_player.move_speed
character.step_anime = $game_player.step_anime
character.update
end
end
def moveto_party_actors( x, y )
setup_actor_character_sprites
for character in @characters
character.moveto( x, y )
end
if @move_list == nil
@move_list = []
end
move_list_setup
end
def move_party_actors
if @move_list == nil
@move_list = []
move_list_setup
end
@move_list.each_index do |i|
if @characters != nil
case @move_list.type
when Input::DOWN
@characters.move_down(@move_list.args[0])
when Input::LEFT
@characters.move_left(@move_list.args[0])
when Input::RIGHT
@characters.move_right(@move_list.args[0])
when Input::UP
@characters.move_up(@move_list.args[0])
when DOWN_LEFT
@characters.move_lower_left
when DOWN_RIGHT
@characters.move_lower_right
when UP_LEFT
@characters.move_upper_left
when UP_RIGHT
@characters.move_upper_right
when JUMP
@characters.jump(@move_list.args[0],@move_list.args[1])
end
end
end
end
class Move_List_Element
def initialize(type,args)
@type = type
@args = args
end
def type() return @type end
def args() return @args end
end
def move_list_setup
for i in 0 .. TRAIN_ACTOR_SIZE_MAX
@move_list = nil
end
end
def add_move_list(type,*args)
@move_list.unshift(Move_List_Element.new(type,args)).pop
end
def move_down_party_actors(turn_enabled = true)
move_party_actors
add_move_list(Input::DOWN,turn_enabled)
end
def move_left_party_actors(turn_enabled = true)
move_party_actors
add_move_list(Input::LEFT,turn_enabled)
end
def move_right_party_actors(turn_enabled = true)
move_party_actors
add_move_list(Input::RIGHT,turn_enabled)
end
def move_up_party_actors(turn_enabled = true)
move_party_actors
add_move_list(Input::UP,turn_enabled)
end
def move_lower_left_party_actors
move_party_actors
add_move_list(DOWN_LEFT)
end
def move_lower_right_party_actors
move_party_actors
add_move_list(DOWN_RIGHT)
end
def move_upper_left_party_actors
move_party_actors
add_move_list(UP_LEFT)
end
def move_upper_right_party_actors
move_party_actors
add_move_list(UP_RIGHT)
end
def jump_party_actors(x_plus, y_plus)
move_party_actors
add_move_list(JUMP,x_plus, y_plus)
end
end
mole Game_Player_Mole
def update
$game_party.update_party_actors
super
end
def moveto( x, y )
$game_party.moveto_party_actors( x, y )
super( x, y )
end
def move_down(turn_enabled = true)
if passable?(@x, @y, Input::DOWN)
$game_party.move_down_party_actors(turn_enabled)
end
super(turn_enabled)
end
def move_left(turn_enabled = true)
if passable?(@x, @y, Input::LEFT)
$game_party.move_left_party_actors(turn_enabled)
end
super(turn_enabled)
end
def move_right(turn_enabled = true)
if passable?(@x, @y, Input::RIGHT)
$game_party.move_right_party_actors(turn_enabled)
end
super(turn_enabled)
end
def move_up(turn_enabled = true)
if passable?(@x, @y, Input::UP)
$game_party.move_up_party_actors(turn_enabled)
end
super(turn_enabled)
end
def move_lower_left
# 下→左、左→下 のどちらかのコースが通行可能な场合
if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::LEFT)) or
(passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::DOWN))
$game_party.move_lower_left_party_actors
end
super
end
def move_lower_right
# 下→右、右→下 のどちらかのコースが通行可能な场合
if (passable?(@x, @y, Input::DOWN) and passable?(@x, @y + 1, Input::RIGHT)) or
(passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::DOWN))
$game_party.move_lower_right_party_actors
end
super
end
def move_upper_left
# 上→左、左→上 のどちらかのコースが通行可能な场合
if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::LEFT)) or
(passable?(@x, @y, Input::LEFT) and passable?(@x - 1, @y, Input::UP))
$game_party.move_upper_left_party_actors
end
super
end
def move_upper_right
# 上→右、右→上 のどちらかのコースが通行可能な场合
if (passable?(@x, @y, Input::UP) and passable?(@x, @y - 1, Input::RIGHT)) or
(passable?(@x, @y, Input::RIGHT) and passable?(@x + 1, @y, Input::UP))
$game_party.move_upper_right_party_actors
end
super
end
def jump(x_plus, y_plus)
# 新しい座标を计算
new_x = @x + x_plus
new_y = @y + y_plus
# 加算値が (0,0) の场合か、ジャンプ先が通行可能な场合
if (x_plus == 0 and y_plus == 0) or passable?(new_x, new_y, 0)
$game_party.jump_party_actors(x_plus, y_plus)
end
super(x_plus, y_plus)
end
attr_reader :move_speed
attr_reader :step_anime
end
end # mole Train_Actor
class Game_Party
include Train_Actor::Game_Party_Mole
end
class Game_Player
include Train_Actor::Game_Player_Mole
end
class Spriteset_Map
include Train_Actor::Spriteset_Map_Mole
end
class Scene_Map
include Train_Actor::Scene_Map_Mole
end

❷ RPG Maker XP事件名称显示脚本

# NPC头上显示名字的脚本
# 使用方法:插入到main前即可,之后就会显示每个事件的名字。
# 不想显示名字的NPC直接把名字设置为一个空格就行了。
#
# 附加功能:名字颜色区分:比如一个NPC的名字是 小龙,2 就会用2号颜色(红色)显示
#
# 修改NPC名的方法:$game_map.events[事件ID编号].name =
# 比如某个宝箱,原名宝箱,打开后名为“打开的宝箱”,则
# $game_map.events[@event_id].name = "打开的宝箱" 或者
# $game_map.events[2].name = "打开的宝箱" (假设宝箱是2号事件)
#
# 修改颜色定义:70-88行,131-149行,自己随便改。
#
# 给主角带上名字:192行,改 "" 为 "主角" 或者 $game_party.actors[0].name 即可
#
# 是否显示姓名的开关:157行,开头的井号去掉。则以后39号开关打开的时候才会显示姓名
#
#==============================================================================
# ■ Game_Event
#------------------------------------------------------------------------------
# 处理事件的类。条件判断、事件页的切换、并行处理、执行事件功能
# 在 Game_Map 类的内部使用。
#==============================================================================
class Game_Event < Game_Character
#——————————————————————————————————————
# 用来返回名称
#——————————————————————————————————————
def name
return @event.name
end
def name=(newname)
@event.name = newname
end
end

#==============================================================================
# ■ Sprite_Character
#------------------------------------------------------------------------------
# 角色显示用脚本。监视 Game_Character 类的实例、
# 自动变化脚本状态。
#==============================================================================

class Sprite_Character < RPG::Sprite
def dispose
super
@namesprite.dispose unless @namesprite.nil?
end
#--------------------------------------------------------------------------
# ● 定义实例变量
#--------------------------------------------------------------------------
attr_accessor :character # 角色
#--------------------------------------------------------------------------
# ● 初始化对像
# viewport : 查看端口
# character : 角色 (Game_Character)
#--------------------------------------------------------------------------
def initialize(viewport, character = nil)
name = character.name
super(viewport)
@character = character
@namesprite = Sprite.new
@namesprite.bitmap = Bitmap.new(160, 48)
@namesprite.bitmap.font.name = "黑体"
@namesprite.bitmap.font.size = 15
@namesprite.bitmap.font.color.set( 30, 255, 0)
@evname = name
@evname_split = name.split(/,/)[0]
if name[0, 2]=="EV"
@evname_split = " "
end
if name.split(/,/)[1] != nil
case name.split(/,/)[1]
when "0"
@namesprite.bitmap.font.color.set(255, 255, 255)
when "1"
@namesprite.bitmap.font.color.set(120, 120, 120)
when "2"
@namesprite.bitmap.font.color.set(255, 0, 0)
when "3"
@namesprite.bitmap.font.color.set( 30, 255, 0)
when "4"
@namesprite.bitmap.font.color.set( 0, 112, 221)
when "5"
@namesprite.bitmap.font.color.set(163, 53, 238)
when "6"
@namesprite.bitmap.font.color.set(247, 102, 0)
when "7"
@namesprite.bitmap.font.color.set(255, 210, 0)
else
@namesprite.bitmap.font.color.set(255, 255, 255)
end
end
if @evname_split != "" and @evname_split != nil
@namesprite.bitmap.draw_text(0, 0, 160, 36, @evname_split, 1)
end
update
end
#--------------------------------------------------------------------------
# ● 更新画面
#--------------------------------------------------------------------------
def update
super
# 元件 ID、文件名、色相与现在的情况存在差异的情况下
if @tile_id != @character.tile_id or
@character_name != @character.character_name or
@character_hue != @character.character_hue
# 记忆元件 ID 与文件名、色相
@tile_id = @character.tile_id
@character_name = @character.character_name
@character_hue = @character.character_hue
# 元件 ID 为有效值的情况下
if @tile_id >= 384
self.bitmap = RPG::Cache.tile($game_map.tileset_name,
@tile_id, @character.character_hue)
self.src_rect.set(0, 0, 32, 32)
self.ox = 16
self.oy = 32
# 元件 ID 为无效值的情况下
else
self.bitmap = RPG::Cache.character(@character.character_name,
@character.character_hue)
@cw = bitmap.width / 4
@ch = bitmap.height / 4
self.ox = @cw / 2
self.oy = @ch
end
end
if @evname != @character.name
@namesprite.bitmap.clear
@evname = @character.name
@evname_split = @character.name.split(/,/)[0]
if @character.name.split(/,/)[1] != nil
case @character.name.split(/,/)[1]
when "0"
@namesprite.bitmap.font.color.set(255, 255, 255)
when "1"
@namesprite.bitmap.font.color.set(120, 120, 120)
when "2"
@namesprite.bitmap.font.color.set(255, 0, 0)
when "3"
@namesprite.bitmap.font.color.set( 30, 255, 0)
when "4"
@namesprite.bitmap.font.color.set( 0, 112, 221)
when "5"
@namesprite.bitmap.font.color.set(163, 53, 238)
when "6"
@namesprite.bitmap.font.color.set(255, 128, 0)
when "7"
@namesprite.bitmap.font.color.set(229, 204, 128)
else
@namesprite.bitmap.font.color.set(255, 255, 255)
end
end
if @evname_split != "" and @evname_split != nil
@namesprite.bitmap.draw_text(0, 0, 160, 36, @evname_split, 1)
end
end
@namesprite.x = self.x-80
@namesprite.y = self.y-self.oy-24
# @namesprite.visible = $game_switches[1]
# 设置可视状态
self.visible = (not @character.transparent)
# 图形是角色的情况下
if @tile_id == 0
# 设置传送目标的矩形
sx = @character.pattern * @cw
sy = (@character.direction - 2) / 2 * @ch
self.src_rect.set(sx, sy, @cw, @ch)
end
# 设置脚本的坐标
self.x = @character.screen_x
self.y = @character.screen_y
self.z = @character.screen_z(@ch)
# 设置不透明度、合成方式、茂密
self.opacity = @character.opacity
self.blend_type = @character.blend_type
self.bush_depth = @character.bush_depth
# 动画
if @character.animation_id != 0
animation = $data_animations[@character.animation_id]
animation(animation, true)
@character.animation_id = 0
end
end
end
#==============================================================================
# ■ Game_Player
#------------------------------------------------------------------------------
# 处理主角的类。事件启动的判定、以及地图的滚动等功能。
# 本类的实例请参考 $game_player。
#==============================================================================

class Game_Player < Game_Character
def name
return $game_party.actors[0].name
end
end

❸ Hue上传脚本如何带文件夹一起上传上去

想要把这个脚板给你传上去的话,直接上传就可以

❹ 使用RPG maker XP事出现脚本错误

一般来说场景绘制和脚本是没有任何关系的,楼主把这张地图复制到新建工程文件里看看会不会报错。如果不报错,说明这是单纯的脚本冲突,建议重组脚本系统。

❺ hue/oozie 调度shell执行hive脚本

前面已经有篇文章介绍如何编译包含hive的spark-assembly.jar了,不清楚的可以翻看一下前面的文章。clouderamanager装好的spark,直接执行spark-shell进入命令行后,写入如下语句:valhiveContext=neworg.apache.spark.sql.hive.HiveContext(sc)你会发现没法执行通过,因为cm装的原生的spark是不支持sparkhql的,我们需要手动进行一些调整:第一步,将编译好的包含hive的JAR包上传到hdfs上配置的默认的spark的sharelib目录:/user/spark/share/lib第二步:在你要运行spark-shell脚本的节点上的/opt/cloudera/parcels/CDH-5.3.0-1.cdh5.3.0.p0.30/lib/spark/lib/目录下面,下载这个jar到这个目录:hadoopfs-gethdfs://n1:8020/user/spark/share/lib/spark-assembly-with-hive-maven.jar(具体路径替换成你自己的)。然后这个目录下面原来会有个软链接spark-assembly.jar指向的是spark-assembly-1.2.0-cdh5.3.0-hadoop2.5.0-cdh5.3.0.jar,我们把这个软链接删除掉重新创建一个同名的软链接:ln-sspark-assembly-with-hive-maven.jarspark-assembly.jar,指向我们刚下载下来的那个JAR包,这个JAR包会在启动spark-shell脚本时装载到driverprogram的classpath中去的,sparkContext也是在driver中创建出来的,所以需要将我们编译的JAR包替换掉原来的spark-assembly.jar包,这样在启动spark-shell的时候,包含hive的spark-assembly就被装载到classpath中去了。第三步:在/opt/cloudera/parcels/CDH/lib/spark/conf/目录下面创建一个hive-site.xml。/opt/cloudera/parcels/CDH/lib/spark/conf目录是默认的spark的配置目录,当然你可以修改默认配置目录的位置。hive-site.xml内容如下:hive.metastore.localfalsehive.metastore.uristhrift://n1:9083hive.metastore.client.socket.timeout300hive.metastore.warehouse.dir/user/hive/warehouse这个应该大家都懂的,总要让spark找到hive的元数据在哪吧,于是就有了上面一些配置。第四步:修改/opt/cloudera/parcels/CDH/lib/spark/conf/spark-defaults.conf,添加一个属性:spark.yarn.jar=hdfs://n1:8020/user/spark/share/lib/spark-assembly-with-hive-maven.jar。这个是让每个executor下载到本地然后装载到自己的classpath下面去的,主要是用在yarn-cluster模式。local模式由于driver和executor是同一个进程所以没关系。以上完事之后,运行spark-shell,再输入:valhiveContext=neworg.apache.spark.sql.hive.HiveContext(sc)应该就没问题了。我们再执行一个语句验证一下是不是连接的我们指定的hive元数据库:hiveContext.sql("showtables").take(10)//取前十个表看看最后要重点说明一下这里的第二步第三步和第四步,如果是yarn-cluster模式的话,应该替换掉集群所有节点的spark-assembly.jar集群所有节点的sparkconf目录都需要添加hive-site.xml,每个节点spark-defaults.conf都需要添加spark.yarn.jar=hdfs://n1:8020/user/spark/share/lib/spark-assembly-with-hive-maven.jar。可以写个shell脚本来替换,不然手动一个一个节点去替换也是蛮累的。

❻ hadoop hue配置文件怎样设置加密密码

ue是一个开源的Apache Hadoop UI系统,最早是由Cloudera Desktop演化而来,由Cloudera贡献给开源社区,它是基于Python Web框架Django实现的。通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,例如操作HDFS上的数据,运行MapRece Job等等。很早以前就听说过Hue的便利与强大,一直没能亲自尝试使用,下面先通过官网给出的特性,通过翻译原文简单了解一下Hue所支持的功能特性集合:

默认基于轻量级sqlite数据库管理会话数据,用户认证和授权,可以自定义为MySQL、Postgresql,以及Oracle
基于文件浏览器(File Browser)访问HDFS
基于Hive编辑器来开发和运行Hive查询
支持基于Solr进行搜索的应用,并提供可视化的数据视图,以及仪表板(Dashboard)
支持基于Impala的应用进行交互式查询
支持Spark编辑器和仪表板(Dashboard)
支持Pig编辑器,并能够提交脚本任务
支持Oozie编辑器,可以通过仪表板提交和监控Workflow、Coordinator和Bundle
支持HBase浏览器,能够可视化数据、查询数据、修改HBase表
支持Metastore浏览器,可以访问Hive的元数据,以及HCatalog
支持Job浏览器,能够访问MapRece Job(MR1/MR2-YARN)
支持Job设计器,能够创建MapRece/Streaming/Java Job
支持Sqoop 2编辑器和仪表板(Dashboard)
支持ZooKeeper浏览器和编辑器
支持MySql、PostGresql、Sqlite和Oracle数据库查询编辑器
1 Hue安装(参考官网:http://gethue.com/how-to-build-hue-on-ubuntu-14-04-trusty/)
1.1 在git上下载HUE源码或者在它的官网下载(如果已经安装git可省略第一步)
sudo apt-get install git

git clone https://github.com/cloudera/hue.git
1.2 需要安装一些依赖的软件包
官网给出了一些,如果环境不一样,灵活调整,GIT上面给出的依赖文件列表:

❼ rpg maker xp 显示npc名字脚本

NPC头上显示名字的脚本:(首先对楼上吐槽无力……)
# 使用方法:插入到main前即可,之后就会显示每个事件的名字。
# 不想显示名字的NPC直接把名字设置为一个空格就行了。
#
# 附加功能:名字颜色区分:比如一个NPC的名字是 小龙,2 就会用2号颜色(红色)显示
#
# 修改NPC名的方法:$game_map.events[事件ID编号].name =
# 比如某个宝箱,原名宝箱,打开后名为“打开的宝箱”,则
# $game_map.events[@event_id].name = "打开的宝箱" 或者
# $game_map.events[2].name = "打开的宝箱" (假设宝箱是2号事件)
#
# 修改颜色定义:70-88行,131-149行,自己随便改。
#
# 给主角带上名字:192行,改 "" 为 "主角" 或者 $game_party.actors[0].name 即可
#
# 是否显示姓名的开关:157行,开头的井号去掉。则以后39号开关打开的时候才会显示姓名
#
#==============================================================================
# ■ Game_Event
#------------------------------------------------------------------------------
# 处理事件的类。条件判断、事件页的切换、并行处理、执行事件功能
# 在 Game_Map 类的内部使用。
#==============================================================================
class Game_Event < Game_Character
#——————————————————————————————————————
# 用来返回名称
#——————————————————————————————————————
def name
return @event.name
end
def name=(newname)
@event.name = newname
end
end

#==============================================================================
# ■ Sprite_Character
#------------------------------------------------------------------------------
# 角色显示用脚本。监视 Game_Character 类的实例、
# 自动变化脚本状态。
#==============================================================================

class Sprite_Character < RPG::Sprite
def dispose
super
@namesprite.dispose unless @namesprite.nil?
end
#--------------------------------------------------------------------------
# ● 定义实例变量
#--------------------------------------------------------------------------
attr_accessor :character # 角色
#--------------------------------------------------------------------------
# ● 初始化对像
# viewport : 查看端口
# character : 角色 (Game_Character)
#--------------------------------------------------------------------------
def initialize(viewport, character = nil)
name = character.name
super(viewport)
@character = character
@namesprite = Sprite.new
@namesprite.bitmap = Bitmap.new(160, 48)
@namesprite.bitmap.font.name = "黑体"
@namesprite.bitmap.font.size = 15
@namesprite.bitmap.font.color.set( 30, 255, 0)
@evname = name
@evname_split = name.split(/,/)[0]
if name[0, 2]=="EV"
@evname_split = " "
end
if name.split(/,/)[1] != nil
case name.split(/,/)[1]
when "0"
@namesprite.bitmap.font.color.set(255, 255, 255)
when "1"
@namesprite.bitmap.font.color.set(120, 120, 120)
when "2"
@namesprite.bitmap.font.color.set(255, 0, 0)
when "3"
@namesprite.bitmap.font.color.set( 30, 255, 0)
when "4"
@namesprite.bitmap.font.color.set( 0, 112, 221)
when "5"
@namesprite.bitmap.font.color.set(163, 53, 238)
when "6"
@namesprite.bitmap.font.color.set(247, 102, 0)
when "7"
@namesprite.bitmap.font.color.set(255, 210, 0)
else
@namesprite.bitmap.font.color.set(255, 255, 255)
end
end
if @evname_split != "" and @evname_split != nil
@namesprite.bitmap.draw_text(0, 0, 160, 36, @evname_split, 1)
end
update
end
#--------------------------------------------------------------------------
# ● 更新画面
#--------------------------------------------------------------------------
def update
super
# 元件 ID、文件名、色相与现在的情况存在差异的情况下
if @tile_id != @character.tile_id or
@character_name != @character.character_name or
@character_hue != @character.character_hue
# 记忆元件 ID 与文件名、色相
@tile_id = @character.tile_id
@character_name = @character.character_name
@character_hue = @character.character_hue
# 元件 ID 为有效值的情况下
if @tile_id >= 384
self.bitmap = RPG::Cache.tile($game_map.tileset_name,
@tile_id, @character.character_hue)
self.src_rect.set(0, 0, 32, 32)
self.ox = 16
self.oy = 32
# 元件 ID 为无效值的情况下
else
self.bitmap = RPG::Cache.character(@character.character_name,
@character.character_hue)
@cw = bitmap.width / 4
@ch = bitmap.height / 4
self.ox = @cw / 2
self.oy = @ch
end
end
if @evname != @character.name
@namesprite.bitmap.clear
@evname = @character.name
@evname_split = @character.name.split(/,/)[0]
if @character.name.split(/,/)[1] != nil
case @character.name.split(/,/)[1]
when "0"
@namesprite.bitmap.font.color.set(255, 255, 255)
when "1"
@namesprite.bitmap.font.color.set(120, 120, 120)
when "2"
@namesprite.bitmap.font.color.set(255, 0, 0)
when "3"
@namesprite.bitmap.font.color.set( 30, 255, 0)
when "4"
@namesprite.bitmap.font.color.set( 0, 112, 221)
when "5"
@namesprite.bitmap.font.color.set(163, 53, 238)
when "6"
@namesprite.bitmap.font.color.set(255, 128, 0)
when "7"
@namesprite.bitmap.font.color.set(229, 204, 128)
else
@namesprite.bitmap.font.color.set(255, 255, 255)
end
end
if @evname_split != "" and @evname_split != nil
@namesprite.bitmap.draw_text(0, 0, 160, 36, @evname_split, 1)
end
end
@namesprite.x = self.x-80
@namesprite.y = self.y-self.oy-24
# @namesprite.visible = $game_switches[1]
# 设置可视状态
self.visible = (not @character.transparent)
# 图形是角色的情况下
if @tile_id == 0
# 设置传送目标的矩形
sx = @character.pattern * @cw
sy = (@character.direction - 2) / 2 * @ch
self.src_rect.set(sx, sy, @cw, @ch)
end
# 设置脚本的坐标
self.x = @character.screen_x
self.y = @character.screen_y
self.z = @character.screen_z(@ch)
# 设置不透明度、合成方式、茂密
self.opacity = @character.opacity
self.blend_type = @character.blend_type
self.bush_depth = @character.bush_depth
# 动画
if @character.animation_id != 0
animation = $data_animations[@character.animation_id]
animation(animation, true)
@character.animation_id = 0
end
end
end
#==============================================================================
# ■ Game_Player
#------------------------------------------------------------------------------
# 处理主角的类。事件启动的判定、以及地图的滚动等功能。
# 本类的实例请参考 $game_player。
#==============================================================================

class Game_Player < Game_Character
def name
return $game_party.actors[0].name
end
end

❽ hadoop web管理Hue,Ambari 和CM 的区别是什么

1.hue是什么?
hue是hadoop生态系统的统一webUI。你可以通过hue的界面,链接hive,发出hive语句。这个类似phpmysql。 你可以浏览hdfs的文件。 你可以定义oozie的工作流,可以写pig的脚本,可以配置zookeeper,可以可视化的配置kafka。总之,hue的目标就是作一个hadoop各种生态组建的webUI的平台。
hue既然是平台,那组件就是app。参考这里。App Store | Hue
我未来的工作会读hue的 python代码,挖掘更多hue的功能。国内有hue的玩家,或者感兴趣的玩家,欢迎一起交流噢。
2.clouera manager。
是管理hadoop集群运维的webUI。你可以用cloudera manager在集群中,简单的搭建hadoop,hbase集群。通过cloudera manager,你能看到哪些datenode结点和namenode 结点联结有问题了,哪些磁盘快满了,哪些cpu高,哪些磁盘io高。等等。 当你有个datenode的一块硬盘坏了时,你可以在cm中轻松的把这个datenode先停止工作,然后把结点移除。在磁盘修好了之后,再添加回集群。 当你新添加了一批机器,需要运行集群负载平衡的指令时,cm也能简单满足。 cloudera manager的用处,是用来简化hadoop运维人员的工作门槛的,webUI所见所得,提高效率。
更详细的clouderamanager介绍,就去cm的官网撸文档吧。Cloudera QuickStart
3.ambari
做hadoop商业化的公司,有3家比较大的。cloudera manager 、 hortonworks、mapR.
这里是个简单的对比 Cloudera vs. Hortonworks vs. MapR
一句话。cloudera manager的自家管理套件就是同名的cm。 ambari是hortonworks公司的,纯开源的用来对标cm的hadoop生态管理套件。

❾ hue集成sentry后添加用户操作流程

我们都知道hue+sentry可以管理hive的用户以及权限,但是其中有几个概念必须要要弄明白:1、hue的用户以及用户组是独立的,跟hive没有关系,hive没有用户的概念;2、利用hue给hive赋权时的role(角色)是可以随便命名的,只是赋权操作的最小粒度是用户组,要想实现一个用户维护一个权限就必须是一个用户一个用户组(一个用户组内的所有用户权限都是一样的);3、新加的用户还必须在hvie服务所在的服务器添加相应的用户以及用户组;4、使用hue查询hive数据,程序都是由hive用户代理的,但是程序运行的资源池可以通过yarn的配置规则来指定。

1、第一步先建用户组

在添加用户组时需要指定permissions,目的是让新用户在登陆hue之后能看到哪些模块,以上截图的就是一般用户需要的(能跑hive任务,能查询hdfs信息,能查看job信息等)

2、第二步添加用户

点击下一步勾选新用户的用户组==》点击下一步激活用户==》完成

3、用户以及用户组设定之后,需要根据邮件申请的内容设置该账号的hive权限。

这里分两种情况,一个是新用户不需要放到之前的用户组中去,另一种是需要放到之前已经存在的组中去(这里重点说下,如果是这种情况,那么还必须创建一个跟用户名一致的附属主)。

这里我已经将脚本写好,放到服务器/root/add_new_user_as_hue.sh

通过以上操作,我们已经实现了一个用户维护一个权限。