INCLUDES QUE SEMPRE RECOMENDO VOCE TER:
DIALOGS:
CORES COMPLETAS:
DIALOGS:
NEWS:
ENUM'S:
Na public OnPlayerEnterCheckpoint:
Na public OnDialogResponse:
COMANDOS:
SISTEMA DE SALVAMENTO DE DADOS:
- Código:
#include <a_samp>
#include <zcmd>
#include <DOF2>
#include <foreach>
#include <streamer>
#include <progress>
#include <core>
#include <float>
#include <sscanf2>
#include <a_zones>
#include <strlib>
#pragma disablerecursion
DIALOGS:
- Código:
#define DIALOG_PREF 1
#define DIALOG_LICENCA 2
CORES COMPLETAS:
- Código:
#define VERMELHO 0xFF030FFF
#define AMARELO 0xFFFF00FF
#define CINZA oxCECECEFF
DIALOGS:
- Código:
#define DIALOG_SUCESSOCNHA 1
#define DIALOG_INFOCNHA 2
#define DIALOG_INFOCNHB 3
#define DIALOG_SUCESSOCNHB 4
NEWS:
- Código:
new bool:PodeComando[MAX_PLAYERS];
new autoescola[MAX_PLAYERS];
new autoescolab[MAX_PLAYERS];
new autoescolac[MAX_PLAYERS];
ENUM'S:
- Código:
enum
{
CHECK_AUTOESCOLA_A,
CHECK_AUTOESCOLA_B,
CHECK_AUTOESCOLA_BREVE,
}
enum pInfo
{
CNH,
CNHb,
CNHc,
}
new Pdados[MAX_PLAYERS][pInfo];
Na public OnPlayerEnterCheckpoint:
- Código:
if(autoescola[playerid] == 1)
{
if(IsPlayerInRangeOfPoint(playerid, 50.0, 204.7964,-1444.3250,13.0959))
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 562)
{
Pdados[playerid][CNH] = 1;
SendClientMessage(playerid, AMARELO, "| AUTOESCOLA | {ffffff}Voce recebeu sua habilitacao de carros.");
DisablePlayerRaceCheckpoint(playerid);
DisablePlayerCheckpoint(playerid);
autoescola[playerid] = 0;
SetPlayerInterior(playerid,3);
SetPlayerFacingAngle(playerid,86.134811);
SetPlayerPos(playerid,384.808624,173.804992,1008.382812);
}
else
{
SendClientMessage(playerid, VERMELHO, "Voce nao esta em um veiculo da autoescola");
}
}
}
if(autoescolab[playerid] == 1)
{
if(IsPlayerInRangeOfPoint(playerid, 50.0, 204.7964,-1444.3250,13.0959))
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 461)
{
Pdados[playerid][CNHb] = 1;
SendClientMessage(playerid, AMARELO, "| AUTOESCOLA | {ffffff}Voce recebeu sua habilitacao de moto.");
DisablePlayerRaceCheckpoint(playerid);
DisablePlayerCheckpoint(playerid);
autoescolab[playerid] = 0;
SetPlayerInterior(playerid,3);
SetPlayerFacingAngle(playerid,86.134811);
SetPlayerPos(playerid,384.808624,173.804992,1008.382812);
}
else
{
SendClientMessage(playerid, VERMELHO, "Voce nao esta em um veiculo da autoescola");
}
}
}
if(autoescolac[playerid] == 1)
{
if(IsPlayerInRangeOfPoint(playerid, 50.0, 204.7964,-1444.3250,13.0959))
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 498)
{
Pdados[playerid][CNHc] = 1;
SendClientMessage(playerid, AMARELO, "| AUTOESCOLA | {ffffff}Voce recebeu sua habilitacao de caminhao.");
DisablePlayerRaceCheckpoint(playerid);
DisablePlayerCheckpoint(playerid);
autoescolac[playerid] = 0;
SetVehicleToRespawn(498);
SetPlayerInterior(playerid,3);
SetPlayerFacingAngle(playerid,86.134811);
SetPlayerPos(playerid,384.808624,173.804992,1008.382812);
}
else
{
SendClientMessage(playerid, VERMELHO, "Voce nao esta em um veiculo da autoescola");
}
}
}
Na public OnDialogResponse:
- Código:
if(dialogid == DIALOG_PREF)
{
if(!response)
{
return 1;
}
if(listitem == 0)
{
return 1;
}
if(listitem == 1)
{
new string[1700];
strcat(string, "{3366FF}Escolha a categoria da habilitacao:\n"); // 0
strcat(string, "{3366FF}1.Motos {339933}R$1,500\n"); // 1
strcat(string, "{3366FF}2.Carros {339933}R$2,500\n"); // 1
strcat(string, "{3366FF}3.Caminhao {339933}R$4,500\n"); // 1
ShowPlayerDialog(playerid, DIALOG_LICENCA, DIALOG_STYLE_LIST, "AUTOESCOLA", string, "Selecionar", "Sair");
return 1;
}
}
if(dialogid == DIALOG_LICENCA)
{
if(!response)
{
new string[1700];
strcat(string, "{3366FF}Escolha a categoria da habilitacao:\n"); // 0
strcat(string, "{3366FF}1.Motos {339933}R$1,500\n"); // 1
strcat(string, "{3366FF}1.Carros {339933}R$2,500\n"); // 1
strcat(string, "{3366FF}3.Caminhao {339933}R$4,500\n"); // 1
ShowPlayerDialog(playerid, DIALOG_LICENCA, DIALOG_STYLE_LIST, "AUTOESCOLA", string, "Selecionar", "Sair");
return 1;
}
if(listitem == 0)
{
return 1;
}
if(listitem == 1)
{
if(Pdados[playerid][CNHb] == 1)return SendClientMessage(playerid, VERMELHO, "Voce ja possui Carteira Nacional Brasil categoria A.");
if(GetPlayerMoney(playerid) < 1500)return SendClientMessage(playerid, VERMELHO, "|ERRO| Voce nao tem dinheiro suficiente.");
if(autoescola[playerid] == 0)
{
new carid;
carid = CreateVehicle(468,-2434.4839,-1941.0804,302.8840,268.1510,6,6, -1); // Moto cnh b;
SetPlayerVirtualWorld(playerid, 0);
SetPlayerInterior(playerid, 0);
PutPlayerInVehicle(playerid, carid, 0);
SetPlayerCheckpoint(playerid, -2081.7153,-1719.4109,183.1702, 5);
GivePlayerMoney(playerid, -1500);
autoescola[playerid] = 1;
new string[1700];
strcat(string, "Siga ate o final da trilha sem cair ou danificar a moto!");
ShowPlayerDialog(playerid,DIALOG_INFOCNHA,DIALOG_STYLE_MSGBOX, "CATEGORIA A", string,"OK","");
}
return 1;
}
if(listitem == 2)
{
if(Pdados[playerid][CNH] == 1)return SendClientMessage(playerid, VERMELHO, "Voce ja possui Carteira Nacional Brasil categoria B.");
if(GetPlayerMoney(playerid) < 2500)return SendClientMessage(playerid, VERMELHO, "|ERRO|Voce nao tem dinheiro suficiente.");
if(autoescolab[playerid] == 0)
{
new carid;
carid = CreateVehicle(542,-2064.1467,-82.9374,34.9074,180.1528,6,6, -1); // Carro cnh b;
SetPlayerVirtualWorld(playerid, 0);
SetPlayerInterior(playerid, 0);
PutPlayerInVehicle(playerid, carid, 0);
SetPlayerCheckpoint(playerid, -2632.9312,1379.2867,6.8939, 5);
GivePlayerMoney(playerid, -2500);
autoescolab[playerid] = 1;
new string[1700];
strcat(string, "Va ate o ponto e faca a baliza sem danificar o veiculo!");
ShowPlayerDialog(playerid,DIALOG_INFOCNHB,DIALOG_STYLE_MSGBOX, "CATEGORIA B", string,"OK","");
}
return 1;
}
if(listitem == 3)
{
if(Pdados[playerid][CNHc] == 1)return SendClientMessage(playerid, VERMELHO, "Voce j possui Carteira Nacional Brasil categoria C.");
if(GetPlayerMoney(playerid) < 4500)return SendClientMessage(playerid, VERMELHO, "Voce nao tem dinheiro suficiente.");
if(autoescolac[playerid] == 0)
{
SetPlayerPos(playerid, 1056.2592,-1780.0952,13.6720);
SetPlayerInterior(playerid, 0);
GivePlayerMoney(playerid, -4500);
autoescolac[playerid] = 1;
SendClientMessage(playerid, CINZA, "| AUTOESCOLA | Pegue um caminhao e va ate o local marcado em seu mapa.");
}
return 1;
}
}
COMANDOS:
- Código:
CMD:entrar(playerid)
{
//=-=-=-=-=-=-=-=-=-=-=-= </PREFEITURAS> -=-=-=-=-=-=-=-=-=-=-=-=-=-=
if(ISP(playerid,2.0, 1480.6915,-1771.2483,18.7958)) //PREFEITURA LS
{
SetPlayerInterior(playerid,3);
SetPlayerPos(playerid, 386.1632,173.5997,1008.3828);
SetPlayerVirtualWorld(playerid, 1);
PrefeituraEntrou[playerid] = 1;
}
if(ISP(playerid,2.0, 2364.4438,2377.5974,10.8203)) //PREFEITURA LV
{
SetPlayerInterior(playerid,3);
SetPlayerPos(playerid, 386.1632,173.5997,1008.3828);
SetPlayerVirtualWorld(playerid, 2);
PrefeituraEntrou[playerid] = 2;
}
if(ISP(playerid,2.0, -2649.5891,376.0460,6.1563)) //PREFEITURA SF
{
SetPlayerInterior(playerid,3);
SetPlayerPos(playerid, 386.1632,173.5997,1008.3828);
SetPlayerVirtualWorld(playerid, 3);
PrefeituraEntrou[playerid] = 3;
}
return 1;
}
CMD:sair(playerid)
{
//=-=-=-=-=-=-=-=-=-=-=-= </PREFEITURAS> -=-=-=-=-=-=-=-=-=-=-=-=-=-=
else if(ISP(playerid,2.0, 390.0653,173.8565,1008.3828))
{
if(GetPlayerVirtualWorld(playerid) == 1)
{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid, 1480.6915,-1771.2483,18.7958);
SetPlayerVirtualWorld(playerid, 0);
PrefeituraEntrou[playerid] = 0;
}
else if(GetPlayerVirtualWorld(playerid) == 2)
{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid, 2364.4438,2377.5974,10.8203);
SetPlayerVirtualWorld(playerid, 0);
PrefeituraEntrou[playerid] = 0;
}
else if(GetPlayerVirtualWorld(playerid) == 3)
{
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid, -2649.5891,376.0460,6.1563);
SetPlayerVirtualWorld(playerid, 0);
PrefeituraEntrou[playerid] = 0;
}
}
return 1;
}
CMD:pref(playerid)return cmd_prefeitura(playerid);
CMD:prefeitura(playerid)
{
if(PodeComando[playerid] == false) return SendClientMessage(playerid, VERMELHO, "|SEUSVR| Voce precisa aguardar um pouco para usar outro comando!");
if(IsPlayerInRangeOfPoint(playerid,5,361.867340, 173.422683, 1008.382812))
{
new string[1700];
strcat(string, "{ffffff}Qual servico quer solicitar?\n"); // 0
strcat(string, "{FFFFFF}Tirar CNH\n"); // 1
ShowPlayerDialog(playerid,DIALOG_PREF,DIALOG_STYLE_LIST, "PREFEITURA", string,"ESCOLHER","SAIR");
}
return 1;
}
CMD:cnh(playerid)
{
if(PodeComando[playerid] == false) return SendClientMessage(playerid, VERMELHO, "|SEUSVR| Voce precisa aguardar um pouco para usar outro comando!");
new String[128];
if(Pdados[playerid][CNH] == 1){
strcat(String,"\n{cc0000}CNH categoria A: {FFFFFF}Sim{FFFFFF}");
}else{
strcat(String,"\n{cc0000}CNH categoria A: {FFFFFF}Nao{FFFFFF}");
}
if(Pdados[playerid][CNHb] == 1){
strcat(String,"\n{cc0000}CNH categoria B: {FFFFFF}Sim{FFFFFF}");
}else{
strcat(String,"\n{cc0000}CNH categoria B: {FFFFFF}Nao{FFFFFF}");
}
if(Pdados[playerid][CNHc] == 1){
strcat(String,"\n{cc0000}CNH categoria C: {FFFFFF}Sim{FFFFFF}");
}else{
strcat(String,"\n{cc0000}CNH categoria C: {FFFFFF}Nao{FFFFFF}");
}
ShowPlayerDialog(playerid,502,DIALOG_STYLE_MSGBOX,"{F3DA0B}SUAS CNHS",String,"ok","");
return 1;
}
SISTEMA DE SALVAMENTO DE DADOS:
- Código:
stock SalvarCNH(playerid)
{
Pdados[playerid][Grana] = GetPlayerMoney(playerid);
Pdados[playerid][Estrelas] = GetPlayerWantedLevel(playerid);
new ip[16];
GetPlayerIp(playerid, ip, sizeof(ip));
format(StringContas, sizeof(StringContas), "SEUSVR/Contas/%s.txt",Nome(playerid));
DOF2_SetInt(StringContas, "CNH", Pdados[playerid][CNH]);
DOF2_SetInt(StringContas, "CNHb", Pdados[playerid][CNHb]);
DOF2_SetInt(StringContas, "CNHc", Pdados[playerid][CNHc]);
return 1;
}
stock CarregarCNH(playerid)
{
PodeComando[playerid] = true;
format(StringContas, sizeof(StringContas), "SEUSVR/Contas/%s.txt",Nome(playerid));
format(StringStaff, sizeof(StringStaff), "Staffs/%s.txt",Nome(playerid));
Pdados[playerid][CNH] = DOF2_GetInt(StringContas, "CNH");
Pdados[playerid][CNHb] = DOF2_GetInt(StringContas, "CNHb");
Pdados[playerid][CNHc] = DOF2_GetInt(StringContas, "CNHc");
}