Lieber Besucher, herzlich willkommen bei: RPG Studio - Make your World real. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

Sonntag, 15. Juli 2007, 16:04

Hima's Monster Drop Item

Skriptname: Hima's Monster Drop Item
Version: 1.2
Autor: Hima (and Hanmac)
Homepage:
Kontakt:
Beschreibung/Bemerkung:

monster können unterschiedliche items abwerfen

man ändert den Namen einfach in "Monstername-spdrop-(rate)(type)(id)-(rate)(type)(id)-(rate)(type)(id)"

[button=Quelltext]

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
#==============================================================================
# * Hima's Monster Drop Item v. 1.2
#------------------------------------------------------------------------------
# This script will allow you to create a monster that drop various item with
# different rarity. You can do this by naming the monster with special pattern
#                     "Monstername-spdrop-(rate)(type)(id)-(rate)(type)(id)-(rate)(type)(id)"
#    (rate)    =     Insert r,u or c in here. r = rare, u = uncommon, c = common.
#    (type)    =    Insert w,a or i in here. w = weapon, a = armor, i = item.
#    (id)        =    Insert the id of item/weapon/armor that the monster will drop here.
# So if you want the rare item to be weapon id 1, uncommon item to be armor id 1
#    and common item to be item id 1, this is how you name the monster
#    (assuming the monster's name is Ghost)
#
#                            "Ghost-spdrop-rw1-ua1-ci1"
#
#    If you want a monster to drop item like what RMXP default, then just don't name
# them in this special pattern :)
# contact : [email]ninomiya_mako@hotmail.com[/email]
#==============================================================================
module HIMA_MONSTERDROP
  #--------------------------------------------------------------------------
  # - Customize Point -
  # SPDROP_KEYWORD  - This will be your keyword to tell the script that the monster will drop sp item
  # RARE_RATE -  The chance for dropping a rare item. 
  # UNCOMMON_RATE - The chance for dropping an uncommon item. 
  #  COMMON_RATE - The chance for dropping an common item. 
  #--------------------------------------------------------------------------
    SPDROP_KEYWORD    =    "spdrop"
    RARE_RATE                =    10
    UNCOMMON_RATE        =    30
	COMMON_RATE        =    60
	STATS_AT_NAME = true # if false you can use ccoas Status Effect Icons
end
class Scene_Battle
    def monster_drop_item(monster)
		name = monster.name.clone
		if name.include?(HIMA_MONSTERDROP::SPDROP_KEYWORD)		
			text=name.scan(/([a-z])([a-z])([0-9]+)/)
			temp = 0
			item = []
			text.each_index { |i|
			item[i]={}
			case text[i][0]
			when 'r'
				item[i]['rate']=HIMA_MONSTERDROP::RARE_RATE
			when 'u'
				item[i]['rate']=HIMA_MONSTERDROP::UNCOMMON_RATE
			when 'c'
				item[i]['rate']=HIMA_MONSTERDROP::COMMON_RATE
			end
			temp+=item[i]['rate']
			item[i]['typ']=text[i][1]
			item[i]['id']=text[i][2].to_i
			}
			get = rand(temp)
			item.each { |value| 
				if get > value['rate']
					get-=value['rate']
				else
					return get_item(value['typ'],value['id'])
				end
			}
        else
			if monster.item_id > 0
				return $data_items[monster.item_id]
			end
			if monster.weapon_id > 0
				return $data_weapons[monster.weapon_id]
			end
			if monster.armor_id > 0
				return $data_armors[monster.armor_id]
			end
        end
    end #method
 
    def get_item(type,id)
        if id > 0
            case type
            when "w"
                return $data_weapons[id]
            when "a"
                return $data_armors[id]
            when "i"
                return $data_items[id]
            end #case
        else
            return nil
        end
    end
  #--------------------------------------------------------------------------
  # - After battle phase start
  #--------------------------------------------------------------------------
  def start_phase5
    # It moves to phase 5
    @phase = 5
    # Performing battle end ME
    $game_system.me_play($game_system.battle_end_me)
    # You reset to BGM before the battle starting
    $game_system.bgm_play($game_temp.map_bgm)
    # Initializing EXP, the gold and the treasure
    exp = 0
    gold = 0
    treasures = []
    # Loop
    for enemy in $game_troop.enemies
      # When the enemy hides and it is not state
      unless enemy.hidden
        # Adding acquisition EXP and the gold
        exp += enemy.exp
        gold += enemy.gold
        # Treasure appearance decision
        if rand(100) < enemy.treasure_prob
          item = monster_drop_item(enemy)
          treasures.push(item) unless item.nil?
        end
      end
    end
    # It limits the number of treasures up to 6
    treasures = treasures[0..5]
    # EXP acquisition
    for i in 0...$game_party.actors.size
      actor = $game_party.actors[i]
      if actor.cant_get_exp? == false
        last_level = actor.level
        actor.exp += exp
        if actor.level > last_level
          @status_window.level_up(i)
        end
      end
    end
    # Gold acquisition
    $game_party.gain_gold(gold)
    # Treasure acquisition
    for item in treasures
      case item
      when RPG::Item
        $game_party.gain_item(item.id, 1)
      when RPG::Weapon
        $game_party.gain_weapon(item.id, 1)
      when RPG::Armor
        $game_party.gain_armor(item.id, 1)
      end
    end
    # Drawing up the battle result window
    @result_window = Window_BattleResult.new(exp, gold, treasures)
    # Setting weight count
    @phase5_wait_count = 100
  end
