Re: Quests, content, lua...and your help :)

Oh... it would be good if you list all the lua functions existing at the moment... Then we will be able to think of new ones.
For example...
get_player_last_killed()

Just the names we don't exactly need the whole function.

Lazy_666
The One & Only

Re: Quests, content, lua...and your help :)

There is a list on the google doc I posted which I am slowly updating. I had another busy week or two but have free time again. Either way, so far here are the functions. I'm updating the google doc with a more in-depth explanation slowly, focusing more on the code side. Again, these are more player centric. I need to come up with a few more bits and pieces for global quests. The system is quite flexible, it should be possible to create single-player or even group quests.

add_talk_to_mob(mobid, triggerword, message)
add_talk_to_mob_callback(mobid, triggerword, message, functionname)
create_news_message(message)
get_player_coords()
get_player_map_xy()
get_player_last_killed()
get_player_name()
find_mob_id_by_name(name)
find_mob_name_by_id(id)
find_item_by_id(id)
give_item(id)
remove_item(id)
check_item(id)
get_item_count(id)
save_param(param, value)
load_param(param)
set_complete()

Re: Quests, content, lua...and your help :)

Decided I'd do proper documentation rather than playing around with googledocs.

http://hostilespace.co.uk/luadoc/

I'm working on updating the example with a working Gerenium quest as I type this. All functionality in the documentation is currently working 100%.

Re: Quests, content, lua...and your help :)

ALOT better! thank you!

Purplehaze-Cata-25-T5
Dutch-Smug-90-T1
Bosch-Pyro-90-T1

Re: Quests, content, lua...and your help :)

The documentation has been updated and now includes a complete example (gerenium) which will be going live on the test server either later tonight or tomorrow.

http://hostilespace.co.uk/luadoc/index.html
http://hostilespace.co.uk/luadoc/topics/readme.md.html

The readme isn't quite finished yet but it's in a state for the public to read smile

31 (edited by cbradsh1 2013-01-06 00:13:15)

Re: Quests, content, lua...and your help :)

I'll take a look at the doc's tonight. I'm a programmer, and I've looked into lua before (briefly). I was thinking of a protection/escort style mission as well, with multiple ambushes along the way.

Maybe some "daily" style missions that allows a player to get a choice between multiple missions, limited to only one a day or so, with rewards ranging from fabrications to momentary rewards.

I think it would also be fun to add a supply/demand system to planets, perhaps smuggling goods from one planet to another, that would disable teleportation and draw enemies along the way, reward based on level(or planet and distance between planets)

Edit:  Looks good to go. I'll start writting scripts this week and see how it goes.  Once I get done with my first quest script I'll start a new topic for other ideas for quests, rewards, etc.

Note:  Would it be possible to add a spawn_mob(name, level, ...) to the lua API?  This would allow spawning (enemy) mobs throught the completion of the quest.

Donshu t9 Path from Hostile Space 2002
Perrin t0 Engy - Hostile Space Revived
Java Consultant, Gamer

Re: Quests, content, lua...and your help :)

I definitely can add a spawn_mob function, hadn't thought of that one. I'll post back once it's available.

Daily style and supply/demand style quests were in my mind too, I'm still thinking of the best way to implement these into the host and lua.

It's good to see someone giving it a shot, look forward to hearing how you get on.

33 (edited by cbradsh1 2013-01-07 23:38:08)

Re: Quests, content, lua...and your help :)

I was trying to think of a way to force players to engage an kill enemies when they are ambushed, as opposed to just running from combat.  Would it be too far-fetched to have a quest slow the engines of the player during ambushes until all spawned enemies are destroyed? (or some other criteria).

The only other way I can think of forcing players to actively defend themselves (rather than run) would be to have those mobs drop an item that they need to complete the quest.

edit:(But this could be problematic for groups completing a quest if someone picks up an item they shouldn't have, or too many of the items, making it impossible for one or more players to complete the quest.

Thoughts?

Also, Angus.  What is your current focus for quests? End Game or level progression? 

I was thinking of adding a simple quest chain at each inner system to help the player find leveling paths without having to rely on reading the guide online.  This would also help close the item gaps between systems that seems to plague new players, as I am a level 17 with level 0-9 gear, which makes sense that a level 14 can become "hard" to kill.


Edit:
is there any way to get a function to return the player's base class?  (just engi, path, pyro, etc, tier doesn't matter).  This would aid in selecting items based on player's class,

Donshu t9 Path from Hostile Space 2002
Perrin t0 Engy - Hostile Space Revived
Java Consultant, Gamer

Re: Quests, content, lua...and your help :)

cbradsh1 wrote:

