[Ajuda] Sistema de casas
#1

Baixei o FS de casas do Lуs, e quando fui testar no server, comprei uma casa e nгo gastava dinheiro, nem pra vender a casa de novo, eu nгo recebia o dinheiro de volta (mesmo sem ter gastado nada), mas se eu tivesse sem o dinheiro na mгo, dizia que eu nгo tinha dinheiro suficiente, mas quando tinha, nгo gastava nada, eu continuava com o dinheiro e comprava a casa, meu GM й base gf, alguйm sabe solucionar esse problema?
Reply
#2

Veja se nao tem um anti hack , se nao tiver posta os cmdґs de vender e comprar
!
Reply
#3

Quote:
Originally Posted by mau.tito
Посмотреть сообщение
Veja se nao tem um anti hack
....
Reply
#4

o problema tб numa include "servermoneyGM.inc" que deve ser o anti money cheat, eu tirei essa include do gm e gastou o dinheiro de boa, mas coloquei de volta e nгo gasta, sу que nгo sei o que mudar agora.
Reply
#5

Quote:
Originally Posted by bombomloko
Посмотреть сообщение
o problema tб numa include "servermoneyGM.inc" que deve ser o anti money cheat, eu tirei essa include do gm e gastou o dinheiro de boa, mas coloquei de volta e nгo gasta, sу que nгo sei o que mudar agora.
Retirando a include dб algum erro/aviso no script?
Reply
#6

sim, dб uns 26 erros, de "ResetPlayerMoneyEx, GivePlayerMoneyEx" e outras linhas como essas que eu simplesmente tiro o Ex do final e os erros somem, fora isso sobra 1 aviso: warning: 235: public function lacks forward declaration (symbol "OnPlayerHaveExtraCash")
Reply
#7

Poste o code, ou quer que a gente adivinhe ? :b
Reply
#8

Basta criar um forward para a public OnPlayerHaveExtraCash.
Reply
#9

a include й
pawn Код:
#define CallLoop(%1,%2) for(new %1; %1 < %2; %1++)
#define CALLBACK_AMOUNT 500

new SERVERSIDETIMER;
new ServerSideCash[MAX_PLAYERS];

public OnGameModeInit()
{
    ServerMoneyInit();
    return GMInit();
}

public OnGameModeExit()
{
    ServerMoneyExit();
    return GMExit();
}

forward GMInit();
forward GMExit();

ServerMoneyInit()
{
    SERVERSIDETIMER=SetTimer("ServerMoneyCB",1000,true);
    return 1;
}

ServerMoneyExit()
{
    KillTimer(SERVERSIDETIMER);
    return 1;
}


forward ServerMoneyCB();

public ServerMoneyCB()
{
    CallLoop(ServerSidep,MAX_PLAYERS)
    {
        if(IsPlayerConnected(ServerSidep))
        {
            if(GetPlayerMoney(ServerSidep) != ServerSideCash[ServerSidep])
            {
                new H4xc4sh=GetPlayerMoney(ServerSidep);
                H4xc4sh=H4xc4sh-ServerSideCash[ServerSidep];
                if(H4xc4sh > CALLBACK_AMOUNT) OnPlayerHaveExtraCash(ServerSidep,H4xc4sh);
            }
            GivePlayerMoney(ServerSidep,-GetPlayerMoney(ServerSidep));
            GivePlayerMoney(ServerSidep,ServerSideCash[ServerSidep]);
        }
       
    }
    return 1;
}


forward GivePlayerMoneyEx(playerid,cashgiven);
public GivePlayerMoneyEx(playerid,cashgiven)
{
    ServerSideCash[playerid]=ServerSideCash[playerid]+cashgiven;
    return 1;
}

forward ResetPlayerMoneyEx(playerid);
public ResetPlayerMoneyEx(playerid)
{
    ServerSideCash[playerid]=0;
    return 1;
}

forward GetPlayerMoneyEx(playerid);
public GetPlayerMoneyEx(playerid)
{
    return ServerSideCash[playerid];
}

forward OnPlayerHaveExtraCash(playerid,extraamount);

#define GetPlayerMoney GetPlayerMoneyEx
#define GivePlayerMoney GivePlayerMoneyEx
#define ResetPlayerMoney ResetPlayerMoneyEx

#define OnGameModeInit GMInit
#define OnGameModeExit GMExit
Reply
#10

pawn Код:
forward OnPlayerHaveExtraCash(playerid,extraamount);
Adicione isso ao seu gamemode.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)