![]() |
Changing an NPC's X/Y Coordinates
I'm trying to make a script that tokenizes and sets X/Y coordinates according to tokenized results. This is what I have so far (Note: It's in GS1):
NPC Code: The /move chair1 is supposed to be like /move chair1 <NewX> <NewY> Also, when the player chats the sprite is changed to sitting (37) even when the player is not touching the chair. Is there a way to make this serverside and save the position of the objects? Is this the best way to do this? And, can I make it check to see if it's on a wall? How do I do that? |
Well.. Using GS1 is a bad way to script anything. It's so.. Tacky! :(
You're going to want setshape2 w,h,{tiletypes}. You can set it's tiletype to chair tiles. Unfortunately, I don't remember what the chair tiletype is. Anyway, it would look like this: setshape2 2,2,{7,7,7,7}; For onwall checks, you'll want to use the boolean onwall2(x,y,w,h). For example: if (!onwall2(x,y,2,2)) will check if anyway in a 2x2 rectangle of the NPC's x and y is blocking. If it returns false, it'll keep going. |
I think I will try to answer this for you ^^
Kinda seems to me like you have a lot of fluff in the script that you dont neccessarily need, but im not going for that now, just helping you to fix up the part you want fixed. Quote:
NPC Code: I think unless you have gs2 enabled on your server (Correct me If Im wrong someone) this.x and this.y will not set the x and y of the npc. just use x and y. Another thing you might want to look at to clean up your code some, is nesting your statements, makes things more readable. NPC Code: The first mistake I see is if you want something to be Quote:
Tokens start at 0 so they would be like this /move = #t(0) chair1 = #t(1) xnumber = #t(2) ynumber = #t(3) NPC Code: You had the x as 3 and the y as 4, so you were probably moving the chair completely away from the board on the y, because there was no value. Quote:
Edit: Yen got the Onwall better then I did, and setshape2 :) |
Gah, I see now! Thanks to all who helped!
|
You don't need to initialize variables in Graal, and if you're just trying to set them true/false you can just do var = true/var = false;
|
| All times are GMT +2. The time now is 07:20 PM. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
Copyright (C) 1998-2019 Toonslab All Rights Reserved.