• ✨ ARCHIVE MODE ✨
    The forum has now been set to read-only mode, no new posts, resources, replies etc will not be possible.
    We recommend you join our Discord server to get real-time response: Discord Invite Link

[Modding Questions] Have a question about modding? Ask here!

Status
Not open for further replies.

DracoHouston

Kolben Developer
Contributor
this is a sample of the warp script from the cherrygrove mart
Code:
{"Entity"{ENT[{"EntityID"{str[WarpBlock]}}{"Position"{sngArr[4,0,6]}}{"TexturePath"{str[Center]}}{"Textures"{recArr[[80,64,16,16]]}}{"TextureIndex"{intArr[0,0,0,0,0,0,0,0,0,0]}}{"Collision"{bool[1]}}{"ModelID"{int[1]}}{"Action"{int[0]}}{"AdditionalValue"{str[cherrygrove.dat,25,0.1,5,0]}}{"Rotation"{int[0]}}]}}
the last part of the code tells it where it goes to
you mean the Additional Values? hmm... i need to find the Map Editor in the Forums D:
it can be done with a text editor, additional value is usually a string, it holds additional information the entity needs.

NPCs have 3 actions
0 - say what its in additonalvalue when used
1 - execute the script specified in addionalvalue. its the relative path from /pokemon/scripts/ without the .dat at the end
2 - execute the script specified in additonal value when the player is within sight and within a certain distance (THIS IS HOW TRAINERS WORK). its specified by a number for distance then a pipe then its the relative path from /pokemon/scripts/ without the .dat at the end like this. {"AdditionalValue"{str[3|trainer/azalea/gym/bugcatcheral]}}

script blocks just take a script in additonal value

warp blocks take the map and position to warp to and also what direction you can enter it from
 

Katosen

Trainer
Thank you Darkfire.
yeah moves arent data driven yet, but its planned. you can swap moves on your pokemon inside your saves but they will naturally learn anything thats in their species data

you can find species data at /pokemon/content/pokemon/data/

a pokemon right now consists primarily of 3 things
-an id number
-name
-sprite

right now the menu sprites dont have support for custom pokemon so any pokemon must be an id number that exists in the nintendo games, but only 1-251 are in use by p3d at this point. the name determines what folder the game looks for the sprite in inside /pokemon/content/pokemon/animations/

then theres a bunch of stats and stuff to make that species that species, for moves the relevant lines start with "Moves|" which is followed by the level they learn the move and the move id number

move id numbers correspond to this list http://bulbapedia.bulbagarden.net/wiki/List_of_moves and pokemon are using their gen 5 learn by level and tm/hm move sets

but thats where move customization ends im afraid. we don't have a system where we can feed it a bunch of commands and a move comes out, nor do we have a system where we give it a bunch of data on particles and a move animation comes out. when those are done you can make a pokemon that looks like anything that does a move that can do anything that looks like anything on a map that could be anything. i'm looking forward to what people will do with it.
Also, thanks to you Draco. Very helpful you are.
 

Shou Liengod

Active Member
Trusted Support
mhm, Overall, nilllzz's Script Language is superb! its so easy to understand and how it fuctions. and it also doesnt affect online play. its very unique :']
 

DracoHouston

Kolben Developer
Contributor
mhm, Overall, nilllzz's Script Language is superb! its so easy to understand and how it fuctions. and it also doesnt affect online play. its very unique :']
nilllzz isn't the first one to expose things to scripts, but that doesn't make it any less wise to have put it in. its relatively simple but its slowly getting extended to support all the stuff we need.

ppl usually just embed an LUA interpreter into the game and use LUA for this purpose, which is still an option i guess but like just about everything in the engine that isn't handled fully by XNA its written from scratch by nilllzz, as the engine matures it will too and it should be more than enough for what we need.

at his age i was writing horrible crashy spaghetti so mad props to nilllzz imo
 

DracoHouston

Kolben Developer
Contributor
How can I create my own musick pack?
I have the songs, but what now?
it turns out that xna songs are just a thing that tells it how to play a wma file so you just edit the wma file for music ;)

however you can only REPLACE music by replacing our files right now, there's no way for mappers to add songs
 

Daziman

Champion
Trusted Support
Retired Mod
ok, thanks. I just have the idea to use the Lavender files to add one song, like route 46 song or something
 

DevoidLight

Gym Leader
Question:
I've been tinkering with DracoHouston's script that unregisters all the trainers (found here), allowing you to battle them again. However setting it off whenever you wan' feels a little over powered to me. I would like to know how to either have it automatically activate every two ays or so, or allow the Reset Trainers button to only work once every two days. Ideally the second option, so rematches remain totally optional.

Prior knowledge:
A little editing of other's scripts. Never written one of my own from scratch.

