[Ajuda] Erros ao criar portгo de org
#1

Estou tentando criar um portгo para a org ballas(nъmero 17) do meu GM. Mas infelizmente estгo dando estes seguintes erros.
Код:
C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(17) : error 001: expected token: ")", but found "["
C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(17) : error 017: undefined symbol "pMember"
C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(17) : error 029: invalid expression, assumed zero
C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(17) : fatal error 107: too many error messages on one line
O erro todo estб na linha 17, e aqui estб ela:

Код:
if ((PlayerInfo[playerid][pMember] == 17 || PlayerInfo[playerid][pLeader] == 17) && PlayerToPoint(15.0, playerid, 1141.19921875, -1206.2998046875, 20.89999961853)) {
Script todo:

Код:
#include <a_samp>
#include <zcmd>

new portao; // cria o new para criarmos o portao
forward pd1();//cria o forward para a public nao dar undefined symbol
new PlayerInfo[MAX_PLAYERS];

public OnGameModeInit()
{
	portao = CreateObject(980, 1141.19921875, -1206.2998046875, 20.89999961853, 0, 0, 90); // cria o portao
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	if(strcmp(cmdtext, "/portao", true) == 0) //comando aqui
{
if ((PlayerInfo[playerid][pMember] == 17 || PlayerInfo[playerid][pLeader] == 17) && PlayerToPoint(15.0, playerid, 1141.19921875, -1206.2998046875, 20.89999961853)) { //aqui criamos a coordenada dele fechado o pmember == 23 seria o id da org que e comando vermelho PlayerToPoint eh onde vai ficar fechado
MoveObject( portao, 1141,-1196,20.89999961853,5.0,0,0,90);//cordenadas portao aberto e ali ele move o portao para cima ou para abaixo, voce que sabe
GetPlayerName(playerid, sendername, sizeof(sendername));//pega o nome do player que abriu
new string [256];//cria a string
format(string, sizeof(string), "* %s Abriu Este Portao!", sendername); //manda a mensagem que ele abriu para quem esta perto
ProxDetector(4.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);//prox detector 4.0 seria a distancia que vai pegar recomendo por de 6.0
GameTextForPlayer(playerid, "~g~Aberto", 5000, 3);//manda o texto so para o player que abriu
SetTimer("pd1", 5000, false);//settimer que fecha portao// cria o settimer para ele
} else {
SendClientMessage(playerid, COLOR_RED, "*** Voce nao esta perto do portao ou nao e dos Ballas ***");//manda a mensagem caso ele nao estiver perto ou nao for da org
}//chave
return 1; //return
}
}

public OnPlayerExitedMenu(playerid)
{
	public pd1(); //cria a public
{
    MoveObject(portao, 1141.19921875,-1206.2998046875,20.89999961853,5.0,0,0,90);//aqui sao as coordenadas do porta para fechar o "3" e a velocidade.
    return 1; //retorna e termina  a public
}
}
Alguйm pode me ajudar a concertar estes erros?
Reply
#2

Tenta por assim
Quote:

if ((PlayerInfo[playerid][pMember] == 17) || (PlayerInfo[playerid][pLeader] == 17) || (PlayerToPoint(15.0, playerid, 1141.19921875, -1206.2998046875, 20.89999961853))) {

C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(17) : error 017: undefined symbol "pMember"
esse erro voce tem que mudar o pMember para a var do seu servidor
Veja se nao esta como pMembro ou algo to tipo...
Reply
#3

Vocк nгo precisa abrir e fechar no if EX:

pawn Код:
if( Var != 1 || var != 2)

// Vocк ta usando
if((Var != 1) || (var != 2))
Reply
#4

Quote:
Originally Posted by maikonk
Посмотреть сообщение
Tenta por assim


C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(17) : error 017: undefined symbol "pMember"
esse erro voce tem que mudar o pMember para a var do seu servidor
Veja se nao esta como pMembro ou algo to tipo...
Obrigado pela dica, eu vi lб no G.M, e realmente й pMembro e pLider, eu editei, botei a enum, mas agora deu isso:
Код:
C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(19) : error 001: expected token: ")", but found "["
C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(19) : warning 215: expression has no effect
C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(19) : error 001: expected token: ";", but found "]"
C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(19) : error 029: invalid expression, assumed zero
C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(19) : fatal error 107: too many error messages on one line
E como podem ver, o erro estб na mesma linha, olha como ela estб agora:
Код:
if ((PlayerInfo[playerid][pMembro] == 17) || (PlayerInfo[playerid][pLider] == 17) || (PlayerToPoint(15.0, playerid, 1141.19921875, -1206.2998046875, 20.89999961853))) {
Script toda:
Код:
#include <a_samp>
#include <zcmd>

new portao; // cria o new para criarmos o portao
forward pd1();//cria o forward para a public nao dar undefined symbol
enum pMembro{ pLider};
new PlayerInfo[MAX_PLAYERS];

public OnGameModeInit()
{
	portao = CreateObject(980, 1141.19921875, -1206.2998046875, 20.89999961853, 0, 0, 90); // cria o portao
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	if(strcmp(cmdtext, "/portao", true) == 0) //comando aqui
{

if ((PlayerInfo[playerid][pMembro] == 17) || (PlayerInfo[playerid][pLider] == 17) || (PlayerToPoint(15.0, playerid, 1141.19921875, -1206.2998046875, 20.89999961853))) { //aqui criamos a coordenada dele fechado o pmember == 23 seria o id da org que e comando vermelho PlayerToPoint eh onde vai ficar fechado
MoveObject( portao, 1141,-1196,20.89999961853,5.0,0,0,90);//cordenadas portao aberto e ali ele move o portao para cima ou para abaixo, voce que sabe
GetPlayerName(playerid, sendername, sizeof(sendername));//pega o nome do player que abriu
new string [256];//cria a string
format(string, sizeof(string), "* %s Abriu Este Portao!", sendername); //manda a mensagem que ele abriu para quem esta perto
ProxDetector(4.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);//prox detector 4.0 seria a distancia que vai pegar recomendo por de 6.0
GameTextForPlayer(playerid, "~g~Aberto", 5000, 3);//manda o texto so para o player que abriu
SetTimer("pd1", 5000, false);//settimer que fecha portao// cria o settimer para ele
} else {
SendClientMessage(playerid, COLOR_RED, "*** Voce nao esta perto do portao ou nao e dos Ballas ***");//manda a mensagem caso ele nao estiver perto ou nao for da org
}//chave
return 1; //return
}
}

public OnPlayerExitedMenu(playerid)
{
	public pd1(); //cria a public
{
    MoveObject(portao, 1141.19921875,-1206.2998046875,20.89999961853,5.0,0,0,90);//aqui sao as coordenadas do porta para fechar o "3" e a velocidade.
    return 1; //retorna e termina  a public
}
}
Reply
#5

@Edit
Resoluзгo do seu problema na minha resposta lб embaixo.
Reply
#6

Quote:
Originally Posted by AlucardSnow
Посмотреть сообщение
Tenta.
PHP код:
if (PlayerInfo[playerid][pMembro] == 17 || PlayerInfo[playerid][pLider] == 17 || PlayerToPoint(15.0playerid1141.19921875, -1206.299804687520.89999961853)) { 
Deu os mesmos erros :/
Reply
#7

@Edit
Resoluзгo do seu problema na minha resposta lб embaixo.
Reply
#8

Quote:
Originally Posted by AlucardSnow
Посмотреть сообщение
Tenta assim entгo:
PHP код:
if ( PlayerInfo playerid ] [ pMembro ] == 17 || PlayerInfo playerid ] [ pLider ] == 17 || ( PlayerToPoint 15.0playerid1141.19921875, -1206.299804687520.89999961853 ) )  ) { 
Ainda continua os erros:

Код:
C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(19) : error 001: expected token: ")", but found "["
C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(19) : error 029: invalid expression, assumed zero
C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(19) : warning 215: expression has no effect
C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(19) : error 001: expected token: ";", but found "]"
C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(19) : fatal error 107: too many error messages on one line
Procurei no meu G.M e aqui estгo dois exemplos de portхes:
Portгo Hitmans:
Код:
if (PlayerInfo[playerid][pMembro] == 8 || PlayerInfo[playerid][pLider] == 8 && PlayerToPoint(15.0, playerid, 956.80456542969, -1503.0864257813, 15.321235656738))
		{
Portгo Governo:
Код:
if ((IsAGOV(playerid)) && PlayerToPoint(15.0, playerid, 1539.2235107422, -1838.2176513672, 15.320266723633))
		{
Tentei editar o dos hitmans e botar para os ballas, mas nгo deu certo :/
Reply
#9

Vishe, nem percebi um detalhe ali.
Coloca assim:
PHP код:
if ( PlayerInfo playerid ] [ pMembro ] == 17 || PlayerInfo playerid ] [ pLider ] == 17 && PlayerToPoint playerid15.01141.19921875, -1206.299804687520.89999961853 ) ) { 
Como o mau.tito disse:
pawn Код:
// Modo certo
if( Var != 1 || var != 2)

// Vocк ta usando o modo errado
if((Var != 1) || (var != 2))
if ( PlayerInfo [ playerid ] [ pMembro ] == 17 || PlayerInfo [ playerid ] [ pLider ] == 17 && PlayerToPoint ( playerid, 15.0, 1141.19921875, -1206.2998046875, 20.89999961853 ) ) {

Observe o fechamento dos parenteses '-'
E tambйm observe isso:

PlayerToPoint ( 15.0, playerid, 1141.19921875, -1206.2998046875, 20.89999961853 ) )
Ao contrбrio e certo:
PlayerToPoint ( playerid, 15.0, 1141.19921875, -1206.2998046875, 20.89999961853 ) )
Reply
#10

Quote:
Originally Posted by AlucardSnow
Посмотреть сообщение
Vishe, nem percebi um detalhe ali.
Coloca assim:
PHP код:
if ( PlayerInfo playerid ] [ pMembro ] == 17 || PlayerInfo playerid ] [ pLider ] == 17 && PlayerToPoint playerid15.01141.19921875, -1206.299804687520.89999961853 ) ) { 
Como o mau.tito disse:
pawn Код:
// Modo certo
if( Var != 1 || var != 2)

// Vocк ta usando o modo errado
if((Var != 1) || (var != 2))
if ( PlayerInfo [ playerid ] [ pMembro ] == 17 || PlayerInfo [ playerid ] [ pLider ] == 17 && PlayerToPoint ( playerid, 15.0, 1141.19921875, -1206.2998046875, 20.89999961853 ) ) {

Observe o fechamento dos parenteses '-'
E tambйm observe isso:

PlayerToPoint ( 15.0, playerid, 1141.19921875, -1206.2998046875, 20.89999961853 ) )
Ao contrбrio e certo:
PlayerToPoint ( playerid, 15.0, 1141.19921875, -1206.2998046875, 20.89999961853 ) )
Infelizmente nгo foi essa a soluзгo:

