Scrip de Portгo, como adicionar sу pra Cop?
#1

peguei um scrip de portao no LSPD mas nгo ta dando pra colocar sу pra cop abrir colocando if isacop num sei que la nem member] == 2 ect... pq fica dando erro

a parte dos comandos й essa:
Quote:

if (strcmp(cmdtext, "/lspdpor", true)==0)
{
MoveObject(LSPDGATE,1539.670,-1628.510,15.928, 3.5);//Fechado
MoveObject(LSPDGATE,1539.567,-1637.498,16.035, 3.5);//Aberto
SetTimer("GateCloseLSPDGATE", 5000, 0);
SendClientMessage(playerid, COLOR_YELLOW,"Seja Bem Vindo ao LSPD, o portгo irб se fechar em 5 Segundos");
return 1;
}
if (strcmp(cmdtext, "/lspdgar", true)==0)
{
MoveObject(LSPDGAR,1586.284,-1638.433,15.964, 3.5);//Fechado
MoveObject(LSPDGAR,1576.977,-1638.293,15.929, 3.5);//Aberto
SetTimer("GateCloseLSPDGAR", 5000, 0);
SendClientMessage(playerid, COLOR_YELLOW,"Seja Bem Vindo а Garagem do LSPD, o portгo irб se fechar em 5 Segundos");
return 1;
}
if (strcmp(cmdtext, "/LSPDEL1", true)==0)
{
MoveObject(EL1,1569.070,-1635.112,13.817, 3.5);//Encima
MoveObject(EL1,1569.069,-1635.136,28.482, 3.5);//Embaixo
SetTimer("EL1DOWN", 9000, 0);
SendClientMessage(playerid, COLOR_YELLOW, "Seja Bem Vindo ao Elevador do LSPD, ele irб subir/descer e voltar em 9 Segundos");
return 1;
}
if (strcmp(cmdtext, "/LSPDEL2", true)==0)
{
MoveObject(EL2,1568.493,-1666.246,28.660, 3.5);//Encima
MoveObject(EL2,1568.466,-1666.350,41.350, 3.5);//Embaixo
SetTimer("EL2DOWN", 9000, 0);
SendClientMessage(playerid, COLOR_YELLOW,"Seja Bem Vindo ao Elevador do LSPD, ele irб subir/descer e voltar em 9 Segundos");
return 1;
}
if (strcmp(cmdtext, "/LSPDEL3", true)==0)
{
MoveObject(EL3,1573.717,-1685.977,41.382, 3.5);//Encima
MoveObject(EL3,1573.691,-1685.959,28.746, 3.5);//Embaixo
SetTimer("EL3DOWN", 9000, 0);
SendClientMessage(playerid, COLOR_YELLOW,"Seja Bem Vindo ao Elevador do LSPD, ele irб subir/descer e voltar em 9 Segundos");
return 1;
}
return 0;
}

que que eu adiciono pra sу cop abrir sem dar pau no script?
Reply
#2

tente por por exemplo:
pawn Code:
if ((PlayerInfo[playerid][pMembro] == 1 || PlayerInfo[playerid][pLider] == 1) && PlayerToPoint(15.0, playerid, 1539.670,-1628.510,15.928)
Esse й para o 1є

o numero 1 indica a organizaзгo

e player to point й onde ele poderб abrir esse portгo

OBS: Sу se ele for pMembro e pLider. se for pMember ou pLeader pega o de baixo ai
Reply
#3

Se a policia no seu GM for [pMember] == 1 ficarб + - isso.

Quote:

if(strcmp(cmdtext, "/lspdpor", true)==0)
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
MoveObject(LSPDGATE,1539.670,-1628.510,15.928, 3.5);//Fechado
MoveObject(LSPDGATE,1539.567,-1637.498,16.035, 3.5);//Aberto
SetTimer("GateCloseLSPDGATE", 5000, 0);
SendClientMessage(playerid, COLOR_YELLOW,"Seja Bem Vindo ao LSPD, o portгo irб se fechar em 5 Segundos");
else
{
SendClientMessage(playerid,COLOR_YELLOW,"Voce tem que ser um Policial Militar para exercer este comando!");
}
return 1;
}
if (strcmp(cmdtext, "/lspdgar", true)==0)
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
MoveObject(LSPDGAR,1586.284,-1638.433,15.964, 3.5);//Fechado
MoveObject(LSPDGAR,1576.977,-1638.293,15.929, 3.5);//Aberto
SetTimer("GateCloseLSPDGAR", 5000, 0);
SendClientMessage(playerid, COLOR_YELLOW,"Seja Bem Vindo а Garagem do LSPD, o portгo irб se fechar em 5 Segundos");
else
{
SendClientMessage(playerid,COLOR_YELLOW,"Voce tem que ser um Policial Militar para exercer este comando!");
}
return 1;
}
if (strcmp(cmdtext, "/LSPDEL1", true)==0)
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
MoveObject(EL1,1569.070,-1635.112,13.817, 3.5);//Encima
MoveObject(EL1,1569.069,-1635.136,28.482, 3.5);//Embaixo
SetTimer("EL1DOWN", 9000, 0);
SendClientMessage(playerid, COLOR_YELLOW, "Seja Bem Vindo ao Elevador do LSPD, ele irб subir/descer e voltar em 9 Segundos");
else
{
SendClientMessage(playerid,COLOR_YELLOW,"Voce tem que ser um Policial Militar para exercer este comando!");
}
return 1;
}
if (strcmp(cmdtext, "/LSPDEL2", true)==0)
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
MoveObject(EL2,1568.493,-1666.246,28.660, 3.5);//Encima
MoveObject(EL2,1568.466,-1666.350,41.350, 3.5);//Embaixo
SetTimer("EL2DOWN", 9000, 0);
SendClientMessage(playerid, COLOR_YELLOW,"Seja Bem Vindo ao Elevador do LSPD, ele irб subir/descer e voltar em 9 Segundos");
else
{
SendClientMessage(playerid,COLOR_YELLOW,"Voce tem que ser um Policial Militar para exercer este comando!");
}
return 1;
}
if (strcmp(cmdtext, "/LSPDEL3", true)==0)
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
MoveObject(EL3,1573.717,-1685.977,41.382, 3.5);//Encima
MoveObject(EL3,1573.691,-1685.959,28.746, 3.5);//Embaixo
SetTimer("EL3DOWN", 9000, 0);
SendClientMessage(playerid, COLOR_YELLOW,"Seja Bem Vindo ao Elevador do LSPD, ele irб subir/descer e voltar em 9 Segundos");
else
{
SendClientMessage(playerid,COLOR_YELLOW,"Voce tem que ser um Policial Militar para exercer este comando!");
}
return 1;
}
return 0;
}

