Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - R4L

#121
If I wasn't a poor bastard myself I'd say you could stay at my apartment. But me and my fiance are probably breaking up so I might be in the same situation soon myself.

Just keep your head up. You're a smart dude, you'll figure it out.  ;)
#122
General Discussion / Re: AGS 64 Competitions
Sat 16/07/2011 19:08:54
Quote from: Studio3 on Sat 16/07/2011 17:28:53
Oh you me the DLC, Free DLC vs $ DLC.

Free ones are not as great as the full ones. Free ones will be limited as well & also shorter the $ DLC. The free ones are more of a short quest that will allow you to gain money or maybe even new attacks for the original game once completed.

$ DLC are have different lengths however they will be as good as the original game. They work the same as the free DLC however there is better prizes for completing the DLC.

I hope that clears things up. Also yes you will have too update your post however you only need to make 1 post and just update that like I did on my post.

The only thing being that your games aren't even worth paying for in the first place. Not to mention your marketing for that is terrible. "Paid DLC is pretty much the same thing, just longer." That ONLY WORKS WHEN YOUR GAME IS GREAT AND TAKES HOURS TO COMPLETE.

I remember when I was buying DLC packs for Guitar Hero 3 on my Xbox 360. I got more songs, which isn't much. No new characters, or new gameplay elements. However, the main game itself was GREAT and ADDICTING, so I was willing to shell out money for new songs, despite how the game was aging. Your game, although improved from your earlier games, is still not worthy of this option. I've said it before; no one is going to pay for your game.

On topic - I'd pwn you at SSB, or Mario Kart. I am king.
#123
Quote from: monkE3y_05_06 on Fri 15/07/2011 21:20:19
Unless the character was just shaped really weird, you should probably be able to use the BlockingWidth and BlockingHeight to define the "attack box", and then use the pixel-perfect collision functions to check for coordinates within that box (which should be centered around player.x, and have its bottom at player.y).

So, just to give you an idea:

Code: ags
int x1 = player.x - (player.BlockingWidth / 2);
int y1 = player.y - player.BlockingHeight;
int x2 = player.x + (player.BlockingWidth / 2);
int y2 = player.y;


Oooohhh OK! That doesn't even sound that hard!  :=
#124
Quote from: ProgZmax on Fri 15/07/2011 18:24:11
You may want to look through the module section for the pixelperfectcollisions module.  This will allow you to have precision in the collision detection.  Something else you might want to do is make Link's sword (or even just the blade) a separate character when he uses it.  That way you can run the collision detection between the sword and the enemy rather than between ALL of Link and the enemy.  Since you're going with Zelda style combat you don't need to do that with enemies since touching them does the same damage as them attacking you.

That's the plan, I just want to make sure I can get the attacking part to work first. I'll look for that module too. Thanks for the reference Prog. :)

Quote from: monkE3y_05_06 on Fri 15/07/2011 18:27:48
QuoteChecks if the character is touching OTHERCHAR. This function just checks the baseline of both characters, so if one is standing a fair distance behind the other, it will not be marked as colliding.

You could perhaps work something up with checking the distance between the characters and then changing the character's baselines based on distance (say, if the distance is within 10 pixels they will be set to the same baseline, otherwise their baseline could just be reset to 0). You'd also want to include some checks to make sure the character is facing the correct direction (based on their loop). And you might want to take a look at Character.BlockingWidth, Character.BlockingHeight, and Character.Solid.

Edit: ProgZ posted while I was typing, and makes a good point. ;)

Very good points that I did not think about... I'll have to add in some code to check for which way Link is facing, and fix the attack code to reflect that. I'll look at the manual too for those functions.

Quote from: Khris on Fri 15/07/2011 18:32:12
I actually wouldn't use the built in collision function but rather check an "attack box" against enemy coords.
One reason for this is that it should be possible to hit more than one enemy at once. Once this system is in place, it's trivial to include the spin attack or other special moves.

This could be something I could implement with the pixel perfect collision detection module too right?
#125
Sorry for the double post, but I wanted to ask something about the hit detection.

Does the normal IsCharColliding command check only x values? I found that I have to be in an exact spot for damage to be dealt.
#126
Quote from: monkE3y_05_06 on Thu 14/07/2011 08:14:27
Also, why are you running a while loop inside rep_ex_always with a return statement inside the loop that is executed every iteration of the loop? That essentially makes your loop into an if statement, because it would only ever run once at most.

Because I don't know any better. :) Haha thanks for telling me that though.

