Graal Forums

Graal Forums (https://forums.graalonline.com/forums/index.php)
-   NPC Scripting (https://forums.graalonline.com/forums/forumdisplay.php?f=8)
-   -   loggin' =) (https://forums.graalonline.com/forums/showthread.php?t=53591)

jackson2k4 07-05-2004 09:41 PM

loggin' =)
 
ok ive been trying to make a logging system on my server... and im really close to getting it, but for some reason i cant get it lol, im trying to make it so you can unly use a certian weapon on it (axe), but when i seem to have it, i dont.... so can any one help me?

WanDaMan 07-05-2004 10:05 PM

Be more specific..

jackson2k4 07-05-2004 10:14 PM

ok here goes.....i am making a logging system for my server....i want to make it so when you "chop" at the tree with a weapon (d button use) lets say an axe, that it takes hp away from the tree....


i have it so you can take hp from the tree... and i have the weapon..... i just cant make it so oyu can only use that certian weapon on the tree to take its hp away

screen_name 07-05-2004 10:15 PM

First off you need to "Be more specific.." as Wan said.

Give us some details, like the ways you have tried it, what exactly isn't it doing, etc. Read below...

"I'm trying to make this NPC that does this, but it's not doing it. Any help?"
Doesn't help does it?


EDIT: How are you taking the HP away from the tree?


Do you have a messenger of some sort?

jackson2k4 07-05-2004 10:22 PM

to show the hp im using "message #v(this.npc)/250" 250 is how much health the tree has..... and i want the axe to be able to take away hp.....ive tried "if (hasweapon && keydown(7)" but that didnt work X . x


yahoo= zakusonu
AIM =zakusonuu

XD im on both

screen_name 07-05-2004 10:25 PM

In the weaponscript, use triggeraction.

In the tree npc, only take hp away if it was triggered.

Crono 07-05-2004 10:26 PM

Wow I think even my own ****let skills can do this. Offline anyway.

What are you having the axe do? Just pressing a special key with a gani or triggeraction whatever?

jackson2k4 07-05-2004 10:35 PM

yeah im having it be a gani......equip it in your items (Q) and then press (D) to use it

Crono 07-05-2004 11:06 PM

I'm not the most professional scripter or anything but couldnt you have it trigger an action then have the tree pick it up, lose hp, etc?

screen_name 07-05-2004 11:59 PM

Quote:

Originally Posted by Gerami
I'm not the most professional scripter or anything but couldnt you have it trigger an action then have the tree pick it up, lose hp, etc?

red up a little bit ;)

jackson2k4 07-06-2004 02:49 AM

ok teach me triggeraction...because i tried...and i thaught i new how... but i dont X . x

matt8891 07-06-2004 05:32 AM

Quote:

Originally Posted by jackson2k4
ok teach me triggeraction...because i tried...and i thaught i new how... but i dont X . x


Ehh...Look for a scripting tutorial.

Dach 07-06-2004 05:59 PM

taken from newfeatures2001.txt
Quote:

- New script command: triggeraction targetx,targety,action,params;
This is one of the commands that give you like 50% more scripting
power than before. It is like a combination of hitobjects and
callnpc, but better. With 'triggeraction' you invoke an event
to the object on positon (targetx,targety). If the object is
an npc, then the npc script is called with the flag
'action<action>' set, when the object is a player then the
weapon scripts of the that player are called with the
'action<action>' flag set.
'params' can be one or more parameters, divided by commas;
the called script can read the paramters by accessing the
message code #p(paramindex).
Because this is hard to explain with words, here some
little examples:

- trigger player weapons
You can easily do a weapon which freezes the other
player:

if (playertouchsme) toweapons Freezing-Weapon;
if (weaponfired) {
triggeraction playerx+1.5+vecx(playerdir)*2,
playery+2+vecy(playerdir)*2,freeze,;
}
if (actionfreeze) {
freezeplayer 3;
setplayerprop #c,FREEZED;
}

Both players must have this weapon for making it
working. Then use it on the other player, and he will
be freezed, because a 'freeze' action is sent to him
and his weapon script, called with flag 'actionfreeze',
will freeze him. You can also move the if (actionfreeze) ...
into an system npc so the weapon can be used on all
players.
Other nice things you could do with triggering actions
on players: a stealing weapon which lets the other player
loose gralats (if (actionsteal) lay2 greenrupee,... );
complex attacking weapons that use your own hitpoint
system instead of the default hearts thing

- trigger npcs

Until now npcs can only react to 'playertouchsme' and
'wa****', other things are very hard to do (e.g. the
mining on Graal2001 was made by checking periodically
what animation the player has and before which stone the
player stands). You could do callnpc, but this works only
client-side and you needed to pass parameters with
flags.
Using 'triggeraction' you can make those things much easier.
The mining axe could have the script
if (weaponfired) {
setani jaxe,hammergold0.png;
triggeraction playerx+1.5+vecx(playerdir)*2,
playery+2+vecy(playerdir)*2,mining,#v(axepower);
}
If you now use the weapon on a stone, the stone npc could
check this so:
if (actionmining) {
axepower = strtofloat(#p(0));
this.power -= axepower;
if (this.power<=0) {
setstring uncraftedgold,#v(strtofloat(#s(uncraftedgold))+1);
hide;
}
}
With this thing you can also easily do switches which are
activated with the hammer, or torch lamps which are turned on
by using a torch on it.
the hp document Stefan posted also has some useful information if for whatever reason this doesn't satisfy you...

Crono 07-06-2004 06:19 PM

Quote:

Originally Posted by screen_name
red up a little bit ;)

A minute apart ;-;

jackson2k4 07-06-2004 07:16 PM

ok thx for your help guys XD


All times are GMT +2. The time now is 12:29 AM.

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