Reply
#4

Quote:
Originally Posted by [NoD
Gui ]
Se a policia no seu GM for [pMember] == 1 ficarб + - isso.

Quote:

if(strcmp(cmdtext, "/lspdpor", true)==0)
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
MoveObject(LSPDGATE,1539.670,-1628.510,15.928, 3.5);//Fechado
MoveObject(LSPDGATE,1539.567,-1637.498,16.035, 3.5);//Aberto
SetTimer("GateCloseLSPDGATE", 5000, 0);
SendClientMessage(playerid, COLOR_YELLOW,"Seja Bem Vindo ao LSPD, o portгo irб se fechar em 5 Segundos");
else
{
SendClientMessage(playerid,COLOR_YELLOW,"Voce tem que ser um Policial Militar para exercer este comando!");
}
return 1;
}
if (strcmp(cmdtext, "/lspdgar", true)==0)
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
MoveObject(LSPDGAR,1586.284,-1638.433,15.964, 3.5);//Fechado
MoveObject(LSPDGAR,1576.977,-1638.293,15.929, 3.5);//Aberto
SetTimer("GateCloseLSPDGAR", 5000, 0);
SendClientMessage(playerid, COLOR_YELLOW,"Seja Bem Vindo а Garagem do LSPD, o portгo irб se fechar em 5 Segundos");
else
{
SendClientMessage(playerid,COLOR_YELLOW,"Voce tem que ser um Policial Militar para exercer este comando!");
}
return 1;
}
if (strcmp(cmdtext, "/LSPDEL1", true)==0)
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
MoveObject(EL1,1569.070,-1635.112,13.817, 3.5);//Encima
MoveObject(EL1,1569.069,-1635.136,28.482, 3.5);//Embaixo
SetTimer("EL1DOWN", 9000, 0);
SendClientMessage(playerid, COLOR_YELLOW, "Seja Bem Vindo ao Elevador do LSPD, ele irб subir/descer e voltar em 9 Segundos");
else
{
SendClientMessage(playerid,COLOR_YELLOW,"Voce tem que ser um Policial Militar para exercer este comando!");
}
return 1;
}
if (strcmp(cmdtext, "/LSPDEL2", true)==0)
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
MoveObject(EL2,1568.493,-1666.246,28.660, 3.5);//Encima
MoveObject(EL2,1568.466,-1666.350,41.350, 3.5);//Embaixo
SetTimer("EL2DOWN", 9000, 0);
SendClientMessage(playerid, COLOR_YELLOW,"Seja Bem Vindo ao Elevador do LSPD, ele irб subir/descer e voltar em 9 Segundos");
else
{
SendClientMessage(playerid,COLOR_YELLOW,"Voce tem que ser um Policial Militar para exercer este comando!");
}
return 1;
}
if (strcmp(cmdtext, "/LSPDEL3", true)==0)
{
if(PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1)
{
MoveObject(EL3,1573.717,-1685.977,41.382, 3.5);//Encima
MoveObject(EL3,1573.691,-1685.959,28.746, 3.5);//Embaixo
SetTimer("EL3DOWN", 9000, 0);
SendClientMessage(playerid, COLOR_YELLOW,"Seja Bem Vindo ao Elevador do LSPD, ele irб subir/descer e voltar em 9 Segundos");
else
{
SendClientMessage(playerid,COLOR_YELLOW,"Voce tem que ser um Policial Militar para exercer este comando!");
}
return 1;
}
return 0;
}

