House System - Vehicle?
#1

Код:
#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] = CreateVehicle(HouseVehicleModelId[H],HouseVehiclePositionX[H],HouseVehiclePositionY[H],HouseVehiclePositionZ[H],HouseVehiclePositionA[H],HouseVehicleColor1[H],HouseVehicleColor2[H],0);
			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;
	}
}

public OnPlayerConnect(playerid)
{
	GetPlayerName(playerid,PlayerName[playerid],30);
	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;
}
And how i can check if player is in private house vehicle?
Reply
#2

pawn Код:
new vid = GetPlayerVehicleID(playerid);
for(new h = 0; h < MAXIMAL_HOUSES; h++)
{
   if(vid == HouseVehicleId[h])
   {
      // Your code here
   }
}
Reply
#3

Код:
public OnPlayerStateChange(playerid,newstate,oldstate)
{
	if(newstate == PLAYER_STATE_DRIVER)
	{
		for(new H = 0; H < MAXIMAL_HOUSES; H++)
		{
		    if(HouseVehicleId[H] == GetPlayerVehicleID(playerid))
		    {
		        if(strcmp(HouseOwner[H],PlayerName[playerid],false))
		        {
					RemovePlayerFromVehicle(playerid);
		        }
				break;
		    }
		}
	}
	return 1;
}
No work, i do print in strcmp but not printed... i use nick Brokenbreaken in game, in file owner its ImNewbie so why this dont work?
Reply
#4

#EDIT:
Код:
printf("%s - %s",PlayerName[playerid],HouseOwner[H]);
Printed : " - ImNewbie"
Код:
#define MAXIMAL_PLAYERS 100
new PlayerName[MAXIMAL_PLAYERS][30];
public OnPlayerConnect(playerid)
{
	GetPlayerName(playerid,PlayerName[playerid],30);
	return 1;
}
So what the fuck gonna now?
Reply
#5

Use;
pawn Код:
GetPlayerName(playerid, PlayerName[playerid], MAX_PLAYER_NAME);
if(strcmp(HouseOwner[H],PlayerName[playerid],false) != 0)
{
   // code here
}
Reply
#6

Ok but why OnPlayerConnect dont work?
Код:
public OnPlayerConnect(playerid)
{
	print("connected");
	GetPlayerName(playerid,PlayerName[playerid],30);
	printf("%s",PlayerName[playerid]);
	return 1;
}
Nothing printed, any include can do this? y_ini,y_commands,sscanf or streamer?
Reply
#7

Quote:
Originally Posted by Brokenbreaken
Посмотреть сообщение
Ok but why OnPlayerConnect dont work?
Код:
public OnPlayerConnect(playerid)
{
	print("connected");
	GetPlayerName(playerid,PlayerName[playerid],30);
	printf("%s",PlayerName[playerid]);
	return 1;
}
Nothing printed, any include can do this? y_ini,y_commands,sscanf or streamer?
Try changing the size of your PlayerName arrays to MAX_PLAYER_NAME.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)