24.01.2014, 03:00
(
Last edited by DownGrade; 24/01/2014 at 04:31 AM.
)
Quando й feito o comando, a casa vendida continua comprada e cria outro нcone de compra, assim quando compra denovo a casa, o servidor cai...
Alguйm (se entender o cуdigo, rs.) pode me ajudar ?
Stock de Criar casa:
Нcones existentes:
Comando de Venda:
Obs: Tem que reiniciar o servidor para os нcones desbugarem...
Alguйm (se entender o cуdigo, rs.) pode me ajudar ?
Stock de Criar casa:
pawn Code:
stock CreateHouse(casaid, Float:Pickupx, Float:Pickupy, Float:Pickupz, Float:interiorX, Float:interiorY, Float:interiorZ, Interior, cVenda, cPreco, virtualworld, mapicon)
{
new casas[256];
format(casas, sizeof(casas), CASAS, casaid);
if(!dini_Exists(casas))
{
dini_Create(casas);
CasaInfo[casaid][Numero] = casaid;
format(CasaInfo[casaid][Proprietario], 64, "Ninguem");
dini_Set(casas, "Proprietario", "Ninguem");
format(CasaInfo[casaid][Morador], 64, "Ninguem");
dini_Set(casas, "Morador", "Ninguem");
format(CasaInfo[casaid][Login], 80, "(00/00/0000)");
dini_Set(casas, "Login", "(00/00/0000)");
format(CasaInfo[casaid][Mensagem], 64, "Nada");
dini_Set(casas, "Horario", "00:00:00");
format(CasaInfo[casaid][Horario], 64, "00:00:00");
dini_Set(casas, "Mensagem", "Nada");
CasaInfo[casaid][PickupX] = Pickupx;
CasaInfo[casaid][PickupY] = Pickupy;
CasaInfo[casaid][PickupZ] = Pickupz;
CasaInfo[casaid][InteriorX] = interiorX;
CasaInfo[casaid][InteriorY] = interiorY;
CasaInfo[casaid][InteriorZ] = interiorZ;
CasaInfo[casaid][InteriorID] = Interior;
CasaInfo[casaid][Venda] = cVenda;
CasaInfo[casaid][Preco] = cPreco;
CasaInfo[casaid][VirtualWorld] = virtualworld;
CasaInfo[casaid][Status] = 0;
CasaInfo[casaid][MapIcon] = mapicon;
dini_IntSet(casas, "Numero", casaid);
dini_FloatSet(casas, "InteriorX", interiorX);
dini_FloatSet(casas, "InteriorY", interiorY);
dini_FloatSet(casas, "InteriorZ", interiorZ);
dini_IntSet(casas, "Interior", Interior);
dini_IntSet(casas, "Venda", cVenda);
dini_IntSet(casas, "Valor", cPreco);
dini_IntSet(casas, "VirtualWorld", virtualworld);
dini_IntSet(casas, "Dono", 0);
dini_IntSet(casas, "Status", 0);
dini_IntSet(casas, "MapIcon", mapicon);
dini_FloatSet(casas, "X", Pickupx);
dini_FloatSet(casas, "Y", Pickupy);
dini_FloatSet(casas, "Z", Pickupz);
}
else
{
format(CasaInfo[casaid][Proprietario], 64, dini_Get(casas, "Proprietario"));
format(CasaInfo[casaid][Morador], 64, dini_Get(casas, "Morador"));
format(CasaInfo[casaid][Mensagem], 64, dini_Get(casas, "Mensagem"));
format(CasaInfo[casaid][Horario], 64, dini_Get(casas, "Horario"));
format(CasaInfo[casaid][Login], 80, dini_Get(casas, "Login"));
CasaInfo[casaid][Numero] = dini_Int(casas, "Numero");
CasaInfo[casaid][Venda] = dini_Int(casas, "Venda");
CasaInfo[casaid][Preco] = dini_Int(casas, "Valor");
CasaInfo[casaid][Status] = dini_Int(casas, "Status");
CasaInfo[casaid][InteriorID] = dini_Int(casas, "Interior");
CasaInfo[casaid][InteriorX] = dini_Float(casas, "InteriorX");
CasaInfo[casaid][InteriorY] = dini_Float(casas, "InteriorY");
CasaInfo[casaid][InteriorZ] = dini_Float(casas, "InteriorZ");
CasaInfo[casaid][VirtualWorld] = dini_Int(casas, "VirtualWorld");
CasaInfo[casaid][MapIcon] = dini_Int(casas, "MapIcon");
dini_FloatSet(casas, "X", Pickupx);
dini_FloatSet(casas, "Y", Pickupy);
dini_FloatSet(casas, "Z", Pickupz);
}
new str[128];
CasaInfo[casaid][PickupX] = Pickupx;
CasaInfo[casaid][PickupY] = Pickupy;
CasaInfo[casaid][PickupZ] = Pickupz;
if(dini_Int(casas, "Dono") == 0)
{
CasaPickup[casaid] = CreatePickup(1273, 23, Pickupx, Pickupy, Pickupz);
format(str, sizeof(str), "Casa nъmero %d", dini_Int(casas, "Numero"));
Create3DTextLabel(str, COR_BRANCO, Pickupx, Pickupy, Pickupz+0.75, 20.0, 0, 1);
}
if(dini_Int(casas, "Dono") == 1)
{
CasaPickup[casaid] = CreatePickup(1272, 23, Pickupx, Pickupy, Pickupz);
format(str, sizeof(str), "Casa nъmero %d", dini_Int(casas, "Numero"));
Create3DTextLabel(str, COR_BRANCO, Pickupx, Pickupy, Pickupz+0.75, 20.0, 0, 1);
}
}
pawn Code:
// Sistema de casas
CreateHouse(0, 2495.3457, -1690.2333, 14.7656, 2496.0549, -1695.1749, 1014.7422, 3, 100000, 100000, 0, 100);
CreateHouse(1, -684.6587, 939.5399, 13.6328, 83.0864, 1324.3145, 1083.8594, 9, 200000, 200000, 1, 101);
CreateHouse(2, 1496.9918,-689.0601,95.1433, 24.0932, 1341.7411, 1084.3750, 10, 220000, 220000, 2, 102);
CreateHouse(3, 1331.7549,-632.3055,109.1349, 2237.4912, -1080.2360, 1049.0234, 2, 200000, 200000, 3, 103);
CreateHouse(4, 2522.3486,-1679.3895,15.4970, -68.5478, 1353.0201, 1080.2109, 6, 70000, 70000, 4, 104);
CreateHouse(5, 2523.7576,-1658.6222,15.4935, 245.2656, 305.0070, 999.1484, 1, 65000, 65000, 5, 105);
CreateHouse(6, 2513.2834,-1650.7628,14.3557, 224.3667, 1240.1123, 1082.1406, 2, 63000, 63000, 6, 106);
CreateHouse(7, 2498.4519,-1643.6329,13.7826, 224.4046, 1239.8674, 1082.1406, 2, 60000, 60000, 7, 107);
CreateHouse(8, 2486.4622,-1645.8593,14.0703, -42.5853, 1406.8448, 1084.4297, 8, 52000, 52000, 8, 108);
CreateHouse(9, 2451.9099,-1642.5935,13.7357, -68.5145, 1353.8485, 1080.2109, 6, 61000, 61000, 9, 109);
CreateHouse(10, 2066.1677,-1703.4937,14.1484, 261.2870, 1284.3062, 1080.2578, 4, 70000, 70000, 10, 110);
CreateHouse(11, 2166.6616,-1671.9874,15.0746, 294.9558, 1472.2637, 1080.2578, 15, 72000, 72000, 11, 111);
CreateHouse(12, 1981.5452,-1718.9211,17.0303, 261.2870, 1284.3062, 1080.2578, 4, 100000, 100000, 12, 112);
CreateHouse(13, 1410.9694,-921.5505,38.4219, 294.9558, 1472.2637, 1080.2578, 15, 130000, 130000, 13, 113);
CreateHouse(14, 1534.4147, -800.1628, 72.8495, -68.5478, 1353.0201, 1080.2109, 6, 110000, 110000, 14, 114);
CreateHouse(15, 1526.9944,-773.4356,80.5474, -42.5196, 1405.5847, 1084.4297, 8, 110000, 110000, 15, 115);
CreateHouse(16, 1442.6061, -629.5621, 95.7186, 221.7965, 1142.2682, 1082.6094, 4, 140000, 140000, 16, 116);
CreateHouse(17, 1093.8215, -806.4712, 107.4194, 82.9644, 1323.7074, 1083.8594, 9, 160000, 160000, 17, 117);
CreateHouse(18, 1111.5037,-742.0931,100.1329, 22.6554, 1405.0906, 1084.4297, 5, 150000, 150000, 18, 118);
CreateHouse(19, 1094.8571,-646.5363,113.6484, 140.3679, 1367.8837, 1083.8621, 5, 200000, 200000, 19, 119);
CreateHouse(20, 1045.0305, -642.0552, 120.1172, 2317.8652, -1025.5160, 1050.2109, 9, 190000, 190000, 20, 120);
CreateHouse(21, 979.8599,-676.2302,121.9763, 234.0908,1065.5974, 1084.2095, 6, 230000, 230000, 21, 121);
CreateHouse(22, 945.7899,-709.7903,122.2109, 260.7421, 1238.2261, 1084.2578, 9, 100000, 100000, 22, 122);
CreateHouse(23, 899.1617,-677.9343,116.8904, 2237.4912, -1080.2360, 1049.0234, 2, 140000, 140000, 23, 123);
CreateHouse(24, 849.1844,-744.4493,94.9693, -262.5375, 1456.7291, 1084.3672, 4, 100000, 100000, 24, 124);
CreateHouse(25, 890.5619,-781.4048,101.2954, 446.9973, 1398.4043, 1084.3120, 2, 115000, 115000, 25, 125);
CreateHouse(26, 497.5117,-1093.6302,82.3592, 2365.0583, -1134.3385, 1050.8750, 8, 140000, 140000, 26, 126);
CreateHouse(27, 299.9188,-1154.8226,81.1709, 228.9857, 1114.1838, 1080.9922, 5, 250000, 250000, 27, 127);
CreateHouse(28, 252.1526,-1221.1609,75.6725, 82.9644, 1323.7074, 1083.8594, 9, 240000, 240000, 28, 128);
CreateHouse(29, 252.7280,-1269.3767,74.0825, 235.3623, 1188.6174, 1080.2578, 3, 230000, 230000, 29, 129);
CreateHouse(30, 255.1223, -1366.6436, 53.1094, 294.9558, 1472.2637, 1080.2578, 15, 150000, 150000, 30, 130);
CreateHouse(31, 298.3224, -1337.7108, 53.4415, 2194.9250, -1204.2581, 1049.0234, 6, 130000, 130000, 31, 131);
CreateHouse(32, 190.2035, -1308.1805, 70.2614, 226.2988, 1114.4376, 1080.9929, 5, 100000, 100000, 32, 132);
CreateHouse(33, 726.9389, -1276.2460, 13.6484, 140.3546, 1365.9296, 1083.8594, 5, 500000, 500000, 33, 133);
CreateHouse(34, 739.0493, -1417.6359, 13.5234, 759.3586, 1442.5961, 1102.7, 6, 100000, 100000, 34, 134);
CreateHouse(35, 2459.4136,-1690.1783,13.5453, 2466.0623, -1698.2185, 1013.5078, 2, 100000, 100000, 35, 135);
CreateHouse(36, 1298.5170,-799.4630,84.1406, 1262.4103, -785.4581, 1091.9063, 5, 1000000, 1000000, 36, 136); // Maddog
CreateHouse(37, -81.1509, 83.0017, 3.1172, -68.5478, 1353.0201, 1080.2109, 6, 120000, 120000, 37, 137);
CreateHouse(38, -902.7215, 2681.5513, 42.3703, 513.882507, -11.269994, 1001.565307, 3, 350000, 350000, 38, 138);
CreateHouse(39, 1854.0656, -1914.9202, 15.2568, -68.5478, 1353.0201, 1080.2109, 6, 15000, 15000, 39, 139);
CreateHouse(40, 1872.2916, -1912.5028, 15.2568, -68.5478, 1353.0201, 1080.2109, 6, 15000, 15000, 40, 140);
CreateHouse(41, 1891.9188, -1915.1726, 15.2568, -68.5478, 1353.0201, 1080.2109, 6, 15000, 15000, 41, 141);
CreateHouse(42, 1938.1080, -1911.3516, 15.2568, -68.5478, 1353.0201, 1080.2109, 6, 10000, 10000, 42, 142);
CreateHouse(43, 1913.5016, -1912.3480, 15.2568, -68.5478, 1353.0201, 1080.2109, 6, 15000, 15000, 43, 143);
CreateHouse(44, 1123.9729, -2036.9758, 69.8855, 140.3546, 1365.9296, 1083.8594, 5, 1000000, 1000000, 44, 144);
CreateHouse(45, 1851.8610,-2135.4043,15.3882, -68.5478, 1353.0201, 1080.2109, 6, 30000, 30000, 45, 145);
CreateHouse(46, 1872.4960,-2133.5771,15.4820, -68.5478, 1353.0201, 1080.2109, 6, 30000, 30000, 46, 146);
CreateHouse(47, 1894.2294,-2133.6287,15.4663, -68.5478, 1353.0201, 1080.2109, 6, 30000, 30000, 47, 147);
CreateHouse(48, 693.5538,-1705.8082,3.8195, 83.0864, 1324.3145, 1083.8594, 9, 180000, 180000, 48, 148);
CreateHouse(49, 1804.1057,-2124.2520,13.9424, -42.3619,1406.2201,1084.4297, 8, 40000, 40000, 49, 149);
CreateHouse(50, 1457.0040,2773.4961,10.8203, -42.3619,1406.2201,1084.4297, 8, 1000000, 1000000, 50, 149); //
pawn Code:
else if(strcmp(tmp, "vender", true) == 0)
{
for(new c; c < MAX_CASAS; c++)
{
if(IsPlayerInRangeOfPoint(playerid, 3, CasaInfo[c][PickupX], CasaInfo[c][PickupY], CasaInfo[c][PickupZ]))
{
new str[128], conta[128], casas[128], casauser[128], proprietario[64], morador[256], mrd[128], exmorador[128];
format(conta, sizeof(conta), DIRETORIO, nome(playerid));
format(casas, sizeof(casas), CASAS, CasaInfo[c][Numero]);
morador = dini_Get(casas, "Morador");
format(casauser, sizeof(casauser), "contas/casas/usuarios/%s.ini", nome(playerid));
format(exmorador, sizeof(exmorador), "contas/casas/usuarios/%s.ini", morador);
format(mrd, sizeof(mrd), "contas/usuarios/%s.ini", morador);
GetPlayerName(playerid, proprietario, 64);
if(strcmp(CasaInfo[c][Proprietario], proprietario, false)) return SendClientMessage(playerid, COR_VERMELHO, "(ERRO) Vocк nгo й dono dessa casa.");
format(str, sizeof(str), "(CASAS) O jogador %s vendeu a casa nъmero '%d'.", nome(playerid), CasaInfo[c][Numero]);
SendClientMessageToAll(0xE0EEEEAA, str);
GivePlayerMoneyEx(playerid, CasaInfo[c][Preco]);
CasaInfo[c][Status] = 1;
CasaPickup[c] = CreatePickup(1273, 23, CasaInfo[c][PickupX], CasaInfo[c][PickupY], CasaInfo[c][PickupZ]);
dini_Set(conta, "Casa", "0");
dini_Set(mrd, "Morando", "0");
dini_Set(casas, "Dono", "0");
dini_Set(casas, "Morando", "0");
dini_Unset(conta, "CasaID");
dini_Unset(casas, "Shadow");
dini_Unset(casas, "Mega");
dini_Unset(casas, "Rimshine");
dini_Unset(casas, "Wires");
dini_Unset(casas, "Classic");
dini_Unset(casas, "Twist");
dini_Unset(casas, "Cutter");
dini_Unset(casas, "Switch");
dini_Unset(casas, "Import");
dini_Unset(casas, "Dollar");
dini_Unset(casas, "Atomic");
dini_Unset(casas, "Nitro");
dini_Unset(casas, "Hydraulics");
format(CasaInfo[c][Proprietario], 64, "Ninguem");
dini_Set(casas, "Proprietario", "Ninguem");
format(CasaInfo[c][Morador], 64, "Ninguem");
dini_Set(casas, "Morador", "Ninguem");
format(CasaInfo[c][Login], 80, "(00/00/0000)");
dini_Set(casas, "Login", "(00/00/0000)");
format(CasaInfo[c][Mensagem], 64, "Nada");
dini_Set(casas, "Horario", "00:00:00");
format(CasaInfo[c][Horario], 64, "00:00:00");
dini_Set(casas, "Mensagem", "Nada");
CasaInfo[c][Status] = 0;
dini_Set(casas, "Status", "0");
dini_Remove(casauser);
if(dini_Exists(exmorador)) dini_Remove(exmorador);
return 1;
}
}
return 1;
}