PHP код:
#include <a_samp>
#include <streamer>
new mapiconcasaid[MAX_CASAS];
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmd, "/criarcasa", true) == 0)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
if(pAdmin[playerid] == 5 || IsPlayerAdmin(playerid))
{
new tmp[256];
new preco, int;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, Vermelho, "/criarcasa [preзo] [interiorID]");
return 1;
}
preco = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, Vermelho, "/criarcasa [preзo] [interiorID]");
return 1;
}
int = strval(tmp);
format(string, sizeof(string), "/Casas/casa%d.ini", proximacasa);
if(!dini_Exists(string))
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
mapiconcasaid [ c ] = CreateDynamicMapIcon(x , y , z, 31, -1, -1, -1, -1, 60.0);
dini_Create(string);
dini_FloatSet(string, "PosX", X);
dini_FloatSet(string, "PosY", Y);
dini_FloatSet(string, "PosZ", Z);
dini_IntSet(string, "Int", int);
dini_IntSet(string, "Mundo", proximacasa);
dini_IntSet(string, "TDono", 0);
dini_Set(string, "Dono", "Ninguem");
dini_IntSet(string, "Preco", preco);
dini_IntSet(string, "Trancada", 0);
dini_IntSet(string, "TMorador", 0);
dini_Set(string, "Morador", "Ninguem");
new pickupid;
pickupid = CreatePickup(1273, 1, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), -1);
dini_IntSet(string, "Id", pickupid);
proximacasa++;
}
}
return 1;
}
if(strcmp(cmdtext, "/comprarcasa", true) == 0)
{
for(new c = 0; c < MAX_CASAS; c++)
{
format(string, sizeof(string), "/Casas/casa%d.ini", c);
if(dini_Exists(string))
{
if(IsPlayerInRangeOfPoint(playerid, 6.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ")))
{
if(dini_Int(string, "TDono") == 0)
{
if(GetPlayerGrana(playerid) >= dini_Int(string, "Preco"))
{
if(GetCasas(playerid) < 1)
{
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
mapiconcasaid [ c ] = CreateDynamicMapIcon(x , y , z, 32, -1, -1, -1, -1, 60.0);
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
dini_IntSet(string, "TDono", 1);
dini_Set(string, "Dono", pname);
GivePlayerGrana(playerid, -dini_Int(string, "Preco"));
new pickupid;
DestroyPickup(dini_Int(string, "Id"));
pickupid = CreatePickup(1272, 1, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), -1);
dini_IntSet(string, "Id", pickupid);
OnPlayerCommandText(playerid, "/nascercasa");
}
else
{
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк sу pode ter uma casa!");
}
}
else
{
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo tem dinheiro!");
}
}
else
{
SendClientMessage(playerid, Vermelho, "(ERRO) Esta casa nгo estб a venda!");
}
}
else
{
}
}
}
return 1;
}
if(strcmp(cmdtext, "/vendercasa", true) == 0)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
format(file, sizeof(file), PASTA_CONTAS, pname);
for(new c = 0; c < MAX_CASAS; c++)
{
format(string, sizeof(string), "/Casas/casa%d.ini", c);
if(dini_Exists(string))
{
if(IsPlayerInRangeOfPoint(playerid, 6.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ")))
{
if(dini_Int(string, "TDono") == 1)
{
if(strcmp(dini_Get(string, "Dono"), pname, true) == 0 || pAdmin[playerid] == 5 || IsPlayerAdmin(playerid))
{
if(strcmp(dini_Get(string, "Dono"), pname, true) == 0)
{
dini_FloatSet(file,"CasaX",Float:1410.5046);
dini_FloatSet(file,"CasaY",Float:-1789.7197);
dini_FloatSet(file,"CasaZ",Float:13.8285);
}
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
for( new i = 0; i <GetMaxPlayers( ) ; i++ )
{
RemovePlayerMapIcon(i, mapiconcasaid [ c ] );
}
mapiconcasaid [ c ] = CreateDynamicMapIcon(x , y , z, 31, -1, -1, -1, -1, 60.0);
dini_IntSet(string, "TDono", 0);
dini_Set(string, "Dono", "Ninguem");
GivePlayerGrana(playerid, dini_Int(string, "Preco"));
new pickupid;
DestroyPickup(dini_Int(string, "Id"));
pickupid = CreatePickup(1273, 1, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ"), -1);
dini_IntSet(string, "Id", pickupid);
}
else
{
SendClientMessage(playerid, Vermelho, "(ERRO) Esta casa nгo й sua.");
}
}
else
{
SendClientMessage(playerid, Vermelho, "(ERRO) Esta casa jб estб a venda !");
}
}
else
{
SendClientMessage(playerid, Vermelho, "[INFO] Vocк nгo estб em uma casa.");
}
}
}
return 1;
}
return 0;
}
Os Cуdigos abaixo irei dar um exemplo para vocк colocar no carregamento das casas quando vocк liga seu GM.