[Ajuda] Mudanзa de PICKUP para CHECKPOINT
#1

Olб Internautas !
Bom, estou sofrendo pra mudar uns Pickups para CheckPoints de uma atualizaзгo de um FS que publiquei aqui no Forum >>AQUI<< . Segue os cуdigos jб preparados para a mudanзa .
pawn Код:
#include cpstream

new CP_FS4;
new CP_FS10;
new CP_FS9;
new CP_FS5;
new CP_FS17;

CP_FS4 = CPS_AddCheckpoint(446.79999, -84.2, 999.59998, 2.0, 10);
CP_FS10 = CPS_AddCheckpoint(377.29999, -67.6, 1001, 2.0, 10);
CP_FS9 = CPS_AddCheckpoint(369.89999, -6.2, 1001.4, 2.0, 10);
CP_FS5 = CPS_AddCheckpoint(375.79999, -119.2, 1000.8, 2.0, 10);
CP_FS17 = CPS_AddCheckpoint(379.60001, -190.39999, 1000.3, 2.0, 10);

public OnPlayerEnterCheckpoint(playerid)
{
    if(CPS_IsPlayerInCheckpoint(playerid, CP_FS4))
    {
    SendClientMessage(playerid, -1,"| Lanchonete | Use /cardapio para ver a lista de comidas.");
    }
    if(CPS_IsPlayerInCheckpoint(playerid, CP_FS10))
    {
    SendClientMessage(playerid, -1,"| Lanchonete | Use /cardapio para ver a lista de comidas.");
    }
    if(CPS_IsPlayerInCheckpoint(playerid, CP_FS9))
    {
    SendClientMessage(playerid, -1,"| Lanchonete | Use /cardapio para ver a lista de comidas.");
    }
    if(CPS_IsPlayerInCheckpoint(playerid, CP_FS5))
    {
    SendClientMessage(playerid, -1,"| Lanchonete | Use /cardapio para ver a lista de comidas.");
    }
    if(CPS_IsPlayerInCheckpoint(playerid, CP_FS17))
    {
    SendClientMessage(playerid, -1,"| Lanchonete | Use /cardapio para ver a lista de comidas.");
    }
O que estou tentando fazer й retirar os pickups para entrar em interiores, e colocar CheckPoint aonde qualquer interior que o Player entrar, ele possa ter acesso ao cardбpio(Pelo CheckPoint) . Segue os cуdigos a serem modificados !
OBS : Nгo quero trocar o pickup de entrada por um CheckPoint ! Quero retirar pickup de entrada, e criar um CheckPoint dentro do interior para acesso a um Dialog de "Comida"

pawn Код:
#define     CARDAPIO        1978

new entrada, saida;

public OnFilterScriptInit()
{
    entrada = CreatePickup(1318, 23, 1352.1377,-1552.8381,13.5469, -1);
    saida = CreatePickup(1318, 23, 363.2614, -74.8193, 1001.5078, -1);
    return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
    if(pickupid == entrada)
    {
        SetPlayerInterior(playerid, 10);
        SetPlayerPos(playerid, 369.1026,-72.1459,1001.5078);
        SendClientMessage(playerid, -1,"| Lanchonete | Use /cardapio para ver a lista de comidas.");
        lanchonete[playerid] = true;
    }
    if(pickupid == saida)
    {
        SetPlayerInterior(playerid, 0);
        SetPlayerPos(playerid, 1349.6332, -1551.5751, 13.5469);
        lanchonete[playerid] = false;
    }
    return 0;
}
Espero de coraзгo que alguem me ajude para a atualizaзгo do FS !! valendo +REP [5]
Reply
#2

Alguem ? :/
Reply
#3

nгo testei, tenta ai... (nгo conheзo muito zcmd)

pawn Код:
//nгo sei usar essa include cpstream entгo fiz normal, adapta ai.
public OnPlayerEnterCheckpoint(playerid)
{
    if(PlayerToPoint(3.0,playerid,377.1693,-68.4242,1001.5151))
    {
        return cmd_cardapio (playerid, params);
    }
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
    if(pickupid == entrada)
    {
        SetPlayerInterior(playerid, 10);
        SetPlayerPos(playerid, 369.1026,-72.1459,1001.5078);
        SetPlayerCheckpoint(playerid, 377.1693,-68.4242,1001.5151, 3.0);
        SendClientMessage(playerid, -1,"| Lanchonete | Entre na marca vermelha para comer algo.");
        lanchonete[playerid] = true;
    }
    if(pickupid == saida)
    {
        SetPlayerInterior(playerid, 0);
        SetPlayerPos(playerid, 1349.6332, -1551.5751, 13.5469);
        DisablePlayerCheckpoint(playerid);
        lanchonete[playerid] = false;
    }
    return 0;
}
Reply
#4

Quote:
Originally Posted by renato989920
Посмотреть сообщение
nгo testei, tenta ai... (nгo conheзo muito zcmd)

pawn Код:
//nгo sei usar essa include cpstream entгo fiz normal, adapta ai.
public OnPlayerEnterCheckpoint(playerid)
{
    if(PlayerToPoint(3.0,playerid,377.1693,-68.4242,1001.5151))
    {
        return cmd_cardapio (playerid, params);
    }

public OnPlayerPickUpPickup(playerid, pickupid)
{
    if(pickupid == entrada)
    {
        SetPlayerInterior(playerid, 10);
        SetPlayerPos(playerid, 369.1026,-72.1459,1001.5078);
        SetPlayerCheckpoint(playerid, 377.1693,-68.4242,1001.5151, 3.0);
        SendClientMessage(playerid, -1,"| Lanchonete | Entre na marca vermelha para comer algo.");
        lanchonete[playerid] = true;
    }
    if(pickupid == saida)
    {
        SetPlayerInterior(playerid, 0);
        SetPlayerPos(playerid, 1349.6332, -1551.5751, 13.5469);
        DisablePlayerCheckpoint(playerid);
        lanchonete[playerid] = false;
    }
    return 0;
}
Obrigado por ter comentado e tentado me ajudar, mais й que eu irei retirar os pickups de entrada e saida . E Queria criar somente os CheckPoint, por exemplo . No FS ficarб feito os CheckPoint para os interiores . Assim quando ele liga-se a FS no servidor. E ele entrar em alguma lanchonete que foi criada pela sua prуpria GM, o FS entra em aзгo criando apenas as CheckPoints dentro do interior das lanchonetes entendeu ?
Reply
#5

nгo...

vocк quer criar um checkpoint sу dentro do interior й isso
Reply
#6

Quote:
Originally Posted by renato989920
Посмотреть сообщение
nгo...

vocк quer criar um checkpoint sу dentro do interior й isso
Isso isso isso *-* Pode ajudar eu ? ^^
Reply
#7

RENATO SOCORRE EU \O/ kkk
Reply
#8

Seguinte, eu estudei um pouco sobre esta include sу para te ajudar... vou fazer uma base para vocк continuar o resto.

pawn Код:
#include cpstream

//no topo
new Check1;

//no OnFilterScriptInit()
Check1 = CPS_AddCheckpoint(369.1026,-72.1459,1001.5078, 2.0, 10);

public OnPlayerEnterCheckpoint(playerid)
{
    new nomecheck = CPS_GetPlayerCheckpoint(playerid);
    if(nomecheck == Check1)
    {
        SetPlayerInterior(playerid, 0);
        SetPlayerPos(playerid, 1349.6332, -1551.5751, 13.5469);
        lanchonete[playerid] = false;
        return 1;
    }
    return 1;
}
//para remover os pickups й so excluir as linhas dos mesmos(acho que vc sabe fazer isso.)
testa ae.
Reply
#9

Quote:
Originally Posted by renato989920
Посмотреть сообщение
Seguinte, eu estudei um pouco sobre esta include sу para te ajudar... vou fazer uma base para vocк continuar o resto.

pawn Код:
#include cpstream

//no topo
new Check1;

//no OnFilterScriptInit()
Check1 = CPS_AddCheckpoint(369.1026,-72.1459,1001.5078, 2.0, 10);

public OnPlayerEnterCheckpoint(playerid)
{
    new nomecheck = CPS_GetPlayerCheckpoint(playerid);
    if(nomecheck == Check1)
    {
        SetPlayerInterior(playerid, 0);
        SetPlayerPos(playerid, 1349.6332, -1551.5751, 13.5469);
        lanchonete[playerid] = false;
        return 1;
    }
    return 1;
}
//para remover os pickups й so excluir as linhas dos mesmos(acho que vc sabe fazer isso.)
testa ae.
Irei testar agora .
Reply
#10

Renato, agora nгo abre o /cardapio, terei de criar uma variavel pra quando eu subir em cima do checkpoint e digitar o comando o dialog abrir nй ?
OBS : na verdade jб tem uma variavel do cardapio criada
pawn Код:
#define     CARDAPIO        1978

new bool:lanchonete[MAX_PLAYERS];

//Aqui seria o Cardapio !
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == CARDAPIO)
    {
        if(!response) { return 1; }
        switch(listitem)
        {
            case 0://Pizza
            {
                if(GetPlayerMoney(playerid) < 50) return SendClientMessage(playerid, 0xF68E00F6,"{FF0000}| ERRO | {FFFFFF}Vocк nгo tem R$50 para comprar!");
                if(GetPVarInt(playerid,"Fome") >= 100) return SendClientMessage(playerid,-1,"Vocк estб satisfeito, nгo precisa mais de comida!");
                ApplyAnimation(playerid,"FOOD","EAT_Pizza",4.1,0,1,1,1,1);
                GivePlayerMoney(playerid, -50);
                SendClientMessage(playerid, 0xFFFFFF ,"| INFO | Vocк acabou de comprar um prato 'Pizza'");
                SetPVarInt(playerid,"Fome",GetPVarInt(playerid,"Fome")+10);
                SetProgressBarValue(barfome, GetPVarInt(playerid,"Fome"));
                UpdateProgressBar(barfome,playerid);
            }
            case 1://Macarronada
            {
                if(GetPlayerMoney(playerid) < 20) return SendClientMessage(playerid, 0xF68E00F6,"{FF0000}| ERRO | {FFFFFF}Vocк nгo tem R$20 para comprar!");
                if(GetPVarInt(playerid,"Fome") >= 100) return SendClientMessage(playerid,-1,"Vocк estб satisfeito, nгo precisa mais de comida!");
                ApplyAnimation(playerid,"FOOD","EAT_Pizza",4.1,0,1,1,1,1);
                GivePlayerMoney(playerid, -20);
                SendClientMessage(playerid, 0xFFFFFF ,"| INFO | Vocк acabou de comprar um prato 'Macarronada'");
                SetPVarInt(playerid,"Fome",GetPVarInt(playerid,"Fome")+15);
                SetProgressBarValue(barfome, GetPVarInt(playerid,"Fome"));
                UpdateProgressBar(barfome,playerid);
            }
            case 2://Marmitex
            {
                if(GetPlayerMoney(playerid) < 12) return SendClientMessage(playerid, 0xF68E00F6,"{FF0000}| ERRO | {FFFFFF}Vocк nгo tem R$12 para comprar!");
                if(GetPVarInt(playerid,"Fome") >= 100) return SendClientMessage(playerid,-1,"Vocк estб satisfeito, nгo precisa mais de comida!");
                ApplyAnimation(playerid,"FOOD","EAT_Pizza",4.1,0,1,1,1,1);
                GivePlayerMoney(playerid, -12);
                SendClientMessage(playerid, 0xFFFFFF ,"| INFO | Vocк acabou de comprar um prato 'Marmitйx'");
                SetPVarInt(playerid,"Fome",GetPVarInt(playerid,"Fome")+10);
                SetProgressBarValue(barfome, GetPVarInt(playerid,"Fome"));
                UpdateProgressBar(barfome,playerid);
            }
            case 3://Salmгo Grelhado
            {
                if(GetPlayerMoney(playerid) < 20) return SendClientMessage(playerid, 0xF68E00F6,"{FF0000}| ERRO | {FFFFFF}Vocк nгo tem R$20 para comprar!");
                if(GetPVarInt(playerid,"Fome") >= 100) return SendClientMessage(playerid,-1,"Vocк estб satisfeito, nгo precisa mais de comida!");
                ApplyAnimation(playerid,"FOOD","EAT_Pizza",4.1,0,1,1,1,1);
                GivePlayerMoney(playerid, -20);
                SendClientMessage(playerid, 0xFFFFFF ,"| INFO | Vocк acabou de comprar um prato 'Salmгo Grelhado'");
                SetPVarInt(playerid,"Fome",GetPVarInt(playerid,"Fome")+30);
                SetProgressBarValue(barfome, GetPVarInt(playerid,"Fome"));
                UpdateProgressBar(barfome,playerid);
            }
            case 4://Bacalhau
            {
                if(GetPlayerMoney(playerid) < 21) return SendClientMessage(playerid, 0xF68E00F6,"{FF0000}| ERRO | {FFFFFF}Vocк nгo tem R$21 para comprar!");
                if(GetPVarInt(playerid,"Fome") >= 100) return SendClientMessage(playerid,-1,"Vocк estб satisfeito, nгo precisa mais de comida!");
                ApplyAnimation(playerid,"FOOD","EAT_Pizza",4.1,0,1,1,1,1);
                GivePlayerMoney(playerid, -21);
                SendClientMessage(playerid, 0xFFFFFF ,"| INFO | Vocк acabou de comprar um prato 'Bacalhau'");
                SetPVarInt(playerid,"Fome",GetPVarInt(playerid,"Fome")+20);
                SetProgressBarValue(barfome, GetPVarInt(playerid,"Fome"));
                UpdateProgressBar(barfome,playerid);
            }
            case 5://Agua
            {
                if(GetPlayerMoney(playerid) < 5) return SendClientMessage(playerid, 0xF68E00F6,"{FF0000}| ERRO | {FFFFFF}Vocк nгo tem R$5 para comprar!");
                if(GetPVarInt(playerid,"Sede") >= 100) return SendClientMessage(playerid,-1,"Vocк estб satisfeito, nгo precisa mais de bebida!");
                ApplyAnimation(playerid,"VENDING","VEND_Drink_P",4.1,0,1,1,0,1);
                GivePlayerMoney(playerid, -5);
                SendClientMessage(playerid, 0xFFFFFF ,"| INFO | Vocк acabou de beber 'Бgua'");
                SetPVarInt(playerid,"Sede",GetPVarInt(playerid,"Sede")+5);
                SetProgressBarValue(barsede, GetPVarInt(playerid,"Sede"));
                UpdateProgressBar(barsede,playerid);
            }
            case 6://Suco
            {
                if(GetPlayerMoney(playerid) < 12) return SendClientMessage(playerid, 0xF68E00F6,"{FF0000}| ERRO | {FFFFFF}Vocк nгo tem R$12 para comprar!");
                if(GetPVarInt(playerid,"Sede") >= 100) return SendClientMessage(playerid,-1,"Vocк estб satisfeito, nгo precisa mais de bebida!");
                ApplyAnimation(playerid,"VENDING","VEND_Drink_P",4.1,0,1,1,0,1);
                GivePlayerMoney(playerid, -12);
                SendClientMessage(playerid, 0xFFFFFF ,"| INFO | Vocк acabou de beber 'Suco'");
                SetPVarInt(playerid,"Sede",GetPVarInt(playerid,"Sede")+10);
                SetProgressBarValue(barsede, GetPVarInt(playerid,"Sede"));
                UpdateProgressBar(barsede, playerid);
            }
            case 7://Refrigerante
            {
                if(GetPlayerMoney(playerid) < 17) return SendClientMessage(playerid, 0xF68E00F6,"{FF0000}| ERRO | {FFFFFF}Vocк nгo tem R$17 para comprar!");
                if(GetPVarInt(playerid,"Sede") >= 100) return SendClientMessage(playerid,-1,"Vocк estб satisfeito, nгo precisa mais de bebida!");
                ApplyAnimation(playerid,"VENDING","VEND_Drink_P",4.1,0,1,1,0,1);
                GivePlayerMoney(playerid, -17);
                SendClientMessage(playerid, 0xFFFFFF ,"| INFO | Vocк acabou de beber 'Refrigerante'");
                SetPVarInt(playerid,"Sede",GetPVarInt(playerid,"Sede")+15);
                SetProgressBarValue(barsede, GetPVarInt(playerid,"Sede"));
                UpdateProgressBar(barsede,playerid);
            }
            case 8://Energetico
            {
                if(GetPlayerMoney(playerid) < 100) return SendClientMessage(playerid, 0xF68E00F6,"{FF0000}| ERRO | {FFFFFF}Vocк nгo tem R$100 para comprar!");
                if(GetPVarInt(playerid,"Sede") >= 100) return SendClientMessage(playerid,-1,"Vocк estб satisfeito, nгo precisa mais de bebida!");
                ApplyAnimation(playerid,"VENDING","VEND_Drink_P",4.1,0,1,1,0,1);
                GivePlayerMoney(playerid,-100);
                SendClientMessage(playerid, 0xFFFFFF ,"| INFO | Vocк acabou de beber 'Energetico'");
                SetPVarInt(playerid,"Sede",GetPVarInt(playerid,"Sede")+40);
                SetProgressBarValue(barsede, GetPVarInt(playerid,"Sede"));
                UpdateProgressBar(barsede,playerid);
            }
        }
    }

//Comando do /Cardapio
CMD:cardapio(playerid)
{
    if(lanchonete[playerid] == true)
    {
        ShowPlayerDialog(playerid, CARDAPIO ,DIALOG_STYLE_LIST,"Cardбpio Lanchonete","- Pizza\t{00EE76}R$150\n- Macarronada\t{00EE76}R$200\n- Marmitex\t{00EE76}R$120\n- Salmгo Grelhado\t{00EE76}R$200\n- Bacalhau\t{00EE76}R$210\n- Бgua\t{00EE76}R$5\n- Suco\t{00EE76}R$12\n- Refrigerante\t{00EE76}R$17\n- Energetico\t{00EE76}R$100\n\n","Aceitar","Cancelar");
    }
    else
    {
        SendClientMessage(playerid, -1,"| ERRO | Vocк nгo esta na lanchonete!");
    }
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)