[Ajuda] Switch
#1

Olб, eu estou fazendo um GM de TDM com um mapa totalmente suspenso, encima da cidade, a altura 700. Nessa altura, os objetos nгo carregam normalmente, й necessбrio fazer algumas gambiarras, tais quais setar o interior ou entrar e sair do carro para carregar a textura.

Eu fiz um code (tentei fazer) que vai passando como um tutorial de um RPG, ele vai passando em ponto a ponto do mapa, para carregar todas as texturas sem problemas futuramente.

Sу que to com um probleminha quanto ao uso das switchs/public/forward/pawn/c++ etc.
pawn Код:
new TextureLoader[MAX_PLAYERS] // 527
forward CarregarTexturas(playerid);    // 528
public CarregarTexturas(playerid);     // 529
{                                      // 530
    switch(TextureLoader[playerid])
    {
        case 1:                        // 533
        {
            TextureLoader ++;
            SetPlayerPos(playerid, 2035.3678,-1287.0967,845.3900);
            SendClientMessage(playerid, COR_VERDE, " 1/8 Carregado...");
        }
        case 2:                        // 539
        {
            TextureLoader ++;
            SetPlayerPos(playerid, 1782.7454,-626.0411,764.2878);
            SendClientMessage(playerid, COR_VERDE, " 2/8 Carregado...");
        }
        case 3:                       // 545
        {
            TextureLoader ++;
            SetPlayerPos(playerid, 1984.5026,-371.7950,762.561);
            SendClientMessage(playerid, COR_VERDE, " 3/8 Carregado...");
        }
        case 4:                      // 551
        {
            TextureLoader ++;
            SetPlayerPos(playerid, 2330.4097,201.9737,765.3642);
            SendClientMessage(playerid, COR_VERDE, " 4/8 Carregado...");
        }
        case 5:                    // 557
        {
            TextureLoader ++;
            SetPlayerPos(playerid, 2565.0881,611.9174,768.0196);
            SendClientMessage(playerid, COR_VERDE, " 5/8 Carregado...");
        }
        case 6:
        {
            TextureLoader ++;
            SetPlayerPos(playerid, 2505.5706,1245.2871,766.0649);
            SendClientMessage(playerid, COR_VERDE, " 6/8 Carregado...");
        }
        case 7:
        {
            TextureLoader ++;
            SetPlayerPos(playerid, 881.0168,1898.5443,775.7732);
            SendClientMessage(playerid, COR_VERDE, " 7/8 Carregado...");
        }
        case 8:
        {
            TextureLoader = 0;
            SetPlayerPos(playerid, 799.3306,1522.1396,775.4888);
            SendClientMessage(playerid, COR_VERDE, " 8/8 de texturas Carregadas... Finalizando o Texture Loader.");
            SendClientMessage(playerid, COR_VERMELHO, " Gunners Wars: Obrigado por aguardar, as texturas podem nгo ter sido totalmente carregadas,");
            SendClientMessage(playerid, COR_VERMELHO, "caso achar alguma textura que nгo foi carregada, contacte um administrador.");
            KillTimer("CarregarTexturas[playerid]");
        }
    }
    return 1;
}
Erros:
Код:
Compilando GunWar.pwn...
D:\SA-MP\Gunners\Gunners War\gamemodes\GunWar.pwn(528) : error 001: expected token: ";", but found "forward"
D:\SA-MP\Gunners\Gunners War\gamemodes\GunWar.pwn(530) : error 055: start of function body without function header
D:\SA-MP\Gunners\Gunners War\gamemodes\GunWar.pwn(531) : error 010: invalid function or declaration
D:\SA-MP\Gunners\Gunners War\gamemodes\GunWar.pwn(533) : error 010: invalid function or declaration
D:\SA-MP\Gunners\Gunners War\gamemodes\GunWar.pwn(539) : error 010: invalid function or declaration
D:\SA-MP\Gunners\Gunners War\gamemodes\GunWar.pwn(545) : error 010: invalid function or declaration
D:\SA-MP\Gunners\Gunners War\gamemodes\GunWar.pwn(551) : error 010: invalid function or declaration
D:\SA-MP\Gunners\Gunners War\gamemodes\GunWar.pwn(557) : error 010: invalid function or declaration
D:\SA-MP\Gunners\Gunners War\gamemodes\GunWar.pwn(563) : error 010: invalid function or declaration
D:\SA-MP\Gunners\Gunners War\gamemodes\GunWar.pwn(569) : error 010: invalid function or dec
D:\SA-MP\Gunners\Gunners War\gamemodes\GunWar.pwn(569) : error 010: invalid function or declaration
D:\SA-MP\Gunners\Gunners War\gamemodes\GunWar.pwn(575) : error 010: invalid function or declaration
D:\SA-MP\Gunners\Gunners War\gamemodes\GunWar.pwn(585) : error 010: invalid function or declaration
D:\SA-MP\Gunners\Gunners War\gamemodes\GunWar.pwn(1715) : warning 203: symbol is never used: "TextureLoader"
D:\SA-MP\Gunners\Gunners War\gamemodes\GunWar.pwn(1715) : warning 203: symbol is never used: "fX"
D:\SA-MP\Gunners\Gunners War\gamemodes\GunWar.pwn(1715) : warning 203: symbol is never used: "fY"
D:\SA-MP\Gunners\Gunners War\gamemodes\GunWar.pwn(1715) : warning 203: symbol is never used: "fZ"
Pawn compiler 3.2.3664                          Copyright © 1997-2006, ITB CompuPhase