Quote

Oh, and I switched from using ChangeView to Lock/UnlockView which is the preferred method for temporary animations.

OK, good to know that. I wasn't sure which one to use, but I know now.

Quote
Edit: I just realized you are defining your health variable inside of the script header. DO NOT DO THIS! EVER!! There is never a reason to define a variable inside of a script header, period. To make a variable global, you define the variable inside of the ASC script file, export the variable in the same ASC script file, and import it into the ASH header file (with the import keyword). The way you are doing it right now is creating separate variables for every room, not creating a single global variable.

Finally, (since I commented on everything else :P), there's no benefit behind checking the value of a variable before setting it, so you may as well just set the transparency immediately after checking the health, instead of checking it first. Oh, and one more thing, there's no reason to manually call return if it's the last statement in a function. The only reason you need to call return is if you want to prevent the function from executing code in the function after that point.

Alright, I'll remove the int from the header. I added this to the ASC at the very beginning:

Code: ags

int health;
export health;


and added this to the header:

Code: ags

import health;


But now I'm getting expected variable or function after import, not 'health' error. Am I supposed to add an integer value to this?

EDIT: Wow.... forgot to add import int health. Works now.
#127
Hey all. It's been a while since I've done anything on these boards, so I wanted to share this and hopefully get some critique.

I'm working on my coding skills, and I've uploaded a test game for you all to try that has a very simple implementation of Zelda style combat.

I've included the source and everything. I just want to know if it's a good start, and maybe some guidelines on how I can improve it. Right now, the hit detection isn't great, and health decreases too fast because the code that checks for when to remove health is under repeatedly execute. I've tried to limit it a bit by removing health only when Link is in certain frames of his attack animation, but it still decreases health a bit too fast.

I made sure to add comments to the script, so you know what code I've added. The main sections to check are the header, game start, repeatedly execute always, and on key press.

Here's a link to the test game. It's not much, but it's a start I guess. Move with the arrow keys, attack with X.

Thanks!

EDIT: I figured it would be easier to add the code here so no one has to open it up in the editor and search for it.

The Header
Code: ags

// Main header script - this will be included into every script in
// the game (local and global). Do not place functions here; rather,
// place import definitions and #define names here to be used by all
// scripts.

int health; //enemy health
export health;


Game Start
Code: ags

// Called when the game starts, before the first room is loaded
function game_start() {   
  // Put the code all in a function and then just call the function. 
  // It saves cluttering up places like game_start.
  initialize_control_panel(); 
  // Use the KeyboardMovement module to, per default, replicate the standard
  // keyboard movement of most Sierra games. See KeyboardMovement.txt for more info
  KeyboardMovement.SetMode(eKeyboardMovement_Pressing); 

  health = 100; //declared enemy's HP
}


Repeatedly Execute
Code: ags

function repeatedly_execute() {
  
  // Put here anything you want to happen every game cycle, even when
  // the game is paused. This will not run when the game is blocked
  // inside a command like a blocking Walk()
  
  if (IsGamePaused() == 1) return;

  // Put here anything you want to happen every game cycle, but not
  // when the game is paused.
  
//checks enemy's health to make him disappear when it's 0 or below
//doesn't actually do anything; you can still hit the enemy, but it's
//for demo purposes

  if (health <= 0){
    if(cFoe.Transparency > 0){
      return;
    }
    cFoe.Transparency = 100;
  return;
}
}


Rep. Execute Always
Code: ags

function repeatedly_execute_always() {
  
  // Put anything you want to happen every game cycle, even
  // when the game is blocked inside a command like a
  // blocking Walk().
  // You cannot run blocking commands from this function.
  
//this whole next block is for displaying the int health on the statusbar on label3
//and checking when to check for hit detection while Link is in his
//attacking view and apply damage by subtracting from health
  
  Label3.Text = String.Format("%d", health);
  
  if (cLink.Frame == 6){
      cLink.ChangeView(VIEW2);
    }
 
 while (((cLink.View == ATTACK) && (cLink.Animating == true) && (cLink.Frame >= 4))) {
  if (cLink.IsCollidingWithChar(cFoe)){
    health = health-4;
  }
    return;
  }
}


On Key Press
Code: ags

function on_key_press(eKeyCode keycode) {
  // The following is called before "if game is paused keycode=0", so
  // it'll happen even when the game is paused.
  
//for animating Link's attack
  if (keycode == eKeyX){
    cLink.ChangeView(ATTACK);
    cLink.Animate(2, 1, eOnce, eNoBlock, eForwards);
  }
}
#128
Quote from: voh on Fri 08/07/2011 18:44:32
+1 on monkey's post.

