[Ajuda]Portao Automatico
#1

Jб vi tutorial e tudo, mas ta dando erros.



O codigo й esse:

pawn Код:
//new e forward
new PortaoBallas;
forward PortaoBallas();

//OnGameModeInit
SetTimer("PortaoBallas", 200, true);

//objeto definido no OnGameModeInit
PortaoBallas = CreateObject(980, 2165.1608886719, -1135.7752685547, 27.127239227295, 0, 0, 269.99996948242);

//Public
public PortaoBallas() { //nome do forward
for(new i=0; i
if( gTeam[i] == time_balla) { //esse gteam й a array que usei para setar a gang e time_ballas й o id da gang
if(PlayerToPoint(15, i,2165.1608886719, -1135.7752685547, 27.127239227295)) { //o 15 й o raio que o player tem que ficar para abrir o portгo, depois do i sгo as coordenadas do portгo fexado, a mesma do create object
MoveObject(PortaoBallas, 2163.6125488281, -1141.2938232422, 26.861921310425, 2); // funзгo para mover o objeto, nesse exemplo faremos o portгo subir para cima, no eixo Z que й a ultima coordenada(20.547) e o 2 й a velocidade que ele vai se mover
} else {
MoveObject(PortaoBallas,2165.1608886719, -1135.7752685547, 27.127239227295, 2); //se o player se afastar do portгo atй nгo estar mais no raio, o portгo vai se mover para baixo(eixo Z, coordenada 12.547)
}
}
}
}

//stock no fim
stock PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z) {
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)) && ((tempposy <> -radi)) && ((tempposz <> -radi))) {
return 1;
}
return 0;
}

Alguem pode me ajudar?
Os erros sao esses
Код:
C:\Documents and Settings\Adelar\Desktop\Eduardo\samp03csvr_R2-2_win32\gamemodes\sb1.pwn(6181) : error 021: symbol already defined: "PortaoBallas"
C:\Documents and Settings\Adelar\Desktop\Eduardo\samp03csvr_R2-2_win32\gamemodes\sb1.pwn(6182) : error 010: invalid function or declaration
C:\Documents and Settings\Adelar\Desktop\Eduardo\samp03csvr_R2-2_win32\gamemodes\sb1.pwn(6183) : error 010: invalid function or declaration
C:\Documents and Settings\Adelar\Desktop\Eduardo\samp03csvr_R2-2_win32\gamemodes\sb1.pwn(6184) : error 010: invalid function or declaration
C:\Documents and Settings\Adelar\Desktop\Eduardo\samp03csvr_R2-2_win32\gamemodes\sb1.pwn(6186) : error 010: invalid function or declaration
C:\Documents and Settings\Adelar\Desktop\Eduardo\samp03csvr_R2-2_win32\gamemodes\sb1.pwn(160) : error 021: symbol already defined: "PortaoBallas"
E as linhas:
pawn Код:
public PortaoBallas() { //linha 6181
for(new i=0; i //6182
if( gTeam[i] == time_balla) { //6183
if(PlayerToPoint(15, i,2165.1608886719, -1135.7752685547, 27.127239227295)) { //6184
MoveObject(PortaoBallas, 2163.6125488281, -1141.2938232422, 26.861921310425, 2); // 6185
} else { //6186
//
forward PortaoBallas();//160
Alguem ajuda
?
Reply
#2

Coloca esta public no lugar da public "PortaoBallas":

PHP код:
public PortaoBallas() 
{
    for(new 
i=0MAX_PLAYERS++)
    {
        if( 
gTeam[i] == time_balla
        {
            if(
PlayerToPoint(15i,2165.1608886719, -1135.775268554727.127239227295)) 
            {
                
MoveObject(PortaoBallas2163.6125488281, -1141.293823242226.8619213104252); 
            }
            else
            {
                
MoveObject(PortaoBallas,2165.1608886719, -1135.775268554727.1272392272952);
            }
            return 
1;
        }
        return 
1;
    }
    return 
1;

Reply
#3

Cara, deu mais erros que antes
Reply
#4

Tem como fazer pra quando eu apertar o botao H o portao abrir ao inves de ser automatico?
Reply
#5

Topo do GameMode
pawn Код:
new PPortaoBallas;
forward PortaoBallas();
public OnGameModeInit
pawn Код:
SetTimer("PortaoBallas", 200, true);
PPortaoBallas = CreateObject(980, 2165.1608886719, -1135.7752685547, 27.127239227295, 0, 0, 269.99996948242);
Em Qualquer Parte Do GameMode Estando Fora De Qualquer Public
pawn Код:
public PortaoBallas()
{
    for(i=0;i<MAX_PLAYERS;++i)
    {
        if( gTeam[i] == time_balla)
        {
            if(IsPlayerInRangeOfPoint(i,15.0,2165.1608886719, -1135.7752685547, 27.127239227295))
            {
                MoveObject(PPortaoBallas, 2163.6125488281, -1141.2938232422, 26.861921310425, 2);
            }
            else
            {
                MoveObject(PPortaoBallas,2165.1608886719, -1135.7752685547, 27.127239227295, 2);
            }
        }
    }
    return true
}
PS: nгo se pode ter publics e variaveis com o mesmo nome =)
Reply
#6

Cara nao da pra fazer ao inves de automatico apertar H que ele abre?
Reply
#7

Esse de cima deu erro tb :/
Reply
#8

Seu GM que deve estar bugado ...

Todo codigo que a gente passa da erro. ¬¬'
Reply
#9

Ou nгo... Compila certinho e sem erros, seus cуdigos que bugam.
Reply
#10

Para de fazer double post.

Usa search, leia tutoriais, procure bastante antes de vir criar um tуpico.

https://sampforum.blast.hk/showthread.php?tid=114459
https://sampforum.blast.hk/showthread.php?tid=246409
https://sampforum.blast.hk/showthread.php?tid=183798
https://sampforum.blast.hk/showthread.php?tid=148242
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)