12 Errors.
@Edit

O Timer ta no OnPlayerSpawn:
pawn Код:
SetTimer("CarregarTexturas",3500,1);
Reply
#2

Troque

pawn Код:
public CarregarTexturas(playerid);


TextureLoader ++;
Por

pawn Код:
public CarregarTexturas(playerid)


TextureLoader[playerid] ++;
Reply
#3

pawn Код:
new TextureLoader[MAX_PLAYERS]
forward CarregarTexturas(playerid);
public CarregarTexturas(playerid)
{
    switch(TextureLoader[playerid])
    {
        case 1:
        {
            TextureLoader[playerid]++;
            SetPlayerPos(playerid, 2035.3678,-1287.0967,845.3900);
            SendClientMessage(playerid, COR_VERDE, " 1/8 Carregado...");
        }
        case 2:
        {
            TextureLoader[playerid]++;
            SetPlayerPos(playerid, 1782.7454,-626.0411,764.2878);
            SendClientMessage(playerid, COR_VERDE, " 2/8 Carregado...");
        }
        case 3:
        {
            TextureLoader[playerid]++;
            SetPlayerPos(playerid, 1984.5026,-371.7950,762.561);
            SendClientMessage(playerid, COR_VERDE, " 3/8 Carregado...");
        }
        case 4:
        {
            TextureLoader[playerid]++;
            SetPlayerPos(playerid, 2330.4097,201.9737,765.3642);
            SendClientMessage(playerid, COR_VERDE, " 4/8 Carregado...");
        }
        case 5:
        {
            TextureLoader[playerid]++;
            SetPlayerPos(playerid, 2565.0881,611.9174,768.0196);
            SendClientMessage(playerid, COR_VERDE, " 5/8 Carregado...");
        }
        case 6:
        {
            TextureLoader[playerid]++;
            SetPlayerPos(playerid, 2505.5706,1245.2871,766.0649);
            SendClientMessage(playerid, COR_VERDE, " 6/8 Carregado...");
        }
        case 7:
        {
            TextureLoader[playerid]++;
            SetPlayerPos(playerid, 881.0168,1898.5443,775.7732);
            SendClientMessage(playerid, COR_VERDE, " 7/8 Carregado...");
        }
        case 8:
        {
            TextureLoader[playerid] = 0;
            SetPlayerPos(playerid, 799.3306,1522.1396,775.4888);
            SendClientMessage(playerid, COR_VERDE, " 8/8 de texturas Carregadas... Finalizando o Texture Loader.");
            SendClientMessage(playerid, COR_VERMELHO, " Gunners Wars: Obrigado por aguardar, as texturas podem nгo ter sido totalmente carregadas,");
            SendClientMessage(playerid, COR_VERMELHO, "caso achar alguma textura que nгo foi carregada, contacte um administrador.");
            KillTimer(TimerTexturas);
        }
    }
    return 1;
}
@EDIT