end    #class
 
 
#==============================================================================
# * Window_Help
#------------------------------------------------------------------------------
# Well we need to do something with showing Enemy's name, don't we?
#==============================================================================
class Window_Help < Window_Base
  #--------------------------------------------------------------------------
  # - Enemy setting
  #     enemy : The enemy which indicates name and the state
  #--------------------------------------------------------------------------
  def set_enemy(enemy)
    text = enemy.name.clone
    text = text.split('-')[0] if text.include?(HIMA_MONSTERDROP::SPDROP_KEYWORD)
    states = make_battler_state_text(enemy, 112, false)
	if HIMA_MONSTERDROP::STATS_AT_NAME
		if states != ""
			text += "  " + states
		end
		set_text(text, 1)
	else
		for state in states
			text += "   "
		end
		set_text(text, 1, states)
	end
  end
end
[/button]
Realität ist nur eine subjektive Wahrnehmungsstörung.

Alles ist wahr, wenn man für wahr einen bestimmten Wert annimmt.

2

Mittwoch, 18. Juli 2007, 14:37

Cool .. nur leider gefällt mir net diese Sache mit dem "rate" nicht. Standardmäßig kann man ja von 0 bis 100 einstellen und hier nur 3 arten? Wie verhällt sich das denn :-\ ...

und wie schaut das dann eigentlich mit gold und exp aus? Lässt man Treasure auf none, aber exp und gold verwendet man einfach wie normal?

greetz

3

Mittwoch, 18. Juli 2007, 16:00

gold exp normal
raten kan man kombinieren:

Quellcode

1
ri1-ui1-uw1-cw1

[info]die rate gibt nicht die warscheinlichkeit an.
die berechnet sich so: rate/summrate*wahr_ob_item(vom monster)/100
[/info]

deswegen musst du auch machen das ein item gegeben wird.
Realität ist nur eine subjektive Wahrnehmungsstörung.

Alles ist wahr, wenn man für wahr einen bestimmten Wert annimmt.

Shizaso

Der Junge, der stirbt

Motto: Ich bestimme: wir haben Demokratie!

  • Nachricht senden

4

Donnerstag, 24. April 2008, 14:11

???

Ich vestehe es nicht... *sniff* :hilfe:

1. Muss ich dann das Monster in der DB umbenennen und dann wird der ganze kram auch im Kampf angezeigt wenn man das monster anwählt?

2.
Kann ich nur 3 Items/waffen/armors droppen lassen?

3.
Das mit dem geld und exp verstehe ich auch noch nicht und bitte um erklärung. Verhält es sich normal und das script greift nur auf den item/waffe/rüssie - drop zu oder kann man auch machen, dass es mit einer soundso hohen Wahrscheinlichkeit sounso viel geld droppt?

4.
Das mit dem rate find ich doof oder verstehe es nicht: kann ich nur 3 verschiedene stufen einstellen? oder kann man das auch mit % regeln? weil das wär besser (-> z.B. in dragon quest gibts monster die ein item nur mit 1,5%iger Wahrscheinlichkeit droppen.)

5.
Wie baue ich es ein? einfach neues script über main?

so... ^.^

Hoffe, dass schnell eine(r) antwortet... :D :D :D
greez
Shizaso
:shizaso_devil:

5

Freitag, 25. April 2008, 07:14

1. ja umbenennen (wird aber nicht angezeigt)
2.nein es geht bis zu x
3. gold und exp bleiben uneieinflusst
4. dafür gibt es ein System ausdem sdk
5. ja
Realität ist nur eine subjektive Wahrnehmungsstörung.

Alles ist wahr, wenn man für wahr einen bestimmten Wert annimmt.

Shizaso

Der Junge, der stirbt

Motto: Ich bestimme: wir haben Demokratie!

  • Nachricht senden

6

Freitag, 25. April 2008, 13:48

Erstmal danke. ^.^
Aber zu punkt 4
wie kann ich das min den % machen? Was ist sdk? wasfür ein system gibt es da? Und wenn möglich bitte hier posten...

danke....[smilie]^.^[/smilie]
Edit Ich stelle gerade fest, dass das script eh nicht funzt... erstmal weil ich noch nen anderes script benutze und die sich nicht vertragen, und zweitens weil er, wenn ich das andere raus nehme einen anderen error kriegt....
:shizaso_devil:

Shizaso

Der Junge, der stirbt

Motto: Ich bestimme: wir haben Demokratie!

  • Nachricht senden

7

Samstag, 26. April 2008, 14:02

Ich krieg erst den error: (ich hab das script "drop" genannt)

Bild

Und wenn ich die zeilen rauslösche (weils ja "nur" um die Namensanzeige geht) krieg ich den:

Bild

[blink]HILFE!!!!!! :hilfe: :hilfe: :hilfe: [/blink]Ich würd das script echt gern benutzen aber es funzt halt nicht *sniff*

greez@all

Shizaso
:shizaso_devil:

Motto: Yukkuri Shiteitte ne!

  • Nachricht senden

8

Mittwoch, 12. November 2008, 16:27

Bei mir gibts auch Probleme... und zwar mit meinem Skill learning system. Irgentwie hassen die 2 Scripts sich, scheins irgentwas wegen Phase 5.1
Weis einer was das heist, oder wie man das behebt?

Motto: Yukkuri Shiteitte ne!

  • Nachricht senden

9

Montag, 17. November 2008, 20:36

Bump
Also weis einer wie man das hier in das RTP integriert?
Damit gibts keine Probleme mit dem anderen Script... kann mir da einer Helfen?
Dann bitte maol ne Demo...

Social Bookmarks