26.06.2013, 01:48
Hola amigos tengo un problema con un cуdigo de mi servidor ya intente arreglarlo de muchas maneras pero no he podido por favor ayъdenme.
Con ese cуdigo el server si le quita el dinero a el que compra la casa tambiйn se guarda en el log de pagos de mi base de datos y con todos los datos correctos pero no le da el dinero a el dueсo de la casa, el cуdigo es mas largo pero paso solo lo que creo que esta mal si necesitan e resto se los paso.
pawn Код:
new Ownerid = GetPlayerId(HInfo[hi][hOwnedBy]);
if(IsPlayerConnected(Ownerid))
{
new CHECKNAME[MAX_PLAYER_NAME];
GetPlayerName(Ownerid, CHECKNAME, MAX_PLAYER_NAME);
if(!strcmp(CHECKNAME, HInfo[hi][hOwnedBy]))
{
new IsHouse1 = 0;
new IsHouse2 = 0;
if(PInfo[Ownerid][House1] == hi) { IsHouse1 = 1; }
else if(PInfo[Ownerid][House2] == hi) { IsHouse2 = 1; }
if(IsHouse1 == 0 && IsHouse2 == 0) //CANCEL HOUSE PURCHASE.
{
SendClientMessage(playerid, COLOR_ERROR, "Un error a ocurrido al intentar obtener los datos de los dueсos.");
return 1;
}
if(IsHouse1 == 1)
{
PInfo[Ownerid][House1] = 0;
PInfo[Ownerid][Money]=PInfo[Ownerid][Money]+HInfo[hi][hPrice];
GivePlayerMoney(Ownerid, HInfo[hi][hPrice]);
SaveAccount(Ownerid);
format(msg,sizeof(msg),"%s(%d) A comprado tu casa por $%d.", PlayerName(playerid),playerid,HInfo[hi][hPrice]);
SendClientMessage(Ownerid, COLOR_HOUSE, msg);
PayLog(PlayerName(playerid), HInfo[hi][hPrice], "Bought House", PlayerName(Ownerid), PlayerName(Ownerid));
PayLog(PlayerName(Ownerid), HInfo[hi][hPrice], "Sold House", PlayerName(Ownerid), PlayerName(playerid));
PInfo[playerid][House1] = hi;
PInfo[playerid][Money]=PInfo[playerid][Money]-HInfo[hi][hPrice];
GivePlayerMoney(playerid, -HInfo[hi][hPrice]);
format(msg,sizeof(msg),"Felicitaciones, has comprado esta casa por $%d!",HInfo[hi][hPrice]);
SendClientMessage(playerid, COLOR_HOUSE, msg);
format(stringcommand,sizeof(stringcommand),"%s",PlayerName(playerid));
strmid(HInfo[hi][hOwnedBy], stringcommand, 0, strlen(stringcommand), 128);
HInfo[hi][hForSale] = 0;
HInfo[hi][hLocked] = 1;
HInfo[hi][hPrice] = HInfo[hi][hDefaultPrice];
SaveAccount(playerid);
SaveHouse(hi);
ReloadHouse(hi);
return 1;
}
}
}