[PEDIDO] Comando de criar objeto
#1

Eu queria um exemplo de dois comandos em sscanf para criar objeto na frente do player,
o id do objeto й 981 os comandos seria asssim:

/br criar barreira
/rbr deletar barreira

to ligado desse destroyobject mais nгo sei bem como funciona isso, so criando esses dois comandos com os resto eu me viro

+REP
Reply
#2

Qual seria a funзгo de sscanf se nгo tem parвmetros?
pawn Код:
new v[MAX_PLAYERS];
newCmd:br(playerid)
{
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    v[playerid] = CreateObject(981, x, y, z, 0.0, 0.0, 0.0, 50.0);
    return 1;
}

newCmd:rbr(playerid)
{
    DestroyObject(v[playerid]);
    return 1;
}
Reply
#3

Quote:
Originally Posted by [KnD]Chip_7.
Посмотреть сообщение
pawn Код:
//CRIANDO BARREIRA:

    if(strcmp(cmd, "/barreira", true)==0 || strcmp(cmd, "/br", true)==0)
    {
        if (PlayerInfo[playerid][pMembro] != 1 && PlayerInfo[playerid][pLider] != 1 && PlayerInfo[playerid][pMembro] != 2 && PlayerInfo[playerid][pLider] != 2 && PlayerInfo[playerid][pMembro] != 3 && PlayerInfo[playerid][pLider] != 3 && PlayerInfo[playerid][pMembro] != 11 && PlayerInfo[playerid][pLider] != 11
         && PlayerInfo[playerid][pMembro] != 16 && PlayerInfo[playerid][pLider] != 16 && PlayerInfo[playerid][pMembro] != 24 && PlayerInfo[playerid][pLider] != 24 && PlayerInfo[playerid][pMembro] != 26 && PlayerInfo[playerid][pLider] != 26) return SendClientMessage(playerid, COLOR_GREY, "Vocк nгo й um oficial !");
        if(PlayerInfo[playerid][pJailed] != 0)
        {
        SendClientMessage(playerid,COLOR_YELLOW," Vocк nгo pode usar esse comando na cadeia!");
        return true;
        }
        if (pRoadblock[playerid] != 0) return SendClientMessage(playerid, COLOR_GREY, "Vocк sу pode criar 1 barreira por vez, /rbr - para remover sua barreira");
        new Float:X, Float:Y, Float:Z, Float:A;
        GetPlayerPos(playerid, X, Y, Z);
        GetPlayerFacingAngle(playerid, A);
        pRoadblock[playerid] = CreateObject(981, X, Y, Z, 0.0, 0.0, A+180);
        SetPlayerPos(playerid, X, Y, Z+4);
        GameTextForPlayer(playerid, "~w~Barreira ~r~Criada", 5000, 5);
        SendClientMessage(playerid, COLOR_GREEN, "Barreira Implantada... Use /rbr Para Remove-la!");
        format(string, sizeof(string), "Estado: Uma barreira foi posta por %s.", PlayerName(playerid));
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                if(IsACop(i))
                {
                    SendClientMessage(i, TEAM_BLUE_COLOR, string);
                    if (PlayerInfo[i][pCargo] >= 5 || PlayerInfo[i][pLider] > 0)
                    {
                        SendClientMessage(i, TEAM_BLUE_COLOR, "Vocк pode remover todas as barreiras usando /rbrall");
                    }
                }
            }
        }
        return true;
    }

//REMOVENDO BARREIRA:

if(strcmp(cmd, "/removerbarreira", true)==0 || strcmp(cmd, "/rbr", true)==0)
    {
        if (PlayerInfo[playerid][pMembro] != 1 && PlayerInfo[playerid][pLider] != 1 && PlayerInfo[playerid][pMembro] != 2 && PlayerInfo[playerid][pLider] != 2 && PlayerInfo[playerid][pMembro] != 3 && PlayerInfo[playerid][pLider] != 3 && PlayerInfo[playerid][pMembro] != 11 && PlayerInfo[playerid][pLider] != 11
         && PlayerInfo[playerid][pMembro] != 16 && PlayerInfo[playerid][pLider] != 16 && PlayerInfo[playerid][pMembro] != 24 && PlayerInfo[playerid][pLider] != 24 && PlayerInfo[playerid][pMembro] != 26 && PlayerInfo[playerid][pLider] != 26) return SendClientMessage(playerid, COLOR_GREY, "Vocк nгo й um oficial !");
        if (pRoadblock[playerid] != 0)
        {
            RemoveRoadblock(playerid);
            SendClientMessage(playerid, COLOR_GREY, "Vocк retirou a sua barreira!");
        }
        else { return SendClientMessage(playerid, COLOR_GREY, "Vocк nгo criou uma barreira!"); }
        format(string, sizeof(string), "Estado: Uma barreira foi destruнda por %s.", PlayerName(playerid));
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                if(IsACop(i))
                {
                    SendClientMessage(i, TEAM_BLUE_COLOR, string);
                }
            }
        }
        return true;
    }
Que gentil da sua parte copiar o comando de algum lugar aqui correndo o risco de dar erros por ele nгo usar as mesmas variбveis que vocк, ou de tal code copiado.
Reply
#4

Por isso nгo se vai pra frente com cуdigos feios, sem identaзгo, otimizaзгo e os caralh*s todos, vocкs copiam ao invйs de fazer e aprender.
Reply
#5

Willian atй ai tudo bem +rep

Mais como eu fasso pra por conforme a posiзгo do player? sу esta criando em uma posiзгo, quero criar em outras posiзхes tmbm
Reply
#6

Quote:
Originally Posted by [KnD]Chip_7.
Посмотреть сообщение
Mano, Quem Disse que eu vou pra frente? e quem й voce pra ta reclamando? quem devia reclamar era o cara ai nao voce
Eu reclamo pra ele nгo acabar zй ninguйm em pawn como vocк, copiando e se dizendo ъtil ao ajudar.
Se tu nгo quer ir pra frente nгo faz dos outros o mesmo...

@Chis, й necessбrio pegar as rotaзхes para que o objeto adquira a mesma posiзгo rotacional do player.
Reply
#7

Dai vocкs acordaram?
Reply
#8

poderia me explicar melhor sobre esse negocio de rotaзгo?

pawn Код:
CMD:br(playerid, params[])
{
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    v[playerid] = CreateObject(981, x, y, z, 0.0, 0.0, 0.0, 50.0);
    return 1;
}

CMD:rbr(playerid, params[])
{
    DestroyObject(v[playerid]);
    return 1;
}
Reply
#9

Seria assim,
pawn Код:
new Float:x, Float:y, Float:z, Float:a;
    GetPlayerPos(playerid, x, y, z);
    GetPlayerFacingAngle(playerid, a);
   
    CreateObject(981, x, y, z, 0.0, 0.0, a, 90.0);
    SetPlayerPos(playerid, x+1, y+1, z);
Reply
#10

Hum deu certo, muito obrigado!!

+rep
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)