No that IS the main menu. There is no need for the status screen cause it's designed for games that use a single player so all the info is shown on the main menu, but does have an option to switch what players info is displayed, for say games where you temp take control of another player or use a party switcher. This is said in the description, or did you just look at the screen shot?
Script. It's an okay script but there's placement errors.
__________________________
Xeilsoft - Follow your dreams to the very end..
Kits that I'm working on. [Unity3D 4.0] LTTP/Minish Cap - I don't have time for custom gfx like what the pze folks are doing but I will try and work on some enhanced LTTP graphics.
Main PC Core i7 3820 overclocked @ 4.8GHZ Galaxy: Nvidia Geforce GTX 680 GDDR5 2GB Asrock X79 Extreme9 w' creative sound 64GB corsair platinum @ 1600MHZ Muchkin 128GB SSD(boot), OZKIN 2TB SSD, Western Digital GREEN 1TB HDD. Rosewill Lightning 1000W PSU OS: Funtoo Linux, Windows 8 (Virtual Machine)
iMac (March 2013) 3.4GHz Quad-core Intel Core i7, Turbo Boost up to 3.9GHz 16GB 1600MHz DDR3 SDRAM - 2X8GB 1TB Serial ATA Drive @ 7200 rpm NVIDIA GeForce GTX 680MX 2GB GDDR5
Group: Member
Posts: 71
Type: None
RM Skill: Undisclosed
As a feedback, i think it will look better if location, gold and equipment are right aligned. Because all the other are in this style and look broken.
Also the the location text looks stretched, but there are a lot of spac, no?e. Maybe you have a bug with the draw_text width space, you can use more. Think that the rpgmaker font resize looks ugly, at least for me.
Anyway its not a bad idea. Im going to write a option for my save script that have solo player in mind too.
Also you might want to use a area array description rather than maps names. Maps names can be used for some other things, like ordering the creators maps, and the descriptions are then setted in a information array or hash. Think that if a creator use a very large dungeon with 20 maps it will have to create them with same name... a pain in the ass, and modifin the names before releasing the game its the same.
Where the numbers are the the maps and all share a description.
Anotther option you might want to add is to turn off the face .
About the code, its against the standard and good ways the use of global variables to configurate something. Global variables have to tens to be the lesser possible. They are functional but you can use a configuration module. They can give bugs or problems because are accesible from everywhere, and with rpgmaker scripts, a $main_player_id generic name might be used for some other scripts, that will override yours.
module Taiine My_constant = "Wep"
end
to acces it you have to do: Taiine::My_constant. Also if you search for ruby modules information you will see that modules have other interesting options and features.
I suggest you using your nick or something like that , generic names like 'config' are bad because some other script might be using it. The same goes with some variables names or the alias that people puts his nick in he name to improve compatibility(i saw you did this, anyway).
As a final suggestion, you can use when developing a module of only one letter and then make a replace all with a large name. Its more quick to code.
This post has been edited by gerrtunk: Oct 28 2010, 05:13 PM
@Rukiri If you are talking about the EXP text, yeah that is something I am still trying to make scooch over some.
@gerrtunk They use to be right aligned, but it made the bottom section look off center, like things weren't placed right. Sense it is it's own area, there all centered. The location also has a nice size to it. If allowed to be drawn fully that would span over half that window. All three areas also share the same size (time being a bit smaller) If the location text went over wider, then it would intrude on the gold area. So as you got more gold, the gold and location may over lap. So no that's not an error.
I also don't see why someone would name a dungeon different names, it's all the same place, why do such (dungeon Left wing/right wing, dungeon first floor etc)? Not gona call one room party down and the next dead zone. Also this is a menu system, not map name system. Many menu systems show the maps name in this very way. If someone wants to do it another way they can do their own script and edit this if they wish.
I also don't know of any other script that uses the main_player_id tag in it. Night Runner helped a lot in reorganizing my script and make it look cleaner, I don't see how it's against the standard.
I made this script for use in my own game, and as script heavy as it is there are no conflicts or others using the same tag.
Group: Member
Posts: 71
Type: None
RM Skill: Undisclosed
QUOTE (Taiine @ Oct 28 2010, 07:26 PM)
@Rukiri If you are talking about the EXP text, yeah that is something I am still trying to make scooch over some.
@gerrtunk They use to be right aligned, but it made the bottom section look off center, like things weren't placed right. Sense it is it's own area, there all centered. The location also has a nice size to it. If allowed to be drawn fully that would span over half that window. All three areas also share the same size (time being a bit smaller) If the location text went over wider, then it would intrude on the gold area. So as you got more gold, the gold and location may over lap. So no that's not an error.
I also don't see why someone would name a dungeon different names, it's all the same place, why do such (dungeon Left wing/right wing, dungeon first floor etc)? Not gona call one room party down and the next dead zone. Also this is a menu system, not map name system. Many menu systems show the maps name in this very way. If someone wants to do it another way they can do their own script and edit this if they wish.
I also don't know of any other script that uses the main_player_id tag in it. Night Runner helped a lot in reorganizing my script and make it look cleaner, I don't see how it's against the standard.
I made this script for use in my own game, and as script heavy as it is there are no conflicts or others using the same tag.
It was a suggerence. I have always used information names in maps, without having to think in giving they a common sense, thats a restriction.
Anyway is true that it is a menu sytem but it shows the location too, no? i have the code to share that does that and also other functions that read the map tree and search for basemaps with :before the name. These settle the area or region name of all maps under them.
I doubt you can know all the scripts out there. Not using globals is a general style tha t might not help in muchs moments, but it can help in others. The problem is not in the code, is in using global variables.
You can found information in google easily:
1. Avoid using Global scope and Global Variables. Global scope means scope that covers the entire program. Global variables are distinguished by starting with a dollar-sign ($) character. The Ruby interpreter starts up with a fairly large number of global variables already initialized. Global variables are distinguished by starting with a dollar-sign ($) character. The Ruby interpreter starts up with a fairly large number of global variables already initialized. Global variables don't mesh well with the ideals of object-oriented programming, as once you start using global variables across an application, your code is likely to become dependent on them. Because the ability to separate blocks of logic from one another is a useful aspect of object-oriented programming, global variables are not favored.
Global variables should be used sparingly. They are dangerous because they can be written to from anywhere. Overuse of globals can make isolating bugs difficult; it also tends to indicate that the design of a program has not been carefully thought out. Whenever you do find it necessary to use a global variable, be sure to give it a descriptive name that is unlikely to be inadvertently used for something else later (calling it something like $foo as above is probably a bad idea).
Group: Global Mod
Posts: 1,414
Type: Scripter
RM Skill: Advanced
Rev Points: 15
First most is that you've re-written the Window_Command default script... which could cause any other script to function incorrectly if they use the default one.. It would be best if you made a new class and derived it from Window_Command. instead of re-writing it.. i've only skimed over the code quickly.. but ill have a deeper look later and see where script incompatibles could be caused.
EDIT:
another no no, is how you've used the globals.. i would change them to Constants instead, would save allot of hassle.
I wouldn't know any other means of doing it. I mainly looked at the default scrips and edited them into my own, as well as seeing how thing's are done in other CMS's and useing them as examples. When dumped into my huge 'SCRIPT TEST/COMBATABLE' test game that is also loaded with other CMS edits (amung a lot of other things) for every other window, I saw no conflicts, no changes, nothing, even in my own game (that this was made for) that had CMS's as well, no conflicts, it all runs just fine.
Night_Runner was helping me a lot with it in cleaning it up and helping to rewrite parts that I was doing in more complicated ways and showing me better means to do some parts.
How would I call information from elsewhere with out calling the globals that well.. call them? Like the $game_actors or $data_weapons or even gold amount or armor or.. well.. the same stuff I see most other CMS's use? Like $game_system for the menu.
How do you call these thing's with out using global's, and if it's wrong, why do other CMS's use the same things to call the...same thing's?
Group: Member
Posts: 71
Type: None
RM Skill: Undisclosed
You know what object oriented progaming is? Because ruby is a OO language and you are doing the things bad. The idea with this system is that you have to create new objects for every function or need. Thats why exist inheritance, if you create a a Window_CommandMenu that inherits from Window_Command you will have a new object that is exactly like Window_Command, but that you can modify or add whatever you want to create little specialitzations, like you have created. Also you will see that Window_Command inherits from Window_Seletable, and this from Window_Base , and this from Window...
Why enterbrain didnt created all the methods and atributes of all windows in window or window selectable? that will be a complete chaos. Why Window_Status will need a Window_Item refresh method? Thats doing the things trully bad. An in a minor scale is what are you are doing here.
The only window command that need that fixes and the update help is the one you create for your menu( the real bad thing is the update help because is a 100% thing of a only one script).The only. For the others that is information redundancy and it makes the basic code more complex, when the best programing methodoly is to create complete independent and modulars strctures that reuse internally the code, without having to write that.
The idea es it to leave basic general classes with what all need and add extra things in new childs classes. Thats why window base have the draw methods: they are the more basic thing that will be shared with all others. Then commes window selectable, that have what all of normal selection list will need. Window commans is the same...
Anyway what you add to windoow_base is OK, because these was its function, to have the very basic draw methods.
CODE
#============================================================================== # * Window Command #------------------------------------------------------------------------------ # Edited to allow different alignments of text (styles) & infinite scrolling. #==============================================================================
#-------------------------------------------------------------------------- # * Update Help #-------------------------------------------------------------------------- def update_help @help_window.set_actor($game_party.actors[$scene.actor_index]) end end
See for example the window command, can be rewriten easyly and very quick. super calls the method of the parent class. You overrride the methods and atributes you want and nothing more.
The compatibility problems are that any other script might rewrite window_command, make yours addons to it inservible. Thats why its better to not use basic classes to do things that are for specialitzed things.
The main problem here is not that it dont function for you, is that you are learnig bad programing methdologies. Also it wont be that bad in a internally script fix, that you know what are doing and what you need, and save time. But here is suppsose you dont know whar are you doing, that you are learning and also public releasing your script. And for that is better to use more strict OO methologies.
QUOTE
How would I call information from elsewhere with out calling the globals that well.. call them? Like the $game_actors or $data_weapons or even gold amount or armor or.. well.. the same stuff I see most other CMS's use? Like $game_system for the menu.
How do you call these thing's with out using global's, and if it's wrong, why do other CMS's use the same things to call the...same thing's?
Globals are used for information that have to be accesed for everywhere. $data and $game are objects that are used and accesed in a lot of scripts, thats why they are globals.
But your options only need to be accesed by your script. See the difference? They dont need to be globals.
Other CMS might be doing the things wrong, also. Thats not a excuse. I telled you a way of accesing your constants on a protected and safely way: modules.
module Taaine
main_player_id = 1 menu_style = false
end
to acces it:
Taaine::main_player_id
This post has been edited by gerrtunk: Oct 30 2010, 05:53 AM
But the way I've done my options is the same way I've seen done in MANY scrips! I have several in my own game that are done the same way >.<
But thanks anyway for showing all what a big fat 'NONO' this script is. But you know, I'm only a beginner at this stuff, using other CMS scrips as a ref.. I guess the bigger named people can get away with this stuff...
Edit: By the way, doing the module thing like you show? And replacing all my globals? It now has broken my script. It pops up a syntax error on start up, and what line does it point to? The module one.
Group: Member
Posts: 71
Type: None
RM Skill: Undisclosed
QUOTE (Taiine @ Oct 30 2010, 07:51 AM)
But the way I've done my options is the same way I've seen done in MANY scrips! I have several in my own game that are done the same way >.<
But thanks anyway for showing all what a big fat 'NONO' this script is. But you know, I'm only a beginner at this stuff, using other CMS scrips as a ref.. I guess the bigger named people can get away with this stuff...
Edit: By the way, doing the module thing like you show? And replacing all my globals? It now has broken my script. It pops up a syntax error on start up, and what line does it point to? The module one.
It was a mistake. Variables in modules have to be constant: (start with upcase).
I know that a lot of people do that. I have done it in the past, no problem ,you are learning, thats why i taked the time to explain it all. But if you can do it an better way with no cost... well..xD. When you start understanging the object orientation you will know why is bad this and the other things. Also you will love OO because saves time and code, and make all more simplier and natural.
Anyway they are valid for quick fixes, that make save you a lot of time. Im making a small patch for a battlesystem of 1 hour. Studying the battlesystem code and structure and learn wehere to declare better the variables will take my like 20m or more. In 1h script that i dont release is a bad decision, and i have used globals directly... but this type of thin gs have to be exceoptions.
This post has been edited by gerrtunk: Oct 30 2010, 09:32 AM
Group: Member
Posts: 9
Type: Writer
RM Skill: Intermediate
Version 1.0 GasolineWaltz 10.30.10
Introduction
This is the first script I've ever really done... I'm sure I could have done things differently. I'm very open to critiques, I'm still learning. Basically, whatever has the terrain tag set to 3 is slippery ice. The one little problem I have is sometimes when the character falls down for a split second the fall graphic remains in-step, so it looks different momentarily.
Press B (Esc / X etc...) to get up after falling.
Script
Spoiler alert
CODE
#### Ice Skating ### ###### 'Waltz ######
class Game_Character alias ice_initialize initialize def initialize @step_count = nil @player_down = false @route = RPG::MoveRoute.new ice_initialize end end
#==========================
class Game_Player < Game_Character
alias ice_update update def update
ice_update terrain_check
end
#check terrain tag def terrain_check startslip if $game_map.terrain_tag(@x,@y) == 3 exit_ice if $game_map.terrain_tag(@x,@y) != 3 end
def startslip #if steps have been taken on the ice, start sliding if @player_down == false if !moving? if @step_count != nil if @step_count != $game_party.steps @step_count = $game_party.steps @direction_fix = false slide
end else @step_count = $game_party.steps end
else character_fall = rand(650) #While moving on ice character will fall #once out of whatever this value is set to # the number could be set to a variable #to create a learning to ice skate system if character_fall != 0 change_direction #if while moving around a direction button is pressed #have the character face that way while still moving. #This also slows the character down. else player_down end end else # when the player has fallen down... # this can be changed to whatever button desired
def slide ### The character slides forward #### this should not be done with "move forward" because #### the charactershould be able to change directions while #### still in the slide if @direction == 2 @route.list.clear @route.list.push(RPG::MoveCommand.new(32)) @route.list.push(RPG::MoveCommand.new(29,[4])) @route.list.push(RPG::MoveCommand.new(1)) @route.list.push(RPG::MoveCommand.new(1)) @route.list.push(RPG::MoveCommand.new(31)) @route.list.push(RPG::MoveCommand.new(29,[5])) @route.list.push(RPG::MoveCommand.new(0)) @route.repeat = false @route.skippable = true $game_player.force_move_route(@route) end if @direction == 4 @route.list.clear @route.list.push(RPG::MoveCommand.new(32)) @route.list.push(RPG::MoveCommand.new(29,[4])) @route.list.push(RPG::MoveCommand.new(2)) @route.list.push(RPG::MoveCommand.new(2)) @route.list.push(RPG::MoveCommand.new(31)) @route.list.push(RPG::MoveCommand.new(29,[5])) @route.list.push(RPG::MoveCommand.new(0)) @route.repeat = false @route.skippable = true $game_player.force_move_route(@route) end if @direction == 6 @route.list.clear @route.list.push(RPG::MoveCommand.new(32)) @route.list.push(RPG::MoveCommand.new(29,[4])) @route.list.push(RPG::MoveCommand.new(3)) @route.list.push(RPG::MoveCommand.new(3)) @route.list.push(RPG::MoveCommand.new(31)) @route.list.push(RPG::MoveCommand.new(29,[5])) @route.list.push(RPG::MoveCommand.new(0)) @route.repeat = false @route.skippable = true $game_player.force_move_route(@route) end if @direction == 8 @route.list.clear @route.list.push(RPG::MoveCommand.new(32)) @route.list.push(RPG::MoveCommand.new(29,[4])) @route.list.push(RPG::MoveCommand.new(4)) @route.list.push(RPG::MoveCommand.new(4)) @route.list.push(RPG::MoveCommand.new(31)) @route.list.push(RPG::MoveCommand.new(29,[5])) @route.list.push(RPG::MoveCommand.new(0)) @route.repeat = false @route.skippable = true $game_player.force_move_route(@route) end end
def change_direction
if Input.trigger?(Input::DOWN) @direction_fix = true @direction = 2 @move_speed = 3 end if Input.trigger?(Input::LEFT) @direction_fix = true @direction = 4 @move_speed = 3 end if Input.trigger?(Input::RIGHT) @direction_fix = true @direction = 6 @move_speed = 3 end if Input.trigger?(Input::UP) @direction_fix = true @direction = 8 @move_speed = 3 end end
The customizable features aren't many, unless you want to get into re-writing some of the code. I suppose you could change the speed of the character etc... The character fall graphic would have to be changed as well, depending on the character being used. Also, the button you press to get up is set to "B" but that really could be anything, I had it set to "DOWN" for a while.
One thing that could be interesting would be changing the random fall number into a variable and setting up a "learning to ice skate" system...
Compatibility
This script should be compatible with most scripts
Well it's still broke, I'm running into numerous errors now with just this one small change. It also no longer works with the menu style. Saying undefined method, yet it's right up there, inside that dumb module, named just how it needed to be named. @icons_only = Spcms::menu_style
Group: Member
Posts: 71
Type: None
RM Skill: Undisclosed
QUOTE (Taiine @ Oct 30 2010, 03:45 PM)
Well it's still broke, I'm running into numerous errors now with just this one small change. It also no longer works with the menu style. Saying undefined method, yet it's right up there, inside that dumb module, named just how it needed to be named. @icons_only = Spcms::menu_style
You didnt do what i tell. You have to make all variables in a module constants, so:
module Taaine
Main_player_id = 1 Menu_style = false
end
to acces it:
Taaine::Main_player_id Taaine::Menu_Style
What other errors are you having? its working fine for me.
This post has been edited by gerrtunk: Oct 30 2010, 05:03 PM
Ugh now the EXP is no longer drawing right, as if it;s not even reading from the script as nothing I do to try and scooch the value over to line with the SP/HP effect anything in game. It's not even changing the 'E' to 'EXP' anymore. Grrr..
I think to fix your fall down issue, would be to set it to a custom character set, to have the player falling down in different directions. So when you fall it just goes to that player tile and changes to whatever direction your facing when you fall, rather then one player on a whole set.
you see how it doesn't use globals where they are not needed. but instead it uses constants, take a look at it, and see how you can modify your CMS to work similar to this.
Group: Member
Posts: 2
Type: Event Designer
RM Skill: Beginner
Sorry i'm still noob but i have this kind of problem.
I use this \C[#] in my message window to change my text color. I usually just change the color in the middle of the text like \C[1]this \C[0]. but after using this script, all of the text color in my message box changed (so it's looks like "\C[0]this" even though I Type it like "\C[1]this\C[0]" ). so not only in the middle of the text changed but all of it. could you tell me how to fix this ?
Kread-EX there's a small problem with naming the maps. If you add the EC[#] to the maps, EC[#] will show up in the name as well with the name of the map during game. That just looks wierd:
EC[20]Forbidden Forest
How do you fix it so it doesn't show the EC[#] in the location name during game play.
__________________________
Use Dropbox to upload your files. Much simpler than other upload sites, you can simply place a folder on your desktop that will sync with your DropBox account.
QUOTE ('Exiled One')
"If you are one of the very few teenagers that know what real rap is and don't blindly listen to the hate statements (rap is crap), then put this in your sig. I say this in the name of Common, Mos Def, Lupe Fiasco, 2Pac, Nas, Talib Kweli, Eminem, and many others."