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.
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;
}
}
}
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.