I was trying to think of a way to force players to engage an kill enemies when they are ambushed, as opposed to just running from combat.  Would it be too far-fetched to have a quest slow the engines of the player during ambushes until all spawned enemies are destroyed? (or some other criteria).

The only other way I can think of forcing players to actively defend themselves (rather than run) would be to have those mobs drop an item that they need to complete the quest.

edit:(But this could be problematic for groups completing a quest if someone picks up an item they shouldn't have, or too many of the items, making it impossible for one or more players to complete the quest.

Thoughts?

Also, Angus.  What is your current focus for quests? End Game or level progression? 

I was thinking of adding a simple quest chain at each inner system to help the player find leveling paths without having to rely on reading the guide online.  This would also help close the item gaps between systems that seems to plague new players, as I am a level 17 with level 0-9 gear, which makes sense that a level 14 can become "hard" to kill.


Edit:
is there any way to get a function to return the player's base class?  (just engi, path, pyro, etc, tier doesn't matter).  This would aid in selecting items based on player's class,


You could make killing the mobs a requirement.

I.E. when he goes to turn in quest the requirements are

Escorted NPC safely arrives and 25 / 25 Attackers killed.
Would be up to Angus but it is a possible.

And I like the Class Base Idea. Would open up opportunities for more class specialized items.

Harviousify - Manipulater
Shadey - Pyro

Re: Quests, content, lua...and your help :)

cbradsh1 wrote:

Edit:
is there any way to get a function to return the player's base class?  (just engi, path, pyro, etc, tier doesn't matter).  This would aid in selecting items based on player's class,

Obtaining the players base class is fairly simple, wont take much to write an lua function for it to be used.

Re: Quests, content, lua...and your help :)

What about debuff with HUGE timeout and no countermeasure?

Lazy_666
The One & Only

Re: Quests, content, lua...and your help :)

The lua docs have been updated, some bits have changed slightly.
New functions include:
get_player_level()
get_player_skill(skill)
item(id) to replace the silly ID_OFFSET thing that was required before.
set_abort()

The Gerenium Quest has also been updated in the documentation to match the live test server.

I'm still working on getting the base class of a player.

Re: Quests, content, lua...and your help :)

How do we test our scripts ? I never saw an answer to that question.

Re: Quests, content, lua...and your help :)

BUG

Re: Quests, content, lua...and your help :)

I'm not seeing any documentation on mob control, just wondering if there are lua hooks for forcing mobs to perform actions?

eg get mob by id/name -> force nav it to a certain position, or force attack on (id), adjust alliance/aggression etc?
Also hooks for mobs similar to the player hooks would be tremendously useful.

I noticed with the starbase defence quests that there does appear to be at least a little bit of control going on so any docs on this would be awesome.

Re: Quests, content, lua...and your help :)

Just thinking about additional hooks and functions that may be useful from lua,
I don't know if mobs/players draw from the same base class, or are completely separate behind the scenes, so where I mention entity I mean for both.

entity_health
entity_healthAsPercent
entity_attack_target (entityId) (returns target entity for that entity)
player_select_target(playerId) (returns currently selected target)
entity_buffs (as table, buffs/debuffs, possibly multi dim table for buff stats)
buff_cancel(entityId,buffName) (cancels buff)
buff_time(entityId,buffName) (returns remaining buff time)
buff_level(entityId,buffName) (returns buff level)
entity_buff(entityId, buffname, level, time?)

entity_health_hook(entityId, health%)

mob_attackers(table of attackers)
list_players(search radius, as table)

mob_equipment(mobId, slot, operation (add, remove, disable),item Id or time)
This one could be particularly useful, allows dynamic adding/removing/damaging equipment for mobs.
Could be used to make bosses a bit more dynamic, or add interesting behavior to mobs.
If I remember right with HS back in the day you could give mobs equipment in their definitions, which can make for a variety of unique mobs (eg tons of shields, tons of def/off/armour/hull, even negative stat equipment).

Re: Quests, content, lua...and your help :)

I would like to make a suggestion on this.

To possible improve with a class specific missions?
Multiple stage missions for class specific missions?
Some new places, and boss's?
Fabrication, mining, missions gear maybe offer a reward.

On other notes!
The fabrication system is very unfriendly.

Munition Fab
Combine Is fine and would not have to change interface.
But Make Items In Cargo Clickable Into combine(1x,10x100x)?

Weapons Fab
But Make Items In Cargo Clickable (1x,10x100x)?

Salvage Fab
But Make Items In Cargo Clickable (1x,10x100x)?

If I knew how to code I would try to make a new fab myself smile
and email it to you lol