#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.");
}
#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;
}
//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;
}
nгo testei, tenta ai... (nгo conheзo muito zcmd)
pawn Код:
|
nгo...
vocк quer criar um checkpoint sу dentro do interior й isso |
#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.)
Seguinte, eu estudei um pouco sobre esta include sу para te ajudar... vou fazer uma base para vocк continuar o resto.
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;
}