18.07.2008, 18:48
(
Последний раз редактировалось [18SG]Juicy_J; 07.07.2010 в 12:59.
)
Tutorial about "How to script moving gates" by [CPL]Juicy_J
Step 1: Get the cords
You need to place an opened and a closed gate. You need from both the cords.
For an example with this system you can get them: Click me
Step 2: Where can i find the cords.
It saves the object cords to a file in scriptilfes directory
Step 3: Opengate and Closegate cords.
Now you have the cords for the both. Now open your Gamemode.
Step 4: Opengate
Search for "new". Add a new "gatename"
Example : new hqgate;
Search now for OnPlayerCommandText. Add somewhere in the middle of OnPlayerCommandText this section.
If you want that you cant open the gate everywhere, go ingame - to the place where you placed the gate. Type there /save - hq radius. Open your San Andreas folder and you will find the cords from the radius at "Savedpositions". if(PlayerToPoint) is the place for the radius.
With Descriptions
The right code. Without Descriptions
Copy this section and edit it with your cords. Put the cords for /opengate, when the gate is opened. And put the cords for /closegate, when the gate is closed. Thats it for the "opengate" section. Now back to Closegate.
Step 5: Closegate.
Search for public OnGameModeInit
Add a line like this under public OnGameModeInit
Here an example:
Well thats it. I hope you understood all. If you have any questions, post them here.
Jay Jones aka [CPL]Juicy_J
Step 1: Get the cords
You need to place an opened and a closed gate. You need from both the cords.
For an example with this system you can get them: Click me
Step 2: Where can i find the cords.
It saves the object cords to a file in scriptilfes directory
Step 3: Opengate and Closegate cords.
Now you have the cords for the both. Now open your Gamemode.
Step 4: Opengate
Search for "new". Add a new "gatename"
Example : new hqgate;
Search now for OnPlayerCommandText. Add somewhere in the middle of OnPlayerCommandText this section.
If you want that you cant open the gate everywhere, go ingame - to the place where you placed the gate. Type there /save - hq radius. Open your San Andreas folder and you will find the cords from the radius at "Savedpositions". if(PlayerToPoint) is the place for the radius.
With Descriptions
Код:
//-----------------------------------[Moving Gate Commands By [Jay Jones]------------------------------------------------- if(strcmp(cmdtext,"/opengate", true) == 0) { if (gTeam[playerid] == TEAM_GROVE) { x y z <- | - FOR THE RADIUS if(PlayerToPoint(15.0, playerid,283.2922,-1543.4369,24.7436)) { | MoveObject(hqgate, 289.919067, -1547.427734, 27.193420, 1.500000); <--opened return 1; | | | | | | } REMEMBER THE NAME x y z Gate Speed } | } | if(strcmp(cmdtext,"/closegate", true) == 0) { \ if (gTeam[playerid] == TEAM_GROVE) { \ if(PlayerToPoint(15.0, playerid,283.2922,-1543.4369,24.7436)) ALL HERE THE SAME { MoveObject(hqgate, 283.870544, -1543.398804, 27.193420, 1.500000); <--closed return 1; } } }
Код:
if(strcmp(cmdtext,"/opengate", true) == 0) { if (gTeam[playerid] == TEAM_GROVE) { if(PlayerToPoint(15.0, playerid,283.2922,-1543.4369,24.7436)) { MoveObject(hqgate, 289.919067, -1547.427734, 27.193420, 1.500000); return 1; } } } if(strcmp(cmdtext,"/closegate", true) == 0) { if (gTeam[playerid] == TEAM_GROVE) { if(PlayerToPoint(15.0, playerid,283.2922,-1543.4369,24.7436)) { MoveObject(hqgate, 283.870544, -1543.398804, 27.193420, 1.500000); return 1; } } }
Step 5: Closegate.
Search for public OnGameModeInit
Add a line like this under public OnGameModeInit
Here an example:
Код:
hqgate = CreateObject(980, 1786.589233, -1128.866577, 24.734344, 0.0000, 0.0000, 0.0000);//closed | | | | Object Id x y z
Jay Jones aka [CPL]Juicy_J