11 DAYS OF PENT UP SCRIPT REQUESTS AND THOUGHTS

Posts

Pages: first prev 123 next last
author=Clest link=topic=2577.msg48231#msg48231 date=1228139233
author=Max McGee link=topic=2577.msg48139#msg48139 date=1228094364
NEXT ANNOYING REQUEST: Does a script exist that prevents RANGED weapons from being effected by an actor's attack (strength, whatever) parameter? How difficult would this be to script? I.E. I mean some way to make attacks with a gun or whatever have their damage ignore the basic attack parameter and rely only on weapon damage.


Damn, good point Max, it should be a default option in RM... so will keep waiting to see if anyone posts to this :P

The only thing you could do without the use of a script is, have your characters strength stay the same via setting the lvl 99 strength to the same as lvl 1. This would only work well if your character only equips ranged weapons throughout the entire game. In other words no, I haven't come across a script like this :p
Well, thinking clearly, with my system setup it doesn´t really matter since my weapons are all skills anyway and I can set STR influence for that.

But I can see ppl who have normal attack and characters able to switch between guns and swords would have a problem with that. And Max loves to do that :D
I don't think I've ever seen / heard of a script like that, but it's a really nice idea. I'll have to keep an eye out for that
Try this:



# ==============================
# Weapon Attack Only Script v1.0
# by GreatRedSpirit
# ==============================
# When a weapon with the specified string in its note is equipped, the actor's
# attack becomes the weapon's attack and it doesn't count the actor's innate
# attack stat or any modifiers to the base stat. It still counts states that
# increase an actor's attack.
#
# To use, include the NOTE_NO_BASE_ATK string in a weapon's note.

class Game_Actor < Game_Battler

# The string in a weapon's note that identifies if a weapon should not use
# the actor's innate attack and instead only use the weapon's attack.
NOTE_NO_BASE_ATK = "RANGED"

alias atk_waos_ori atk
def atk
# Calculate the base power of the actor
base_power = base_atk + @atk_plus
# If they have a weapon equipped
if @weapon_id != 0
# Grab the weapon
weapon = $data_weapons
# See if the weapon's note contains the no base attack string
if weapon.note.include? NOTE_NO_BASE_ATK
# Calculate the actor's attack only using the weapon's attack stat
n = [.max, 999].min
for state in states do n *= state.atk_rate / 100.0 end
n = [.max, 999].min
return n
# If it doesn't use the normal attack method
else
return atk_waos_ori
end
else
# Call the original method
return atk_waos_ori
end
end
end



Just pop RANGED in a weapon's note and see what happens!
(I've barely tested this so please tell me if it acts up during battle)

*edit*
Fixed some bad form.
Craze
why would i heal when i could equip a morningstar
15170
When I play with parameters like that, I usually make it even easier on myself and add to def make_attack_damage_value with something like:

damage += attacker.agi / 5 if attacker.element_set.include?(ranged element id)
damage -= self.spi / 8 if attacker.element_set.include?(magicwpn element id)

Max: I am going through HELL WEEK in Drama (opening night tomorrrow) and since you are an artsy person I hope you understand what that entails. Nevermind spinning out into telephone poles and other such joys. Basically I've had a bad week but I'll try to get you your scripts before the week's out.

MODIFY: I just realized that what I was did up there is different from what Max asked and GRS did. Heh. Well, if you have a GUN TECH skill or something, Max, I could always make that increase damage with weapon element x (or set up a note-based thing or set up a module with arrays of weapon ids or WHATEVER)
Max McGee
with sorrow down past the fence
9159
@Craze:
I understand completely. Well except for all the stuff about code, that was a complete mystery to me. : )

I thought of some other things I want and since everyone has been so helpful so far I will edit this later to request them.
author=Craze link=topic=2577.msg48776#msg48776 date=1228301693
damage += attacker.agi / 5 if attacker.element_set.include?(ranged element id)
damage -= self.spi / 8 if attacker.element_set.include?(magicwpn element id)
(EM)
I never thought of using elements. They sound like a much better solution since they don't eat up whatever space is available in weapon's note (since all I do is use a string as a flag). It'll probably take five minutes so I'll have an updated version up before long.

