04.05.2012, 19:17
Sу queria saber se esse cуdigo estб correto,
obrigado pela atenзгo!
obrigado pela atenзгo!
pawn Код:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if (newkeys == KEY_SECONDARY_ATTACK && emcasa[playerid] == 0)
{
new pname[MAX_PLAYER_NAME];
new string[64];
GetPlayerName(playerid, pname, sizeof(pname));
for (new c = 0; c < MAX_CASAS; c++)
{
format(string, sizeof(string), "/Casas/casa%d.ini", c);
if (IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ")))
{
if (dini_Int(string, "Trancada") == 1)
{
if (strcmp(dini_Get(string, "Dono"), pname, true) == 0 || IsPlayerAdmin(playerid))
{
format(STRX, sizeof(STRX), "/Interiores/int%d.ini", dini_Int(string, "Int"));
if (dini_Exists(STRX))
{
emcasa[playerid] = 1;
new Float: X,
Float: Y,
Float: Z;
GetPlayerPos(playerid, X, Y, Z);
CasaX[playerid] = X;
CasaY[playerid] = Y;
CasaZ[playerid] = Z;
SetPlayerVirtualWorld(playerid, c);
SetPlayerInterior(playerid, dini_Int(STRX, "Int"));
SetPlayerPos(playerid, dini_Float(STRX, "EX"), dini_Float(STRX, "EY"), dini_Float(STRX, "EZ"));
SendClientMessage(playerid, Vermelho, "(CASAS) Vocк entrou na casa!");
}
}
}
else
{
format(STRX, sizeof(STRX), "/Interiores/int%d.ini", dini_Int(string, "Int"));
if (dini_Exists(STRX))
{
emcasa[playerid] = 1;
new Float: X,
Float: Y,
Float: Z;
GetPlayerPos(playerid, X, Y, Z);
CasaX[playerid] = X;
CasaY[playerid] = Y;
CasaZ[playerid] = Z;
SetPlayerVirtualWorld(playerid, c);
SetPlayerInterior(playerid, dini_Int(STRX, "Int"));
SetPlayerPos(playerid, dini_Float(STRX, "EX"), dini_Float(STRX, "EY"), dini_Float(STRX, "EZ"));
SendClientMessage(playerid, Vermelho, "(CASAS) Vocк entrou na casa!");
}
}
}
}
return 1;
}
if (newkeys == KEY_SECONDARY_ATTACK && emcasa[playerid] == 1)
{
emcasa[playerid] = 0;
SetPlayerVirtualWorld(playerid, 0);
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, CasaX[playerid], CasaY[playerid], CasaZ[playerid]);
SendClientMessage(playerid, Vermelho, "| INFO | Vocк saiu da casa.");
return 1;
}
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
new string[256];
for (new c = 0; c < MAX_CASAS; c++)
{
format(string, sizeof(string), "/Casas/casa%d.ini", c);
if (newkeys == KEY_WALK && IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ")))
{
if (strcmp(dini_Get(string, "Dono"), pname, true) == 0 || IsPlayerAdmin(playerid))
{
if (dini_Int(string, "Trancada") == 1)
{
SendClientMessage(playerid, Verde, "| CASAS | Esta casa estб trancada.");
}
else
{
//SendClientMessage(playerid, Verde, "| INFO | Esta casa estб trancada.");
}
}
}
if (newkeys == KEY_SECONDARY_ATTACK && IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ")))
{
if (dini_Int(string, "Trancada") == 1)
{
if (strcmp(dini_Get(string, "Dono"), pname, true) == 0 || IsPlayerAdmin(playerid))
{
format(STRX, sizeof(STRX), "/Interiores/int%d.ini", dini_Int(string, "Int"));
if (dini_Exists(STRX))
{
emcasa[playerid] = 1;
new Float: X,
Float: Y,
Float: Z;
GetPlayerPos(playerid, X, Y, Z);
CasaX[playerid] = X;
CasaY[playerid] = Y;
CasaZ[playerid] = Z;
SetPlayerVirtualWorld(playerid, c);
SetPlayerInterior(playerid, dini_Int(STRX, "Int"));
SetPlayerPos(playerid, dini_Float(STRX, "EX"), dini_Float(STRX, "EY"), dini_Float(STRX, "EZ"));
SendClientMessage(playerid, Vermelho, "(CASAS) Vocк entrou na casa!");
}
}
}
else
{
format(STRX, sizeof(STRX), "/Interiores/int%d.ini", dini_Int(string, "Int"));
if (dini_Exists(STRX))
{
emcasa[playerid] = 1;
new Float: X,
Float: Y,
Float: Z;
GetPlayerPos(playerid, X, Y, Z);
CasaX[playerid] = X;
CasaY[playerid] = Y;
CasaZ[playerid] = Z;
SetPlayerVirtualWorld(playerid, c);
SetPlayerInterior(playerid, dini_Int(STRX, "Int"));
SetPlayerPos(playerid, dini_Float(STRX, "EX"), dini_Float(STRX, "EY"), dini_Float(STRX, "EZ"));
SendClientMessage(playerid, Vermelho, "(CASAS) Vocк entrou na casa!");
}
}
}
return 1;
}
return 1;
}
if (strcmp(cmd, "/entrarcasa", true) == 0)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, sizeof(pname));
for (new c = 0; c < MAX_CASAS; c++)
{
format(string, sizeof(string), "/Casas/casa%d.ini", c);
if (IsPlayerInRangeOfPoint(playerid, 2.0, dini_Float(string, "PosX"), dini_Float(string, "PosY"), dini_Float(string, "PosZ")))
{
if (dini_Int(string, "Trancada") == 1)
{
if (strcmp(dini_Get(string, "Dono"), pname, true) == 0 || IsPlayerAdmin(playerid))
{
format(string, sizeof(string), "/Interiores/int%d.ini", dini_Int(string, "Int"));
if (dini_Exists(string))
{
emcasa[playerid] = 1;
new Float: X,
Float: Y,
Float: Z;
GetPlayerPos(playerid, X, Y, Z);
CasaX[playerid] = X;
CasaY[playerid] = Y;
CasaZ[playerid] = Z;
SetPlayerVirtualWorld(playerid, c);
SetPlayerInterior(playerid, dini_Int(string, "Int"));
SetPlayerPos(playerid, dini_Float(string, "EX"), dini_Float(string, "EY"), dini_Float(string, "EZ"));
SendClientMessage(playerid, Vermelho, "(CASAS) Vocк entrou na casa!");
}
}
}
else
{
format(string, sizeof(string), "/Interiores/int%d.ini", dini_Int(string, "Int"));
if (dini_Exists(string))
{
emcasa[playerid] = 1;
new Float: X,
Float: Y,
Float: Z;
GetPlayerPos(playerid, X, Y, Z);
CasaX[playerid] = X;
CasaY[playerid] = Y;
CasaZ[playerid] = Z;
SetPlayerVirtualWorld(playerid, c);
SetPlayerInterior(playerid, dini_Int(string, "Int"));
SetPlayerPos(playerid, dini_Float(string, "EX"), dini_Float(string, "EY"), dini_Float(string, "EZ"));
SendClientMessage(playerid, Vermelho, "(CASAS) Vocк entrou na casa!");
}
}
}
}
return 1;
}