查看: 3603|回复: 14

[已经解决] 如何显示任务完成

[复制链接]
梦石
0
星屑
339
在线时间
29 小时
注册时间
2019-9-7
回帖
9
发表于 2019-9-30 20:53:07 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
就像魔兽世界一样,我和NPC对话,给我任务,完成后给任务的NPC头上会有感叹号
梦石
0
星屑
6375
在线时间
1473 小时
注册时间
2015-7-25
回帖
609

极短25参与开拓者

发表于 2019-9-30 23:32:51 | 显示全部楼层
[pre lang="ruby"]#encoding:utf-8
#==============================================================================
# ■ NPC头顶上显示图片(动态版) by 魔法丶小肉包
#------------------------------------------------------------------------------
# 说明:在指定NPC头上显示图片(自定义图片)
#
# 使用方法:
# 事件-脚本 show_npc_icon 在本事件头上显示一次
# 事件-脚本 show_npc_icon(2) 在2号事件头上显示一次
# 如需一直显示,事件设定并行处理
#
# 素材名:SHOW 素材规格:256*32 分为8列,每一小格32*32(详细请参考心情图标的素材)
#------------------------------------------------------------------------------
# 更新日志:
# 2019.9.30 公开发布
#==============================================================================
class Sprite_Character < Sprite_Base
  attr_accessor :character
  def initialize(viewport, character = nil)
    super(viewport)
    @character = character
    @balloon_duration = 0
    @show_duration = 0
    update
  end
  def dispose
    end_animation
    end_balloon
    end_show
    super
  end
  def update
    super
    update_bitmap
    update_src_rect
    update_position
    update_other
    update_balloon
    update_show
    setup_new_effect
  end
  def setup_new_effect
    if !animation? && @character.animation_id > 0
      animation = $data_animations[@character.animation_id]
      start_animation(animation)
    end
    if !@balloon_sprite && @character.balloon_id > 0
      @balloon_id = @character.balloon_id
      start_balloon
    end
    if !@show_sprite && @character.show_id > 0
      @show_id = @character.show_id
      start_show
    end
  end
  def start_show
    dispose_show
    @show_duration = 8 * show_speed + show_wait
    @show_sprite = ::Sprite.new(viewport)
    @show_sprite.bitmap = Cache.system("SHOW")
    @show_sprite.ox = 16
    @show_sprite.oy = 32
    update_show
  end
  def dispose_show
    if @show_sprite
      @show_sprite.dispose
      @show_sprite = nil
    end
  end
  def update_show
    if @show_duration > 0
      @show_duration -= 1
      if @show_duration > 0
        @show_sprite.x = x
        @show_sprite.y = y - height
        @show_sprite.z = z + 200
        sx = show_frame_index * 32
        sy = (@show_id - 1) * 32
        @show_sprite.src_rect.set(sx, sy, 32, 32)
      else
        end_show
      end
    end
  end
  def end_show
    dispose_show
    @character.show_id = 0
  end
  def show_speed
    return 8
  end
  def show_wait
    return 12
  end
  def show_frame_index
    return 7 - [(@show_duration - show_wait) / show_speed, 0].max
  end
end
class Game_CharacterBase
   attr_accessor :show_id
   alias minit_public_members init_public_members
   def init_public_members
     minit_public_members
     @show_id = 0
   end
end
class Game_Interpreter
  def show_npc_icon(id = 0)
    return unless get_character(id)
    get_character(id).show_id = 1
  end
end[/pre]

点评

麻烦了  发表于 2019-10-1 12:26
emmmm,我没说清楚是我的错,想请教的是开关开启后会报错,看了简介后不知道怎么单独拿惊讶心情图,能给个嘛  发表于 2019-10-1 12:25
记得把图片素材准备好,放在Graphics/System文件夹里  发表于 2019-10-1 12:16
在任务完成后根据上面写的使用方法去设置即可  发表于 2019-10-1 12:10
emmmm,萌新不知道怎么用,能教教吗  发表于 2019-10-1 07:31

评分

参与人数 1星屑 +40 收起 理由
VIPArcher + 40 认可答案

查看全部评分

笨肉包的游戏讨论群932812135 (实时更新) 喜欢的话欢迎加入~
目前的坑
??? #像素风OC游戏 准备中 短篇-约5小时
花城梦之心 #像素风OC游戏 系统开发+素材绘制中
【不可思议的迷宫】幽灵契约外传:歌莉娅 v0.4 游戏文件已更新
同时更新中~ (沉迷摸鱼中~更新速度较慢请见谅w)
这是属于笨肉包一个人的旅行~(这只肉包又在摸鱼!
旅途的最终目标~ ???(保密~
回复 1 0

使用道具 举报

梦石
0
星屑
6375
在线时间
1473 小时
注册时间
2015-7-25
回帖
609

极短25参与开拓者

发表于 2019-10-1 12:36:44 | 显示全部楼层
SHOW.png

点评

会了会了,感谢dalao!  发表于 2019-10-1 15:25
你可以在任务完成后打开一个开关,然后创建一个新事件,出现条件这个开关开启时,并行处理,事件脚本show_npc_icon(NPC事件ID)  发表于 2019-10-1 14:14
能详细点吗  发表于 2019-10-1 13:28
最后一个问题,请问怎么操作?  发表于 2019-10-1 13:27
你用独立开关另起一页并行处理这个脚本  发表于 2019-10-1 12:52
笨肉包的游戏讨论群932812135 (实时更新) 喜欢的话欢迎加入~
目前的坑
??? #像素风OC游戏 准备中 短篇-约5小时
花城梦之心 #像素风OC游戏 系统开发+素材绘制中
【不可思议的迷宫】幽灵契约外传:歌莉娅 v0.4 游戏文件已更新
同时更新中~ (沉迷摸鱼中~更新速度较慢请见谅w)
这是属于笨肉包一个人的旅行~(这只肉包又在摸鱼!
旅途的最终目标~ ???(保密~
回复 1 0

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部