Graal Forums

Graal Forums (https://forums.graalonline.com/forums/index.php)
-   Code Gallery (https://forums.graalonline.com/forums/forumdisplay.php?f=179)
-   -   Atlantis (https://forums.graalonline.com/forums/showthread.php?t=134267580)

Crow 12-17-2012 10:26 AM

Atlantis
 
1 Attachment(s)
As promised, here is most of Atlantis' code and some other resources you can use. Keep in mind, anything that is not included in this package which is content of Atlantis, you are not allowed to use on your playerworld.

A couple notes:
  • The baddy code is not included, since it was a mod of Gambet's GBaddy (which can be found in the Code Gallery as well) and was rather hackish in its whole nature; nothing to learn from, really.
  • Due to Stefan's optimizations on tile update stuff, when "removing" objects such as bushes, stones and the like, the tile changes below may disappear again before the object actually respawns. You can actually fix this by changing the updateBoard() calls in the object class to update 3x2 instead of 2x2 tiles.
  • I removed all (I guess) cheat detection code, since it's generally not a good idea to make things like that public. Wasn't anything fancy anyway, but still..
  • Yes, I did shamelessly copy the basic ideas of Era's staff tools. They're good!


No guarantee for good code. There are also probably a few bugs here and there. I'm not providing any more information right off the bat. If you need help or have any questions, please ask them in this thread. No PMs if it's not about anything critical.

Thank you.

callimuc 12-17-2012 05:17 PM

must spread reputation :(

Crow 12-17-2012 05:30 PM

It's not like I need that. I am happy as long as some of this can be of help to someone, be it directly or indirectly.

Emera 12-17-2012 05:32 PM

Oh wow. This is fantastic. +rep

callimuc 12-17-2012 05:55 PM

well it really is fantastic. cool things being included to work with the default movement rather than creating a custome one.
can most likely help me with some things so i dont have to create a custome one :)

scriptless 12-17-2012 06:05 PM

Looking forward to seeing this on N-Pulse.. because I'll bet anyone it happens.. LOL

Crow 12-17-2012 06:11 PM

Quote:

Originally Posted by scriptless (Post 1709745)
Looking forward to seeing this on N-Pulse.. because I'll bet anyone it happens.. LOL

If it helps, it's good. I'm not just releasing this for craps and giggles. I hope no one is being looked down on for using this, because that's really not right.

scriptless 12-17-2012 06:17 PM

Quote:

Originally Posted by Crow (Post 1709746)
If it helps, it's good. I'm not just releasing this for craps and giggles. I hope no one is being looked down on for using this, because that's really not right.

I know, im just predicting the future.. hopefully they don't end up taking stuff that's not public use tho.. like they keep doing to Dusty.. he just the other day yelled at them... again ... seems telling them no doesn't stop them

Atlantis will be missed, it looked so promising. I really wanted it to go public so I could play it.. First time I saw the server it was in another language, not sure if it ever became English?

callimuc 12-17-2012 06:19 PM

Quote:

Originally Posted by scriptless (Post 1709747)
another language

german :P
regarding the textbox script, they wanted to use graals translation thingy

Crow 12-17-2012 06:21 PM

Quote:

Originally Posted by callimuc (Post 1709748)
regarding the textbox script, they wanted to use graals translation thingy

Indeed. Plan was English + German. Not sure if N-Pulse's bush is really taken from Dusty though, might really just be a LttP remake; we'll see. If they take any graphics from Atlantis, I'll know :p

scriptless 12-17-2012 06:23 PM

Quote:

Originally Posted by Crow (Post 1709749)
Indeed. Plan was English + German. Not sure if N-Pulse's bush is really taken from Dusty though, might really just be a LttP remake; we'll see. If they take any graphics from Atlantis, I'll know :p

Alot of time they would tell me if they changed the color's around it was not copying.. it really looks like Dusties remake of lttp tho..

But your saying that the Graal Translation didn't work? And how does that work exactly? Is it some sort of scripting for translation or doe's graal attempt to translate it all itself ?

Crow 12-17-2012 06:26 PM

Quote:

Originally Posted by scriptless (Post 1709750)
But your saying that the Graal Translation didn't work?

I did? I don't think so :p It does work. You just provide all translation files, and if it can't find any for the selected client language, it will default to the original input text. I can provide more details on the system later, bit busy right now.

callimuc 12-17-2012 06:29 PM

Quote:

Originally Posted by scriptless (Post 1709750)
Alot of time they would tell me if they changed the color's around it was not copying.. it really looks like Dusties remake of lttp tho..

But your saying that the Graal Translation didn't work? And how does that work exactly? Is it some sort of scripting for translation or doe's graal attempt to translate it all itself ?

well you can have a translation by doing something like
PHP Code:

echo( _("hello") ); 

which would translate it into the clients language being set (i think changeable through the f3 options but im not sure since i have only been using this on iEra even though the translations are never updated)

im not too sure if there are any guidelines for uploading the translations, but in case you want to see how the file would have to look like, simply check your graal folder - levels - translations and open one of those .po files with a text editor

scriptless 12-17-2012 06:34 PM

callimuc, threw you some Rep ++... thanks for the information, it is very useful. crow, I think I rep you to much also.. lmao because ALOT of people I cannot rep... fccmike, crono, u, dusty... i mean wow I must rep ++ alot.. xD

Quote:

Originally Posted by Crow (Post 1709752)
I did? I don't think so :p It does work. You just provide all translation files, and if it can't find any for the selected client language, it will default to the original input text. I can provide more details on the system later, bit busy right now.

Sorry read wrong post, I was reading how callimuc said "they wanted to" and assumed that it was saying it didn't work.

That's neat. Tho does graal have languages anymore?

Edit: It does.. didn't it used to be on the first screen that poped up where you entered in your login info?

Crow 12-17-2012 06:38 PM

Quote:

Originally Posted by scriptless (Post 1709754)
Edit: It does.. didn't it used to be on the first screen that poped up where you entered in your login info?

Yup, that's where it was. This is the folder config stuff for translations on Atlantis:
PHP Code:

file    translations/*.po
file    translations/en/*.po
file    translations/de/*.po 

I believe clientside translation files were put into levels/translations/*, and serverside ones in their respective sub folders. Then, in the server options, we have this:
PHP Code:

serverlanguage=en
defaultlanguage
=en
translatedlanguages
=de 

Finally, in a system WNPC (file names for translations were atlantis_en.po and atlantis_de.po, and just atlantis.po for serverside ones):
PHP Code:

loadTranslation("atlantis"); 

The rest of the magic is done by Graal and the _() function.

scriptless 12-17-2012 06:43 PM

Quote:

Originally Posted by Crow (Post 1709755)
Yup, that's where it was. This is the folder config stuff for translations on Atlantis:
PHP Code:

file    translations/*.po
file    translations/en/*.po
file    translations/de/*.po 

I believe clientside translation files were put into levels/translations/*, and serverside ones in their respective sub folders. Then, in the server options, we have this:
PHP Code:

serverlanguage=en
defaultlanguage
=en
translatedlanguages
=de 

Finally, in a system WNPC:
PHP Code:

loadTranslation("atlantis"); 

The rest of the magic is done by Graal and the _() function.

so would it work like this?

translatedlanguages=de,fr,more languages

and for loadTranslation("atlantis"); thats the name of the po file, right? im under the impression that you only need the loadTranslations once, and it will load for any language set?

Crow 12-17-2012 06:53 PM

Quote:

Originally Posted by scriptless (Post 1709757)
so would it work like this?

translatedlanguages=de,fr,more languages

It should!


Quote:

Originally Posted by scriptless (Post 1709757)
and for loadTranslation("atlantis"); thats the name of the po file, right? im under the impression that you only need the loadTranslations once, and it will load for any language set?

It's the name of the translation file, yes. I just now wonder if it automatically appends the underscore and language domain (the two characters used to shorten the language) or the files without the language domain appended were for clientside translations after all.. well, just give it a shot! RC should also output some nifty messages when uploading the serverside translation files. If that hasn't been removed, that is.

zerxusgraal 12-17-2012 07:03 PM

Im sad to see atlantis no longer being worked on.
It looked great, gfx scripts and levels :)
Its very nice of you to share your work with the community. Thank you for that.

To scriptless:
N-Pulse used alot of free graphics when we started.
Some missunderstandings were made and brought to our attention. We then removed those images and appologised for our mistakes.
We have a talented team in all areas now and it saddens me to see you see us as "thieves".

Starfire2001 12-17-2012 07:54 PM

Cool stuff!

Let's not start arguing about npulse for no reason now though.

DustyPorViva 12-17-2012 07:58 PM

Ah well, I can't rep :( What a pity, but I really appreciate people like Crow who put so much passion into their work. It's a pity Atlantis didn't make it, but it's great to see people who are willing to let go and let others benefit from their hard work instead of hoarding it in their backup folder that will probably never see the light of day again.

As for the N-Pulse deal I don't hold grudges. I never followed up and checked to see if they removed the bush as I realize sometimes confusion/mistakes happen. But let's not spam Crow's thread with that mess :)

Crow 12-18-2012 07:18 PM

One more thing that comes to mind: if you use Atlantis' graphics as a reference in order to understand how the code works (which is completely fine as long as you're not using the graphics), you may notice that the rain effect on the windows is sometimes below, sometimes above the window graphics. This is due to insufficient layer control in Graal. I wanted to move that rain animation into a gani, along with the windows, but never got around to it. So, if you want to go with a similar approach and use my code for it, you can/should do that.

MysticalDragon 01-02-2013 07:36 PM

When using your custom projectiles, I noticed that other people can't see your thrown objects but you can see your own. Any idea why?

MysticalDragon 01-02-2013 08:53 PM

I fixed it, odd issue. But I think it's how stefan tweaked player.triggerclient. I added a null to the end of the triggerclient were it sends the data and it worked.

Crow 01-04-2013 10:09 PM

Quote:

Originally Posted by MysticalDragon (Post 1711413)
I fixed it, odd issue. But I think it's how stefan tweaked player.triggerclient. I added a null to the end of the triggerclient were it sends the data and it worked.

Must be the difference between v5 and v6 then. I should've said it in the first post: some things only work with v6, even though a fix for v5 would be quite simple. I didn't want to focus on old versions though. Also:

Quote:

Originally Posted by MysticalDragon (Post 1711572)
it would be a lot easier and more modifiable if you would just make your own dropping system, imo. Atlantis has a great dropping system, check it out in the code gallery.

You reminded me of some awkward logic/math stuff I did there. Have a look (item class):
PHP Code:

function onCreated() {
  
// create a random item, wohoo!
  
if (this.dItem == NOTHING) {
    
temp.chances = { 0.40.510.510.510.610.660.680.780.830.85 };
    
temp.random(01);
    
    for (
temp.0<= chances.size(); i++) {
      if (
== && chances[0])
        
this.dItem 1;
      elseif (
== chances.size() && >= chances[1])
        
this.dItem chances.size() + 1;
      elseif (
>= chances[1] && chances[i])
        
this.dItem 1;
    }
  } 

Does that make sense? I wonder. It lacks some proper comments. Check the enumeration at the top of that class to see which items it'll distribute with which percentage, and keep in mind that subtracting the value of the n-1th array element from the value of the nth array element yields the chance for the n+1th item. Doesn't make sense? Sorry~

MysticalDragon 10-07-2014 04:56 PM

Didn't see this, at first I was like wtf? But once you understand it its easy to follow, add to it.


All times are GMT +2. The time now is 06:45 PM.

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