13.11.2012, 23:35
pawn Код:
CMD:criarcasa(playerid, params[])
{
new id, interior, string[240], StringLabel[200];
if(sscanf(params, "ud", id, interior)) return SendClientMessage(playerid, Vermelho, "Use: /criarcasa [preco] [interior]");
for (new c = 0; c < MAX_CASAS; c++)
{
format(string, sizeof(string), "/Casas/casa%d.ini", proximacasa);
if(!DOF2_FileExists(string))
{
new Float: X , Float: Y , Float: Z;
GetPlayerPos(playerid, X, Y, Z);
DOF2_CreateFile(string);
DOF2_SetFloat(string, "PosX", X);
DOF2_SetFloat(string, "PosY", Y);
DOF2_SetFloat(string, "PosZ", Z);
DOF2_SetInt(string, "Interior", interior);
DOF2_SetInt(string, "Preco", id);
DOF2_SetString(string, "Dono", "Ninguem");
DOF2_SetInt(string, "Mundo", proximacasa);
DOF2_SetInt(string, "Trancada", 0);
new pickupid;
pickupid = CreatePickup(1273, 1, DOF2_GetFloat(string, "PosX"), DOF2_GetFloat(string, "PosY"), DOF2_GetFloat(string, "PosZ"), -1);
DestroyDynamicMapIcon(casaicone);
casaicone = CreateDynamicMapIcon(DOF2_GetFloat(string, "PosX"), DOF2_GetFloat(string, "PosY"), DOF2_GetFloat(string, "PosZ"), 31, -1, -1, 0, -1, 100.0);
DOF2_SetInt(string, "Id", pickupid);
format(StringLabel,sizeof(StringLabel),"{E0BC1B}Nъmero: {FFFFFF}%d\n{E0BC1B}Dono: {FFFFFF}Niguem",c, DOF2_GetString(string, "Dono"));
LabelCasa[c] = Create3DTextLabel(StringLabel, -1, DOF2_GetFloat(string, "PosX"), DOF2_GetFloat(string, "PosY"), DOF2_GetFloat(string, "PosZ") + 0.75, 20.0, 0, 1);
}
proximacasa++;
}
return 1;
}
CMD:comprarcasa(playerid)
{
for (new c = 0; c < MAX_CASAS; c++)
{
new casauser[128], string[200];
format(string, sizeof(string), "/Casas/casa%d.ini", c);
format(casauser, sizeof(casauser), "/Contas/%s.ini", nome(playerid));
new pickupid;
if(IsPlayerInRangeOfPoint(playerid, 2.0, DOF2_GetFloat(string, "PosX"), DOF2_GetFloat(string, "PosY"), DOF2_GetFloat(string, "PosZ")))
{
if(DOF2_GetInt(casauser, "TemCasa") == 0)
{
if(GetPlayerMoney(playerid) < DOF2_GetInt(string, "Preco")) return SendClientMessage(playerid, Vermelho, "[ Erro ] Dinheiro Insuficiente para efetuar compra! ");
DestroyPickup(DOF2_GetInt(string, "Id"));
DestroyDynamicMapIcon(casaicone);
pickupid = CreatePickup(1272, 1, DOF2_GetFloat(string, "PosX"), DOF2_GetFloat(string, "PosY"), DOF2_GetFloat(string, "PosZ"), -1);
casaicone = CreateDynamicMapIcon(DOF2_GetFloat(string, "PosX"), DOF2_GetFloat(string, "PosY"), DOF2_GetFloat(string, "PosZ"), 32, -1, -1, 0, -1, 100.0);
DOF2_SetInt(string, "Id", pickupid);
DOF2_SetInt(casauser, "TemCasa", 1);
DOF2_SetInt(string, "TemDono", 1);
DOF2_SetString(string, "Dono", nome(playerid));
new StringLabel[200];
format(StringLabel,sizeof(StringLabel),"{E0BC1B}Nъmero: {FFFFFF}%d\n{E0BC1B}Dono: {FFFFFF}%s", c , DOF2_GetString(string, "Dono"));
Update3DTextLabelText(LabelCasa[c],-1,StringLabel);
}
else
{
SendClientMessage(playerid, Vermelho, "[ Erro ] Vocк nгo pode ter duas casas. ");
}
}
}
return 1;
}
CMD:vendercasa(playerid)
{
for (new c = 0; c < MAX_CASAS; c++)
{
new casauser[128], string[200];
format(string, sizeof(string), "/Casas/casa%d.ini", c);
format(casauser, sizeof(casauser), "/Contas/%s.ini", nome(playerid));
new pickupid;
if(IsPlayerInRangeOfPoint(playerid, 2.0, DOF2_GetFloat(string, "PosX"), DOF2_GetFloat(string, "PosY"), DOF2_GetFloat(string, "PosZ")))
{
if(DOF2_GetInt(casauser, "TemCasa") == 1)
{
GivePlayerMoney(playerid, DOF2_GetInt(string, "Preco"));
DestroyPickup(DOF2_GetInt(string, "Id"));
DestroyDynamicMapIcon(casaicone);
pickupid = CreatePickup(1273, 1, DOF2_GetFloat(string, "PosX"), DOF2_GetFloat(string, "PosY"), DOF2_GetFloat(string, "PosZ"), -1);
casaicone = CreateDynamicMapIcon(DOF2_GetFloat(string, "PosX"), DOF2_GetFloat(string, "PosY"), DOF2_GetFloat(string, "PosZ"), 31, -1, -1, 0, -1, 100.0);
DOF2_SetInt(string, "Id", pickupid);
DOF2_SetInt(casauser, "TemCasa", 0);
DOF2_SetInt(string, "TemDono", 0);
DOF2_SetString(string, "Dono", "Niguem");
new StringLabel[200];
format(StringLabel,sizeof(StringLabel),"{E0BC1B}Nъmero: {FFFFFF}%d\n{E0BC1B}Dono: {FFFFFF}Niguem", c);
Update3DTextLabelText(LabelCasa[c],-1,StringLabel);
}
else
{
SendClientMessage(playerid, Vermelho, "[ Erro ] Vocк nгo tem uma casa. ");
}
}
}
return 1;
}
CMD:trancarcasa(playerid)
{
for (new c = 0; c < MAX_CASAS; c++)
{
new casauser[128], string[128];
format(string, sizeof(string), "/Casas/casa%d.ini", c);
format(casauser, sizeof(casauser), "/Contas/%s.ini", nome(playerid));
if(IsPlayerInRangeOfPoint(playerid, 2.0, DOF2_GetFloat(string, "PosX"), DOF2_GetFloat(string, "PosY"), DOF2_GetFloat(string, "PosZ")))
{
if(DOF2_GetInt(casauser, "TemCasa") == 1)
{
DOF2_SetInt(string, "Trancada", 1);
SendClientMessage(playerid, Verde, "[ Info ] Sua Casa Trancada Com Sucesso! ");
}
else
{
SendClientMessage(playerid, Vermelho, "[ Erro ] Vocк nгo tem uma casa! ");
}
}
}
return 1;
}
CMD:destrancarcasa(playerid)
{
for (new c = 0; c < MAX_CASAS; c++)
{
new casauser[128], string[128];
format(string, sizeof(string), "/Casas/casa%d.ini", c);
format(casauser, sizeof(casauser), "/Contas/%s.ini", nome(playerid));
if(IsPlayerInRangeOfPoint(playerid, 2.0, DOF2_GetFloat(string, "PosX"), DOF2_GetFloat(string, "PosY"), DOF2_GetFloat(string, "PosZ")))
{
if(DOF2_GetInt(casauser, "TemCasa") == 1)
{
DOF2_SetInt(string, "Trancada", 0);
SendClientMessage(playerid, Verde, "[ Info ] Sua Casa Destrancada Com Sucesso! ");
}
else
{
SendClientMessage(playerid, Vermelho, "[ Erro ] Vocк nгo tem uma casa! ");
}
}
}
return 1;
}
oque seria para criar apenas 1 e os pickups nгo atualizam '-' criam encima do outro . alguem pode me ajudar =/ ?