como ficou Linha 19:
Код:
if ( PlayerInfo [ playerid ] [ pMembro ] == 17 || PlayerInfo [ playerid ] [ pLider ] == 17 && PlayerToPoint ( playerid, 15.0, 1141.19921875, -1206.2998046875, 20.89999961853 ) ) {
O que aconteceu ao compilar:
Код:
C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(19) : error 001: expected token: ")", but found "["
C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(19) : error 029: invalid expression, assumed zero
C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(19) : warning 215: expression has no effect
C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(19) : error 001: expected token: ";", but found "]"
C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(19) : fatal error 107: too many error messages on one line
Vou te mostrar o meu script todo pra vc ver se derrepente eu coloquei algo errado:
Код:
#include <a_samp>
#include <zcmd>

new portao; // cria o new para criarmos o portao
forward pd1();//cria o forward para a public nao dar undefined symbol
enum pMembro{ pLider};
new PlayerInfo[MAX_PLAYERS];

public OnGameModeInit()
{
	portao = CreateObject(980, 1141.19921875, -1206.2998046875, 20.89999961853, 0, 0, 90); // cria o portao
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	if(strcmp(cmdtext, "/portao", true) == 0) //comando aqui
{

if ( PlayerInfo [ playerid ] [ pMembro ] == 17 || PlayerInfo [ playerid ] [ pLider ] == 17 && PlayerToPoint ( playerid, 15.0, 1141.19921875, -1206.2998046875, 20.89999961853 ) ) { //aqui criamos a coordenada dele fechado o pmember == 23 seria o id da org que e comando vermelho PlayerToPoint eh onde vai ficar fechado
MoveObject( portao, 1141,-1196,20.89999961853,5.0,0,0,90);//cordenadas portao aberto e ali ele move o portao para cima ou para abaixo, voce que sabe
GetPlayerName(playerid, sendername, sizeof(sendername));//pega o nome do player que abriu
new string [256];//cria a string
format(string, sizeof(string), "* %s Abriu Este Portao!", sendername); //manda a mensagem que ele abriu para quem esta perto
ProxDetector(4.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);//prox detector 4.0 seria a distancia que vai pegar recomendo por de 6.0
GameTextForPlayer(playerid, "~g~Aberto", 5000, 3);//manda o texto so para o player que abriu
SetTimer("pd1", 5000, false);//settimer que fecha portao// cria o settimer para ele
} else {
SendClientMessage(playerid, COLOR_RED, "*** Voce nao esta perto do portao ou nao e dos Ballas ***");//manda a mensagem caso ele nao estiver perto ou nao for da org
}//chave
return 1; //return
}
}

public OnPlayerExitedMenu(playerid)
{
	public pd1(); //cria a public
{
    MoveObject(portao, 1141.19921875,-1206.2998046875,20.89999961853,5.0,0,0,90);//aqui sao as coordenadas do porta para fechar o "3" e a velocidade.
    return 1; //retorna e termina  a public
}
}
Olha sу, fiz umas modificaзхes(vou marcar de vermelho) e apareceu outros erros:
Код:
if ( PlayerInfo ) [ playerid; ] [ pMembro; ] == 17 || PlayerInfo [ playerid; ] [ pLider; ] == 17 && PlayerToPoint ( playerid, 15.0, 1141.19921875, -1206.2998046875, 20.89999961853 ) ) {
Erros que apareceram apуs isso:
Код:
C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(19) : error 033: array must be indexed (variable "PlayerInfo")
C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(19) : error 029: invalid expression, assumed zero
C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(19) : warning 215: expression has no effect
C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(19) : error 029: invalid expression, assumed zero
C:\DOCUME~1\Conta\Desktop\PORTAO~1.PWN(19) : fatal error 107: too many error messages on one line
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)