I'll add another +1 to that.

That's why I linked him the kit I was talking about in my post. It comes with more than enough tools to find his problem.
#129
Critics' Lounge / Re: Vehicles
Sat 09/07/2011 18:58:27
Quote from: NickyNyce on Sat 09/07/2011 18:45:12
Amazing what a little dirt can do, they look great

Agreed. Wham it really is amazing how far your art has come dude!  8)
#130
While you're at it, look up the Rogue Removal Kit. It's a kit with many utilities to search for viruses and restore registry entries and fix windows errors made by viruses. That's the author's homepage.

My laptop running Win 7 got the TDSS virus a few months ago, and using google or even the regular address bar on firefox would immediately re-direct me to some website; possibly one full of viruses.

It also shut down my AVG and Windows Firewall, wouldn't let me run disk defrag, or CCleaner, or Spybot. So I had to go on another computer and download this kit to my flash drive then install it on the lappy and then I ran the programs on it. I had no problems after a day's work.

The kit contains a version of Hitman Pro, PrevX, MalwareBytes, ComboFix, a winsock fix, and others to help get rid of most viruses and TDSS.

Here's the direct link to the zip file.

Just thought I could help.  ;)
#131
I love this module. Never again will I have to worry about not having toast.
#132
One thing that sucks about android rooting is that there is so many models and recoveries to work with.

I have an LG Optimus V running bumblebee rom with stock recovery, and it's 100% stable. Everyone with the same phone uses Cyanogen Mod v7, which is very unstable and makes most of the phone features unusable, like wifi for instance.

One thing to be careful of, in this case, is if you do root your phone, make sure you have a correct recovery. I first flashed the stock optimus recovery on my phone, but it was the S not the V, and in return, my buttons didn't do what they were supposed to do (home went back and back went home), among other things.

If you decide to root, I would recommend the bumblebee rom, and xionia's custom recovery. It's 100% stable, removes bloatware, has an overclockable kernel, and comes with an overclocking app, as well as impressive SD card reading and writing speed enhancements, free wireless hotspot tethering, and other things.

It's not as fast as Cyanogen Mod, but it's about a billion times more stable, and way faster than stock rom.

EDIT: XDA Forums is the best place for these kinds of questions. I'd check em out if I were you.
#133
Quote from: monkE3y_05_06 on Mon 27/06/2011 02:33:17
I actually hereby vow to get furiously pissed off at any and everyone who posts "something" within the two weeks following the exact deadline of 12:00 AM 11 July in their local timezone. :=

Also, R4L is still alive?

Yes I'm still alive.  :P
#134
Is that a Doom Revenant?  ;D
#135
I've seen your art progress from Infection to this, and I must say, congratulations on coming this far!  :=

Looks very interesting. Will definitely put this on my wish list.
#136
General Discussion / Re: Adult cartoons
Thu 16/06/2011 15:20:01
I'm so glad someone mentioned FMA. Some really great moments in that series!

I'd say Cowboy Bebop, almost anything on Adult Swim, and if you can get it, Outlaw Star is pretty great too.

Also, when my little cousins are over, they watch Spongebob, and I was laughing with them at one point. Good thing or bad thing?
#137
Sounds like yet another thing you're trying to copy.
#138
This happened to me too. When I checked my gmail about a year ago I had emails from google saying they couldn't authorize purchases for drugs. Someone used my email to try and buy percocets, oxys, and zantax pills.
#139
Quote from: Khris on Fri 03/06/2011 23:36:35
Since I also wanted to point this out but Babar did first I'm going to do so now: why would there be stacked coins in the first place, no matter how high?
The dragon doesn't stack them and nobody else is around, and when he brings loot back home, wouldn't he simply drop it?

I'd ditch those stacks completely unless the dragon has OCD or something.

Maybe part of the story is that the dragon just guards someone elses treasure.

If you play Dragon's Lair (and actually are good enough to get to the last battle) in the arcade or laserdisc versions, you fight a dragon in what looks like a sea of gold. There's gold stacked everywhere.

Like I said, maybe part of the reason is to maybe expand the story?  ???
#140
Your newest version is superior to your original in every way. However, might just be my monitor, but I can't distinguish the shadowing on the pile of treasure without squinting and really focusing on it. Just one little tidbit though. :)
SMF spam blocked by CleanTalk