Log in

View Full Version : Quest command requests


just_add_water
06-13-2003, 11:22 AM
I'll like to request some new commands for the system.


1) Timers! something like every EVENT_TIME(# sec;s) {

2) putting players IN guilds and reading what guild a player is in.

3) Zsky. Changing the sky and checking what # it is now.

4) Changing the time (#time)

5) Random numbers


7) Checking how many players are in a zone


9) This ones a little weird, Maybe zoning a whole group (which only the groupleader can trigger)

10) Zone servers having their own .qst's . Since NPC's can be killed etc.

11) Binding a player in other zones.

12) A NPCID spawn. Aka one thats already in the db.

13) A NPCID depop

14) Vars that act as Counters ( set(up,1) , ;up == counter )

15) Sending people to loc's in the zone. ( send(ID,x,y,z) ?)

The ones in bold, I need ASAP. Its for a new line of server's.

Bigpull
06-13-2003, 08:11 PM
1) Timers! something like every EVENT_TIME(# sec;s) {

Should be trivial enough to implement an EVENT_PROCESS
where you can execute .qst functions. i'll look at it later


2) putting players IN guilds and reading what guild a player is in.

adding setguild("guildid","rank"), the guild Name, ID and Rank are already available in the variables as guild_name, uguildid, and uguildrank


3) Zsky. Changing the sky and checking what # it is now.

adding zonesky to variables, and setsky("0-255")


4) Changing the time (#time)

adding settime("hour","minute")


5) Random numbers

Not gonna happen


7) Checking how many players are in a zone

adding c_count to variables, not totaly accurate includes ld and people not totaly loaded


9) This ones a little weird, Maybe zoning a whole group (which only the groupleader can trigger)

adding movegrp("zoneid","x","y","z")


10) Zone servers having their own .qst's . Since NPC's can be killed etc.

Add an invisible un targetable beheath the world npc to run "zone" quests


11) Binding a player in other zones.

adding rebind("zone id","x","y","z")



12) A NPCID spawn. Aka one thats already in the db.

spawn("npc id","grid num","0/1 guildwarset","x","y","z")
is already there


13) A NPCID depop

depop("npc id") should work now it always took a parameter just never did anything with it =)


14) Vars that act as Counters ( set(up,1) , ;up == counter )

User created vars should already be in place i thought?


15) Sending people to loc's in the zone. ( send(ID,x,y,z) ?)

adding gmmove("x","y","z")

just_add_water
06-14-2003, 08:16 AM
Wow. Thanks a million bigpull :P

killspree
06-14-2003, 05:55 PM
Quote:

10) Zone servers having their own .qst's . Since NPC's can be killed etc.


Add an invisible un targetable beheath the world npc to run "zone" quests

The major problem with this, and this is something I've tried, is that there's really no way to do checks for npcstatus except when that untargetable mob spawns.

Perhaps you'll be able to do timed checks soon with the event process idea, but for now invis npcs don't really help in running quests with how limited things like event_attack and event_spawn are.

Bigpull
06-14-2003, 07:01 PM
Ok we have Npc's,
Bloody_Mary
Queen_Sheba1
Queen_Sheba2

and an npc just for zone scripting the encounter
Cocktail

We want Queen_Sheba2, to only respawn every 3 days after she's been killed, and to only be spawned for 90minutes, and to be available for retry in 3hours after despawning

We want Queen_Sheba1, to Spawn after the 90minutes if 2 wasnt killed

We want Bloody_mary's death to trigger Queen_Sheba2's spawning

now for quests.
Bloody_mary's slay event depop()'s 1, and writes to "blood_dead" a timestamp

Cocktail spawns every 3 minutes,

it's first spawn event checks "blood_dead" and "queen_dead"
if the timestamp occurs in the last three minutes and the queen isn't dead .
It spawns Queen_Sheba2, and write()'s a timestamp to "queen_spawn",
and an alive indicator to "queen_dead"

The next if checks "queen_spawn" if the timestamp is 90minutes ago it depop()'s Queen_Sheba2, and writes to "queen_respawn" another timestamp

The next if checks "queen_dead" and "queen_respawn" if the timestamp is 3 hours ago and the queen isn't dead, or if the timestamp is 3days old and the queen is dead, it will spawn() Queen_Sheba1

The final quest function would be a depop() on it's self so it all starts over in 3 minutes

IADestavator
06-15-2003, 07:58 PM
How about a command to spawn NPC's in a different zone as a trigger NPC. As im going to make a full permanent world it would be nice for Serverwide Quests, like Epic's

Bigpull
06-15-2003, 11:36 PM
Would work the same as above, by changeing the read and writes to include ../zone_name/, we could put Bloody_mary in say qeynos,
Queen_Sheba1 in freeport, and Queen_Sheba2 in north karana....

Trumpcard
06-16-2003, 05:20 AM
Whats the problem with implementing a random # generator BP ?

Bigpull
06-16-2003, 06:05 AM
I'm lazy?
I'd need to go in as a variable, commands don't/can't return a value, and i didn't feel like reading anymore parser code =P

Solx
06-16-2003, 06:20 AM
Bigpull, are you revamping or cleaning up the quest code?

I have been thinking about cleaning it up a bit. I will finally have a big enough block of time to do it. I would like to get rid of some of the crazy quoting limitations, make it more memory efficient, and make it handle comments much better.

Bigpull
06-16-2003, 06:49 AM
You obviously missed the part about me being lazy ;)

The quote requirments are there for Multi OS operability, don't make me dig out my stick. Other than that go for it

Talon0202
07-11-2003, 10:33 AM
Quote:

12) A NPCID spawn. Aka one thats already in the db.


spawn("npc id","grid num","0/1 guildwarset","x","y","z")
is already there

Hmm...whats grid number? More than likely a grid square in zone you want spawn in(i think :? )...but where can you find a grid map of zones to go by? Or if its not what i think, then what is it? :( Also...whats guildwarset? Thanks for the help.

killspree
07-11-2003, 12:10 PM
grid number is the pathing grid the npc follows.