*edit*


# ==============================
# Weapon Attack Only Script v1.1
# by GreatRedSpirit
# ==============================
# When a weapon with the specified element id, the actor's attack becomes the
# weapon's attack and it doesn't count the actor's innate attack stat or any
# modifiers to the base stat. It still counts states that increase an actor's
# attack.
#
# To use, set the NO_BASE_ATK_ELEMENT to the element that you want to use as
# the flag for using the weapons attack.
#
# Thanks to Craze for pointing out a better way to do this.

class Game_Actor < Game_Battler

# The element that flags the weapon to only use its own attack and not
# the actor's attack when equipped
NO_BASE_ATK_ELEMENT = 1

alias atk_waos_ori atk
def atk
# If they have a weapon equipped
if @weapon_id != 0
# Grab the weapon
weapon = $data_weapons
# See if the weapon has the element flag NO_BASE_ATK_ELEMENT
if weapon.element_set.include? NO_BASE_ATK_ELEMENT
# Calculate the actor's attack only using the weapon's attack stat
n = [.max, 999].min
for state in states do n *= state.atk_rate / 100.0 end
n = [.max, 999].min
return n
# If it doesn't use the normal attack method
else
return atk_waos_ori
end
else
# Call the original method
return atk_waos_ori
end
end
end

Set a weapon to use the first element and whahey the actor's attack becomes the items attack. Change NO_BASE_ATK_ELEMENT to have the script use a different element.
Max McGee
with sorrow down past the fence
9159
This is, if possible, even more sweet. Fortunately I did not finish setting up my database.

Can weapons still have OTHER elements? Like if I wanted to make a fire gun, could it count as a gun (not add strength) but still shoot fire damage?

GRS, if possible, you are going to appear like forty times in my opening credits, you are the fucking man.

NEW BUSINESS:
Does anyone know of a good script that implements an "item weight" system to give each item/weapon/armor a weight (presumably in the notes box) and give each character a carrying capacity based on strength/level/whatever, really. I'm pretty sure this exists already, but I've had no luck finding it.
The KGC EP system (EquipExtension) does something like this admirably. Take a look at it.
Max McGee
with sorrow down past the fence
9159
No, it doesn't. I have it running and it while it does something similar, it's not really the kind of thing I'm looking for.

#_/ The second function is an "EP" (Equipment Point) System, which allows you
#_/ to designate how many 'points' an item costs to successfully equip. A
#_/ character's total EP expenditure is increased upon leveling up.
#_/ This introduces more strategy-oriented character customization.

I am far more interested in how many pieces of armor you can carry than how many you can equip. What that script does is very much a jRPG thing, what I'm looking for is very much a cRPG thing.

Thank you for the suggestion, though.

Oh, and this is nigh on impossible, I realize, but what the hell, pray and maybe you'll get a miracle:

Does anyone know of a script that extends the "Shop Processing" command so that a shop can remember what items it has in stock and allow you to buy back the items you sell to it? As if this wasn't a ridiculous enough request, it also has to be compatible with KGC_ComposeItem.

The above isn't a really high priority. Like the carrying capacity system, I can really live without it! But it sure would be nice to have. :)
Craze
why would i heal when i could equip a morningstar
15170
I don't know if it works with compose_item (I suggest trying this placed above and below compose_item in the script order), but:

http://www.rpgrevolution.com/forums/index.php?showtopic=14016

It is usable with this crafting script by the same guy, however!

http://www.rpgrevolution.com/forums/index.php?showtopic=13359&st=0&start=0


MODIFY: Also, there is a KGC script (LimitBreak, iirc--different from Overdrive) that lets you set the maximum amount of each item you can carry. Closest thing that I can think of.
Max McGee
with sorrow down past the fence
9159
Wow that is an amazing script. I will freaking cream my pants with happiness if it works!

