04.08.2013, 01:20
Bom esse comando abaixo esta desligando o servidor quando usa o comprarcasa e eu estou tentando fazer um de bug pra ver onde esta o erro alguem pode me ajudar por favor ?
pawn Код:
dcmd_comprarcasa(playerid,params[])
{
#pragma unused params
new timestamp = GetTickCount();
if(timestamp - inhousepickup[playerid] > 5000)
{
SendClientMessage(playerid, Vermelho, "(ERRO) Vocк nгo estб em uma casa.");
return 1;
}
new str[255],str1[255],pname[24];
GetPlayerName(playerid, pname, 24);
format(str1, sizeof(str1), "Casas/Usuarios/%s", udb_encode(pname));
new file[128];
GetPlayerName(playerid, pname, sizeof(pname));
format(file, sizeof(file), PASTA_CONTAS, pname);
new grana;
grana = dini_Int(file, "SaldoBancario");
dini_IntSet(file, "TemCasa", 0);
if(dini_Exists(str1))
{
if (dini_Int(str1, "Houseid")!=-255) return SendClientMessage(playerid, Vermelho, "(ERRO) Vocк jб tem uma casa.");
}
format(str1, sizeof(str1), "Casas/Casaid%d", playericonhouse[playerid]);
if (strcmp(hInfo[playericonhouse[playerid]][Name],"Ninguem",true)) return SendClientMessage(playerid, Vermelho, "(ERRO) Esta casa jб tem dono.");
if(grana > hInfo[playericonhouse[playerid]][Cost]){
format(str,sizeof(str),"(CASA) Vocк comprou a casa nъmero '%d'.", hInfo[playericonhouse[playerid]][Casaid]);
SendClientMessage(playerid,0x1E90FFAA,str);
print(str);
dini_IntSet(str1, "TemDono", 1);
new ano,mes,dia;
new string[266];
getdate(ano, mes, dia);
format(string, sizeof(string), " (%d/%d/%d)", dia,mes,ano);
dini_Set(str1, "Login", string);
format(hInfo[playericonhouse[playerid]][Login],255, string);
dini_IntSet(file, "SaldoBancario", dini_Int(file, "SaldoBancario")-hInfo[playericonhouse[playerid]][Cost]);
dini_Set(str1, "Name", pname);
hInfo[playericonhouse[playerid]][Name]=pname;
hInfo[playericonhouse[playerid]][Locked] = 0;
new nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, nome, sizeof(nome));
format(str1, sizeof(str1), "Casas/Usuarios/%s", nome);
if (!dini_Exists(str1)) dini_Create(str1);
new Float:sy, Float:sx, Float:sz;
dini_IntSet(str1, "Houseid", playericonhouse[playerid]);
if(!dini_Isset(str1,"Rentid"))
{
dini_IntSet(str1, "Rentid", -255);
}
GetPlayerPos(playerid, sx,sy,sz);
dini_FloatSet(str1, "SpawnX", sx);
dini_FloatSet(str1, "SpawnY", sy);
dini_FloatSet(str1, "SpawnZ", sz);
dini_IntSet(str1, "SpawnInt", GetPlayerInterior(playerid));
dini_IntSet(str1, "Luz", 0);
dini_IntSet(str1, "Agua", 0);
DestroyPickup(HousePickup[playericonhouse[playerid]]);
HousePickup[playericonhouse[playerid]] = CreatePickup(1272, 23, hInfo[playericonhouse[playerid]][iconx], hInfo[playericonhouse[playerid]][icony], hInfo[playericonhouse[playerid]][iconz]);
format(str1, sizeof(str1), "(CASA) O jogador %s, comprou a casa nъmero '%d'.",pname,hInfo[playericonhouse[playerid]][Casaid]);
SendClientMessageToAll(0xFFFFFFAA,str1);
for(new i=0;i<MAX_PLAYERS;i++){
RemovePlayerMapIcon(i, housemapicon[playerid]);
housemapicon[playerid] = SetPlayerMapIcon(i,32,hInfo[playericonhouse[playerid]][iconx], hInfo[playericonhouse[playerid]][icony], hInfo[playericonhouse[playerid]][iconz],32,Vermelho);
}
} else {
SendClientMessage(playerid, Vermelho,"(ERRO) Vocк nгo tem esse dinheiro em seu banco.");
}
return 1;
}