[Pedido] Missхes
#3

Fiz uma base para vocк, com o cуdigo em portuguкs para facilitar seu entendimento .



Nгo adicionei coisas nгo-essenciais como o TextDraw, pois o cуdigo abaixo serve apenas para ajudб-lo a entender os Timers, o jogo de variбveis que deve ser feito, entre outros :



Tudo isso pode ser feito de outras maneiras tambйm, basta ter criatividade .



pawn Код:
#include <a_samp>


#define TempoSegundaParte 30 // Troque 30 pelo tempo mбximo (em minutos) para que o jogador chegue no local da segunda parte do assalto
#define ID_Dialog_Assalto 180
new PickupCassino;
new bool:MissaoOn;
new CaraFazendoMissao = -1;
new MissionTimerID;
new Contador;
new Parte;
new texto[100];
new AssaltanteNome[MAX_PLAYER_NAME];


public OnGameModeInit()
{
    PickupCassino = CreatePickup(/*ID da Pickup*/, 23, /*Encaixe aqui as coordenadas da pickup do cassino*/, -1);
    return 1;
}



public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == ID_Dialog_Assalto)
    {
        if(response)
        {
            if(MissaoOn) return SendClientMessage(playerid, 0xFFFFFFAA, "Alguйm jб estб realizando um assalto !");
            new Float:aX, Float:aY, Float:aZ;
            GetPlayerPos(playerid, aX, aY, aZ);
            GetPlayerName(playerid, AssaltanteNome, MAX_PLAYER_NAME);
            format(texto, sizeof(texto), "%s(%d) iniciou um assalto ao cassino", AssaltanteNome, playerid);
            SendClientMessageToAll(0x33CCFFAA, texto);
            MissaoOn = true;
            CaraFazendoMissao = playerid;
            Parte = 1;
            MissionTimerID = SetTimerEx("Assaltando", 1000, true, "nfff", playerid, aX, aY, aZ);
        }
    }
    return 1;
}


forward Assaltando(playerid, X, Y, Z);
public Assaltando(playerid, X, Y, Z)
{
    if(Parte == 1)
    {
        Contador++;
        if(!IsPlayerInRangeOfPoint(playerid, 8.0, X, Y, Z))
        {
            MissaoOn = false;
            Parte = 0;
            CaraFazendoMissao = -1;
            Contador = 0;
            SendClientMessage(playerid, 0x33CCFFAA, "Mission Failed !");
            KillTimer(MissionTimerID);
        }
        if(Contador == 300)
        {
            Parte = 2;
            Contador = 0;
            format(texto, sizeof(texto), "Vocк tem %d minutos para chegar no local no mapa !", TempoSegundaParte);
            SendClientMessage(playerid, 0x33CCFFAA, texto);
        }
    }
    else if(Parte == 2)
    {
        Contador++;
        if(Contador == TempoSegundaParte && !IsPlayerInRangeOfPoint(playerid, 3.0, /*Coloque aqui as coordenadas do local onde o jogador deve ir na segunda parte da missao*/))
        {
            MissaoOn = false;
            Parte = 0;
            CaraFazendoMissao = -1;
            Contador = 0;
            SendClientMessage(playerid, 0x33CCFFAA, "Mission Failed !");
            KillTimer(MissionTimerID);
        }
    }
    return true;
}



public OnPlayerPickUpPickup(playerid, pickupid)
{
    if(pickupid == PickupCassino)
    {
        ShowPlayerDialog(playerid, ID_Dialog_Assalto, DIALOG_STYLE_MSGBOX, "Deseja realizar este assalto?", "\n", "Aceitar", "Recusar");
    }
    return 1;
}


Espero ter ajudado .
Reply


Messages In This Thread
[Pedido] Missхes - by Mattos - 06.11.2011, 00:55
Re: [AJUDA/PEDIDO] Missхes - by RebeloX - 06.11.2011, 01:00
Re: [AJUDA/PEDIDO] Missхes - by rjjj - 06.11.2011, 01:09
Re: [AJUDA/PEDIDO] Missхes - by Shadoww5 - 06.11.2011, 01:27
Re: [AJUDA/PEDIDO] Missхes - by Mattos - 06.11.2011, 01:43
Re: [AJUDA/PEDIDO] Missхes - by Mattos - 06.11.2011, 01:49
Re: [AJUDA/PEDIDO] Missхes - by rjjj - 06.11.2011, 02:18
Re: [AJUDA/PEDIDO] Missхes - by Cristhian - 06.11.2011, 02:19

Forum Jump:


Users browsing this thread: 2 Guest(s)