Actually, that looks like a dozen scripts! Wow, that seems complicated. I think I'll hold off on adding it until I know it's really needed (working on eventing my custom level up system right now) but it's good to know that it's out there. Thanks Craze!
author=Max McGee link=topic=2577.msg49150#msg49150 date=1228418949
Can weapons still have OTHER elements? Like if I wanted to make a fire gun, could it count as a gun (not add strength) but still shoot fire damage?
Absolutely as long as there aren't any other scripts that affect the actor's attack if a weapon has another element on it (like if a weapon would give the actor x2 of their base attack if it had an element and it was also flagged as ranged). A Fire Gun should work 100%.


For the current scripts:
1) So have a party-wide carrying capacity? What about when you find/buy items and you don't have the capacity for it? Or when party members leave/lose strength? Are there penalties for being overencumbered (if being so is allowed at all)?

2) Does each store need its own unique memory? Do you need to keep track of the number of items sold and restrict available items bought to the number of items sold (like, if you sold 4 potions you could only buy back 4 potions)?

These sound like more than quick hacks so it would take a while to even get 'round to it (if at all, I can be a terribly lazy bastard at times/scripts can be a lot harder to implement than at first glance). Plus its been a while since I last sparred got curb stomped by the RMVX DBS for Clest :P
Shopoholic is an amazing script, but it can be a bit of a pain to use.

I happen to use it and I'm not exactly a great scripter, so it shouldn't be too bad.
Max McGee
with sorrow down past the fence
9159
1) For the sake of simplicity, I would make it so that overloading yourself simply was not possible. I.e. you couldn't buy or pick up items that would put you over your carrying capacity. It could be either party-wide or per-character, the former would probably be easier, eh? When party members leave, oh jeez, I dunno. That makes it tough to do it party wide and not individually!
2)Yes, ideally each store would have its own unique memory. I think shopoholic is what I need, so don't worry about this one, GRS, I'm just hesitant to dive into shopoholic since it is such a behemoth!

