Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "../Include/config.inc"
- enum enum_casas
- {
- bool:pr_ativa, //casa ativa;
- bool:pr_porta, //porta trancando = true, aberta = false;
- pr_dono[24],
- pr_preco, //preço definido pelo admin ou dono do hotel;
- pr_level, //minimo para compra
- pr_tamanho, //casa (trailer, pequena, media, grande);
- pr_interior, //interior para tipo nao mobilhavel (interiores proprios do gta sa);
- pr_world, //mundo virtual, igual ao id da propriedade;
- Float:pr_ext_posicao[4], //0=x,1=y,2=z,3=rotacao;
- Float:pr_int_posicao[4], //0=x,1=y,2=z,3=rotacao;
- pr_ext_pickup,
- pr_int_pickup,
- Text3D:pr_ext_label,
- Text3D:pr_int_label
- }
- enum enum_garagem
- {
- bool:gr_ativa,
- gr_casaid,
- bool:gr_portao,
- Float:gr_ext_posicao[4],
- Float:gr_int_posicao[4],
- gr_world,
- gr_ext_pickup,
- gr_int_pickup,
- Text3D:gr_ext_label,
- Text3D:gr_int_label
- }
- new propriedade[max_prop][enum_casas];
- new garagem[max_garagem][enum_garagem];
- //a-prop | sistema de casas [funções]
- stock aPropCriar(playerid, casaid, tamanho, level, preco)
- {
- new string[252], Float:ext_posicao[4], Float:int_posicao[4], int_interior;
- GetPlayerPos(playerid, ext_posicao[0], ext_posicao[1], ext_posicao[2]);
- GetPlayerFacingAngle(playerid, ext_posicao[3]);
- propriedade[casaid][pr_ativa] = true;
- propriedade[casaid][pr_porta] = true;
- format(propriedade[casaid][pr_dono], 24, "Ninguem");
- propriedade[casaid][pr_preco] = preco;
- propriedade[casaid][pr_level] = level;
- propriedade[casaid][pr_tamanho] = tamanho;
- switch(tamanho)
- {
- case 1: int_posicao[0] = 2352.7454, int_posicao[1] = -1180.9149, int_posicao[2] = 1027.9766, int_posicao[3] = 91.6186, int_interior = 5;
- case 2: int_posicao[0] = 421.9722, int_posicao[1] = 495.8725, int_posicao[2] = 1001.5299, int_posicao[3] = 89.2832, int_interior = 0;
- case 3: int_posicao[0] = 0.0, int_posicao[1] = 0.0, int_posicao[2] = 0.0, int_posicao[3] = 0.0;
- }
- propriedade[casaid][pr_interior] = int_interior;
- propriedade[casaid][pr_world] = casaid;
- propriedade[casaid][pr_ext_posicao][0] = ext_posicao[0];
- propriedade[casaid][pr_ext_posicao][1] = ext_posicao[1];
- propriedade[casaid][pr_ext_posicao][2] = ext_posicao[2];
- propriedade[casaid][pr_ext_posicao][3] = ext_posicao[3];
- propriedade[casaid][pr_int_posicao][0] = int_posicao[0];
- propriedade[casaid][pr_int_posicao][1] = int_posicao[1];
- propriedade[casaid][pr_int_posicao][2] = int_posicao[2];
- propriedade[casaid][pr_int_posicao][3] = int_posicao[3];
- propriedade[casaid][pr_ext_pickup] = CreatePickup(1273, 1, ext_posicao[0], ext_posicao[1], ext_posicao[2]);
- propriedade[casaid][pr_int_pickup] = CreatePickup(19198, 1, int_posicao[0], int_posicao[1], int_posicao[2]+0.2, casaid);
- format(string, 252, "{00FF00}[Propriedade a venda]{FFFFFF}\n{FF0000}Level:{FFFFFF} %d\n{FF0000}Preço:{FFFFFF} $%d", level, preco);
- propriedade[casaid][pr_ext_label] = Create3DTextLabel(string, -1, ext_posicao[0], ext_posicao[1], ext_posicao[2]-0.2, 5.0, 0);
- propriedade[casaid][pr_int_label] = Create3DTextLabel("[saida]", -1, int_posicao[0], int_posicao[1], int_posicao[2]-0.2, 5.0, casaid);
- printf("casa criada %d | int %d | preco %d | level %d", casaid, tamanho, preco, level);
- format(string, sizeof string, "Propriedades/prop %d.a", casaid);
- DOF2_CreateFile(string);
- DOF2_SetBool(string, "pr_ativa", propriedade[casaid][pr_ativa]);
- DOF2_SetBool(string, "pr_porta", propriedade[casaid][pr_porta]);
- DOF2_SetString(string, "pr_dono", propriedade[casaid][pr_dono]);
- DOF2_SetInt(string, "pr_preco", propriedade[casaid][pr_preco]);
- DOF2_SetInt(string, "pr_level", propriedade[casaid][pr_level]);
- DOF2_SetInt(string, "pr_tamanho", propriedade[casaid][pr_tamanho]);
- DOF2_SetInt(string, "pr_interior", propriedade[casaid][pr_interior]);
- DOF2_SetInt(string, "pr_world", propriedade[casaid][pr_world]);
- DOF2_SetFloat(string, "pr_ext_posicao_x", propriedade[casaid][pr_ext_posicao][0]);
- DOF2_SetFloat(string, "pr_ext_posicao_y", propriedade[casaid][pr_ext_posicao][1]);
- DOF2_SetFloat(string, "pr_ext_posicao_z", propriedade[casaid][pr_ext_posicao][2]);
- DOF2_SetFloat(string, "pr_ext_posicao_r", propriedade[casaid][pr_ext_posicao][3]);
- DOF2_SetFloat(string, "pr_int_posicao_x", propriedade[casaid][pr_int_posicao][0]);
- DOF2_SetFloat(string, "pr_int_posicao_y", propriedade[casaid][pr_int_posicao][1]);
- DOF2_SetFloat(string, "pr_int_posicao_z", propriedade[casaid][pr_int_posicao][2]);
- DOF2_SetFloat(string, "pr_int_posicao_r", propriedade[casaid][pr_int_posicao][3]);
- DOF2_SaveFile();
- return true;
- }
- stock aPropApagar(casaid)
- {
- new string[52];
- propriedade[casaid][pr_ativa] = false;
- propriedade[casaid][pr_porta] = false;
- propriedade[casaid][pr_preco] = 0;
- propriedade[casaid][pr_level] = 0;
- propriedade[casaid][pr_tamanho] = 0;
- propriedade[casaid][pr_interior] = 0;
- propriedade[casaid][pr_world] = 0;
- propriedade[casaid][pr_ext_posicao][0] = 0.0;
- propriedade[casaid][pr_ext_posicao][1] = 0.0;
- propriedade[casaid][pr_ext_posicao][2] = 0.0;
- propriedade[casaid][pr_ext_posicao][3] = 0.0;
- propriedade[casaid][pr_int_posicao][0] = 0.0;
- propriedade[casaid][pr_int_posicao][1] = 0.0;
- propriedade[casaid][pr_int_posicao][2] = 0.0;
- propriedade[casaid][pr_int_posicao][3] = 0.0;
- DestroyPickup(propriedade[casaid][pr_ext_pickup]);
- DestroyPickup(propriedade[casaid][pr_int_pickup]);
- Delete3DTextLabel(propriedade[casaid][pr_ext_label]);
- Delete3DTextLabel(propriedade[casaid][pr_int_label]);
- printf("casa %d apagada com sucesso.");
- format(string, sizeof string, "Propriedades/prop %d.a", casaid), DOF2_RemoveFile(string);
- return true;
- }
- stock aPropSet(casaid, setid, quantidade)
- {
- /*
- 1 = tamanho
- 2 = nivel
- 3 = preco
- */
- new string[252];
- switch(setid)
- {
- case 1: propriedade[casaid][pr_tamanho] = quantidade;
- case 2: propriedade[casaid][pr_level] = quantidade;
- case 3: propriedade[casaid][pr_preco] = quantidade;
- }
- Delete3DTextLabel(propriedade[casaid][pr_ext_label]);
- //
- format(string, 252, "{00FF00}[Propriedade a venda]{FFFFFF}\n{FF0000}Level:{FFFFFF} %d\n{FF0000}Preço:{FFFFFF} $%d", propriedade[casaid][pr_level], propriedade[casaid][pr_preco]);
- propriedade[casaid][pr_ext_label] = Create3DTextLabel(string, -1, propriedade[casaid][pr_ext_posicao][0], propriedade[casaid][pr_ext_posicao][1], propriedade[casaid][pr_ext_posicao][2]-0.2, 5.0, 0);
- }
- stock aPropComprar(playerid, casaid)
- {
- char string[138];
- format(propriedade[casaid][pr_dono], 24, "%s", GetName(playerid));
- SendClientMessage(playerid, -1, ""); //
- SendClientMessage(playerid, -1, "{FF0000}Parabens{FFFFFF} pela sua {00FF00}compra.");
- SendClientMessage(playerid, -1, " {00FF00}/minhacasa: {FFFFFF}veja os comandos da sua casa.");
- SendClientMessage(playerid, -1, " {00FF00}ajuda: {FFFFFF}comando /minhacasa indisponivel");
- Delete3DTextLabel(propriedade[casaid][pr_ext_label]);
- format(string, 252, "{00FF00}[Propriedade]\nDono:{FFFFFF} %s", propriedade[casaid][pr_dono]);
- propriedade[casaid][pr_ext_label] = Create3DTextLabel(string, -1, propriedade[casaid][pr_ext_posicao][0], propriedade[casaid][pr_ext_posicao][1], propriedade[casaid][pr_ext_posicao][2]-0.2, 5.0, 0);
- format(string, sizeof string, "Propriedades/gar %d.a", casaid), DOF2_CreateFile(string);
- DOF2_SetString(string, "pr_dono", propriedade[casaid][pr_dono]);
- DOF2_SaveFile();
- return true;
- }
- stock aPropVender(playerid, casaid)
- {
- char string[138];
- format(propriedade[casaid][pr_dono], 24, "Nenhum");
- SendClientMessage(playerid, -1, ""); //
- SendClientMessage(playerid, -1, "Casa{FF0000} Vendida{FFFFFF}");
- SendClientMessage(playerid, -1, " Voce recebeu algum dinheiro pela {00FF00}venda{FFFFFF} da propriedade.");
- Delete3DTextLabel(propriedade[casaid][pr_ext_label]);
- format(string, 252, "{00FF00}[Propriedade a venda]{FFFFFF}\n{FF0000}Level:{FFFFFF} %d\n{FF0000}Preço:{FFFFFF} $%d", propriedade[casaid][pr_level], propriedade[casaid][pr_preco]);
- propriedade[casaid][pr_ext_label] = Create3DTextLabel(string, -1, propriedade[casaid][pr_ext_posicao][0], propriedade[casaid][pr_ext_posicao][1], propriedade[casaid][pr_ext_posicao][2]-0.2, 5.0, 0);
- format(string, sizeof string, "Propriedades/gar %d.a", casaid), DOF2_CreateFile(string);
- DOF2_SetString(string, "pr_dono", "Nenhum");
- DOF2_SaveFile();
- return true;
- }
- stock CriarGaragem(playerid, gr_id, casaid)
- {
- new string[52], Float:ext_posicao[4];
- GetPlayerPos(playerid, ext_posicao[0], ext_posicao[1], ext_posicao[2]);
- GetPlayerFacingAngle(playerid, ext_posicao[3]);
- garagem[gr_id][gr_ativa] = true;
- garagem[gr_id][gr_casaid] = casaid;
- garagem[gr_id][gr_portao] = false;
- garagem[gr_id][gr_ext_posicao][0] = ext_posicao[0];
- garagem[gr_id][gr_ext_posicao][1] = ext_posicao[1];
- garagem[gr_id][gr_ext_posicao][2] = ext_posicao[2];
- garagem[gr_id][gr_ext_posicao][3] = ext_posicao[3];
- garagem[gr_id][gr_int_posicao][0] = 181.7559;
- garagem[gr_id][gr_int_posicao][1] = 1741.1469;
- garagem[gr_id][gr_int_posicao][2] = 110.9927;
- garagem[gr_id][gr_int_posicao][3] = 358.9667;
- garagem[gr_id][gr_world] = casaid;
- garagem[gr_id][gr_ext_pickup] = CreatePickup(1277, 1, ext_posicao[0], ext_posicao[1], ext_posicao[2]);
- garagem[gr_id][gr_int_pickup] = CreatePickup(19198, 1, 181.7559, 1741.1469, 110.9927+0.2, gr_id);
- garagem[gr_id][gr_ext_label] = Create3DTextLabel("[Garagem]", -1, ext_posicao[0], ext_posicao[1], ext_posicao[2]-0.2, 5.0, 0);
- garagem[gr_id][gr_int_label] = Create3DTextLabel("[saida]", -1, 181.7559, 1741.1469, 110.9927, 5.0, gr_id);
- format(string, sizeof string, "Propriedades/gar %d.a", casaid), DOF2_CreateFile(string);
- DOF2_SetBool(string, "gr_ativa", garagem[gr_id][gr_ativa]);
- DOF2_SetBool(string, "gr_portao", garagem[gr_id][gr_portao]);
- DOF2_SetInt(string, "gr_casaid", garagem[gr_id][gr_casaid]);
- DOF2_SetInt(string, "gr_world", garagem[gr_id][gr_world]);
- DOF2_SetFloat(string, "gr_ext_posicao_x", garagem[gr_id][gr_ext_posicao][0]);
- DOF2_SetFloat(string, "gr_ext_posicao_y", garagem[gr_id][gr_ext_posicao][1]);
- DOF2_SetFloat(string, "gr_ext_posicao_z", garagem[gr_id][gr_ext_posicao][2]);
- DOF2_SetFloat(string, "gr_ext_posicao_r", garagem[gr_id][gr_ext_posicao][3]);
- DOF2_SetFloat(string, "gr_int_posicao_x", garagem[gr_id][gr_int_posicao][0]);
- DOF2_SetFloat(string, "gr_int_posicao_y", garagem[gr_id][gr_int_posicao][1]);
- DOF2_SetFloat(string, "gr_int_posicao_z", garagem[gr_id][gr_int_posicao][2]);
- DOF2_SetFloat(string, "gr_int_posicao_r", garagem[gr_id][gr_int_posicao][3]);
- DOF2_SaveFile();
- return true;
- }
- //outros
- public OnFilterScriptInit()
- {
- new string[128], Float:ext_posicao[4], Float:int_posicao[4];
- for(new casaid = 0; casaid < max_prop; casaid++)
- {
- format(string, sizeof string, "Propriedades/prop %d.a", casaid);
- if(DOF2_FileExists(string))
- {
- propriedade[casaid][pr_ativa] = DOF2_GetBool(string, "pr_ativa");
- propriedade[casaid][pr_porta] = DOF2_GetBool(string, "pr_porta");
- format(propriedade[casaid][pr_dono], 32, "%s", DOF2_GetString(string, "pr_dono"));
- propriedade[casaid][pr_preco] = DOF2_GetInt(string, "pr_preco");
- propriedade[casaid][pr_level] = DOF2_GetInt(string, "pr_level");
- propriedade[casaid][pr_tamanho] = DOF2_GetInt(string, "pr_tamanho");
- propriedade[casaid][pr_interior] = DOF2_GetInt(string, "pr_interior");
- propriedade[casaid][pr_world] = DOF2_GetInt(string, "pr_world");
- propriedade[casaid][pr_ext_posicao][0] = DOF2_GetFloat(string, "pr_ext_posicao_x");
- propriedade[casaid][pr_ext_posicao][1] = DOF2_GetFloat(string, "pr_ext_posicao_y");
- propriedade[casaid][pr_ext_posicao][2] = DOF2_GetFloat(string, "pr_ext_posicao_z");
- propriedade[casaid][pr_ext_posicao][3] = DOF2_GetFloat(string, "pr_ext_posicao_r");
- propriedade[casaid][pr_int_posicao][0] = DOF2_GetFloat(string, "pr_int_posicao_x");
- propriedade[casaid][pr_int_posicao][1] = DOF2_GetFloat(string, "pr_int_posicao_y");
- propriedade[casaid][pr_int_posicao][2] = DOF2_GetFloat(string, "pr_int_posicao_z");
- propriedade[casaid][pr_int_posicao][3] = DOF2_GetFloat(string, "pr_int_posicao_r");
- ext_posicao[0] = propriedade[casaid][pr_ext_posicao][0];
- ext_posicao[1] = propriedade[casaid][pr_ext_posicao][1];
- ext_posicao[2] = propriedade[casaid][pr_ext_posicao][2];
- ext_posicao[3] = propriedade[casaid][pr_ext_posicao][3];
- int_posicao[0] = propriedade[casaid][pr_int_posicao][0];
- int_posicao[1] = propriedade[casaid][pr_int_posicao][1];
- int_posicao[2] = propriedade[casaid][pr_int_posicao][2];
- int_posicao[3] = propriedade[casaid][pr_int_posicao][3];
- propriedade[casaid][pr_ext_pickup] = CreatePickup(1273, 1, ext_posicao[0], ext_posicao[1], ext_posicao[2]);
- propriedade[casaid][pr_int_pickup] = CreatePickup(19198, 1, int_posicao[0], int_posicao[1], int_posicao[2]+0.2, casaid);
- if(!strcmp(propriedade[casaid][pr_dono], "Ninguem", true))
- {
- format(string, 128, "{00FF00}[Propriedade a venda]{FFFFFF}\n{FF0000}Level:{FFFFFF} %d\n{FF0000}Preço:{FFFFFF} $%d", propriedade[casaid][pr_level], propriedade[casaid][pr_preco]);
- }
- else
- {
- format(string, 128, "{00FF00}[Propriedade]\nDono:{FFFFFF} %s", propriedade[casaid][pr_dono]);
- }
- propriedade[casaid][pr_ext_label] = Create3DTextLabel(string, -1, ext_posicao[0], ext_posicao[1], ext_posicao[2]-0.2, 5.0, 0);
- propriedade[casaid][pr_int_label] = Create3DTextLabel("[saida]", -1, int_posicao[0], int_posicao[1], int_posicao[2]-0.2, 5.0, casaid);
- }
- }
- for(new gr_id = 0; gr_id < max_garagem; gr_id++)
- {
- format(string, sizeof string, "Propriedades/gar %d.a", gr_id);
- if(DOF2_FileExists(string))
- {
- garagem[gr_id][gr_ativa] = DOF2_GetBool(string, "gr_ativa");
- garagem[gr_id][gr_portao] = DOF2_GetBool(string, "gr_portao");
- garagem[gr_id][gr_casaid] = DOF2_GetInt(string, "gr_casaid");
- garagem[gr_id][gr_world] = DOF2_GetInt(string, "gr_world");
- garagem[gr_id][gr_ext_posicao][0] = DOF2_GetFloat(string, "gr_ext_posicao_x");
- garagem[gr_id][gr_ext_posicao][1] = DOF2_GetFloat(string, "gr_ext_posicao_y");
- garagem[gr_id][gr_ext_posicao][2] = DOF2_GetFloat(string, "gr_ext_posicao_z");
- garagem[gr_id][gr_ext_posicao][3] = DOF2_GetFloat(string, "gr_ext_posicao_r");
- garagem[gr_id][gr_int_posicao][0] = DOF2_GetFloat(string, "gr_int_posicao_x");
- garagem[gr_id][gr_int_posicao][0] = DOF2_GetFloat(string, "gr_int_posicao_y");
- garagem[gr_id][gr_int_posicao][0] = DOF2_GetFloat(string, "gr_int_posicao_z");
- garagem[gr_id][gr_int_posicao][0] = DOF2_GetFloat(string, "gr_int_posicao_r");
- ext_posicao[0] = garagem[gr_id][gr_ext_posicao][0];
- ext_posicao[1] = garagem[gr_id][gr_ext_posicao][1];
- ext_posicao[2] = garagem[gr_id][gr_ext_posicao][2];
- ext_posicao[3] = garagem[gr_id][gr_ext_posicao][3];
- garagem[gr_id][gr_ext_pickup] = CreatePickup(1277, 1, ext_posicao[0], ext_posicao[1], ext_posicao[2]);
- garagem[gr_id][gr_int_pickup] = CreatePickup(19198, 1, 181.7559, 1741.1469, 110.9927+0.2, gr_id);
- garagem[gr_id][gr_ext_label] = Create3DTextLabel("[Garagem]", -1, ext_posicao[0], ext_posicao[1], ext_posicao[2]-0.2, 5.0, 0);
- garagem[gr_id][gr_int_label] = Create3DTextLabel("[saida]", -1, 181.7559, 1741.1469, 110.9927, 5.0, gr_id);
- }
- }
- return true;
- }
- public OnFilterScriptExit()
- {
- DOF2_Exit();
- return true;
- }
- stock GetName(playerid)
- {
- new nome[MAX_PLAYER_NAME];
- GetPlayerName(playerid, nome, sizeof(nome));
- for(new i = 0; i < MAX_PLAYER_NAME; i++)
- {
- if(nome[i] == '_') nome[i] = ' ';
- }
- return nome;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement