Graal Forums  

Go Back   Graal Forums > Private forums > Graal4 Forums > Graal V4 Main Forum
FAQ Members List Calendar Today's Posts

 
 
Thread Tools Search this Thread Rating: Thread Rating: 6 votes, 5.00 average. Display Modes
  #1  
Old 01-23-2006, 08:37 PM
Admins Admins is offline
Graal Administration
Join Date: Jan 2000
Location: Admins
Posts: 11,693
Admins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud of
Exclamation Graal v4.03 revision 5 released

New versions for Windows and Linux have been uploaded. Download them by connecting to the login server.

Changes:
Graphics engine (Windows):
- Improved initialization of textures to make it work on more graphics card
- When there is no hardware graphics acceleration the game continues to work but displays a message in the F2 window
- Several errors that were spamming the F2 window before only display one time now (like 'Error drawing image bubble.png')

Installer (Linux):
- It's installing the offline levels now, so offline mode should work now

Scripting:
- Fixed findareanpcs(x,y,width,height) on gmaps on clientside
- Improved support for projectiles with different gravity (this will not be enabled until v2 is disabled though)
  #2  
Old 01-23-2006, 08:52 PM
Er1c Er1c is offline
Registered User
Er1c's Avatar
Join Date: Mar 2001
Location: Chicago, IL
Posts: 791
Er1c is on a distinguished road
Can you define what player.join() is supposed to do with the clientside part of the script? I assumed it would behave almost like a weapon, but it does not...
__________________
Eric Kraft
  #3  
Old 01-23-2006, 08:54 PM
Admins Admins is offline
Graal Administration
Join Date: Jan 2000
Location: Admins
Posts: 11,693
Admins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud of
Quote:
Originally Posted by Er1c
Can you define what player.join() is supposed to do with the clientside part of the script? I assumed it would behave almost like a weapon, but it does not...
Only clientside parts of npcs and weapons and affected by a serverside join
  #4  
Old 01-23-2006, 10:23 PM
napo_p2p napo_p2p is offline
oh snaps
napo_p2p's Avatar
Join Date: Sep 2003
Location: Pismo Beach, California
Posts: 2,118
napo_p2p has a spectacular aura aboutnapo_p2p has a spectacular aura about
Send a message via AIM to napo_p2p Send a message via MSN to napo_p2p
Quote:
Originally Posted by Stefan
- Improved support for projectiles with different gravity (this will not be enabled until v2 is disabled though)
Yay. Thanks Stefan .
__________________
Scito hoc super omnia.
Haec vita est tua una sola.
Dum vita superest, utere maxime quoque puncto, momento, et hora quae habes.
Tempus neminem non manet.
Noli manere tempus.
Carpe Diem

Seize the Day.
  #5  
Old 01-23-2006, 10:27 PM
Grappler Grappler is offline
Registered User
Join Date: Feb 2005
Posts: 43
Grappler is on a distinguished road
Can you post the exe (windows)? For some reason the setup is having the same problem that revision 4 was having.

EDIT: See this for details.

Last edited by Grappler; 01-24-2006 at 12:02 AM..
  #6  
Old 01-23-2006, 11:12 PM
Admins Admins is offline
Graal Administration
Join Date: Jan 2000
Location: Admins
Posts: 11,693
Admins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud of
Quote:
Originally Posted by Grappler
Can you post the exe (windows)? For some reason the setup is having the same problem that revision 4 was having.
Explain, what kind problem ?
  #7  
Old 01-24-2006, 12:27 AM
jake13jake jake13jake is offline
Former Classic Staff
jake13jake's Avatar
Join Date: Dec 2002
Location: Northwest Vermont
Posts: 1,452
jake13jake will become famous soon enough
Quote:
Originally Posted by Stefan
Scripting:
- Fixed findareanpcs(x,y,width,height) on gmaps on clientside
hooray! now all I need is some dontblock() detection. Only thing that detects it right now, as far as I know, is onwall/onwall2. And in that case it doesn't detect it, but ignores the NPC altogether.
  #8  
