Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // This is a comment
- // uncomment the line below if you want to write a filterscript
- //#define FILTERSCRIPT
- #include <a_samp>
- #include <sscanf2>
- #include <DOF2>
- #include <streamer>
- #include <zcmd>
- #define Casas "AllanSG/Casa%i.ini" // Onde as casas sao salvas "Casas/Casa%i.ini" // Onde as casas sao salvas
- #define MAX_CASAS 100
- enum InfoCasa
- {
- bool:tDono,
- cInfo,
- cID,
- nDono[MAX_PLAYER_NAME],
- Float:PosX,
- Float:PosY,
- Float:PosZ,
- cContas,
- bool:cPorta,
- cInt,
- cWorld,
- cLevel,
- CasaIcon,
- Text3D:CasaLabel,
- CasaP
- };
- new Casa[MAX_CASAS][InfoCasa];
- enum InfoPlayer
- {
- AtvCartao,
- Name[24],
- Saldo
- };
- new Player[MAX_PLAYERS][InfoPlayer];
- #if defined FILTERSCRIPT
- public OnFilterScriptInit()
- {
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- #else
- #endif
- public OnGameModeInit()
- {
- // Don't use these lines if it's a filterscript
- LoadCasas();
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- return 1;
- }
- public OnGameModeExit()
- {
- DOF2_Exit();
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
- SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- GetPlayerName(playerid, Player[playerid][Name], 24);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- Player[playerid][Saldo] = GetPlayerMoney(playerid);
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- stock LoadCasas()
- {
- new CasaCount;
- for(new i = 0; i < MAX_CASAS; i++)
- {
- new str[256], Label[256], Status[20], Pick, MapIcon;
- format(str, sizeof(str), Casas, i);
- if(DOF2_FileExists(str))
- {
- Casa[i][tDono] = DOF2_GetBool( str, "tDono" );
- format(Casa[i][nDono], 24, "%s", DOF2_GetString(str, "nDono") );
- Casa[i][cInfo] = DOF2_GetInt ( str, "cInfo" );
- Casa[i][cID] = DOF2_GetInt( str, "cID" );
- Casa[i][PosX] = DOF2_GetFloat( str, "PosX" );
- Casa[i][PosY] = DOF2_GetFloat( str, "PosY" );
- Casa[i][PosZ] = DOF2_GetFloat( str, "PosZ" );
- Casa[i][cContas] = DOF2_GetInt( str, "cContas" );
- Casa[i][cPorta] = DOF2_GetBool( str, "cPorta" );
- Casa[i][cInt] = DOF2_GetInt( str, "cInt" );
- Casa[i][cWorld] = DOF2_GetInt( str, "cWorld" );
- Casa[i][cLevel] = DOF2_GetInt( str, "cLevel" );
- if(Casa[i][cPorta] == true) { Status = "{00E600}Aberta"; } else if(Casa[i][cPorta] == false) { Status = "{FF0000}Fechada"; }
- format(Label, sizeof(Label), "{c0c0c0}Level %i\nCasa %i\n{FFAE00}Dono: {FFFFFF}%s\n{c0c0c0}Porta: %s", Casa[i][cLevel], Casa[i][cID], Casa[i][nDono], Status);
- if(Casa[i][tDono] == true) { Pick = 19522; } else if(Casa[i][tDono] == false) { Pick = 1273; }
- Casa[i][CasaP] = CreateDynamicPickup(Pick, 1, Casa[i][PosX], Casa[i][PosY], Casa[i][PosZ], Casa[i][cWorld], Casa[i][cInt]);
- Casa[i][CasaLabel] = CreateDynamic3DTextLabel(Label, -1, Casa[i][PosX], Casa[i][PosY], Casa[i][PosZ]+1, 15.0);
- if(Casa[i][tDono] == true) { MapIcon = 32; } else if(Casa[i][tDono] == false) { MapIcon = 31; }
- Casa[i][CasaIcon] = CreateDynamicMapIcon(Casa[i][PosX], Casa[i][PosY], Casa[i][PosZ], MapIcon, -1, -1, -1, -1, 100.0);
- CasaCount++;
- }
- }
- printf("\nUm Total De %i Casa(s) Foi Carregado.\n", CasaCount);
- return 1;
- }
- GetPlayerIDCasa(playerid, Float:range = 1.0) // Créditos do fórum sa-mp
- {
- new id = -1;
- for (new i = 0; i < MAX_CASAS; i ++)
- {
- if (IsPlayerInRangeOfPoint(playerid, range, Casa[i][PosX], Casa[i][PosY], Casa[i][PosZ]))
- {
- id = i;
- break;
- }
- }
- return id;
- }
- CMD:comprarcasa (playerid, params[])
- {
- new id = GetPlayerIDCasa(playerid), texto[256], Label[100], Pasta[100], Status[30];
- format(Pasta, sizeof(Pasta), Casas, id);
- if(id == -1) return SendClientMessage(playerid, -1, "| ERRO | Você Não Está Em Uma Casa!");
- if(Casa[id][tDono] == true) return SendClientMessage(playerid, -1, "| ERRO | Está Casa Já Possui Um Dono(a)!");
- if(Player[playerid][AtvCartao] == 0)
- {
- if(GetPlayerMoney(playerid) < Casa[id][cInfo]) return SendClientMessage(playerid, -1, "| ERRO | Você Não Tem Dinheiro Suficiente!");
- GivePlayerMoney(playerid, -Casa[id][cInfo]);
- }
- else if(Player[playerid][AtvCartao] == 1)
- {
- if(Player[playerid][Saldo] < Casa[id][cInfo]) return SendClientMessage(playerid, -1, "| ERRO | Você Não Tem Dinheiro Suficiente!");
- Player[playerid][Saldo] -= Casa[id][cInfo];
- }
- DOF2_SetString(Pasta, "nDono", Player[playerid][Name]);
- Casa[id][tDono] = true;
- DOF2_SetBool(Pasta, "tDono", true);
- if(Casa[id][cPorta] == true) { Status = "{00E600}Aberta"; } else if(Casa[id][cPorta] == false) { Status = "{FF0000}Fechada"; }
- format(Label, sizeof(Label), "{c0c0c0}Level %i\nCasa %i\n{FFAE00}Dono: {FFFFFF}%s\n{c0c0c0}Porta: %s", Casa[id][cLevel], Casa[id][cID], Casa[id][nDono], Status);
- DestroyDynamic3DTextLabel(Casa[id][CasaLabel]);
- DestroyDynamicPickup(Casa[id][CasaP]);
- DestroyDynamicMapIcon(Casa[id][CasaIcon]);
- Casa[id][CasaLabel] = CreateDynamic3DTextLabel(Label, -1, Casa[id][PosX], Casa[id][PosY], Casa[id][PosZ]+1, 15.0);
- Casa[id][CasaP] = CreateDynamicPickup(1272, 1, Casa[id][PosX], Casa[id][PosY], Casa[id][PosZ], Casa[id][cWorld], Casa[id][cInt]);
- Casa[id][CasaIcon] = CreateDynamicMapIcon(Casa[id][PosX], Casa[id][PosY], Casa[id][PosZ], 32, -1, -1, -1, -1, 100.0);
- format(texto, sizeof(texto), "| INFO-CASA | %s Acaba De Comprar A Casa De ID %i!", Player[playerid][Name], id);
- SendClientMessageToAll(0x1A73D9FF, texto);
- return 1;
- }
- CMD:criarcasa(playerid, params[])
- {
- new Float:pos[3], pInt, pVWorld, Pasta[100], Label[100];
- if(sscanf(params, "ddd", params[0], params[1], params[2])) return SendClientMessage(playerid, -1, "E-R-R-R-R-R-O-U, ID, Preco, Level");
- GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
- pInt = GetPlayerInterior(playerid);
- pVWorld = GetPlayerVirtualWorld(playerid);
- format(Pasta, sizeof(Pasta), Casas, params[0]);
- DOF2::CreateFile(Pasta);
- DOF2::SetInt(Pasta, "cID", params[0]);
- DOF2::SetInt(Pasta, "cInfo", params[1]);
- DOF2::SetInt(Pasta, "cLevel", params[2]);
- DOF2::SetInt(Pasta, "cInt", pInt);
- DOF2::SetInt(Pasta, "cWorld", pVWorld);
- DOF2::SetString(Pasta, "nDono", "Nenhum");
- DOF2::SetBool(Pasta, "tDono", false);
- DOF2::SetBool(Pasta, "cPorta", true);
- DOF2::SetInt(Pasta, "cContas", 0);
- DOF2::SetFloat(Pasta, "PosX", pos[0]);
- DOF2::SetFloat(Pasta, "PosY", pos[1]);
- DOF2::SetFloat(Pasta, "PosZ", pos[2]);
- DOF2::SaveFile();
- Casa[params[0]][cID] = params[0];
- Casa[params[0]][cInfo] = params[1];
- Casa[params[0]][cLevel] = params[2];
- format(Label, sizeof(Label), "{c0c0c0}Level %i\nCasa %i\n{FFAE00}Dono: {FFFFFF}Nenhum\n{c0c0c0}Porta: {00E600}Aberta", Casa[params[0]][cLevel], Casa[params[0]][cID]);
- Casa[params[0]][CasaP] = CreateDynamicPickup(1273, 1, pos[0], pos[1], pos[2], pVWorld, pInt);
- Casa[params[0]][CasaIcon] = CreateDynamicMapIcon(pos[0], pos[1], pos[2], 31, -1, -1, -1, -1, 100.0);
- Casa[params[0]][CasaLabel] = CreateDynamic3DTextLabel(Label, -1, pos[0], pos[1], pos[2]+1, 15.0);
- return 1;
- }
- CMD:dp(playerid)
- {
- GivePlayerMoney(playerid, 9999999);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement