All pastes #884715 Raw Edit

Someone

public text v1 · immutable
#884715 ·published 2008-01-30 15:33 UTC
rendered paste body

/*
 * Full house script by Antironix, modified by Leopard.
 */
//----------------------------
//----------------------------
#define BUSINESS 30
//----------------------------
//----------------------------

#define c_y 0xFFFF00AA
#define c_r 0xAA3333AA
new BizPickup[BUSINESS];
new playericonbiz[MAX_PLAYERS];
new Float:bizx, Float:bizy, Float:bizz;

forward UnFreeze(playerid);

AddBusiness(bizid, bizname, Float:iconX, Float:iconY, Float:iconZ, Float:interiorX, Float:interiorY, Float:interiorZ, Cost, Sell, Paycheck, Interior)
{
	new biz[128];
	format(biz, sizeof(biz), "BusinessID%d",bizid);
	if(!(dini_Exists(biz)))
	{
		dini_Create(udb_encode(biz));
		dini_Set(udb_encode(biz), "BusinessName", bizname);
		dini_Set(udb_encode(biz), "Name", "ForSale");
		dini_IntSet(udb_encode(biz), "Cost", Cost);
		dini_IntSet(udb_encode(biz), "Sell", Sell);
		dini_IntSet(udb_encode(biz), "Wager", Paycheck);
		dini_IntSet(udb_encode(biz), "Interior", Interior);
		dini_Set(udb_encode(biz), "Locked", "1");
		dini_FloatSet(udb_encode(biz), "X", interiorX);
		dini_FloatSet(udb_encode(biz), "Y", interiorY);
		dini_FloatSet(udb_encode(biz), "Z", interiorZ);
	}
	format(house, sizeof(house),"BusinessID%d Has Been Created!",bizid);
	print(house);

	BizPickup[bizid] = CreatePickup(1272, 23, iconX, iconY, iconZ);
}

GetBizStats(playerid, pickupid)
{
	if(pickupid<(BUSINESS-1))
	{
		new str[256],str1[256], str2[256];

		format(str, sizeof(str), "BusinessID%d", pickupid);

		str1 = dini_Get(udb_encode(str), "Name");

		format(str2, sizeof(str2), "~g~Owner: ~b~~h~%s", str1);

		GameTextForPlayer(playerid, str1, 4000, 4);

		str1 = dini_Get(udb_encode(str),"Cost");

		format(str2,sizeof(str2),"Cost: %i",strval(str1));

		SendClientMessage(playerid, c_y, str2); //str1

		str1 = dini_Get(udb_encode(str),"Wager");

		format(str2,sizeof(str2),"Wager: %i",strval(str1));

		str1 = dini_Get(udb_encode(str),"BusinessName");

		SendClientMessage(playerid, c_y, str2); //str1

		playericonbiz[playerid] = pickupid;
	}

}

dcmd_sellbiz(playerid,params[])
{
	#pragma unused params

	new str[255],str1[256],pname[24];
	GetPlayerName(playerid, pname, 24);
	format(str1, sizeof(str1), "BusinessID%d", playericonbiz[playerid]);
	str = dini_Get(udb_encode(str1),"Name");
	if (strcmp(str,pname,false)) return SendClientMessage(playerid, c_r, "This house isn't yours!");
 	SendClientMessage(playerid, c_y, "You have sold your biz!");
  	format(str, sizeof(str), "%s has sold bizid 0",pname);
	print(str);
	str = dini_Get(udb_encode(str1),"Sell");
	GivePlayerMoney(playerid, strval(str));
    dini_Set(udb_encode(str1), "Name", "ForSale");
    dini_IntSet(udb_encode(str1),"Locked",1);
    dini_IntSet(udb_encode(str1),"Wager", 0);
    dini_IntSet(udb_encode(pname),"House",-255);

   	return 1;
}

