[AJUDA] Sistema de ROTA
#1

Ola pessoal estou aqui de novo para pedir ajuda de vocкs,
Entгo o nosso amigo Shadoww me passou um sistema de rota para o onibus so que ele oculpa muita linha no gm
e o sistema de rota que ele mandou foi esse:
pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmdtext,"/rota",true) == 0)
    {
        if(GetPVarInt(playerid,"Rota") > 0) return SendClientMessage(playerid, -1," Vocк jб estб em uma corrida.");
        SendClientMessage(playerid,-1,"Vocк acaba de iniciar uma corrida. Siga os checkpoints para concluir sua rota.");
        SetPlayerCheckPoint(playerid, X, Y, Z, 8.0);
        SetPVarInt(playerid,"Rota",1);
        return 1;
    }
    return 0;
}
public OnPlayerEnterCheckpoint(playerid)
{
    switch(GetPVarInt(playerid,"Rota"))
    {
        case 1:
        {
            SetPlayerCheckPoint(playerid, X, Y, Z, 8.0);
            SendClientMessage(playerid, -1, "Checkpoints: 1 / 5");
            SetPVarInt(playerid,"Rota",2);
            return 1;
        }
        case 2:
        {
            SetPlayerCheckPoint(playerid, X, Y, Z, 8.0);
            SendClientMessage(playerid, -1, "Checkpoints: 2 / 5");
            SetPVarInt(playerid,"Rota",3);
            return 1;
        }
        case 3:
        {
            SetPlayerCheckPoint(playerid, X, Y, Z, 8.0);
            SendClientMessage(playerid, -1, "Checkpoints: 3 / 5");
            SetPVarInt(playerid,"Rota",4);
            return 1;
        }
        case 4:
        {
            SetPlayerCheckPoint(playerid, X, Y, Z, 8.0);
            SendClientMessage(playerid, -1, "Checkpoints: 4 / 5");
            SetPVarInt(playerid,"Rota",5);
            return 1;
        }
        case 5:
        {
            DDisablePlayerCheckpoint(playerid);
            SendClientMessage(playerid, -1, "Checkpoints: 5 / 5");
            SendClientMessage(playerid, -1, "Corrida concluнda.");
            GivePlayerMoney(playerid, 50);
            SetPVarInt(playerid,"Rota",0);
            return 1;
        }
        return 1;
    }
    return 1;
}
e queria que a seleзгo das coordenadas do checkpoints ficassem assim, nгo e necessario que fique igual ao de baixo e por que irei fazer 34 paradas de onibus, entao o de cima ira pegar muitas linhas
pawn Код:
else if(CP[playerid] == 10) { CP[playerid] = 11; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2258.7874,-2402.9712,12.7035,8.0); }
    else if(CP[playerid] == 11) { CP[playerid] = 12; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2225.8755,-2461.3875,12.7190,8.0); }
    else if(CP[playerid] == 12) { CP[playerid] = 13; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2276.9983,-2662.8328,12.8580,8.0); }
    else if(CP[playerid] == 13) { CP[playerid] = 14; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2449.1399,-2663.0562,12.8138,8.0); }
    else if(CP[playerid] == 14) { CP[playerid] = 15; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2566.9814,-2504.5686,12.7692,8.0); }
    else if(CP[playerid] == 15) { CP[playerid] = 16; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2719.0520,-2503.5962,12.7706,8.0); }
    else if(CP[playerid] == 16) { CP[playerid] = 17; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2720.7881,-2405.6589,12.7441,8.0); }
    else if(CP[playerid] == 17) { CP[playerid] = 18; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2571.5195,-2401.1531,12.7528,8.0); }
    else if(CP[playerid] == 18) { CP[playerid] = 19; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2406.6995,-2423.1182,12.6641,8.0); }
    else if(CP[playerid] == 19) { CP[playerid] = 20; DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2322.9194,-2341.5715,12.6664,8.0); }
    else if(CP[playerid] == 20)
Reply
#2

Faзa o seguinte:
PHP код:
case 0: if(CP[playerid] == 10) { CP[playerid] = 11DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2258.7874,-2402.9712,12.7035,8.0); } 
        case 
1: if(CP[playerid] == 11) { CP[playerid] = 12DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2225.8755,-2461.3875,12.7190,8.0); }
        case 
2: if(CP[playerid] == 12) { CP[playerid] = 13DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2276.9983,-2662.8328,12.8580,8.0); }
        case 
3: if(CP[playerid] == 13) { CP[playerid] = 14DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2449.1399,-2663.0562,12.8138,8.0); }
        case 
4: if(CP[playerid] == 14) { CP[playerid] = 15DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2566.9814,-2504.5686,12.7692,8.0); }
        case 
5: if(CP[playerid] == 15) { CP[playerid] = 16DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2719.0520,-2503.5962,12.7706,8.0); }
        case 
