[Ajuda] Erros no meu FS
#1

Tнtulo diz tudo...
Erros:
Код:
C:\Users\Shum\Desktop\fac.pwn(82) : warning 219: local variable "string" shadows a variable at a preceding level
C:\Users\Shum\Desktop\fac.pwn(88) : error 017: undefined symbol "playerid"
C:\Users\Shum\Desktop\fac.pwn(88) : error 029: invalid expression, assumed zero
C:\Users\Shum\Desktop\fac.pwn(88) : error 017: undefined symbol "Matriculado"
C:\Users\Shum\Desktop\fac.pwn(88) : fatal error 107: too many error messages on one line

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


4 Errors.
Referente а esta linha:
pawn Код:
if(IsPlayerInRangeOfPoint(playerid, 15.0, -2033.3000488281, -117.59999847412, 1034.3000488281) && if(Matriculado(playerid) != 1)
E alйm disso, no topo do FS, antes do #if defined FILTERSCRIPT, estб declarado a variбvel Matriculado(playerid)
Reply
#2

Troque
pawn Код:
Matriculado(playerid)
por
pawn Код:
Matriculado[playerid]
Sobre o
pawn Код:
if(IsPlayerInRangeOfPoint(playerid, 15.0, -2033.3000488281, -117.59999847412, 1034.3000488281) && if(Matriculado(playerid) != 1)
Verifique se voce colocou na public certa e nao intendi direito sobre a funcionalidade do
pawn Код:
if(Matriculado(playerid) != 1)
Reply
#3

Troquei por Matriculado[playerid]; e nгo deu em nada... O IsPlayerInRangeOfPoint faz parte de um comando, que estб na public OnPlayerCommandText().
pawn Код:
if(Matriculado(playerid) != 1)
Isto verificarб se o valor de Matriculado for diferente de 1... Ou seja, 0, que significa que o player nгo estб matriculado.
Reply
#4

Troque
pawn Код:
if(Matriculado(playerid) != 1)
por
pawn Код:
if(Matriculado(playerid) == 0)
caso so tenho o 0 de diferente de 1

Tente Assim:

pawn Код:
if(IsPlayerInRangeOfPoint(playerid, 15.0, -2033.3000488281, -117.59999847412, 1034.3000488281)
{
     if(Matriculado(playerid) != 1)
     {
      // Comando a ser executado caso ele estiver na area e ser diferente de Matriculado(playerid) != 1
     }
     else
     {
      // Caso o Matriculado(playerid) for igual a 1
     }
}
else
{
// Caso ele Nao esteja na Area
}
Reply
#5

pawn Код:
if(IsPlayerInRangeOfPoint(playerid, 15.0, -2033.3000488281, -117.59999847412, 1034.3000488281) && Matriculado[playerid] != 1)
Reply
#6

Quote:
Originally Posted by leonardo1434
Посмотреть сообщение
pawn Код:
if(IsPlayerInRangeOfPoint(playerid, 15.0, -2033.3000488281, -117.59999847412, 1034.3000488281) && Matriculado[playerid] != 1)
Falto 1 ")".
Reply
#7

Percebi isto, e alterei, porйm:
Код:
C:\Users\Shum\Desktop\fac.pwn(18) : error 001: expected token: "(", but found "["
C:\Users\Shum\Desktop\fac.pwn(20) : error 001: expected token: "(", but found "["
C:\Users\Shum\Desktop\fac.pwn(22) : error 001: expected token: "(", but found "["
C:\Users\Shum\Desktop\fac.pwn(24) : error 001: expected token: "(", but found "["
C:\Users\Shum\Desktop\fac.pwn(26) : error 001: expected token: "(", but found "["
C:\Users\Shum\Desktop\fac.pwn(27) : error 017: undefined symbol "playerid"
C:\Users\Shum\Desktop\fac.pwn(28) : error 017: undefined symbol "playerid"
Referente а:
pawn Код:
new LevelMatematica[MAX_PLAYERS];
forward LevelMatematica[playerid];
new LevelGeografia[MAX_PLAYERS];
forward LevelGeografia[playerid];
new LevelPortugues[MAX_PLAYERS];
forward LevelPortugues[playerid];
new LevelBiologia[MAX_PLAYERS];
forward LevelBiologia[playerid];
new LevelFisica[MAX_PLAYERS];
forward LevelFisica[playerid];
new Especializacao[playerid];
new Matriculado[playerid];
Matriculado = 0;
Especializacao = 0;
Reply
#8

Ajudem por favor... Nгo tenho a mнnima ideia do que possa ser, jб revisei isto milhares de vezes...
Reply
#9

repare
pawn Код:
new Especializacao[playerid];
new Matriculado[playerid];
aqui voce usou para players [playerid] apesar de estar mal...deveria ser [MAX_PLAYERS] ... troque
pawn Код:
Matriculado = 0;
Especializacao = 0;
aqui voce esta usando como se fosse global. Voce deve definir isso por exemplo em OnPlayerConnect
Exemplo
pawn Код:
Matriculado[playerid] = 0;
Especializacao[playerid] = 0;
E voce nao pode usar isso!
pawn Код:
new LevelMatematica[MAX_PLAYERS];
forward LevelMatematica[playerid];
Vai uma grande confusao na sua cabeзa!

Voce deve usar algo do genero

pawn Код:
new LevelMatematica[MAX_PLAYERS];
forward LevelMatematica(playerid);
public LevelMatematica(playerid);
{
    //codigo
    return 1;
}
Quando voce cria isso
pawn Код:
new LevelMatematica[MAX_PLAYERS];
esta funcao sera definida como 0 porem durante o jogo ela sera setada, do genero
pawn Код:
LevelMatematica[playerid]=15;
e por isso cada vez que um player loga й necessario resetala usando algo tipo isso
pawn Код:
LevelMatematica[playerid]=0;
em OnPlayerConnect
Quando
pawn Код:
new LevelMatematica[MAX_PLAYERS];
й criado significa que voce esta criando uma varialvel, й qual deu o nome de LevelMatematica para MAX_PLAYERS ou seja todos os players terao eata variavel ativa porem sera 0 por default e durante o jogo ela sera usada certamente, й por isso que й necessario reseta-la
Reply
#10

Caraca rapaz, muitissimo obrigado pela ajuda! Compilou certinho sem nenhum warning!
Jб podes esperar seus crйditos em meu FS (: Junto de todos os outros que ajudaram aqui.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)