dcmd_buybiz(playerid,params[])
{
    #pragma unused params

	new str[255],str1[255],str2[256],pname[24];
	GetPlayerName(playerid, pname, 24);
	format(str1, sizeof(str1), "BusinessID%d", playericonbiz[playerid]);
	str = dini_Get(udb_encode(str1),"Name");
	if (strcmp(str,"ForSale",true)) return SendClientMessage(playerid, c_r, "This biz isn't for sale!");
	str = dini_Get(udb_encode(str1),"Cost");
	if(GetPlayerMoney(playerid)<strval(str)) return SendClientMessage(playerid, c_r, "Not enough money!");
	SendClientMessage(playerid, c_y, "You have bought the biz!");
	format(str, sizeof(str), "%s has bought bizid 0",pname);
	print(str);

	str = dini_Get(udb_encode(str1),"Cost");
	str2 = dini_Get(udb_encode(str1),"Wager");

	GivePlayerMoney(playerid, -strval(str));
    dini_Set(udb_encode(str1), "Name", pname);
    dini_IntSet(udb_encode(str1),"Locked",0);
    dini_IntSet(udb_encode(str1),"Wager", strval(str2));
    dini_IntSet(udb_encode(pname),"House",playericonbiz[playerid]);

   	return 1;
}

dcmd_enterbiz(playerid,params[])
{
    #pragma unused params

	new str[255],str1[255],pname[24],Float:x,Float:y,Float:z;
	format(str1, sizeof(str1), "BusinessID%d", playericonbiz[playerid]);
	GetPlayerName(playerid, pname, 24);
	str = dini_Get(str1,"Locked");
	if(strval(str)==1) return SendClientMessage(playerid, c_r, "This biz is locked!");
    SendClientMessage(playerid, c_y, "You entered the biz!");
    str = dini_Get(str1,"Interior");
    SetPlayerInterior(playerid, strval(str));
    x = dini_Float(str1,"X");
    y = dini_Float(str1,"Y");
    z = dini_Float(str1,"Z");
	SetPlayerPos(playerid, x, y, z);
	GetPlayerPos(playerid, bizx, bizy, bizz);
   	return 1;
}

dcmd_exitbiz(playerid,params[])
{
    #pragma unused params

	if(GetPlayerInterior(playerid)>0)
	{
		SetPlayerPos(playerid, bizx, bizy, bizz);
		SetPlayerInterior(playerid, 0);
		TogglePlayerControllable(playerid, false);
		SetTimerEx("UnFreeze", 2000, 0, "i", playerid);
	}
   	return 1;
}

/*dcmd_lock(playerid,params[])
{
    #pragma unused params

	new str[256], str1[256];
	new pName[MAX_PLAYER_NAME], pStr[256];

	format(str1, sizeof(str1), "houseid%d", playericonhouse[playerid]);
	GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
	format(pStr, sizeof(pStr), "%s", pName);

	str = dini_Get(str1,"Name");
	if(strval(str) == "ForSale")
	{
		SendClientMessage(playerid, c_r, "Youre not owning this house! :P");
		return 1;
	}
	else if(strval(str) == pStr)
	{
		dini_Set(udb_encode(str1), "Locked", 1);
	}
	return 1;
}

dcmd_unlock(playerid,params[])
{
    #pragma unused params

	new str[256], str1[256];
	new pName[MAX_PLAYER_NAME], pStr[256];

	format(str1, sizeof(str1), "houseid%d", playericonhouse[playerid]);
	GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
	format(pStr, sizeof(pStr), "%s", pName);

	str = dini_Get(str1,"Name");
	if(strval(str) == "ForSale")
	{
		SendClientMessage(playerid, c_r, "Youre not owning this house! :P");
		return 1;
	}
	else if(strval(str) == pStr)
	{
		dini_Set(udb_encode(str1), "Locked", 0);
	}
	return 1;
}*/


public UnFreeze(playerid)
{
	TogglePlayerControllable(playerid, true);
}

//native AddHouse(houseid, Float:iconX, Float:iconY, Float:iconZ, Float:interiorX, Float:interiorY, Float:interiorZ, Cost, Sell, Interior);