invalid function or declaration
#1

Код:
C:\Users\KaGe\Desktop\lvdm.pwn(156) : warning 202: number of arguments does not match definition
C:\Users\KaGe\Desktop\lvdm.pwn(153) : warning 204: symbol is assigned a value that is never used: "giveplayer"
C:\Users\KaGe\Desktop\lvdm.pwn(152) : warning 204: symbol is assigned a value that is never used: "sendername"
C:\Users\KaGe\Desktop\lvdm.pwn(151) : warning 203: symbol is never used: "playermoney"
C:\Users\KaGe\Desktop\lvdm.pwn(150) : warning 204: symbol is assigned a value that is never used: "string"
C:\Users\KaGe\Desktop\lvdm.pwn(150 -- 170) : error 010: invalid function or declaration
C:\Users\KaGe\Desktop\lvdm.pwn(150 -- 176) : error 010: invalid function or declaration
C:\Users\KaGe\Desktop\lvdm.pwn(150 -- 179) : error 010: invalid function or declaration
C:\Users\KaGe\Desktop\lvdm.pwn(150 -- 179) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.

Код:
//------------------------------------------------------------------------------------------------------
public OnPlayerCommandText(playerid, cmdtext[])
{
  new string[256];
	new playermoney;
	new sendername[MAX_PLAYER_NAME];
	new giveplayer[MAX_PLAYER_NAME];
	new cmd[256];

	cmd = strtok(cmdtext);

	SendClientMessage(playerid, COLOR_GREEN," Помощь по моду");
		SendClientMessage(playerid, COLOR_YELLOW," Это свободный режим игры, целью которого является убийство игроков и заработок денег. ");
		SendClientMessage(playerid, COLOR_YELLOW,"Стойте на специальных пунктах чтобы получить деньги. ");
		SendClientMessage(playerid, COLOR_YELLOW,"Для более быстрого заработка можно купить бизнес");
		SendClientMessage(playerid, COLOR_YELLOW,"Ложите свои деньги в банк. Они находятся в магазинах.");
		SendClientMessage(playerid, COLOR_YELLOW,"Враг сильнее тебя? Закажи его командой /hitman");
		SendClientMessage(playerid, COLOR_YELLOW,"Используй /givecash чтобы поделится денигами");
		SendClientMessage(playerid, COLOR_YELLOW,"Купленное оружие будет выдоваться вам на смавне.");
		SendClientMessage(playerid, COLOR_RED,"Набери /commands чтобы узнать больше, и /gangcommands Чтобы узнать команды банд.");
		return 1;
	}

	if(strcmp(cmd, "/smena", true) == 0)
	{
  	ForceClassSelection(playerid);
		SetPlayerHealth(playerid,0);
 		SetPlayerCameraPos(playerid,1540.4642,-853.1295,71.7406);
		SetPlayerCameraLookAt(playerid,1433.5043,-809.4376,76.6554);
	  return 1;
	}

	if(strcmp(cmd, "/commands", true) == 0)
	{
		SendClientMessage(playerid, COLOR_GREEN,"Все команды:");
		SendClientMessage(playerid, COLOR_YELLOW,"/bank [сумма], /withdraw [сумма], /balance - Банк");
		SendClientMessage(playerid, COLOR_YELLOW,"/givecash [ИД игрока] [сумма] - передать деньги");
		SendClientMessage(playerid, COLOR_YELLOW,"/hitman [ИД игрока] [сумма] - заказать игрока");
		SendClientMessage(playerid, COLOR_YELLOW,"/bounty [ИД игрока] - Вознаграждение");
		SendClientMessage(playerid, COLOR_YELLOW,"/buy, /properties - Бизнес, недвижимость");
		SendClientMessage(playerid, COLOR_YELLOW,"/buyweapon, /weaponist - Аммунация");
		SendClientMessage(playerid, COLOR_YELLOW,"/bounties, /gangs - банды, вознаграждения");
		SendClientMessage(playerid, COLOR_YELLOW,"/smena - поменять скин");
		return 1;
	}
	if(strcmp(cmd, "/gangcommands", true) == 0)
	{
		SendClientMessage(playerid, COLOR_GREEN,"Команды банд:");
		SendClientMessage(playerid, COLOR_YELLOW,"/gang create [имя] - создать банду");
		SendClientMessage(playerid, COLOR_YELLOW,"/gang join - присоеденится к банде");
		SendClientMessage(playerid, COLOR_YELLOW,"/gang invite [ид игрока] - пригласить в банду");
		SendClientMessage(playerid, COLOR_YELLOW,"/gang quit - покинуть банду");
		SendClientMessage(playerid, COLOR_YELLOW,"/ganginfo [ИД банды] - инфо о банде");
		SendClientMessage(playerid, COLOR_YELLOW,"/gbank [сумма] /gwithdraw [сумма] /gbalance - банк банды");
		SendClientMessage(playerid, COLOR_YELLOW,"! префикс для общения в банде");
		return 1;
	}

 	if(strcmp(cmd, "/givecash", true) == 0)
  {
	  new tmp[256];
		tmp = strtok(cmdtext, idx);

		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_WHITE, "Использование: /givecash [playerid] [amount]");
			return 1;
		}
		giveplayerid = strval(tmp);

		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
			SendClientMessage(playerid, COLOR_WHITE, "Использование: /givecash [playerid] [amount]");
			return 1;
		}
 		moneys = strval(tmp);
					}

	return 1;
}
Help!
Quote:

