當前位置:首頁 » 網頁前端 » 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
#
# [email protected]
# 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

通過以上操作,我們已經實現了一個用戶維護一個許可權。