Question answered:
Not yet.
 

Splint

Champion
Question:
I've been tinkering with DracoHouston's script that unregisters all the trainers (found here), allowing you to battle them again. However setting it off whenever you wan' feels a little over powered to me. I would like to know how to either have it automatically activate every two ays or so, or allow the Reset Trainers button to only work once every two days. Ideally the second option, so rematches remain totally optional.

Prior knowledge:
A little editing of other's scripts. Never written one of my own from scratch.

Question answered:
Not yet.
As far as i know there is no specific command available to let a script run every 2 days or check for the date.

However there is a option that allows u to check for the current time of day.
Morning , Day , Evening , Night

Code:
:if:daytime(0)
:then
@Text:I'm waiting for~POKEMON that~appear only in the~morning.
:endif
:if:daytime(1)
:then
@Text:I'm waiting for~POKEMON that~appear only during~the day.
:endif
:if:daytime(2)
:then
@Text:I'm waiting for~POKEMON that~appear only in the~evening.
:endif
:if:daytime(3)
:then
@Text:I'm waiting for~POKEMON that~appear only during~the night.
:endif
:end
What u technically could do is un register all trainers u want to re-battle and make the script check if all trainers have been fought before u can reset it.

If u set it so u need to have fought all trainers before + it needs to be evening u can pretty much limit it to a certain extend.

I know this isn't optimal but it is the only current way of doing it unless u can think up some other situation.

To check if u have fought all of the certain trainers u can use
Code:
:if:register(trainer_30001)
:then
if:register(trainer_30002)
:then
if:register(trainer_30003)
:then
if:register(trainer_31001)
:then
@Text: do something
:endif
:endif
:endif
:endif
Only if u have fought all 4 trainers will it show that text message
 

DracoHouston

Kolben Developer
Contributor
i want to let you dudes do Gameplay Mods by hooking up certain events to scripts. this weekend nilllzz and i are going to try and get together to discuss exacty what we're doing with mods and get some of the stuff i've implemented into the game. cant say when any of this is coming for sure but i got heaps of ideas for y'all and i wanna make them a reality
Question:
I've been tinkering with DracoHouston's script that unregisters all the trainers (found here), allowing you to battle them again. However setting it off whenever you wan' feels a little over powered to me. I would like to know how to either have it automatically activate every two ays or so, or allow the Reset Trainers button to only work once every two days. Ideally the second option, so rematches remain totally optional.

Prior knowledge:
A little editing of other's scripts. Never written one of my own from scratch.

Question answered:
Not yet.
with great power comes great responsibility. just try and stop yourself hitting it all the time :p
 

Wackyorb

Trainer
Block.JPG
Is it possible to have more than one texture on a block in the pokeditor? The bottom front side and the bottom left side of the house in this attatched image are examples of this but it would look better if it was connected to one block.
 

Splint

Champion
View attachment 621 Is it possible to have more than one texture on a block in the pokeditor? The bottom front side and the bottom left side of the house in this attatched image are examples of this but it would look better if it was connected to one block.
Multiple textures on 1 side is not possible sadly.

In order to have them tile properly u need to split up the blocks and place them correctly and make sure u split up the textures to accommodate this.

way1.png
way2.png


Are 2 ways of doing it the numbers represent the texture indexes.
 

Wackyorb

Trainer
View attachment 621 Is it possible to have more than one texture on a block in the pokeditor? The bottom front side and the bottom left side of the house in this attatched image are examples of this but it would look better if it was connected to one block.

Multiple textures on 1 side is not possible sadly.

In order to have them tile properly u need to split up the blocks and place them correctly and make sure u split up the textures to accommodate this.

View attachment 625 View attachment 626

Are 2 ways of doing it the numbers represent the texture indexes.


I didnt mean that i wanted 2 textures on one side :p. I meant that i wanted 2 textures on different sides of a block. One texture on side #1 and another texture on side #2
 

DracoHouston

Kolben Developer
Contributor
View attachment 621 Is it possible to have more than one texture on a block in the pokeditor? The bottom front side and the bottom left side of the house in this attatched image are examples of this but it would look better if it was connected to one block.
Multiple textures on 1 side is not possible sadly.

In order to have them tile properly u need to split up the blocks and place them correctly and make sure u split up the textures to accommodate this.

View attachment 625 View attachment 626

Are 2 ways of doing it the numbers represent the texture indexes.
I didnt mean that i wanted 2 textures on one side :p. I meant that i wanted 2 textures on different sides of a block. One texture on side #1 and another texture on side #2
add another rectangle to textures and set some of the triangles in textureindex to that rectangle. 0 for 1st, 1 for 2nd 2 for 3rd and so on
 
Status
Not open for further replies.
Top