Old 01-25-2006, 04:03 AM
jake13jake jake13jake is offline
Former Classic Staff
jake13jake's Avatar
Join Date: Dec 2002
Location: Northwest Vermont
Posts: 1,452
jake13jake will become famous soon enough
Stefan, as for a read-only bool for detecting if an npc is blocking or not, I need to know whether or not you'll add it to see what direction I'm going here (if you do it will be nice, if you don't it will be a nightmare that will probably last a month or two).

Last edited by jake13jake; 01-25-2006 at 04:18 AM..
  #9  
Old 01-25-2006, 02:40 PM
Admins Admins is offline
Graal Administration
Join Date: Jan 2000
Location: Admins
Posts: 11,693
Admins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud of
What exactly do you need added ?
  #10  
Old 01-25-2006, 05:48 PM
jake13jake jake13jake is offline
Former Classic Staff
jake13jake's Avatar
Join Date: Dec 2002
Location: Northwest Vermont
Posts: 1,452
jake13jake will become famous soon enough
Quote:
Originally Posted by Stefan
What exactly do you need added ?
npcs[i].notblocking;
PHP Code:
function onNPC(x,y,w,h) {
  
temp.tnpcs findareanpcs(tx,ty,w,h);
  for (
temp.i=0;temp.i<temp.tnpcs.size(); temp.i++) {
    if (!
npcs[i].iUsedDontBlockAndDidntUseBlockAgainYet) {
      return 
1;
    }
  }
  return 
0;

Anything else that I might have needed wouldn't really matter in my movement system since Master Storm had already rescripted push/pull to be independent NPCs, and had made a liftable objects class, etc. Although, with my movement system, liftable objects won't have to call the system to be lifted. However, it would still be good if there were bools for canbelifted(), like npcs[i].liftable == 1.

Mostly it would make it less of a hassle to convert NPCs for the custom movement system because right now it's impossible to accomodate a lot of command functions with a custom movement system. I'm just having trouble with dontblock because I'm trying to upgrade my movement system (beyond onwall2) to be a bit more dynamic, though mostly in the sense of players. To accomodate that, however, you need to be able to test tiles, players, and NPCs independently. Tiles was easy, players are more controlled and easier to optimize around, but NPCs are very dynamic. That's why I needed access to findareanpcs(). However, I still can't test whether or not an NPC is blocking, and that's pretty much the last thing before I can start removing the onwall code and start worrying about determining when a player blocks and when a player doesn't block (and we have more control over players, so it shouldn't be too much of a problem).
  #11  
Old 01-25-2006, 07:55 PM
Admins Admins is offline
Graal Administration
Join Date: Jan 2000
Location: Admins
Posts: 11,693
Admins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud of
Hmmm Should be quite sinmple to add, will do in the next version
May be also some objtiletype(x,y) and objonwall(x,y) and objonwall2(x,y,w,h) functions
  #12  
Old 01-25-2006, 08:59 PM
jake13jake jake13jake is offline
Former Classic Staff
jake13jake's Avatar
Join Date: Dec 2002
Location: Northwest Vermont
Posts: 1,452
jake13jake will become famous soon enough
Quote:
Originally Posted by Stefan
May be also some objtiletype(x,y) and objonwall(x,y) and objonwall2(x,y,w,h) functions
Well I see you've contemplated the work-arounds I could have used too :P.

While you're at it, you might want to think about adding a canbejumped() function along with a bool var for it. I was going to do that with my movement.

Hmm... I also think player.reading doesn't work for serverside signs.

Also, is there any way to lift a script other than by default movement?

Last edited by jake13jake; 01-26-2006 at 06:21 AM..
  #13  
Old 01-26-2006, 05:22 PM
Admins Admins is offline
Graal Administration
Join Date: Jan 2000
Location: Admins
Posts: 11,693
Admins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud of
Jumping? Use setshape2 and tiletype 21, even works with classic movement.

Player.reading cannot be checked on serverside, but it is setting the pause mode.

Lift a script?
  #14  
Old 01-26-2006, 07:00 PM
jake13jake jake13jake is offline
Former Classic Staff
jake13jake's Avatar
Join Date: Dec 2002
Location: Northwest Vermont
Posts: 1,452
jake13jake will become famous soon enough
Quote:
Originally Posted by Stefan
Jumping? Use setshape2 and tiletype 21, even works with classic movement.
yea, but it's simpler to use isJumpable. Not difficult for me to add to my movement, so this wouldn't matter to me.

Quote:
Lift a script?
Well, there is an event handler "wasthrown". But you can't really use it in custom movement. In fact, storm's movement just fires a projectile. Although considering that objects thrown should always travel a constant distance, we don't really need to use shoot for throwing carried objects. Having access to wasthrown would help bomb scripts make more sense, but you can't do it unless you know what NPC your carrying, and that NPC's script. Something like that.

Quote:
Player.reading cannot be checked on serverside, but it is setting the pause mode.
Well, I guess I should be testing for paused then :P.
  #15  
Old 01-26-2006, 11:28 PM
Admins Admins is offline
Graal Administration
Join Date: Jan 2000
Location: Admins
Posts: 11,693
Admins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud of
Using projectiles for thrown objects is the preferred way, not sure why you want to mess with the deprecated classic system.
  #16  
Old 01-27-2006, 04:59 AM
jake13jake jake13jake is offline
Former Classic Staff
jake13jake's Avatar
Join Date: Dec 2002
Location: Northwest Vermont
Posts: 1,452
jake13jake will become famous soon enough
Quote:
Originally Posted by Stefan
Using projectiles for thrown objects is the preferred way, not sure why you want to mess with the deprecated classic system.
Just seeing if I can make Classic's new systems easier for incoming scripters to understand. First, they're very hard to come by. I lucked out with Yen applying, he has a decent understanding of scripting. Kronan still needs some training, and everyone else I've hired has been fired for doing stupid things.
  #17  
Old 01-28-2006, 08:47 AM
jake13jake jake13jake is offline
Former Classic Staff
jake13jake's Avatar
Join Date: Dec 2002
Location: Northwest Vermont
Posts: 1,452
jake13jake will become famous soon enough
Oh, I failed to mention, and since I can't find the edit button, shoot really needs a bit of work.

1. Clientside-Serverside Consistency:
This is what drove me away from playing Graal Kingdoms, the blockiness of it all.
2. More options:
No wall blocking, but instead solely object blocking, is what Classic players are really interested in. I'm pretty sure that the way it is now and with enough toiling, we can turn arrows into fire arrows when they go through explosions, fix the arrow endsprite to old Classic style, and so on. Perhaps the best approach would be tiletypes? like, it might be interesting to block tiletype 22 but not tiletype 21 in certain instances. Fire arrows are important to detect walls, that kindof sense.
3. oh god... this floor is way too loud to concentrate right now. Drunken idiots.

Okay, quieter now. Another thing... My movement actually supports opposite boots and gravity boots with ease (remember the old really bugged ones?). Anyway. There are some things that are a hassle with the opposite boots.
1. level links require you to be facing them? (signs should of course).
2. playertouchsme only works if you're facing the npc?
3. (only somewhat related) It would be extremely, extremely very, very, very nice if there were an onCollision event handler... where either an NPC touches a player or a player touches an NPC. I can't stress this enough. It would significantly improve baddy scripting. With serverside damage scripts, you don't want to call the server a lot. It creates unneccessary usage. However, what if you wanted to create an area in a level, that if the player enters the player would get hit. The only good way would be to have a clientside timeout and trigger the server if the player enters the range of coordinates. I've wanted to do this in the level for my Water Quest miniboss. This could be easily accomplished with an onCollision function and an NPC that has a serverside setshape.

Last edited by jake13jake; 01-28-2006 at 10:50 AM..
  #18  
Old 01-28-2006, 09:49 AM
Inverness Inverness is offline
Incubator
Inverness's Avatar
Join Date: Aug 2004
Location: Houston, Texas
Posts: 3,613
Inverness is a jewel in the roughInverness is a jewel in the rough
I would like to know where I could download the guigreen* files.
__________________
  #19  
Old 01-28-2006, 02:26 PM
Admins Admins is offline
Graal Administration
Join Date: Jan 2000
Location: Admins
Posts: 11,693
Admins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud ofAdmins has much to be proud of
Quote:
Originally Posted by jake13jake
1. Clientside-Serverside Consistency:
This is what drove me away from playing Graal Kingdoms, the blockiness of it all.
?
Quote:
This could be easily accomplished with an onCollision function and an NPC that has a serverside setshape.
Right, do setshape and use onPlayertouchsMe()
  #20  
Old 01-28-2006, 11:21 PM
jake13jake jake13jake is offline
Former Classic Staff
jake13jake's Avatar
Join Date: Dec 2002
Location: Northwest Vermont
Posts: 1,452
jake13jake will become famous soon enough
Quote:
Originally Posted by Stefan
Right, do setshape and use onPlayertouchsMe()
Stefan, onPlayertouchsMe() only works when:
1. the player moved in the direction of the npc
2. the player's 2x2 shape offsets or overlap the NPC
3. the playerdir is facing towards the NPC or sideways away from that.

Problems:
1. no way to reciprocate it when an NPC moves to touch the player
2. the player might be moving backwards.

Level links present the same problem as Problem #2, except more exclusively they only link when the player is facing them.

I'm happy that I've at least seen some great improvements in playertouchsme.

Last edited by jake13jake; 01-28-2006 at 11:37 PM..
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 02:05 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
Copyright (C) 1998-2019 Toonslab All Rights Reserved.