[PEDIDO] Comando /fumaca
#1

pessoal, querendo um comando que crie fumaзa nos avioes qeu nao tem fumaзa (sу o que tem й o stunt plane) eu achei esse cуdigo:

pawn Код:
new ObjetoVeh[MAX_PLAYERS]; //topo gm

//Destruir Fumaca
DestroyObject(ObjetoVeh[playerid]);

//Criar Fumaca
ObjetoVeh[playerid] = CreateObject(1318,0,0,0,0,0,50000);
AttachObjectToVehicle(ObjetoVeh[playerid], GetPlayerVehicleID(playerid), 0.0, 0.0, 1.0, 0.0, 0.0, 0.0);
Porem eu queria isso em forma de comando do tipo: Quando o player estiver dentro dos ids: 511 ou 512 ou 593 ou 520 ou 553 ou 476 ou 519 ou 460 e digitar /fumaзa, o objeto 1318 (como mostra a funзгo) se gruda ao aviao do player. Caso ele utilize no mesmo aviao o comando /fumaca novamente o objeto deve ser destruido. Caso ele saia do aviao, o objeto tambem deverб ser destruido para o proximo player que usar o aviao, nao ter fumaзa ligada.

OBS: caso seja dificil fazer um mesmo comando /fumaca ter duas funзхes (ligar fumaзa e desligar fumaзa), nao tem problema utilizar dois comandos separados como /fumacaon e /fumacaoff
Reply
#2

Tou fazendo, quando terminar sу dou um EDIT aqui
esse id й de fumaзa? 1318?
Reply
#3

Desculpa.. й a id 2780 se nao me engano.
Reply
#4

pawn Код:
new smoke[MAX_VEHICLES];//topo do gm
if(!strcmp(cmd, "Fumaзa", true))
{
    new carid = GetPlayerVehicleID(playerid);
    if(carid == 511 || carid == 512 || carid == 593 || carid == 520 || carid == 553 || carid == 476 || carid == 519 || carid == 460)
    {
        if(GetPlayerState == PLAYER_STATE_DRIVER)
        {
            if(smoke[carid] == 0)
            {
                smoke[carid] = AttachObjectToVehicle(2780, carid, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
                SendClientMessage(playerid, COR, "Fumaca ligada.");
            }
            else
            {
                DestroyObject(smoke[carid);
                SendClientMessage(playerid, COR, "Fumaca desligada.");
                smoke[carid] = 0;
            }
        }
    }
    return 1;
}
nao tenho certeza se destroy object funciona pra attached, mas tenta ai...
Reply
#5

Creio que nгo precise mais eu fazer entгo '-'
Reply
#6

Quote:
Originally Posted by Willian_Luigi
Посмотреть сообщение
Creio que nгo precise mais eu fazer entгo '-'
Talvez seja necessario sim xD

Nao deu certo o comando que ele fez...
cheguei a tentar isso

pawn Код:
if (strcmp("/fumaca", cmdtext, true, 10) == 0)
{
    new carid = GetPlayerVehicleID(playerid);
    if(carid == 511 || carid == 512 || carid == 593 || carid == 520 || carid == 553 || carid == 476 || carid == 519 || carid == 460)
    {

            if(smoke[carid] == 0)
            {
                smoke[carid] = AttachObjectToVehicle(2780, carid, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
                SendClientMessage(playerid, COR_BRANCA, "Fumaca ligada.");
            }
            else
            {
                DestroyObject(smoke[carid]);
                SendClientMessage(playerid, COR_BRANCA, "Fumaca desligada.");
                smoke[carid] = 0;
            }

    }
    return 1;
}
Mas sem nada... botei atй um else pra se o cara nao estiver dentro daqueles ids, e mesmo dentro do aviao ele envia a mensagem dizendo que o jogador nao esta dentro de um aviao. Ou seja o porblema ta em pegar a id do veiculo.
Reply
#7

Eita, erro simples, troca o GetPlayerVehicleID(playerid) por GetVehicleModel(GetPlayerVehicleID(playerid));

isso resolve seu problema...
Reply
#8

Bom, ele agora identifica o veiculo... porem a funзгo de dar aquele objeto da fumaзa ao veiculo nao funcionou. E tambem, quando eu utilizo /fumaca de novo, ele permanece dizendo "Fumaзa Ligada".
Reply
#9

tem ctz q o objeto й esse?
Reply
#10

Bom, por via das duvidas vou vereficar entao... vou entrar aqui no MTA e ja respondo
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)