CMD:saircasa(playerid)
{
new string[300];
if(preso[playerid] == 0)
{
for(new c = 0; c < MAX_CASAS; c++)
{
new strx[300];
format(strx, sizeof(strx), "/Interiores/int%d.ini", DOF2_GetInt(string, "Int"));
format(string, sizeof(string), "/Casas/casa%d.ini", c);
if(IsPlayerInRangeOfPoint(playerid, 2.0, DOF2_GetFloat(strx, "EX"), DOF2_GetFloat(strx, "EY"), DOF2_GetFloat(strx, "EZ")))
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, DOF2_GetFloat(string, "PosX"), DOF2_GetFloat(string, "PosY"),DOF2_GetFloat(string, "PosZ"));
SendClientMessage(playerid, 0xC9C9C9AA, "[ CASA ] Vocк saiu da Casa");
emcasa[playerid] = 0;
}
else
{
}
}
}
else
{
SendClientMessage(playerid, VERMELHO_ESCURO,"[x] Vocк nгo pode usar comando estando preso.");
}
return 1;
}
CMD:entrarcasa(playerid)
{
new string[300];
if(preso[playerid] == 0)
{
for(new c = 0; c < MAX_CASAS; c++)
{
format(string, sizeof(string), "/Casas/casa%d.ini", c);
if(IsPlayerInRangeOfPoint(playerid, 2.0, DOF2_GetFloat(string, "PosX"), DOF2_GetFloat(string, "PosY"), DOF2_GetFloat(string, "PosZ")))
{
new strx[300];
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;
SetPlayerVirtualWorld(playerid, c);
SetPlayerInterior(playerid, DOF2_GetInt(strx, "Int"));
SetPlayerPos(playerid, DOF2_GetFloat(strx, "EX"), DOF2_GetFloat(strx, "EY"), DOF2_GetFloat(strx, "EZ"));
SendClientMessage(playerid, 0xC9C9C9AA, "[ CASA ] Vocк entrou na casa.");
}
}
else
{
}
}
}
else
{
SendClientMessage(playerid, VERMELHO_ESCURO,"[x] Vocк nгo pode usar comando estando preso.");
}
return 1;
}
for(new c = 0; c < MAX_CASAS; c++)
Tente retirando o loop.
Pуis por qual motivo usou: pawn Код:
@Se eu estiver errado me desculpe, nгo entendo mt de RP/G ._. |
format(string, sizeof(string), "/Casas/casa%d.ini", c);
Usei a loop por essa funзгo aqui
pawn Код:
|
Eu sei disso.
Uma pergunta: Esse /entrarcasa, /saircasa, e somente usado se o player contйr casa? |
Nao qualquer player pode entrar na casa ou sair da mesma
ainda nao fiz a funзгo /trancarcasa |
for(new c = 0; c < MAX_CASAS; c++)
format(strx, sizeof(strx), "/Interiores/int%d.ini", DOF2_GetInt(string, "Int"));// como a DOF2 vai verificar o interior, da format string
format(string, sizeof(string), "/Casas/casa%d.ini", c);//sendo que a format string estб definida abaixo da funзгo que chama ela.
CMD:saircasa(playerid)
{
new string[300];
if(preso[playerid] == 0)
{
for(new c = 0; c < MAX_CASAS; c++)
{
new strx[300];
format(string, sizeof(string), "/Casas/casa%d.ini", c);
format(strx, sizeof(strx), "/Interiores/int%d.ini", DOF2_GetInt(string, "Int"));
if(IsPlayerInRangeOfPoint(playerid, 2.0, DOF2_GetFloat(strx, "EX"), DOF2_GetFloat(strx, "EY"), DOF2_GetFloat(strx, "EZ")))
{
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, DOF2_GetFloat(string, "PosX"), DOF2_GetFloat(string, "PosY"),DOF2_GetFloat(string, "PosZ"));
SendClientMessage(playerid, 0xC9C9C9AA, "[ CASA ] Vocк saiu da Casa");
emcasa[playerid] = 0;
return 1;
}
}
}
else
{
SendClientMessage(playerid, VERMELHO_ESCURO,"[x] Vocк nгo pode usar comando estando preso.");
}
return 1;
}