[Ajuda] error 010: invalid function or declaration
#1

Bom eu preciso de 3 agencias de empregos.

Agencia de empregos Em Las Venturas
Agencia de empregos Em Los Santos
Agencia de empregos em San Fierro

Quando eu crio apenas o comando para entrar na agencia de empregos de Los Santos tudo funciona normal, o Comando eh esse.

public OnPlayerCommandText(playerid, cmdtext[])
{
// Vamos ao Comando Entrar
if(strcmp(cmdtext, "/entrar", true) == 0) // Comando ( Nгo Importa Vamos Usar o F )
{
// Ou Seja. Se Ele tiver no Local Do IsPlayerInRangeOfPoint, Funcionarб as Funзхes Abaixo
if(IsPlayerInRangeOfPoint(playerid, 2.0, 1219.0685,-1812.5293,16.593)
{
SetPlayerInterior(playerid, 3); // .Setando o Interior ao Entrar
SetPlayerPos(playerid, 1494.325195,1304.942871,1093.289062); // Setado Para Aqui ( TELE )
}
return true; // Returnando a 1


}


// Vamos No Comando Sair
if(strcmp(cmdtext, "/sair", true) == 0) // Comando ( Nгo Importa Vamos Usar o F )
{
// Ou Seja. Se Ele tiver no Local Do IsPlayerInRangeOfPoint, Funcionarб as Funзхes Abaixo
if(IsPlayerInRangeOfPoint(playerid, 2.0, 1494.325195,1304.942871,1093.289062))
{
SetPlayerInterior(playerid, 0); // Setando o Interior ao Sair.
SetPlayerPos(playerid, 1219.0685,-1812.5293,16.593; // Setado Para Aqui ( TELE )
}
return true; // Returnando a 1
}
}


Esse eh o comando para entrar na agencia de empregos de Los Santos, Com apenas uma agencia criada, ele funciona e na hora de compilar funciona certinho. nгo da nenhum erro.


Ai agencia de empregos de Los Santos ta criado. que й o comando em vermelho ai em cima.


Ai vamos para a agencia de Las Venturas o comando para entrar й o mesmo comando para entrar na agencia de Los Santos.


// Vamos ao Comando Entrar
if(strcmp(cmdtext, "/entrar", true) == 0) // Comando ( Nгo Importa Vamos Usar o F )
{
// Ou Seja. Se Ele tiver no Local Do IsPlayerInRangeOfPoint, Funcionarб as Funзхes Abaixo
if(IsPlayerInRangeOfPoint(playerid, 2.0, 938.0220,1733.2141,8.8516))
{
SetPlayerInterior(playerid, 3); // .Setando o Interior ao Entrar
SetPlayerPos(playerid, 1494.325195,1304.942871,1093.289062); // Setado Para Aqui ( TELE )
}
return true; // Returnando a 1






// Vamos No Comando Sair
if(strcmp(cmdtext, "/sair", true) == 0) // Comando ( Nгo Importa Vamos Usar o F )
{
// Ou Seja. Se Ele tiver no Local Do IsPlayerInRangeOfPoint, Funcionarб as Funзхes Abaixo
if(IsPlayerInRangeOfPoint(playerid, 2.0, 1494.325195,1304.942871,1093.289062))
{
SetPlayerInterior(playerid, 0); // Setando o Interior ao Sair.
SetPlayerPos(playerid, 938.0220,1733.2141,8.8516); // Setado Para Aqui ( TELE )
}
return true; // Returnando a 1
}

}



Como podem ver, o comando em vermelho й o comando para entrar na agencia de Los Santos, e o Comando em Laranja й o comando para entrar na agencia de Las Venturas.


O comando vermelho, й o comando para entrar na Agencia de Empregos De Los Santos, se existe apenas o comando vermelho, que й o comando de entrar na agencia de Los Santos, ele funciona normal, ele compila sem dar nenhum erro.


E assim agencia de Los Santos Feita.


Ai vamos para a agencia de Las Venturas, eu pego as coordenas da agencia de empregos de Las Venturas, Coloco o mesmo comando, Como podem ver do Comando Vermelho e do Comando laranja, unica coisas que muda sгo as coordenas, mais na hora que eu adiciono o comando Laranja e tento compilar, ele da erro, ou seja, com apenas o comando vermelho que й a entrada na agencia de Los Santos funciona, Mais na hora de Adicionar o Comando Laranja para entrar na agencia De las Venturas ele da erro.


Com o comando Laranja adicionado ele nгo compila, ele da erro na hora de compilar o erro й.


( error 010: invalid function or declaration )

Aki esta o erro que da na hora que tento compilar.

C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\Backup\entrada.pwn(3 : warning 219: local variable "entrada" shadows a variable at a preceding level
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\Backup\entrada.pwn(41) : warning 217: loose indentation
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\Backup\entrada.pwn(39) : warning 204: symbol is assigned a value that is never used: "Saida"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\Backup\entrada.pwn(3 : warning 204: symbol is assigned a value that is never used: "entrada"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\Backup\entrada.pwn(119) : warning 209: function "OnPlayerCommandText" should return a value
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\Backup\entrada.pwn(123) : error 010: invalid function or declaration
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\Backup\entrada.pwn(126) : error 010: invalid function or declaration
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\Backup\entrada.pwn(131) : error 010: invalid function or declaration
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\Backup\entrada.pwn(136) : error 010: invalid function or declaration
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\Backup\entrada.pwn(139) : error 010: invalid function or declaration
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\Backup\entrada.pwn(144) : error 010: invalid function or declaration
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\Backup\entrada.pwn(247) : warning 217: loose indentation
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\Backup\entrada.pwn(289) : warning 203: symbol is never used: "entrada"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\Backup\entrada.pwn(289) : warning 203: symbol is never used: "saida"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


6 Errors.


Minha gm й do 0 nao tem nada, caso queira ver apenas os comandos que adicionei esta aki. sгo apenas esses dois ai em cima.

LINK DA GM: https://hastebin.com/ikewehivit.cpp

Observaзгo: Esse comando foi feito por: JonathanFeitosa Apenas fiz do modo q ele ensinou, mais esta dando erro na hora de fazer mais de um comando igual.

https://sampforum.blast.hk/showthread.php?tid=259611


public OnPlayerKeyStateChange
if ((newkeys==KEY_SECONDARY_ATTACK)) // Key ( F / Enter )
{
OnPlayerCommandText(playerid,"/entrandointerior"); // Ao Apertar "F" Funcionarб o Comando Do Lado.
OnPlayerCommandText(playerid,"/sairdointerior"); // Ao Apertar "F" Funcionarб o Comando Do Lado.
// Se Quiser Colocar mais, a vontade.
}

Print do erro: http://imgur.com/a/3GhMP

Nгo citei ai em cima, mais claro adicionei os comandos na callback OnPlayerKeyStateChange tambem.

Desde jб obrigado.

Ryuzaki.
Reply
#2

vc ta criando dois comando /entrar? um pra cada lugar? se sim, coloque apenas um e coloque dois ifs se ele tiver no rage tal entra em tal lugar, se tiver eu outro rangepoint entra em outro local, as mesmas funзхes mas num mesmo comando

tente: @EDIT

PHP Code:
public OnPlayerCommandText(playeridcmdtext[])
{
    if(
strcmp(cmdtext"/entrar"true) == 0)
    {
        if(
IsPlayerInRangeOfPoint(playerid2.01219.0685,-1812.5293,16.593)
        {
            
SetPlayerInterior(playerid3);
            
SetPlayerPos(playerid1494.325195,1304.942871,1093.289062);
        }
        if(
IsPlayerInRangeOfPoint(playerid2.0938.0220,1733.2141,8.8516))
        {
            
SetPlayerInterior(playerid3);
            
SetPlayerPos(playerid1494.325195,1304.942871,1093.289062);
        }
    }
    if(
strcmp(cmdtext"/sair"true) == 0)
     {
          if(
IsPlayerInRangeOfPoint(playerid2.01494.325195,1304.942871,1093.289062))
        {
            
SetPlayerInterior(playerid0);
               
SetPlayerPos(playerid1219.0685,-1812.5293,16.593;
          }
           if(
IsPlayerInRangeOfPoint(playerid2.0938.0220,1733.2141,8.8516))
        {
            
SetPlayerInterior(playerid3);
            
SetPlayerPos(playerid1494.325195,1304.942871,1093.289062);
        }
      }
    return 
1;

Reply
#3

Obrigado ai amigo, sou novo no pawn, sua ajuda foi muito importante para min mesmo, agora posso seguir em frente com outros coisas, nгo sei se vera essa resposta, mais poderia me dizer um modo de usar o SetPlayerVirtualWolrd

Eu entro na agencia de Los Santos e na hora de sair sai na de Los Santos, mais ai Entro na agencia de Las Venturas, e sai na de Los Santos na hora de sair, ja estou indo procurar aqui sobre o SetPlayerVirtualWolrd mais caso veja essa resposta me mostra como da uma encaixada no comando aqui.


Obrigado pela ajuda ai maninho vlw
Reply
#4

qual й a cordenada do interior de LV? olha para oq vc postou, vc setou o mesmo interior e nas mesmas cordenadas o de LS e LV, entre no jogo, va no interior de LV e pegue as cordenadas e poste aqui
Reply
#5

Bom atй onde sei й assim,

Essa coordenada й no local que deve ficar o pickup, para entrar dentro da agencia

Coordenada: 938.0220,1733.2141,8.8516 << essa coordenadas fica na cidade de Las Venturas no local onde deve ser a entrada da agencia.

Ai as coordenadas para onde o player vai й essa.

Coordenada: 1494.325195,1304.942871,1093.289062 << Essas coordenadas й o interior para onde o player sera teleportado.

http://weedarr.wikidot.com/interior

Sу que na hora de sair, da erro, pois ocorre o seguinte problema.

Eu entro na agencia de Los Santos na hora de sair, Saiu na de Los Santos. ( entгo los santos ta funcionando. )

ai

Eu entro na agencia de Las Venturas na hora de sair, Sai na agencia de Los Santos ( entгo entro na agencia de lv e na hora de sair vou para Los Santos )

Eu praticamente entro na agencia de Las Venturas e saiu nessas coordenadas 1219.0685,-1812.5293,16.593 que й a coordenadas da agencia de Los Santos.

Como poderia resolver esse erro? pois preciso criar Varios Departamentos de Policia, Empresas, Casas, Agencias etc ...

E obrigado por estar ajudando.
Reply
#6

tipo, mas olhe, o interior que vc ta colocando o player й o mesmo de ls e lv, eles tem que serem diferentes, ou vc terб que criar dois comandos de sair, uma pra lv e outro pra ls, mas assim, olhe a cordenada 1494.325195,1304.942871,1093.289062

ela й a mesma do interior de ls e й a mesma de lv entendeu? ou coloca interiores diferentes ou cria dois comandos de sair, mas ai vai dar player se teleportando pra outra cidade!
Reply
#7

Sim, Tambйm tem essa opзгo de colocar dois interiores diferentes, o problema й o seguinte, se eu crio uma pickup no interior 1494.325195,1304.942871,1093.289062 essa pickup seria para sair, mais ai temos o famoso comando

SetPlayerVirtualWolrd

esse comando й usado para quando precisamos criar mais de um local q possui o mesmo interior, o meu problema sу seria resolvido com o SetPlayerVirtualWolrd, porem jб pesquisei bastante, e ainda nгo conseguir achar um tуpico onde ensina usar certinho o SetPlayerVirtualWolrd os que tentei usar, eles simplesmente nгo funcionou.

outro caso de problema igual o meu й o dele >> https://sampforum.blast.hk/showthread.php?tid=477460

Tem algumas respostas da turma explicando o SetPlayerVirtualWolrd mais ainda nгo consegui aplicar isso em minha gm ...
Reply
#8

Quote:
Originally Posted by Ryuzaki07
View Post
Sim, Tambйm tem essa opзгo de colocar dois interiores diferentes, o problema й o seguinte, se eu crio uma pickup no interior 1494.325195,1304.942871,1093.289062 essa pickup seria para sair, mais ai temos o famoso comando

SetPlayerVirtualWolrd

esse comando й usado para quando precisamos criar mais de um local q possui o mesmo interior, o meu problema sу seria resolvido com o SetPlayerVirtualWolrd, porem jб pesquisei bastante, e ainda nгo conseguir achar um tуpico onde ensina usar certinho o SetPlayerVirtualWolrd os que tentei usar, eles simplesmente nгo funcionou.

outro caso de problema igual o meu й o dele >> https://sampforum.blast.hk/showthread.php?tid=477460

Tem algumas respostas da turma explicando o SetPlayerVirtualWolrd mais ainda nгo consegui aplicar isso em minha gm ...
hm entendi oque vc quer, vc quer colocar os jogadores em mundos diferentes para usar o mesmo interior

bom cara minha ajuda acaba aqui pois ainda nгo estudei sobre mundos, mas tente(creio que nгo funcionarб)

PHP Code:
new mundo[MAX_PLAYERS];
public 
OnPlayerCommandText(playeridcmdtext[])
{
    if(
strcmp(cmdtext"/entrar"true) == 0)
    {
        if(
IsPlayerInRangeOfPoint(playerid2.01219.0685,-1812.5293,16.593))
        {
            
SetPlayerInterior(playerid3);
            
mundo[playerid] = GetPlayerVirtualWorld(playerid);
            
SetPlayerVirtualWorld(playerid1);
            
SetPlayerPos(playerid1494.325195,1304.942871,1093.289062);
        }
        if(
IsPlayerInRangeOfPoint(playerid2.0938.0220,1733.2141,8.8516))
        {
            
SetPlayerInterior(playerid3);
            
SetPlayerVirtualWorld(playerid2);
            
SetPlayerPos(playerid1494.325195,1304.942871,1093.289062);
        }
    }
    if(
strcmp(cmdtext"/sair"true) == 0)
     {
          if(
IsPlayerInRangeOfPoint(playerid2.01494.325195,1304.942871,1093.289062) && GetPlayerVirtualWorld(playerid == 1))
        {
                
SetPlayerInterior(playerid0);
                
SetPlayerVirtualWorld(playeridmundo[playerid]);
                
SetPlayerPos(playerid1219.0685,-1812.5293,16.593);
          }
           if(
IsPlayerInRangeOfPoint(playerid2.0938.0220,1733.2141,8.8516) && GetPlayerVirtualWorld(playerid == 1))
        {
            
SetPlayerInterior(playerid0); 
            
SetPlayerVirtualWorld(playeridmundo[playerid]);
            
SetPlayerPos(playerid938.0220,1733.2141,8.8516);
        }
      }
    return 
1;

Reply
#9

esses sao os erros que esta dando na hora de compilar


C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(50) : warning 219: local variable "Eagencials" shadows a variable at a preceding level
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(51) : warning 219: local variable "Eagencialv" shadows a variable at a preceding level
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(52) : warning 219: local variable "Sagencialv" shadows a variable at a preceding level
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(62) : warning 217: loose indentation
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(52) : warning 204: symbol is assigned a value that is never used: "Sagencialv"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(51) : warning 204: symbol is assigned a value that is never used: "Eagencialv"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(50) : warning 204: symbol is assigned a value that is never used: "Eagencials"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(49) : warning 204: symbol is assigned a value that is never used: "Sagencials"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(125) : error 017: undefined symbol "mundo"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(125) : warning 215: expression has no effect
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(125) : error 001: expected token: ";", but found "]"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(125) : error 029: invalid expression, assumed zero
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(125) : fatal error 107: too many error messages on one line

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


4 Errors.

Os erros estгo acusando linha 125

linha 125 tem esta digitaзгo: mundo[playerid] = GetPlayerVirtualWorld(playerid);
Reply
#10

tente:

PHP Code:
new mundo[MAX_PLAYERS]; 
public 
OnPlayerCommandText(playeridcmdtext[]) 

    if(
strcmp(cmdtext"/entrar"true) == 0
    { 
        if(
IsPlayerInRangeOfPoint(playerid2.01219.0685,-1812.5293,16.593)) 
        { 
            
SetPlayerInterior(playerid3); 
            
mundo[playerid] = GetPlayerVirtualWorld(playerid); 
            
SetPlayerVirtualWorld(playerid1); 
            
SetPlayerPos(playerid1494.325195,1304.942871,1093.289062); 
        } 
        if(
IsPlayerInRangeOfPoint(playerid2.0938.0220,1733.2141,8.8516)) 
        { 
            
SetPlayerInterior(playerid3); 
            
SetPlayerVirtualWorld(playerid2); 
            
SetPlayerPos(playerid1494.325195,1304.942871,1093.289062); 
        } 
    } 
    if(
strcmp(cmdtext"/sair"true) == 0
     { 
          if(
IsPlayerInRangeOfPoint(playerid2.01494.325195,1304.942871,1093.289062) && GetPlayerVirtualWorld(playerid) == 1)) 
        { 
                
SetPlayerInterior(playerid0); 
                
SetPlayerVirtualWorld(playeridmundo[playerid]); 
                
SetPlayerPos(playerid1219.0685,-1812.5293,16.593); 
          } 
           if(
IsPlayerInRangeOfPoint(playerid2.01494.325195,1304.942871,1093.289062) && GetPlayerVirtualWorld(playerid) == 2)) 
        { 
            
SetPlayerInterior(playerid0);  
            
SetPlayerVirtualWorld(playeridmundo[playerid]); 
            
SetPlayerPos(playerid938.0220,1733.2141,8.8516); 
        } 
      } 
    return 
1

Reply
#11

C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(50) : warning 219: local variable "Eagencials" shadows a variable at a preceding level
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(51) : warning 219: local variable "Eagencialv" shadows a variable at a preceding level
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(52) : warning 219: local variable "Sagencialv" shadows a variable at a preceding level
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(62) : warning 217: loose indentation
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(52) : warning 204: symbol is assigned a value that is never used: "Sagencialv"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(51) : warning 204: symbol is assigned a value that is never used: "Eagencialv"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(50) : warning 204: symbol is assigned a value that is never used: "Eagencials"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(49) : warning 204: symbol is assigned a value that is never used: "Sagencials"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(124) : error 017: undefined symbol "mundo"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(124) : warning 215: expression has no effect
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(124) : error 001: expected token: ";", but found "]"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(124) : error 029: invalid expression, assumed zero
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(124) : fatal error 107: too many error messages on one line

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


4 Errors.

Continua o mesmo erro ...

Da uma olhada na gm maninho ela n tem nada mesmo apenas esses comando.

HASTEBIN: https://hastebin.com/xalumiremi.cpp
Reply
#12

Quote:
Originally Posted by Ryuzaki07
Посмотреть сообщение
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(50) : warning 219: local variable "Eagencials" shadows a variable at a preceding level
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(51) : warning 219: local variable "Eagencialv" shadows a variable at a preceding level
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(52) : warning 219: local variable "Sagencialv" shadows a variable at a preceding level
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(62) : warning 217: loose indentation
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(52) : warning 204: symbol is assigned a value that is never used: "Sagencialv"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(51) : warning 204: symbol is assigned a value that is never used: "Eagencialv"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(50) : warning 204: symbol is assigned a value that is never used: "Eagencials"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(49) : warning 204: symbol is assigned a value that is never used: "Sagencials"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(124) : error 017: undefined symbol "mundo"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(124) : warning 215: expression has no effect
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(124) : error 001: expected token: ";", but found "]"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(124) : error 029: invalid expression, assumed zero
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\entrada.pwn(124) : fatal error 107: too many error messages on one line

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


4 Errors.

Continua o mesmo erro ...

Da uma olhada na gm maninho ela n tem nada mesmo apenas esses comando.

HASTEBIN: https://hastebin.com/xalumiremi.cpp
como falei, nгo sei mexer com mundos ainda mas tente pela ultima vez: copie "tudo" oque estб aqui e cole na gm:

PHP код:
public OnPlayerCommandText(playeridcmdtext[])  
{  
    new 
mundo[MAX_PLAYERS];  
    if(
strcmp(cmdtext"/entrar"true) == 0)  
    {  
        if(
IsPlayerInRangeOfPoint(playerid2.01219.0685,-1812.5293,16.593))  
        {  
            
SetPlayerInterior(playerid3);  
            
mundo[playerid] = GetPlayerVirtualWorld(playerid);  
            
SetPlayerVirtualWorld(playerid1);  
            
SetPlayerPos(playerid1494.325195,1304.942871,1093.289062);  
        }  
        if(
IsPlayerInRangeOfPoint(playerid2.0938.0220,1733.2141,8.8516))  
        {  
            
SetPlayerInterior(playerid3);  
            
SetPlayerVirtualWorld(playerid2);  
            
SetPlayerPos(playerid1494.325195,1304.942871,1093.289062);  
        }  
    }  
    if(
strcmp(cmdtext"/sair"true) == 0)  
     {  
          if(
IsPlayerInRangeOfPoint(playerid2.01494.325195,1304.942871,1093.289062) && GetPlayerVirtualWorld(playerid) == 1))  
        {  
                
SetPlayerInterior(playerid0);  
                
SetPlayerVirtualWorld(playeridmundo[playerid]);  
                
SetPlayerPos(playerid1219.0685,-1812.5293,16.593);  
          }  
           if(
IsPlayerInRangeOfPoint(playerid2.01494.325195,1304.942871,1093.289062) && GetPlayerVirtualWorld(playerid) == 2))  
        {  
            
SetPlayerInterior(playerid0);   
            
SetPlayerVirtualWorld(playeridmundo[playerid]);  
            
SetPlayerPos(playerid938.0220,1733.2141,8.8516);  
        }  
      }  
    return 
1;  

Reply
#13

Quote:
Originally Posted by Scorpion659
Посмотреть сообщение
como falei, nгo sei mexer com mundos ainda mas tente pela ultima vez: copie "tudo" oque estб aqui e cole na gm:

Код:
public OnPlayerCommandText(playerid, cmdtext[])  
{  
    new mundo[MAX_PLAYERS];  
    if(strcmp(cmdtext, "/entrar", true) == 0)  
    {  
        if(IsPlayerInRangeOfPoint(playerid, 2.0, 1219.0685,-1812.5293,16.593))  
        {  
            SetPlayerInterior(playerid, 3);  
            mundo[playerid] = GetPlayerVirtualWorld(playerid);  
            SetPlayerVirtualWorld(playerid, 1);  
            SetPlayerPos(playerid, 1494.325195,1304.942871,1093.289062);  
        }  
        if(IsPlayerInRangeOfPoint(playerid, 2.0, 938.0220,1733.2141,8.8516))  
        {  
            SetPlayerInterior(playerid, 3);  
            SetPlayerVirtualWorld(playerid, 2);  
            SetPlayerPos(playerid, 1494.325195,1304.942871,1093.289062);  
        }  
    }  

    if(strcmp(cmdtext, "/sair", true) == 0)  
     {  
          if(IsPlayerInRangeOfPoint(playerid, 2.0, 1494.325195,1304.942871,1093.289062) && GetPlayerVirtualWorld(playerid) == 1))  
        {  
                SetPlayerInterior(playerid, 0);  
                SetPlayerVirtualWorld(playerid, mundo[playerid]);  
                SetPlayerPos(playerid, 1219.0685,-1812.5293,16.593);  
          }  
           if(IsPlayerInRangeOfPoint(playerid, 2.0, 1494.325195,1304.942871,1093.289062) && GetPlayerVirtualWorld(playerid) == 2))  
        {  
            SetPlayerInterior(playerid, 0);   
            SetPlayerVirtualWorld(playerid, mundo[playerid]);  
            SetPlayerPos(playerid, 938.0220,1733.2141,8.8516);  
        }  
      }  
    return 1;  
}
Por quer no /entrar, tu geta o VW e nгo usa?
Reply
#14

samp.png


Como esta na imagem, a declaraзгo da array mundo esta dentro de uma verificaзгo de prй-compilaзгo, entгo a array sу vai ser compilada se FILTERSCRIPT for definido antes da condiзгo caso contrбrio ela nгo vai existir no seu script.

Caso for um gamemode as callbacks OnFilterScriptInit e OnFilterScriptExit nгo sгo usada entгo nгo hб necessidade de usar elas no seu script e nem condiзгo para verificar se FILTERSCRIPT foi definido.

Se for um gamemode vai precisar do main:

PHP код:
main(){

e caso for filterscript retire o #if defined FILTERSCRIPT e #endif e utilize as callbacks OnFilterScriptInit e OnFilterScriptExit em vez de OnGameModeInit e OnGameModeExit.

Caso o jogador sempre esteja no virtual world 0 nгo й necessбrio usar esta array.

Quote:
Originally Posted by Scorpion659
Посмотреть сообщение
PHP код:
public OnPlayerCommandText(playeridcmdtext[])  
{  
    new 
mundo[MAX_PLAYERS];  
    if(
strcmp(cmdtext"/entrar"true) == 0)  
    {  
        if(
IsPlayerInRangeOfPoint(playerid2.01219.0685,-1812.5293,16.593))  
        {  
            
SetPlayerInterior(playerid3);  
            
mundo[playerid] = GetPlayerVirtualWorld(playerid);  
            
SetPlayerVirtualWorld(playerid1);  
            
SetPlayerPos(playerid1494.325195,1304.942871,1093.289062);  
        }  
        if(
IsPlayerInRangeOfPoint(playerid2.0938.0220,1733.2141,8.8516))  
        {  
            
SetPlayerInterior(playerid3);  
            
SetPlayerVirtualWorld(playerid2);  
            
SetPlayerPos(playerid1494.325195,1304.942871,1093.289062);  
        }  
    }
    
/*
    ...
    */  

Criando array mundo dentro dessa callback sempre que o jogador usar um comando ela vai ser criada, e sempre que a chegar no fim dela ou retornar algo ela vai ser destruнda tornando ela inъtil para o que ele quer fazer.


Й sempre bom retornar algum valor diferente de 0 ou true no final do comando para que nгo execute as verificaзхes abaixo, pois alйm desse mйtodo ser lento vai se tornar ainda mais lento:

PHP код:
public OnPlayerCommandtext(playeridcmdtext[]){
    if(!
strcmp(cmdtext"/cmd")){
        
//Retornando true para que nгo verificar se cmdtext й igual a /cmd2
        
return true;
    }
    if(!
strcmp(cmdtext"/cmd2")){
        
//Retornando para que nгo envie a mensagem para o jogador avisando que o comando nгo existe.
        
return true;
    }
    return 
false;

Reply
#15

eu usei essa variavel mundo pois nгo sei qual o mundo padrгo rs, ai a variбvel й desnecessбria mas "funcional".
Reply
#16

Padrгo й Mundo 0.
Reply
#17

Po maninho quase deu dois erro aqui

C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\arrumar\entrada.pwn(50) : warning 219: local variable "Eagencials" shadows a variable at a preceding level
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\arrumar\entrada.pwn(51) : warning 219: local variable "Eagencialv" shadows a variable at a preceding level
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\arrumar\entrada.pwn(52) : warning 219: local variable "Sagencialv" shadows a variable at a preceding level
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\arrumar\entrada.pwn(62) : warning 217: loose indentation
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\arrumar\entrada.pwn(52) : warning 204: symbol is assigned a value that is never used: "Sagencialv"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\arrumar\entrada.pwn(51) : warning 204: symbol is assigned a value that is never used: "Eagencialv"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\arrumar\entrada.pwn(50) : warning 204: symbol is assigned a value that is never used: "Eagencials"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\arrumar\entrada.pwn(49) : warning 204: symbol is assigned a value that is never used: "Sagencials"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\arrumar\entrada.pwn(139) : error 029: invalid expression, assumed zero
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\arrumar\entrada.pwn(140) : warning 217: loose indentation
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\arrumar\entrada.pwn(145) : warning 217: loose indentation
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\arrumar\entrada.pwn(145) : error 029: invalid expression, assumed zero
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\arrumar\entrada.pwn(146) : warning 217: loose indentation
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\arrumar\entrada.pwn(219) : warning 217: loose indentation
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\arrumar\entrada.pwn(265) : warning 217: loose indentation
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\arrumar\entrada.pwn(307) : warning 203: symbol is never used: "Eagenciasf"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\arrumar\entrada.pwn(307) : warning 203: symbol is never used: "Sagancials"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\arrumar\entrada.pwn(307) : warning 203: symbol is never used: "Sagencialv"
C:\Users\Ryuzaki\Desktop\GM MINHA\gamemodes\arrumar\entrada.pwn(307) : warning 203: symbol is never used: "Sagenciasf"
Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


2 Errors.


ainda ta dando erro, sу que agora sгo apenas dois.
Reply
#18

tente:

PHP код:
public OnPlayerCommandText(playeridcmdtext[])
{
    if(
strcmp(cmdtext"/entrar"true) == 0)
    {
        if(
IsPlayerInRangeOfPoint(playerid2.01219.0685,-1812.5293,16.593))
        {
            
SetPlayerInterior(playerid3);
            
SetPlayerVirtualWorld(playerid1);
            
SetPlayerPos(playerid1494.325195,1304.942871,1093.289062);
        }
        if(
IsPlayerInRangeOfPoint(playerid2.0938.0220,1733.2141,8.8516))
        {
            
SetPlayerInterior(playerid3);
            
SetPlayerVirtualWorld(playerid2);
            
SetPlayerPos(playerid1494.325195,1304.942871,1093.289062);
        }
    }
    if(
strcmp(cmdtext"/sair"true) == 0)
     {
          if(
IsPlayerInRangeOfPoint(playerid2.01494.325195,1304.942871,1093.289062) && GetPlayerVirtualWorld(playerid) == 1))
        {
                
SetPlayerInterior(playerid0);
                
SetPlayerVirtualWorld(playerid0);
                
SetPlayerPos(playerid1219.0685,-1812.5293,16.593);
          }
           if(
IsPlayerInRangeOfPoint(playerid2.01494.325195,1304.942871,1093.289062) && GetPlayerVirtualWorld(playerid) == 2))
        {
            
SetPlayerInterior(playerid0);
            
SetPlayerVirtualWorld(playerid0);
            
SetPlayerPos(playerid938.0220,1733.2141,8.8516);
        }
      }
    return 
1;

mande as linhas do erro
Reply
#19

https://hastebin.com/edepikoviw.cpp


Linhas 138 e 144 dando erro
Reply
#20

tente:

PHP код:
public OnPlayerCommandText(playeridcmdtext[]) 

    if(
strcmp(cmdtext"/entrar"true) == 0
    { 
        if(
IsPlayerInRangeOfPoint(playerid2.01219.0685,-1812.5293,16.593)) 
        { 
            
SetPlayerInterior(playerid3); 
            
SetPlayerVirtualWorld(playerid1); 
            
SetPlayerPos(playerid1494.325195,1304.942871,1093.289062); 
        } 
        if(
IsPlayerInRangeOfPoint(playerid2.0938.0220,1733.2141,8.8516)) 
        { 
            
SetPlayerInterior(playerid3); 
            
SetPlayerVirtualWorld(playerid2); 
            
SetPlayerPos(playerid1494.325195,1304.942871,1093.289062); 
        } 
    } 
    if(
strcmp(cmdtext"/sair"true) == 0
     { 
          if(
IsPlayerInRangeOfPoint(playerid2.01494.325195,1304.942871,1093.289062) && GetPlayerVirtualWorld(playerid) == 1)
        { 
                
SetPlayerInterior(playerid0); 
                
SetPlayerVirtualWorld(playerid0); 
                
SetPlayerPos(playerid1219.0685,-1812.5293,16.593); 
          } 
           if(
IsPlayerInRangeOfPoint(playerid2.01494.325195,1304.942871,1093.289062) && GetPlayerVirtualWorld(playerid) == 2)
        { 
            
SetPlayerInterior(playerid0); 
            
SetPlayerVirtualWorld(playerid0); 
            
SetPlayerPos(playerid938.0220,1733.2141,8.8516); 
        } 
      } 
    return 
1

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)