UNBELIEVABLE!
I have no clue how this is even possible, but I still cannot set variables equal to actor parameters, even after all my attempts at fixing it. I paid $60 for this broke ass program. GRS's script fixed the multiplying thing but still...what the fuck. Somebody help! :'(
I missed that too. I was wondering why there was no "case 4". Guess I should've looked harder.

Fix: Copy/Paste this over the last fix.

# This is stupid. Fuck you Enterbrain.

class Game_Interpreter

alias command_122_bug command_122
def command_122

value = 0
case @params[3] # Operand
when 0 # Constant
value = @params[4]
when 1 # Variable
value = $game_variables[@params[4]]
when 2 # Random
value = @params[4] + rand(@params[5] - @params[4] + 1)
when 3 # Item
value = $game_party.item_number($data_items[@params[4]])
when 4 # Actor
actor = $game_actors[@params[4]]
if actor != nil
case @params[5]
when 0 # Level
value = actor.level
when 1 # Experience
value = actor.exp
when 2 # HP
value = actor.hp
when 3 # MP
value = actor.mp
when 4 # Maximum HP
value = actor.maxhp
when 5 # Maximum MP
value = actor.maxmp
when 6 # Attack
value = actor.atk
when 7 # Defense
value = actor.def
when 8 # Spirit
value = actor.spi
when 9 # Agility
value = actor.agi
end
end
when 5 # Enemy
enemy = $game_troop.members[@params[4]]
if enemy != nil
case @params[5]
when 0 # HP
value = enemy.hp
when 1 # MP
value = enemy.mp
when 2 # Maximum HP
value = enemy.maxhp
when 3 # Maximum MP
value = enemy.maxmp
when 4 # Attack
value = enemy.atk
when 5 # Defense
value = enemy.def
when 6 # Spirit
value = enemy.spi
when 7 # Agility
value = enemy.agi
end
end
when 6 # Character
character = get_character(@params[4])
if character != nil
case @params[5]
when 0 # x-coordinate
value = character.x
when 1 # y-coordinate
value = character.y
when 2 # direction
value = character.direction
when 3 # screen x-coordinate
value = character.screen_x
when 4 # screen y-coordinate
value = character.screen_y
end
end
when 7 # Other
case @params[4]
when 0 # map ID
value = $game_map.map_id
when 1 # number of party members
value = $game_party.members.size
when 2 # gold
value = $game_party.gold
when 3 # steps
value = $game_party.steps
when 4 # play time
value = Graphics.frame_count / Graphics.frame_rate
when 5 # timer
value = $game_system.timer / Graphics.frame_rate
when 6 # save count
value = $game_system.save_count
end
end
for i in @params[0] .. @params[1] # Batch control
case @params[2] # Operation
when 0 # Set
$game_variables[i] = value
when 1 # Add
$game_variables[i] += value
when 2 # Sub
$game_variables[i] -= value
when 3 # Mul
$game_variables[i] *= value
when 4 # Div
$game_variables[i] /= value if value != 0
when 5 # Mod
$game_variables[i] %= value if value != 0
end
if $game_variables[i] > 99999999 # Maximum limit check
$game_variables[i] = 99999999
end
if $game_variables[i] < -99999999 # Minimum limit check
$game_variables[i] = -99999999
end
end
$game_map.need_refresh = true
return true
end
end

*edit*
I am 100% cool with not doing work :P
If you can decide on how you want the encumberance to work out, let me know and I'll see what I can do. It might be best to cut it/Use that EP system Karusman mentioned though.
Max McGee
with sorrow down past the fence
9159
Hot damn it worked! I <3 you GreatRedSpirit!

Also...

# This is stupid. Fuck you Enterbrain.

My favorite comment line ever.
Craze
why would i heal when i could equip a morningstar
15170
Fun little scriptlet so that your elements will average, because I have no idea how you set them up--the default method is to damage the enemy with the best element a weapon/skill has--but this will let you set fifty elements to each WHATEVER:


# CRAZE'S FAVORITE SCRIPTLET
# It averages the effectiveness of elements
# attributed to a weapon instead of simply choosing
# the most effective.

# Put this at the VERY TOP of your additional scripts; it overwrites
# def elements_max_rate completely.

module Craze_avg_ele_fav
# The NO_DAMAGE_CUTOFF constant is the range from (0, x) that will
# be simply set to zero; i.e. the cutoff is set to 34%, and the
# end result of the averaging is 25% damage, then the target will
# take no damage. Absorption (damage < 0) is still possible.

# If you do not wish to have a cutoff, then set this to 0.
NO_DAMAGE_CUTOFF = 34 # This is a percent.

end

class Game_Battler

def elements_max_rate(element_set)
return 100 if element_set.empty?
n = 100
for i in element_set
n += element_rate(i) / 2
end
return 0 if n >= 0 and n <= Craze_avg_ele_fav::NO_DAMAGE_CUTOFF
return n
end

end


You don't have to use it, but you might find it useful.

In other news, I just got back from a successful opening night of Tell Me That you Love Me, Junie Moon, so my stress-o-meter is way down, so I have free time, so I can work on your parameter stuff tomorrow. <3
author=Max McGee link=topic=2577.msg49179#msg49179 date=1228431739
Hot damn it worked! I <3 you GreatRedSpirit!

Also...

# This is stupid. Fuck you Enterbrain.

My favorite comment line ever.

And, hopefully, that's why Action Game Maker was delayed. So they get it right this time! /yeahright

Haven't run into any script issues yet, though I have a feeling I will, possibly with resizing the screen. Example: If my charasets are 64x64, they'll only have 8 X 7 (32x32) tiles to walk on!
author=VideoWizard link=topic=2577.msg49245#msg49245 date=1228450574
And, hopefully, that's why Action Game Maker was delayed. So they get it right this time! /yeahright

My money is on that the collision detection barely working and needs to be fixed up. Just wait when you shoot a mess of bullets half the enemies phase right though them (assuming the engine doesn't lag to hell in the mean time)

Having to fix ~36% of something somebody was paid to do (basic math) is not helping my confidence in Enterbrain at all right now.
Pages: first prev 123 next last