25.02.2013, 00:14
Ok I want this to basically find the interior name i put and search through and set it even if i have shortened it like for example i want the house interior to be cj's house and instead of putting cj's house i put just cj and it will do it.
pawn Код:
enum Hinfo
{
HID,
Float:Xpos,
Float:Ypos,
Float:Zpos,
Howner[24],
bool:Howned,
interior,
Interiorname[100]
}
new HouseInfo[MAX_HOUSES][Hinfo];
new House[MAX_PLAYERS];
new bool:HCreated[MAX_HOUSES];
enum InteriorInfo
{
InteriorName[100],
InteriorID,
Float:InteriorX,
Float:InteriorY,
Float:InteriorZ
}
new Interiors [][InteriorInfo] =
{
{"Ammunation 1", 1, 286.148986,-40.644397,1001.515625},
{"Ammunation 2", 4, 286.800994,-82.547599,1001.515625},
{"Ammunation 3", 6, 296.919982,-108.071998,1001.515625},
{"Ammunation 4", 7, 314.820983,-141.431991,999.601562},
{"Ammunation 5", 6, 316.524993,-167.706985,999.593750},
{"Ammunation booths", 7, 302.292877,-143.139099,1004.062500},
{"Ammunation range", 7, 298.507934,-141.647048,1004.054748},
{"Budget inn motel room", 12, 444.646911,508.239044,1001.419494},
{"Jefferson motel", 15, 2215.454833,-1147.475585,1025.796875},
{"Off track betting shop", 3, 833.269775,10.588416,1004.179687},
{"Sex shop", 3, -103.559165,-24.225606,1000.718750},
{"Meat factory", 1, 963.418762,2108.292480,1011.030273},
{"Zero's RC shop", 6, -2240.468505,137.060440,1035.414062},
{"Catigula's basement", 1, 2169.461181,1618.798339,999.976562},
{"Club", 17, 493.390991,-22.722799,1000.679687},
{"Bar", 11, 501.980987,-69.150199,998.757812},
{"Lil' probe inn", 18, -227.027999,1401.229980,27.765625},
{"Denise room", 1, 244.411987,305.032989,999.148437},
{"Katie room", 2, 271.884979,306.631988,999.148437},
{"Helena room", 3, 291.282989,310.031982,999.148437},
{"Michelle room", 4, 302.180999,300.722991,999.148437},
{"Barbara room", 5, 322.197998,302.497985,999.148437},
{"Millie room", 6, 346.870025,309.259033,999.155700},
{"Sherman dam", 17, -959.564392,1848.576782,9.000000},
{"B Dup's house", 3, 1527.229980,-11.574499,1002.097106},
{"B Dup's crack pad", 2, 1523.509887,-47.821197,1002.130981},
{"Cj's house", 3, 2496.049804,-1695.238159,1014.742187},
{"Madd Doggs mansion", 5, 1267.663208,-781.323242,1091.906250},
{"Ryders house", 2, 2454.717041,-1700.871582,1013.515197},
{"Sweet's house", 1, 2527.654052,-1679.388305,1015.498596},
{"Crack factory", 2, 2543.462646,-1308.379882,1026.728393},
{"Big spread ranch", 3, 1212.019897,-28.663099,1000.953125},
{"Strip club", 2, 1204.809936,-11.586799,1000.921875},
{"Strip club private room", 2, 1204.809936,13.897239,1000.921875},
{"Unnamed brothel", 3, 942.171997,-16.542755,1000.929687},
{"Tiger skin brothel", 3, 964.106994,-53.205497,1001.124572},
{"Pleasure domes", 3, -2640.762939,1406.682006,906.460937},
{"Liberty city inside", 1, -794.806396,497.738037,1376.195312},
{"Gang house", 5, 2350.339843,-1181.649902,1027.976562},
{"Colonel Furhberger's", 8, 2807.619873,-1171.899902,1025.570312},
{"Crack den", 5, 318.564971,1118.209960,1083.882812},
{"Warehouse 1", 1, 1412.639892,-1.787510,1000.924377},
{"Warehouse 2", 18, 1302.519897,-1.787510,1001.028259},
{"Unused safe house", 12, 2324.419921,-1145.568359,1050.710083},
{"RC Battlefield", 10, -975.975708,1060.983032,1345.671875}
};
stock HouseGetFreeSlot()
{
for(new i = 0; i < MAX_HOUSES; i++)
{
if(!HCreated[i]) return i;
}
return -1;
}
stock GetInteriorIDFromName(intname[])
{
for(new i = 0; i < 500; i++)
{
if (strfind(Interiors[i][InteriorName], intname, true) != -1)
return Interiors[i][InteriorID];
}
return -1;
}
GetInteriorName(intname[])
{
for(new i = 0;i < 47;i++)
{
if(strfind(Interiors[i][InteriorName], intname, true) != -1)
return Interiors[i][InteriorName];
}
return -1;
}
stock HouseCreate(owner[], interiorname[], HouseInt, Float:X, Float:Y, Float:Z)
{
new HouseID = HouseGetFreeSlot();
HouseInfo[HouseID][Xpos] = X;
HouseInfo[HouseID][Ypos] = Y;
HouseInfo[HouseID][Zpos] = Z;
format(HouseInfo[HouseID][Howner], 24, "%s", owner);
HouseInfo[HouseID][Howned] = true;
HCreated[HouseID] = true;
HouseInfo[HouseID][HID] = CreateDynamicPickup(1273, 1, X, Y, Z, -1, -1, -1, 100.0);
format(HouseInfo[HouseID][Interiorname], 100, "%s", GetInteriorName(interiorname));
HouseInfo[HouseID][interior] = HouseInt;
return 1;
}
CMD:chouse(playerid, params[])
{
new owner[24], interiorName[100], intid, Float:pos[3];
if(sscanf(params,"s[24]s[100]i",owner, interiorName, intid)) return SendClientMessage(playerid, -1, "Usage: /chouse <owner> <interior name> <interior id>");
GetPlayerPos(playerid, pos[0], pos[1], pos[2]);
HouseCreate(owner, interiorName, intid, pos[0], pos[1], pos[2]);
return 1;
}
CMD:exithouse(playerid, params[])
{
new HouseI = House[playerid];
SetPlayerPos(playerid, HouseInfo[HouseI][Xpos], HouseInfo[HouseI][Ypos], HouseInfo[HouseI][Zpos]);
return 1;
}
public OnPlayerPickUpDynamicPickup(playerid, pickupid)
{
for(new i = 0; i < MAX_HOUSES; i++)
{
if(HouseInfo[i][HID] == pickupid)
{
SetPlayerInterior(playerid, HouseInfo[i][interior]);
new Float:X, Float:Y, Float:Z;
if (strfind(Interiors[i][InteriorName], HouseInfo[i][Interiorname], true) != -1)
X = Interiors[i][InteriorX];
Y = Interiors[i][InteriorY];
Z = Interiors[i][InteriorZ];
SetPlayerPos(playerid, X, Y, Z);
new string[128];
format(string, 128, "You have entered %s house", HouseInfo[i][Howner]);
SendClientMessage(playerid, -1, string);
House[playerid] = i;
printf("Interior name: %s Interiorx %f Interiory %f Interiorz %f", HouseInfo[i][Interiorname], Interiors[i][InteriorX], Interiors[i][InteriorX]);
}
}
return 1;
}