error 010: invalid function or declaration

What is it?
Reply
#2

you must insert something like

Код:
	if(strcmp(cmd, "/yourCommandName", true) == 0)
	{
before

Код:
SendClientMessage(playerid, COLOR_GREEN," Помощь по моду");
Reply
#3

Invalid funtion or declaration. Means that the function doesn't exist, or bad syntax.

pawn Код:
new string[256]; //<--- You're not using a string yet. That's why you get the warning: "Symbol is assigned a value that is never used: "string""
    new moneys; //Changed to moneyz
    new giveplayerid;
    new sendername[MAX_PLAYER_NAME]; //<--- Not used yet gives a warning.
    new giveplayer[MAX_PLAYER_NAME]; //<--- Not used yet gives a warning.
    new cmd[256];
    new idx; //<-- You need this
    cmd = strtok(cmdtext, idx); //this is changed from. cmd = strtok(cmdtext);
   
    //shouldn't there be a start of a command here? Maybe /help
    if(strcmp(cmd, "/help", true) == 0) //like this
    {
        SendClientMessage(playerid, COLOR_GREEN," Помощь по моду");
        SendClientMessage(playerid, COLOR_YELLOW," Это свободный режим игры, целью которого является убийство игроков и заработок денег. ");
        SendClientMessage(playerid, COLOR_YELLOW,"Стойте на специальных пунктах чтобы получить деньги. ");
        SendClientMessage(playerid, COLOR_YELLOW,"Для более быстрого заработка можно купить бизнес");
        SendClientMessage(playerid, COLOR_YELLOW,"Ложите свои деньги в банк. Они находятся в магазинах.");
        SendClientMessage(playerid, COLOR_YELLOW,"Враг сильнее тебя? Закажи его командой /hitman");
        SendClientMessage(playerid, COLOR_YELLOW,"Используй /givecash чтобы поделится денигами");
        SendClientMessage(playerid, COLOR_YELLOW,"Купленное оружие будет выдоваться вам на смавне.");
        SendClientMessage(playerid, COLOR_RED,"Набери /commands чтобы узнать больше, и /gangcommands Чтобы узнать команды банд.");
        return 1;
    } //Here's your other problem. You where already closing OnPlayerCommandText here!
   
    if(strcmp(cmd, "/givecash", true) == 0)
    {
        new tmp[256];
        tmp = strtok(cmdtext, idx);
        giveplayerid = strval(tmp); //asaign the tmp to giveplayerid
        if(!strval(tmp)) //strval becuase it's a number
        {
            SendClientMessage(playerid, COLOR_WHITE, "Использование: /givecash [playerid] [amount]");
            return 1;
        }
        new tmp2[256]; //new tmp2 becuase tmp is already under use
        tmp2 = strtok(cmdtext, idx);
        if(!strval(tmp2)) //strval
        {
            SendClientMessage(playerid, COLOR_WHITE, "Использование: /givecash [playerid] [amount]");
            return 1;
        }
        moneys = strval(tmp2); //moneys = tmp2
        GivePlayerMoney(giveplayerid, moneys); //GivePlayerMoney(playerid = giveplayerid, amount = moneys);
        return 1;
    } //closing /givecash
    return 0; //If the typed command doesn't exists. Return unknown command.
} //closing OnPlayerCommandText
Reply
#4

Your scripts can also be really smaller in size and take up less memory.. string can only be 218 (check ******' topic: Why you shouldn't use 256)
Reply
#5

You mean 128 right.
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)