Olha que que dб:
Quote:

C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(162) : error 017: undefined symbol "PlayerInfo"
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(162) : warning 215: expression has no effect
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(162) : error 001: expected token: ";", but found "]"
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(162) : error 029: invalid expression, assumed zero
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(162) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


4 Errors.

Reply
#5

tenta por isso ai no teu gm

pawn Code:
new PlayerInfo[MAX_PLAYERS][pInfo];
Reply
#6

Quote:
Originally Posted by Caio_Cartaxo
tenta por isso ai no teu gm

pawn Code:
new PlayerInfo[MAX_PLAYERS][pInfo];
Deu mais:
Quote:

C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(14) : error 017: undefined symbol "pInfo"
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(14) : error 009: invalid array size (negative, zero or out of bounds)
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(180) : error 017: undefined symbol "pMember"
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(186) : error 029: invalid expression, assumed zero
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(194) : error 017: undefined symbol "pMember"
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(200) : error 029: invalid expression, assumed zero
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(20 : error 017: undefined symbol "pMember"
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(214) : error 029: invalid expression, assumed zero
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(222) : error 017: undefined symbol "pMember"
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(22 : error 029: invalid expression, assumed zero
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(236) : error 017: undefined symbol "pMember"
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(242) : error 029: invalid expression, assumed zero
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(250) : error 029: invalid expression, assumed zero
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(250) : error 004: function "GateCloseLSPDGATE" is not implemented
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(256) : warning 225: unreachable code
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(256) : error 029: invalid expression, assumed zero
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(256) : error 004: function "GateCloseLSPDGAR" is not implemented
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(262) : warning 225: unreachable code
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(262) : error 029: invalid expression, assumed zero
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(262) : error 004: function "EL1DOWN" is not implemented
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(26 : warning 225: unreachable code
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(26 : error 029: invalid expression, assumed zero
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(26 : error 004: function "EL2DOWN" is not implemented
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(274) : warning 225: unreachable code
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(274) : error 029: invalid expression, assumed zero
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(274) : error 004: function "EL3DOWN" is not implemented
C:\Users\MARCAL\Desktop\GTA\filterscripts\NewLSPDv .0.2B.pwn(281) : error 030: compound statement not closed at the end of file (started at line 222)
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


23 Errors.

Reply
#7

Vixe ai complicado
o pMember. й pq o sistema de membros nгo й esse. pesquisa em seu game mode qual й
Reply
#8

Isso й fбcil. Vamos lб:

Primeiramente vocк precisa criar uma variбvel no topo do seu gamemode para definir as "equipes", tome esse exemplo:

Code:
new Team[MAX_PLAYERS];
Agora vamos criar um timer para checar a posiзгo do jogador e saber se ele estб na бrea do portгo:

Code:
//OnGameModeInit

SetTimer("CheckPos", 1000, true);
Agora que estamos chamando a funзгo CheckPos atravйs de um timer, vamos atй ela:

Code:
//Final do Script

public CheckPos()
{
  for(new i = 0; i < MAX_PLAYERS; i++)
  {
    if(IsPlayerConnected(i))
    {
      if(Team[i] == 1) // Considerando que a equipe dos Cops й de ID 1 (modificar se necessбrio).
      {
        if(PlayerToPoint(3.0, i, X, Y, Z))
        {
          // MoveObject.... Aqui vocк vai fazer seu portгo abrindo.
        }
        else
        {
          // MoveObject... Aqui vocк irб fazer seu portгo fechando, na posiзгo padrгo.
        } 
      }
    }
  }

  return 1;
}
Resumindo: acabamos de criar uma funзгo cuja й executada a cada segundo que verifica se o jogador estб num raio de 3 (metros, nгo sei) da posiзгo X, Y, Z que vocк irб substituir por uma coordenada prуxima ao seu portгo.

Depois disso, vamos definir no final do script a funзгo PlayerToPoint que checa a distвncia do jogador dentro do raio desejado:

Code:
[b]//Topo do Script:

forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);

//Final do script:

public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
	if(IsPlayerConnected(playerid))
	{
		new Float:oldposx, Float:oldposy, Float:oldposz;
		
		new Float:tempposx, Float:tempposy, Float:tempposz;
		
		GetPlayerPos(playerid, oldposx, oldposy, oldposz);
		
		tempposx = (oldposx -x);
		
		tempposy = (oldposy -y);

		tempposz = (oldposz -z);

		if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
		{
			return 1;
		}
	}
	
	return 0;
}
Bom, agora que jб estб quase tudo pronto, vocк precisa "se virar" aн e definir a "equipe" que o jogador pertencerб.

Abraзos
Reply
#9

Good
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)