gate problem
#1

this work first time next time not work what problem here ?
pawn Код:
#include <a_samp>
#include <colors>
new gate1;
new gate2;
new gate3;
new gate4;
forward close();
forward close1();
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" Corleone HQ by Rob CAddGate");
print("--------------------------------------\n");
/* jacks hq*/
gate1 = CreateObject(980,923.155,-1225.358,18.3,0.0,0.0,90.000);
gate2 = CreateObject(980,923.256,-1216.99,18.3,0.0,0.0,90.000);
gate3 = CreateObject(980,923.155,-1225.358,7.3,0.0,0.0,90.000);
gate4 = CreateObject(980,923.256,-1216.99,7.3,0.0,0.0,90.000);


return 1;
}

public OnFilterScriptExit()
{
return 1;
}
public OnGameModeExit()
{
return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}

public OnPlayerConnect(playerid)
{
return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
return 1;
}

public OnPlayerSpawn(playerid)
{
return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}

public OnVehicleSpawn(vehicleid)
{
return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}

public OnPlayerText(playerid, text[])
{
return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/redopen", cmdtext, true, 10) == 0)
{

MoveObject(gate1, 923.155,-1225.358,7.3,3.0);
MoveObject(gate2, 923.256,-1216.99,7.3,3.0);
SendClientMessage(playerid,COLOR_LIGHTCYAN,"Red Blood'z Gate Is Open.Please Use /redclose to close gate");
return 1;
}
if (strcmp("/redclose", cmdtext, true, 10) == 0)
{

MoveObject(gate3, 923.155,-1225.358,18.3,3.0);
MoveObject(gate4, 923.256,-1216.99,18.3,3.0);
SendClientMessage(playerid,COLOR_LIGHTCYAN,"Red Blood'z Gate is Closed.Thanks");
return 1;
}
return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}

public OnRconCommand(cmd[])
{
return 1;
}

public OnPlayerRequestSpawn(playerid)
{
return 1;
}

public OnObjectMoved(objectid)
{
return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}

public OnPlayerExitedMenu(playerid)
{
return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}

public OnPlayerUpdate(playerid)
{
return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
public close()
{
MoveObject(gate1, 923.155,-1225.358,7.3,3.0);
MoveObject(gate2, 923.256,-1216.99,7.3,3.0);
return 1;
}
public close1()
{
MoveObject(gate3, 923.155,-1225.358,18.3,3.0);
MoveObject(gate4, 923.256,-1216.99,18.3,3.0);
return 1;
}
Reply
#2

Why you made like 4 gates ?

You only need 1 gate and move it around. Let me give you an example:

pawn Код:
new gate1;
Next:
pawn Код:
public OnFilterScriptInit()
{
gate1 = CreateObject(980,923.155,-1225.358,18.3,0.0,0.0,90.000);
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
      if (strcmp("/redopen", cmdtext, true, 10) == 0)
      {
           MoveObject(gate1, 923.155,-1225.358,7.3,3.0);
           SendClientMessage(playerid,COLOR_LIGHTCYAN,"Red Blood'z Gate Is Open.Please Use /redclose to close gate");
           return 1;
       }
       if (strcmp("/redclose", cmdtext, true, 10) == 0)
       {

            MoveObject(gate1, 923.155,-1225.358,18.3,3.0);
            SendClientMessage(playerid,COLOR_LIGHTCYAN,"Red Blood'z Gate is Closed.Thanks");
            return 1;
       }
       return 0;
Now, if you, let`s say, have 2 gates, which you want to open with the same command, at the same time, you need to make another gate, gate2 for example and move it too along with the first gate.
Reply
#3

2 Object Man
Reply
#4

antonio is right.
but , you can also make it with 1 command ....using switch.
like this
Create a variable
for explame :
Код:
new gate1Status = 0;
and of course a variable for the gate creation.
Код:
new gate1;
Before we continue let me explain you something . in case the gate1Status is 0 , the gate is closed. in case its 1 , the gate is opend.
ok now under public OnFilterScriptInit()
create the gate.
Код:
gate1 = CreateObject(980,923.155,-1225.358,18.3,0.0,0.0,90.000);
Okey now for the command :

Код:
if(strcmp(cmdtext,"/red",true) == 0)//checks if the cmdtext is euquals to /red.(not case sesitive)
{
	switch(gate1Status)//the switch. checks the gate1Status val(integer). case its 0 it will do X case its 1 it will do X.
	{
	    case 0://In case the gate is closed. that will open the gate.
	    {
            MoveObject(gate1, 923.155,-1225.358,7.3,3.0);//move the object to another place with 3.0 speed.
 			SendClientMessage(playerid,COLOR_LIGHTCYAN,"Red Blood'z Gate Is Open.Please Use /redclose to close gate");
	    }
	    
	    case 1://In case the gate is open . that will close the gate .
	    {
            MoveObject(gate1, 923.155,-1225.358,18.3,3.0);//move the object back to the start where its created with 3.0 speed.
            SendClientMessage(playerid,COLOR_LIGHTCYAN,"Red Blood'z Gate is Closed.Thanks");
	    }
	}
	return 1;//return 1 .... so you wont get any errors or stupid bugs
}
Reply
#5

pawn Код:
new gate1;
new gate2;

public OnFilterScriptInit()
{
     gate1 = CreateObject(980,923.155,-1225.358,18.3,0.0,0.0,90.000);
     gate2 = CreateObject(980,923.256,-1216.99,18.3,0.0,0.0,90.000);
     return 1;
}
And now:
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/redopen", cmdtext, true, 10) == 0)
{
        MoveObject(gate1, 923.155,-1225.358,7.3,3.0);
        MoveObject(gate2, 923.256,-1216.99,7.3,3.0);
        SendClientMessage(playerid,COLOR_LIGHTCYAN,"Red Blood'z Gate Is Open.Please Use /redclose to close gate");
        return 1;
}
if (strcmp("/redclose", cmdtext, true, 10) == 0)
{

      MoveObject(gate1, 923.155,-1225.358,18.3,3.0);
      MoveObject(gate2, 923.256,-1216.99,18.3,3.0);
      SendClientMessage(playerid,COLOR_LIGHTCYAN,"Red Blood'z Gate is Closed.Thanks");
      return 1;
}
return 0;
}
This should work ...

ps: bijoyekuza, if I`m not wrong, he wants 2 gates to be opened at the same time with one command.
Reply
#6

oh well thats not a problem
Reply
#7

@antonio112 Thanks work
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)