CMD:entrarcasa(playerid)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
new string[256];
for(new casa = 0; casa < MAX_CASAS; casa++)
{
format(string, sizeof(string), DIRETORIO, casa);
if(IsPlayerInRangeOfPoint(playerid, 2.0, DOF2_GetFloat(string,"CasaX"),DOF2_GetFloat(string,"CasaY"),DOF2_GetFloat(string,"CasaZ")))
{
if(DOF2_GetInt(string, "Trancada") == 0)
{
new strx[256];
format(strx, sizeof(strx), "/Interiores/int%d.ini", DOF2_GetInt(string, "Int"));
if(DOF2_FileExists(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;
SetPlayerInterior(playerid, DOF2_GetInt(strx, "Int"));
SetPlayerPos(playerid, DOF2_GetFloat(strx, "EX"), DOF2_GetFloat(strx, "EY"), DOF2_GetFloat(strx, "EZ"));
SendClientMessage(playerid, VERMELHO_ESCURO, "[ CASA ] Vocк entrou na casa para sair use F");
}
}
else if(DOF2_GetInt(string, "Trancada") == 1)
{
SendClientMessage(playerid, VERMELHO_ESCURO, "[ x ] A casa estб trancada");
}
}
}
return 1;
}
CMD:saircasa(playerid)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
new string[256];
for(new casa = 0; casa < MAX_CASAS; casa++)
{
format(string, sizeof(string), DIRETORIO, casa);
new strx[256];
format(strx, sizeof(strx), "/Interiores/int%d.ini", DOF2_GetInt(string, "Int"));
if(DOF2_FileExists(strx))
{
if(IsPlayerInRangeOfPoint(playerid, 2.0, DOF2_GetFloat(strx, "EX"), DOF2_GetFloat(strx, "EY"), DOF2_GetFloat(strx, "EZ")))
{
emcasa[playerid] = 0;
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, DOF2_GetFloat(string,"CasaX"),DOF2_GetFloat(string,"CasaY"),DOF2_GetFloat(string,"CasaZ"));
SendClientMessage(playerid, VERMELHO_ESCURO, "[ CASA ] Vocк saiu na casa para entrar use F");
}
}
}
return 1;
}
Faz debugg como a Ana4Ever disse:
Faz debugg das variбveis das casas (X,Y,Z etc) depois no comando. muito simples. |
CMD:entrarcasa(playerid)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
new string[256];
for(new casa = 0; casa < MAX_CASAS; casa++)
{
format(string, sizeof(string), DIRETORIO, casa);
if(!IsPlayerInRangeOfPoint(playerid, 2.0, DOF2_GetFloat(string,"CasaX"),DOF2_GetFloat(string,"CasaY"),DOF2_GetFloat(string,"CasaZ"))) return SendClientMessage(playerid, VERMELHO_ESCURO, "[ x ] Vocк nгo estб em nenhuma casa");
if(DOF2_GetInt(string, "Trancada") == 0)
{
new strx[256];
format(strx, sizeof(strx), "/Interiores/int%d.ini", DOF2_GetInt(string, "Int"));
if(DOF2_FileExists(strx))
{
emcasa[playerid] = 1;
CasaX[playerid] = DOF2_GetFloat(string,"CasaX");
CasaY[playerid] = DOF2_GetFloat(string,"CasaY");
CasaZ[playerid] = DOF2_GetFloat(string,"CasaZ");
SetPlayerInterior(playerid, DOF2_GetInt(strx, "Int"));
SetPlayerPos(playerid, DOF2_GetFloat(strx, "EX"), DOF2_GetFloat(strx, "EY"), DOF2_GetFloat(strx, "EZ"));
SendClientMessage(playerid, VERMELHO_ESCURO, "[ CASA ] Vocк entrou na casa para sair use F");
new debugmsg[80];
format(debugmsg, sizeof(debugmsg), "Posx: %f Posy: %f Posz: %f", CasaX[playerid], CasaY[playerid], CasaZ[playerid]);
printf(debugmsg);
}
}
else if(DOF2_GetInt(string, "Trancada") == 1)
{
SendClientMessage(playerid, VERMELHO_ESCURO, "[ x ] A casa estб trancada");
}
}
return 1;
}
CMD:saircasa(playerid)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
new string[256];
for(new casa = 0; casa < MAX_CASAS; casa++)
{
format(string, sizeof(string), DIRETORIO, casa);
new strx[256];
format(strx, sizeof(strx), "/Interiores/int%d.ini", DOF2_GetInt(string, "Int"));
if(DOF2_FileExists(strx))
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, DOF2_GetFloat(strx, "EX"), DOF2_GetFloat(strx, "EY"), DOF2_GetFloat(strx, "EZ"))) return SendClientMessage(playerid, VERMELHO_ESCURO, "[ x ] Vocк nгo estб na porta da casa");
emcasa[playerid] = 0;
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, CasaX[playerid], CasaY[playerid], CasaZ[playerid]);
SendClientMessage(playerid, VERMELHO_ESCURO, "[ CASA ] Vocк saiu na casa para entrar use F");
}
}
return 1;
}
Fiz sim, Agora ta dizendo que nao estou na casa:
![]() Cуdigo atualizado PHP код:
|
new bool: casaperto = false; for(new ... { if(IsPlayerInRangeOfPoint(playe... { //funзхes casaperto = true; } } if(casaperto == false) return SendClientMessage(playerid, -1, "voce nao ta perto de nenhuma casa.");
CMD:entrarcasa(playerid)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
new string[256];
new bool:erro = true, slot;
for(new x = 0; x < MAX_CASAS; x++)
{
format(string, sizeof(string), DIRETORIO, x);
if(IsPlayerInRangeOfPoint(playerid, 2.0, DOF2_GetFloat(string, "CasaX"), DOF2_GetFloat(string, "CasaY"), DOF2_GetFloat(string, "CasaZ"))
{
slot = x;
erro = false;
}
}
if(erro == true) return SendClientMessage(playerid, VERMELHO_ESCURO, "[ x ] Vocк nгo estб em nenhuma casa");
format(string, sizeof(string), DIRETORIO, slot);
if(DOF2_GetInt(string, "Trancada") == 0)
{
emcasa[playerid] = 1;
CasaX[playerid] = DOF2_GetFloat(string,"CasaX");
CasaY[playerid] = DOF2_GetFloat(string,"CasaY");
CasaZ[playerid] = DOF2_GetFloat(string,"CasaZ");
SetPlayerInterior(playerid, DOF2_GetInt(string, "Int")); // vc estava usando strx
//
SetPlayerPos(playerid, DOF2_GetFloat(string, "EX"), DOF2_GetFloat(string, "EY"), DOF2_GetFloat(string, "EZ"));// vc estava usando strx
//
SendClientMessage(playerid, VERMELHO_ESCURO, "[ CASA ] Vocк entrou na casa para sair use F");
return 1;
}
else if(DOF2_GetInt(string, "Trancada") == 1)
{
SendClientMessage(playerid, VERMELHO_ESCURO, "[ x ] A casa estб trancada");
return 1;
}
return 1;
}
CMD:saircasa(playerid)
{
new pname[MAX_PLAYER_NAME];
GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
new string[256];
new bool:erro = true, slot;
for(new x = 0; x < MAX_CASAS; x++)
{
format(string, sizeof(string), DIRETORIO, x);
if(IsPlayerInRangeOfPoint(playerid, 2.0, DOF2_GetFloat(string, "EX"), DOF2_GetFloat(string, "EY"), DOF2_GetFloat(string, "EZ"))
{
slot = x;
erro = false;
}
}
if(erro == true) return SendClientMessage(playerid, VERMELHO_ESCURO, "[ x ] Vocк nгo estб na porta da casa");
format(string, sizeof(string), DIRETORIO, slot);
emcasa[playerid] = 0;
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, CasaX[playerid], CasaY[playerid], CasaZ[playerid]);
return 1;
}
InHouseDoor(playerid)
{
new string[50];
for(new idcasa = 0; idcasa < MAX_CASAS; idcasa++)
{
format(string,50, DIRETORIO, idcasa);
if(IsPlayerInRangeOfPoint(playerid, 2.5, DOF2_GetFloat(string,"CasaX"),DOF2_GetFloat(string,"CasaY"),DOF2_GetFloat(string,"CasaZ")))
{
return idcasa;
}
}
return -255;
}
CMD:entrar(playerid)
{
if(InHouseDoor(playerid))
SendClientMessage(playerid,-1,"Vocк estб em uma casa!");
else
SendClientMessage(playerid,-1,"Vocк nгo estб em uma casa!");
return 1;
}
PHP код:
![]() |