[Ajuda] error 004
#1

Bom.. eu vim aqi tirar a duvida de um erro na hora de colpila o gm, alguem pode me dizer como concerto isso ?

Код:
C:\Documents and Settings\Administrador\Meus documentos\Downloads\pawno\include\servermoneyGM.inc(10) : error 004: function "GMInit" is not implemented
C:\Documents and Settings\Administrador\Meus documentos\Downloads\pawno\include\servermoneyGM.inc(16) : error 004: function "GMExit" is not implemented
C:\Documents and Settings\Administrador\Meus documentos\Downloads\pawno\include\servermoneyGM.inc(47) : error 004: function "OnPlayerHaveExtraCash" is not implemented
Reply
#2

Esse erro costuma aparecer quando vocк nгo mete as funзхes no cуdigo mas mesmo assim tenta chama-lбs...
Reply
#3

tipo, o erro й na include servermoneyGM e nгo sei como mecher nela pois n sei a funзгo dela, da uma olhada nas linhas do erro...

linha10
Код:
	return GMInit();
linha 16
Код:
	return GMExit();
linha 47
Код:
				if(H4xc4sh > CALLBACK_AMOUNT) OnPlayerHaveExtraCash(ServerSidep,H4xc4sh);
Reply
#4

Deve estar usando as funзхes sem elas estarem definidas no cуdigo fonte, provavelmente.

Exemplinho:
pawn Код:
public OnPlayerConnect(playerid)
{
    OnPlayerCommandText(1, "");
}
Vocк tб chamando a callback OnPlayerCommandText, ela existe, mas ela nгo estб no cуdigo fonte que vocк criou, entгo dб erro porque nгo tem uma definiзгo padrгo do que ela deve fazer e muito menos retorno.

E caso a callback nгo existisse daria aquele erro de Symbol is not defined, algo do tipo.
Reply
#5

esquece mano kk, n entendo muito, queria a soluзгo de como tirar isso sу
Reply
#6

Vocк me deu detalhes e eu te dei dicas, se vocк me desse o cуdigo eu te daria soluзхes.

Ou vocк acha que outros programadores nгo comentaram aqui por quк ?
Pra gerar uma saнda precisasse de entradas, detalhes, informaзхes...
Reply
#7

Man olha ai a include toda.. ve se vc acha o motivo dos erros por favor.....
Код:
#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
#8

Vai suprir a sua necessidade:
pawn Код:
#include <a_samp>

#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();

public GMInit() return 1;
public GMExit() return 1;

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
Abraзos.
Reply
#9

te amo namoral kkk, muito obg, REP+1 !
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)