6: if(CP[playerid] == 16) { CP[playerid] = 17DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2720.7881,-2405.6589,12.7441,8.0); }
        case 
7: if(CP[playerid] == 17) { CP[playerid] = 18DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2571.5195,-2401.1531,12.7528,8.0); }
        case 
8: if(CP[playerid] == 18) { CP[playerid] = 19DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2406.6995,-2423.1182,12.6641,8.0); }
        case 
9: if(CP[playerid] == 19) { CP[playerid] = 20DisablePlayerCheckpoint(playerid); SetPlayerCheckpoint(playerid,2322.9194,-2341.5715,12.6664,8.0); }
        case 
10: if(CP[playerid] == 20
Reply
#3

Quote:

Entгo o nosso amigo Shadoww me passou um sistema de rota para o onibus so que ele oculpa muita linha no gm

Meu deus ! Atй parece que 57 linhas sгo muitas linhas em um GM ! Faзa me o favor nй ...
Reply
#4

Shadoww, depois que eu adicionei para os 34 ele nao funcionou, vou mandar ele com os 34 checkpoints

pawn Код:
switch(GetPVarInt(playerid,"Rota"))
    {
        case 0:
        {
            SetPlayerCheckPoint(playerid, -811.8328,1578.6018,27.0634, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 1 / 34");
            SetPVarInt(playerid,"Rota",2);
            return 1;
        }
        case 1:
        {
            SetPlayerCheckPoint(playerid, -784.3886,1533.7003,27.0615, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 2 / 34");
            SetPVarInt(playerid,"Rota",3);
            return 1;
        }
        case 2:
        {
            SetPlayerCheckPoint(playerid, -854.2050,1449.5851,14.7871, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 3 / 34");
            SetPVarInt(playerid,"Rota",4);
            return 1;
        }
        case 3:
        {
            SetPlayerCheckPoint(playerid, -773.8546,1284.5286,13.7102, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 4 / 34");
            SetPVarInt(playerid,"Rota",5);
            return 1;
        }
        case 4:
        {
            SetPlayerCheckPoint(playerid, -605.3961,1157.4886,8.0958, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 5 / 34");
            SetPVarInt(playerid,"Rota",6);
            return 1;
        }
        case 5:
        {
            SetPlayerCheckPoint(playerid, -380.5522,983.9013,10.6535, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 6 / 34");
            SetPVarInt(playerid,"Rota",7);
            return 1;
        }
        case 6:
        {
            SetPlayerCheckPoint(playerid, -304.6743,868.8091,9.6525, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 7 / 34");
            SetPVarInt(playerid,"Rota",8);
            return 1;
        }
        case 7:
        {
            SetPlayerCheckPoint(playerid, -206.8509,879.2850,10.3971, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 8 / 34");
            SetPVarInt(playerid,"Rota",9);
            return 1;
        }
        case 8:
        {
            SetPlayerCheckPoint(playerid, -187.3785,1020.0345,19.6908, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 9 / 34");
            SetPVarInt(playerid,"Rota",10);
            return 1;
        }
        case 9:
        {
            SetPlayerCheckPoint(playerid, -222.2384,1102.0227,19.6952, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 10 / 34");
            SetPVarInt(playerid,"Rota",11);
            return 1;
        }
        case 10:
        {
            SetPlayerCheckPoint(playerid, -312.5277,1101.8176,19.6951, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 11 / 34");
            SetPVarInt(playerid,"Rota",12);
            return 1;
        }
        case 11:
        {
            SetPlayerCheckPoint(playerid, -306.0554,1144.9369,19.6949, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 12 / 34");
            SetPVarInt(playerid,"Rota",13);
            return 1;
        }
        case 12:
        {
            SetPlayerCheckPoint(playerid, -240.7326,1194.8663,19.6938, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 13 / 34");
            SetPVarInt(playerid,"Rota",14);
            return 1;
        }
        case 13:
        {
            SetPlayerCheckPoint(playerid, -148.9192,1194.8708,19.6963, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 14 / 34");
            SetPVarInt(playerid,"Rota",15);
            return 1;
        }
        case 14:
        {
            SetPlayerCheckPoint(playerid, -68.9244,1171.0751,19.6930, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 15 / 34");
            SetPVarInt(playerid,"Rota",16);
            return 1;
        }
        case 15:
        {
            SetPlayerCheckPoint(playerid, -68.9410,1058.6774,19.6996, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 16 / 34");
            SetPVarInt(playerid,"Rota",17);
            return 1;
        }
        case 16:
        {
            SetPlayerCheckPoint(playerid, -110.6629,1018.8051,19.8614, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 17 / 34");
            SetPVarInt(playerid,"Rota",18);
            return 1;
        }
        case 17:
        {
            SetPlayerCheckPoint(playerid, -89.8421,949.8409,20.4775, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 18 / 34");
            SetPVarInt(playerid,"Rota",19);
            return 1;
        }
        case 18:
        {
            SetPlayerCheckPoint(playerid, -12.8104,923.2620,21.5553, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 19 / 34");
            SetPVarInt(playerid,"Rota",20);
            return 1;
        }
        case 19:
        {
            SetPlayerCheckPoint(playerid, 73.8503,883.2080,23.6053, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 20 / 34");
            SetPVarInt(playerid,"Rota",21);
            return 1;
        }
        case 20:
        {
            SetPlayerCheckPoint(playerid, 216.0399,1007.3466,26.8290, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 21 / 34");
            SetPVarInt(playerid,"Rota",22);
            return 1;
        }
        case 21:
        {
            SetPlayerCheckPoint(playerid, 136.9859,1180.8220,16.4059, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 22 / 34");
            SetPVarInt(playerid,"Rota",23);
            return 1;
        }
        case 22:
        {
            SetPlayerCheckPoint(playerid, -107.6328,1260.3929,16.3230, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 23 / 34");
            SetPVarInt(playerid,"Rota",24);
            return 1;
        }
        case 23:
        {
            SetPlayerCheckPoint(playerid, -413.5655,1367.4351,29.9489, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 24 / 34");
            SetPVarInt(playerid,"Rota",25);
            return 1;
        }
        case 24:
        {
            SetPlayerCheckPoint(playerid, -384.1513,1766.6841,45.2264, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 25 / 34");
            SetPVarInt(playerid,"Rota",26);
            return 1;
        }
        case 25:
        {
            SetPlayerCheckPoint(playerid, -470.7709,1898.8323,84.5350, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 26 / 34");
            SetPVarInt(playerid,"Rota",27);
             return 1;
        }
        case 26:
        {
            SetPlayerCheckPoint(playerid, -865.3792,2012.7450,60.2862, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 27 / 34");
            SetPVarInt(playerid,"Rota",28);
            return 1;
        }
        case 27:
        {
            SetPlayerCheckPoint(playerid, -975.2386,1843.3099,62.6984, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 28 / 34");
            SetPVarInt(playerid,"Rota",29);
            return 1;
        }
        case 28:
        {
            SetPlayerCheckPoint(playerid, -1182.2930,1836.2418,41.6086, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 29 / 34");
            SetPVarInt(playerid,"Rota",30);
            return 1;
        }
        case 29:
        {
            SetPlayerCheckPoint(playerid, -1210.6851,1822.1979,41.8192, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 30 / 34");
            SetPVarInt(playerid,"Rota",31);
            return 1;
        }
        case 30:
        {
            SetPlayerCheckPoint(playerid, -1168.9723,1786.1471,40.4103, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 31 / 34");
            SetPVarInt(playerid,"Rota",32);
            return 1;
        }
        case 31:
        {
            SetPlayerCheckPoint(playerid, -952.4964,1721.8796,30.0134, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 32 / 34");
            SetPVarInt(playerid,"Rota",33);
            return 1;
        }
        case 32:
        {
            SetPlayerCheckPoint(playerid, -792.3173,1619.1357,27.2214, 5.0);
            SendClientMessage(playerid, -1, "Checkpoints: 33 / 34");
            SetPVarInt(playerid,"Rota",34);
            return 1;
        }
        case 33:
        {
            DisablePlayerCheckpoint(playerid);
            SendClientMessage(playerid, -1, "Checkpoints: 34 / 34");
            GivePlayerMoney(playerid, 50);
            SetPVarInt(playerid,"Rota",0);
            return 1;
        }
    }
Reply
#5

Repare no que postei a cima.
Irб funcionar, sу adaptar.
Reply
#6

O problema й que vocк pega o caso 1, por exemplo, e jб coloca o checkpoint 3.

Vocк que errou. E nгo eu.
Reply
#7

mas o caso 1 deveria ser 2, ai eu coloquei o caso 0 como 2 e o caso 1 com o check 3

e me deu 26 erros disso

pawn Код:
D:\Jogos\Rockstar games\*\*Server\RP PT\gamemodes\BERP.pwn(4768) : error 017: undefined symbol "SetPlayerCheckPoint"
Reply
#8

Acho melhor vocк fazer do jeito que eu falei, que estб certo.

Pois senгo vocк modifica e faz beteira ...

Nгo falo mais nada.
Reply
#9

Mas do jeito que voce falou cara coloquei o caso 1 pro check 2 do jeito que voce deichou, so que adicionei ate o 34, e o erro ta no setplayercheckpoint, ta dizendo que nao ta definido nao sei por que?
Reply
#10

Os 26 erros sгo causados pela mб indentaзгo, ou seja, deve estar faltando alguma chave no seu codigo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)