Troque o timer por esse:

pawn Код:
new TimerTexturas; //Global
TimerTexturas= SetTimerEx("CarregarTexturas", /*TEMPO*/, false, "i", playerid);
Reply
#4

pawn Код:
TimerTexturas = SetTimerEx("CarregarTexturas", 3500, true, "i", playerid);
Код:
D:\SA-MP\Gunners\Gunners War\gamemodes\GunWar.pwn(166) : warning 204: symbol is assigned a value that is never used: "TimerTexturas"
Ainda ta dando erros no KillTimer e no forward CarregarTexturas(playerid); :S
Reply
#5

pawn Код:
new TextureLoader[MAX_PLAYERS];
new TimerTexturas;

forward CarregarTexturas(playerid);
public CarregarTexturas(playerid)
{
    switch(TextureLoader[playerid])
    {
        case 1:
        {
            TextureLoader[playerid]++;
            SetPlayerPos(playerid, 2035.3678,-1287.0967,845.3900);
            SendClientMessage(playerid, COR_VERDE, " 1/8 Carregado...");
        }
        case 2:
        {
            TextureLoader[playerid]++;
            SetPlayerPos(playerid, 1782.7454,-626.0411,764.2878);
            SendClientMessage(playerid, COR_VERDE, " 2/8 Carregado...");
        }
        case 3:
        {
            TextureLoader[playerid]++;
            SetPlayerPos(playerid, 1984.5026,-371.7950,762.561);
            SendClientMessage(playerid, COR_VERDE, " 3/8 Carregado...");
        }
        case 4:
        {
            TextureLoader[playerid]++;
            SetPlayerPos(playerid, 2330.4097,201.9737,765.3642);
            SendClientMessage(playerid, COR_VERDE, " 4/8 Carregado...");
        }
        case 5:
        {
            TextureLoader[playerid]++;
            SetPlayerPos(playerid, 2565.0881,611.9174,768.0196);
            SendClientMessage(playerid, COR_VERDE, " 5/8 Carregado...");
        }
        case 6:
        {
            TextureLoader[playerid]++;
            SetPlayerPos(playerid, 2505.5706,1245.2871,766.0649);
            SendClientMessage(playerid, COR_VERDE, " 6/8 Carregado...");
        }
        case 7:
        {
            TextureLoader[playerid]++;
            SetPlayerPos(playerid, 881.0168,1898.5443,775.7732);
            SendClientMessage(playerid, COR_VERDE, " 7/8 Carregado...");
        }
        case 8:
        {
            TextureLoader[playerid] = 0;
            SetPlayerPos(playerid, 799.3306,1522.1396,775.4888);
            SendClientMessage(playerid, COR_VERDE, " 8/8 de texturas Carregadas... Finalizando o Texture Loader.");
            SendClientMessage(playerid, COR_VERMELHO, " Gunners Wars: Obrigado por aguardar, as texturas podem nгo ter sido totalmente carregadas,");
            SendClientMessage(playerid, COR_VERMELHO, "caso achar alguma textura que nгo foi carregada, contacte um administrador.");
            KillTimer(TimerTexturas);
        }
    }
    return 1;
}
Reply
#6

Thanks Lуs
Reply
#7

Quote:
Originally Posted by dMagnus
Посмотреть сообщение
Thanks Lуs
Youre welcome

Indo trabalhar, fuiiiiz.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)