05.09.2017, 04:14
pawn Код:
YCMD:makeapartment(playerid, params[], help) {
if(help) {
SendClientMessage(playerid, X11_WHITE,"Creates an apartment");
return 1;
}
new type;
new Float: X, Float: Y, Float: Z;
if (!sscanf(params, "d", type)) {
SendClientMessage(playerid, COLOR_LIGHTGREEN, "Attempting to create apartment.");
} else {
SendClientMessage(playerid, X11_WHITE,"USAGE: /makeapartment [type]");
return 1;
}
GetPlayerPos(playerid, X, Y, Z);
makeApartment(X, Y, Z, type);
return 1;
}
makeApartment(Float:X,Float:Y,Float:Z,type) {
query[0] = 0;
format(query,sizeof(query),"INSERT INTO `apartments` (`X`,`Y`,`Z`,`EX`,`EY`,`EZ`,`interior`,`locked`) VALUES (%f,%f,%f,%f,%f,%f,%d,%d)",X,Y,Z,ApartmentIntType[type][EIntApartmentXDoor],ApartmentIntType[type][EIntApartmentYDoor],ApartmentIntType[type][EIntApartmentZDoor],ApartmentIntType[type][EIntInteriorID],0);
mysql_function_query(g_mysql_handle, query, true, "OnApartmentCreate", "ffffffdd",X,Y,Z,ApartmentIntType[type][EIntApartmentXDoor],ApartmentIntType[type][EIntApartmentYDoor],ApartmentIntType[type][EIntApartmentZDoor],ApartmentIntType[type][EIntInteriorID],type);
}
forward OnApartmentCreate(Float:X,Float:Y,Float:Z,Float:EX,Float:EY,Float:EZ,interior, ETypeApartments:type);
public OnApartmentCreate(Float:X,Float:Y,Float:Z,Float:EX,Float:EY,Float:EZ,interior, ETypeApartments:type) {
new id = mysql_insert_id();
new index = findFreeApartment();
new data[128];
if(index == -1) {
ABroadcast(X11_RED,"[AdmWarn]: Failed to create Apartment. Apartment array is full.",EAdminFlags_BasicAdmin);
return 0;
}
Apartments[index][EApartmentSQLID] = id;
//format(Apartments[index][EBusinessName],64,"%s",name);
Apartments[index][EApartmentX] = X;
Apartments[index][EApartmentY] = Y;
Apartments[index][EApartmentZ] = Z;
Apartments[index][EApartmentExitX] = EX;
Apartments[index][EApartmentExitY] = EY;
Apartments[index][EApartmentExitZ] = EZ;
Apartments[index][EApartmentInterior] = interior;
Apartments[index][EApartmentPickup] = CreateDynamicPickup(1239, 16, Apartments[index][EApartmentX], Apartments[index][EApartmentY], Apartments[index][EApartmentZ]);
getApartmentTextLabel(index, data, sizeof(data));
Apartments[index][EApartmentTextLabel] = CreateDynamic3DTextLabel(data, X11_ORANGE, Apartments[index][EApartmentX], Apartments[index][EApartmentY], Apartments[index][EApartmentZ]+1.5,10.0);
format(data,sizeof(data),"[AdmNotice]: Apartment ID: %d",id);
ABroadcast(X11_RED,data,EAdminFlags_BasicAdmin);
return 1;
}