22.02.2013, 11:43
Hello, i have problem with my houses system, if i enter vehicle with other nick than in owner in file nothing happens. Below is code [gamemode] and data from file.
And file.
Код:
#include <a_samp> #include <YSI\y_ini> #include <YSI\y_commands> #include <streamer> #include <sscanf2> #define MAXIMAL_PLAYERS 100 #define MAXIMAL_HOUSES 1000 #define FOLDER_HOUSES "Houses" #define COLOR_BLUE "{009696}" #define COLOR_ORANGE "{C86400}" #define COLOR_RED "{9F0000}" forward HouseLoad(Id,name[],value[]); new PlayerName[MAXIMAL_PLAYERS][30]; new HouseId[MAXIMAL_HOUSES]; new HouseName[MAXIMAL_HOUSES][30]; new HouseExterior[MAXIMAL_HOUSES]; new HouseInterior[MAXIMAL_HOUSES]; new HousePrice[MAXIMAL_HOUSES]; new HouseLocked[MAXIMAL_HOUSES]; new HouseOwned[MAXIMAL_HOUSES]; new HouseOwner[MAXIMAL_HOUSES][30]; new Float:HouseEnterPickupPositionX[MAXIMAL_HOUSES]; new Float:HouseEnterPickupPositionY[MAXIMAL_HOUSES]; new Float:HouseEnterPickupPositionZ[MAXIMAL_HOUSES]; new Float:HouseEnterPickupPositionA[MAXIMAL_HOUSES]; new Float:HouseExitPickupPositionX[MAXIMAL_HOUSES]; new Float:HouseExitPickupPositionY[MAXIMAL_HOUSES]; new Float:HouseExitPickupPositionZ[MAXIMAL_HOUSES]; new Float:HouseExitPickupPositionA[MAXIMAL_HOUSES]; new HouseVehicleId[MAXIMAL_HOUSES]; new HouseVehicleModelId[MAXIMAL_HOUSES]; new Float:HouseVehiclePositionX[MAXIMAL_HOUSES]; new Float:HouseVehiclePositionY[MAXIMAL_HOUSES]; new Float:HouseVehiclePositionZ[MAXIMAL_HOUSES]; new Float:HouseVehiclePositionA[MAXIMAL_HOUSES]; new HouseVehicleColor1[MAXIMAL_HOUSES]; new HouseVehicleColor2[MAXIMAL_HOUSES]; new HouseVehiclePaintJob[MAXIMAL_HOUSES]; new HouseVehicleComponent1[MAXIMAL_HOUSES]; new HouseVehicleComponent2[MAXIMAL_HOUSES]; new HouseVehicleComponent3[MAXIMAL_HOUSES]; new HouseVehicleComponent4[MAXIMAL_HOUSES]; new HouseVehicleComponent5[MAXIMAL_HOUSES]; new HouseVehicleComponent6[MAXIMAL_HOUSES]; new HouseVehicleComponent7[MAXIMAL_HOUSES]; new HouseVehicleComponent8[MAXIMAL_HOUSES]; new HouseVehicleComponent9[MAXIMAL_HOUSES]; new HouseVehicleComponent10[MAXIMAL_HOUSES]; new HouseVehicleComponent11[MAXIMAL_HOUSES]; new HouseVehicleComponent12[MAXIMAL_HOUSES]; new HouseVehicleComponent13[MAXIMAL_HOUSES]; new HouseVehicleComponent14[MAXIMAL_HOUSES]; new HouseEnterPickup[MAXIMAL_HOUSES]; new HouseExitPickup[MAXIMAL_HOUSES]; new HouseMapIcon[MAXIMAL_HOUSES]; new Text3D:HouseText3D[MAXIMAL_HOUSES]; new Houses; public OnGameModeInit() { AddPlayerClass(0,0,0,5,0,0,0,0,0,0,0); new String[150]; for(new H = 0; H < MAXIMAL_HOUSES; H++) { format(String,150,"%s/%d.ini",FOLDER_HOUSES,H); if(fexist(String)) { HouseId[H] = H; INI_ParseFile(String,"HouseLoad",false,true,H); HouseVehicleId[H] = AddStaticVehicle(HouseVehicleModelId[H],HouseVehiclePositionX[H],HouseVehiclePositionY[H],HouseVehiclePositionZ[H],HouseVehiclePositionA[H],HouseVehicleColor1[H],HouseVehicleColor2[H]); ChangeVehiclePaintjob(HouseVehicleId[H],HouseVehiclePaintJob[H]); AddVehicleComponents(HouseVehicleId[H],HouseVehicleComponent1[H],HouseVehicleComponent2[H],HouseVehicleComponent3[H],HouseVehicleComponent4[H],HouseVehicleComponent5[H],HouseVehicleComponent6[H],HouseVehicleComponent7[H],HouseVehicleComponent8[H],HouseVehicleComponent9[H],HouseVehicleComponent10[H],HouseVehicleComponent11[H],HouseVehicleComponent12[H],HouseVehicleComponent13[H],HouseVehicleComponent14[H]); if(HouseOwned[H] == 1) { HouseEnterPickup[H] = CreateDynamicPickup(1272,0,HouseEnterPickupPositionX[H],HouseEnterPickupPositionY[H],HouseEnterPickupPositionZ[H],0,HouseExterior[H]); HouseExitPickup[H] = CreateDynamicPickup(1272,0,HouseExitPickupPositionX[H],HouseExitPickupPositionY[H],HouseExitPickupPositionZ[H],HouseId[H],HouseInterior[H]); HouseMapIcon[H] = CreateDynamicMapIcon(HouseEnterPickupPositionX[H],HouseEnterPickupPositionY[H],HouseEnterPickupPositionZ[H],32,1,0,HouseExterior[H]); if(HouseLocked[H] == 1) format(String,150,""COLOR_BLUE"Dom Zajęty - Id: "COLOR_ORANGE"%d\n"COLOR_BLUE"%s\n"COLOR_BLUE"Właściciel: "COLOR_ORANGE"%s\n"COLOR_BLUE"Zamknięty: "COLOR_ORANGE"Tak",HouseId[H],HouseName[H],HouseOwner[H]); if(HouseLocked[H] == 0) format(String,150,""COLOR_BLUE"Dom Zajęty - Id: "COLOR_ORANGE"%d\n"COLOR_BLUE"%s\n"COLOR_BLUE"Właściciel: "COLOR_ORANGE"%s\n"COLOR_BLUE"Zamknięty: "COLOR_ORANGE"Nie",HouseId[H],HouseName[H],HouseOwner[H]); HouseText3D[H] = CreateDynamic3DTextLabel(String,0xFFFFFFFF,HouseEnterPickupPositionX[H],HouseEnterPickupPositionY[H],HouseEnterPickupPositionZ[H],10); } if(HouseOwned[H] == 0) { HouseEnterPickup[H] = CreateDynamicPickup(1273,0,HouseEnterPickupPositionX[H],HouseEnterPickupPositionY[H],HouseEnterPickupPositionZ[H],0,HouseExterior[H]); HouseExitPickup[H] = CreateDynamicPickup(1273,0,HouseExitPickupPositionX[H],HouseExitPickupPositionY[H],HouseExitPickupPositionZ[H],HouseId[H],HouseInterior[H]); HouseMapIcon[H] = CreateDynamicMapIcon(HouseEnterPickupPositionX[H],HouseEnterPickupPositionY[H],HouseEnterPickupPositionZ[H],31,1,0,HouseExterior[H]); format(String,150,""COLOR_ORANGE"Dom Na Sprzedaż - Id: "COLOR_BLUE"%d\n"COLOR_ORANGE"%s\n"COLOR_ORANGE"Koszt: "COLOR_BLUE"%d$",HouseId[H],HouseName[H],HousePrice[H]); HouseText3D[H] = CreateDynamic3DTextLabel(String,0xFFFFFFFF,HouseEnterPickupPositionX[H],HouseEnterPickupPositionY[H],HouseEnterPickupPositionZ[H],10); } Houses++; } if(!fexist(String)) continue; } return 1; } public OnPlayerConnect(playerid) { GetPlayerName(playerid,PlayerName[playerid],30); return 1; } public OnPlayerEnterVehicle(playerid,vehicleid) { new String[150]; for(new H = 0; H < MAXIMAL_HOUSES; H++) { if(HouseVehicleId[H] == vehicleid) { if(strcmp(HouseOwner[H],PlayerName[playerid],false)) { new Float:X; new Float:Y; new Float:Z; GetPlayerPos(playerid,X,Y,Z); SetPlayerPos(playerid,X,Y,Z); format(String,150,""COLOR_RED"Nie możesz wsiąść do tego pojazdu, należy on do %s.",HouseOwner[H]); SendClientMessage(playerid,0xFFFFFFFF,String); } break; } } return 1; } public HouseLoad(Id,name[],value[]) { INI_String("HouseName",HouseName[Id],30); INI_Int("HouseExterior",HouseExterior[Id]); INI_Int("HouseInterior",HouseInterior[Id]); INI_Int("HousePrice",HousePrice[Id]); INI_Int("HouseLocked",HouseLocked[Id]); INI_Int("HouseOwned",HouseOwned[Id]); INI_String("HouseOwner",HouseOwner[Id],30); INI_Float("HouseEnterPickupPositionX",HouseEnterPickupPositionX[Id]); INI_Float("HouseEnterPickupPositionY",HouseEnterPickupPositionY[Id]); INI_Float("HouseEnterPickupPositionZ",HouseEnterPickupPositionZ[Id]); INI_Float("HouseEnterPickupPositionA",HouseEnterPickupPositionA[Id]); INI_Float("HouseExitPickupPositionX",HouseExitPickupPositionX[Id]); INI_Float("HouseExitPickupPositionY",HouseExitPickupPositionY[Id]); INI_Float("HouseExitPickupPositionZ",HouseExitPickupPositionZ[Id]); INI_Float("HouseExitPickupPositionA",HouseExitPickupPositionA[Id]); INI_Int("HouseVehicleModelId",HouseVehicleModelId[Id]); INI_Float("HouseVehiclePositionX",HouseVehiclePositionX[Id]); INI_Float("HouseVehiclePositionY",HouseVehiclePositionY[Id]); INI_Float("HouseVehiclePositionZ",HouseVehiclePositionZ[Id]); INI_Float("HouseVehiclePositionA",HouseVehiclePositionA[Id]); INI_Int("HouseVehicleColor1",HouseVehicleColor1[Id]); INI_Int("HouseVehicleColor2",HouseVehicleColor2[Id]); INI_Int("HouseVehiclePaintJob",HouseVehiclePaintJob[Id]); INI_Int("HouseVehicleComponent1",HouseVehicleComponent1[Id]); INI_Int("HouseVehicleComponent2",HouseVehicleComponent2[Id]); INI_Int("HouseVehicleComponent3",HouseVehicleComponent3[Id]); INI_Int("HouseVehicleComponent4",HouseVehicleComponent4[Id]); INI_Int("HouseVehicleComponent5",HouseVehicleComponent5[Id]); INI_Int("HouseVehicleComponent6",HouseVehicleComponent6[Id]); INI_Int("HouseVehicleComponent7",HouseVehicleComponent7[Id]); INI_Int("HouseVehicleComponent8",HouseVehicleComponent8[Id]); INI_Int("HouseVehicleComponent9",HouseVehicleComponent9[Id]); INI_Int("HouseVehicleComponent10",HouseVehicleComponent10[Id]); INI_Int("HouseVehicleComponent11",HouseVehicleComponent11[Id]); INI_Int("HouseVehicleComponent12",HouseVehicleComponent12[Id]); INI_Int("HouseVehicleComponent13",HouseVehicleComponent13[Id]); INI_Int("HouseVehicleComponent14",HouseVehicleComponent14[Id]); return 1; } stock AddVehicleComponents(VehicleId,...) { new Arguments; Arguments = numargs(); for(new A = 1; A < Arguments; A++) { AddVehicleComponent(VehicleId,getarg(A,0)); } return 1; }
Код:
HouseName = The House HouseExterior = 0 HouseInterior = 0 HousePrice = 1000021 HouseLocked = 0 HouseOwned = 1 HouseOwner = ImNewbie HouseEnterPickupPositionX = 0.0 HouseEnterPickupPositionY = 0.0 HouseEnterPickupPositionZ = 5.0 HouseEnterPickupPositionA = 0.0 HouseExitPickupPositionX = 50.0 HouseExitPickupPositionY = 50.0 HouseExitPickupPositionZ = 100.0 HouseExitPickupPositionA = 200.0 HouseVehicleModelId = 429 HouseVehiclePositionX = 0.0 HouseVehiclePositionY = 0.0 HouseVehiclePositionZ = 0.0 HouseVehiclePositionA = 0.0 HouseVehicleColor1 = 1 HouseVehicleColor2 = 0 HouseVehiclePaintJob = 3 HouseVehicleComponent1 = 0 HouseVehicleComponent2 = 0 HouseVehicleComponent3 = 0 HouseVehicleComponent4 = 0 HouseVehicleComponent5 = 0 HouseVehicleComponent6 = 0 HouseVehicleComponent7 = 0 HouseVehicleComponent8 = 0 HouseVehicleComponent9 = 0 HouseVehicleComponent10 = 0 HouseVehicleComponent11 = 0 HouseVehicleComponent12 = 0 HouseVehicleComponent13 = 0 HouseVehicleComponent14 = 0