Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #define MAX_PROPERTY 125
- #define MAX_PROPERTY_NAME 100
- enum p_main {
- create,
- delete,
- copy,
- null
- }
- enum p_data {
- valid,
- profit,
- bank,
- price,
- owned
- }
- enum enum0 {
- bool: e_Exist,
- e_Name[MAX_PROPERTY_NAME + 1],
- e_Owner[MAX_PLAYER_NAME],
- bool: e_Owned,
- e_Profit, e_Bank, e_Price,
- e_Pickup,
- Float: e_x,
- Float: e_y,
- Float: e_z
- }
- new _property[MAX_PROPERTY][enum0];
- #define IsValidProperty(%0) _property[%0][e_Exist]
- #define GetPropertyOwner(%0) _property[%0][e_Owner]
- #define SetPropertyOwner(%0,%1) format(_property[%0][e_Owner],MAX_PLAYER_NAME,%1)
- #define GetPropertyName(%0) _property[%0][e_Name]
- GetPlayerNearProperty(playerid) {
- new i = 0;
- while (i++ < MAX_PROPERTY) if (IsPlayerInRangeOfPoint(playerid, 1.0, _property[i][e_x], _property[i][e_y], _property[i][e_z])) return i;
- return -1;
- }
- SetPropertyData(p_data: datatype, propertyid, var) {
- if (datatype == valid) _property[propertyid][e_Exist] = var == 1 ? true : false;
- if (datatype == profit) _property[propertyid][e_Profit] = var;
- if (datatype == bank) _property[propertyid][e_Bank] = var;
- if (datatype == price) _property[propertyid][e_Price] = var;
- if (datatype == owned) _property[propertyid][e_Owned] = var == 1 ? true : false;
- return 1;
- }
- GetPropertyData(p_data: datatype, propertyid) {
- if (datatype == valid) return _property[propertyid][e_Exist];
- if (datatype == profit) return _property[propertyid][e_Profit];
- if (datatype == bank) return _property[propertyid][e_Bank];
- if (datatype == price) return _property[propertyid][e_Price];
- if (datatype == owned) return _property[propertyid][e_Owned];
- return 0;
- }
- Property(p_main: mode, name[] = "", bool: byPos=false, bool:byPlayer=false, player =-1, propertyid =-1, Float:x=0.0, Float:y=0.0, Float:z=0.0, pickupm = 1239) {
- if (mode == create) {
- new i = 0, freeid = -1;
- while (i++ < MAX_PROPERTY) {
- if (!IsValidProperty(i)) {
- freeid = i;
- break;
- }
- }
- if (freeid == -1) print("error moc property !");
- _property[freeid][e_Exist] = true;
- _property[freeid][e_Owned] = false;
- format (_property[freeid][e_Name], MAX_PROPERTY_NAME, name);
- format (_property[freeid][e_Owner], MAX_PLAYER_NAME, "-Nikdo-");
- if (byPos) {
- _property[freeid][e_x] = x; _property[freeid][e_y] = y;_property[freeid][e_z] = z;
- _property[freeid][e_Pickup] = CreatePickup(pickupm, 1, x, y, z, 0);
- }
- if (byPlayer) {
- GetPlayerPos(player, x, y, z);
- _property[freeid][e_x] = x; _property[freeid][e_y] = y;_property[freeid][e_z] = z;
- _property[freeid][e_Pickup] = CreatePickup(pickupm, 1, x, y, z, 0);
- }
- return freeid;
- }
- if (mode == delete) {
- if (IsValidProperty(propertyid)) {
- DestroyPickup(_property[propertyid][e_Pickup]);
- _property[propertyid][e_Exist] = _property[propertyid][e_Owned] = false;
- _property[propertyid][e_Profit] = _property[propertyid][e_Bank] = _property[propertyid][e_Price] = 0;
- }
- return 1;
- }
- if (mode == null) {
- if (IsValidProperty(propertyid)) {
- _property[propertyid][e_Profit] = _property[propertyid][e_Bank] = _property[propertyid][e_Price] = 0;
- }
- return 1;
- }
- if (mode == copy) {
- new i = 0, freeid = -1;
- while (i++ < MAX_PROPERTY) {
- if (!IsValidProperty(i)) {
- freeid = i;
- break;
- }
- }
- if (freeid == -1) print("error moc property !");
- _property[freeid][e_Exist] = true;
- _property[freeid][e_Owned] = _property[propertyid][e_Owned];
- _property[freeid][e_Profit] = _property[propertyid][e_Profit];
- _property[freeid][e_Bank] = _property[propertyid][e_Bank];
- _property[freeid][e_Price] = _property[propertyid][e_Price];
- format (_property[freeid][e_Name], MAX_PROPERTY_NAME, _property[propertyid][e_Name]);
- format (_property[freeid][e_Owner], MAX_PLAYER_NAME, _property[propertyid][e_Owner]);
- if (byPos) {
- _property[freeid][e_x] = x; _property[freeid][e_y] = y;_property[freeid][e_z] = z;
- _property[freeid][e_Pickup] = CreatePickup(pickupm, 1, x, y, z, 0);
- }
- if (byPlayer) {
- GetPlayerPos(player, x, y, z);
- _property[freeid][e_x] = x; _property[freeid][e_y] = y;_property[freeid][e_z] = z;
- _property[freeid][e_Pickup] = CreatePickup(pickupm, 1, x, y, z, 0);
- }
- return freeid;
- }
- return -1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement