PDA

Просмотр полной версии : [Вопрос] Ошибки в команде



heralt
12.01.2015, 02:01
Вышли ошибки по команде /try :c

Команда


if(strcmp(cmdtext, "/try", true) == 0)
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx,result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx]; idx++;
}
result[idx - offset] = EOS;
new chance = random(4);
if(chance < 2)
{
if(!strlen(result)) return SendClientMessage(playerid, COLOR_WHITE, "Èñïîëüçóéòå: /try [äåéñòâèå]");
format(string, sizeof(string), "%s %s {1CEF00}| Óäà÷íî",pName(playerid), result);
ProxDetector(5.0, playerid, string, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF);
format(string,sizeof(string), "%s {1CEF00}| Óäà÷íî", result);
SetPlayerChatBubble(playerid,string,0xDD90FFFF,30.0,10000);
}
else
{
if(!strlen(result)) return SendClientMessage(playerid, COLOR_WHITE, "Èñïîëüçóéòå: /try [äåéñòâèå]");
format(string, sizeof(string), "%s %s {FF0000}| Íåóäà÷íî",pName(playerid), result);
ProxDetector(5.0, playerid, string, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF);
format(string,sizeof(string), "%s {FF0000}| Íåóäà÷íî", result);
SetPlayerChatBubble(playerid,string,0xDD90FFFF,30.0,10000);
}
return true;
}

Ошибки:

C:\Users\Áàòÿ âñåÿ Ðóñè\Desktop\Ïðîåêò\gamemodes\Heinz-v2.pwn(1063) : error 017: undefined symbol "idx"
C:\Users\Áàòÿ âñåÿ Ðóñè\Desktop\Ïðîåêò\gamemodes\Heinz-v2.pwn(1065) : error 017: undefined symbol "idx"
C:\Users\Áàòÿ âñåÿ Ðóñè\Desktop\Ïðîåêò\gamemodes\Heinz-v2.pwn(1065) : warning 215: expression has no effect
C:\Users\Áàòÿ âñåÿ Ðóñè\Desktop\Ïðîåêò\gamemodes\Heinz-v2.pwn(1067) : error 017: undefined symbol "idx"
C:\Users\Áàòÿ âñåÿ Ðóñè\Desktop\Ïðîåêò\gamemodes\Heinz-v2.pwn(1068) : error 017: undefined symbol "idx"
C:\Users\Áàòÿ âñåÿ Ðóñè\Desktop\Ïðîåêò\gamemodes\Heinz-v2.pwn(1070) : error 017: undefined symbol "idx"
C:\Users\Áàòÿ âñåÿ Ðóñè\Desktop\Ïðîåêò\gamemodes\Heinz-v2.pwn(1070) : error 017: undefined symbol "idx"
C:\Users\Áàòÿ âñåÿ Ðóñè\Desktop\Ïðîåêò\gamemodes\Heinz-v2.pwn(1070) : warning 215: expression has no effect
C:\Users\Áàòÿ âñåÿ Ðóñè\Desktop\Ïðîåêò\gamemodes\Heinz-v2.pwn(1072) : error 017: undefined symbol "idx"
C:\Users\Áàòÿ âñåÿ Ðóñè\Desktop\Ïðîåêò\gamemodes\Heinz-v2.pwn(1077) : error 017: undefined symbol "string"
C:\Users\Áàòÿ âñåÿ Ðóñè\Desktop\Ïðîåêò\gamemodes\Heinz-v2.pwn(1077) : error 017: undefined symbol "string"
C:\Users\Áàòÿ âñåÿ Ðóñè\Desktop\Ïðîåêò\gamemodes\Heinz-v2.pwn(1077) : error 029: invalid expression, assumed zero
C:\Users\Áàòÿ âñåÿ Ðóñè\Desktop\Ïðîåêò\gamemodes\Heinz-v2.pwn(1077) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


11 Errors.


- - - Добавлено - - -

Название перепутал, простите пожалуйста

Quman
12.01.2015, 07:22
new idx, string[256];

BaBuIIIkaDrifteR
12.01.2015, 08:16
if(strcmp(cmdtext, "/try", true) == 0)
{

new string[256],idx;
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' ')){idx++;}
new offset = idx,result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))){result[idx - offset] = cmdtext[idx]; idx++;}
result[idx - offset] = EOS;
new chance = random(4);
if(chance < 2)
{
if(!strlen(result)) return SendClientMessage(playerid, COLOR_WHITE, "Eniieucoeoa: /try [aaenoaea]");
format(string, sizeof(string), "%s %s {1CEF00}| Oaa?ii",pName(playerid), result);
ProxDetector(5.0, playerid, string, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF);
format(string,sizeof(string), "%s {1CEF00}| Oaa?ii", result);
SetPlayerChatBubble(playerid,string,0xDD90FFFF,30.0,10000);
}
else
{
if(!strlen(result)) return SendClientMessage(playerid, COLOR_WHITE, "Eniieucoeoa: /try [aaenoaea]");
format(string, sizeof(string), "%s %s {FF0000}| Iaoaa?ii",pName(playerid), result);
ProxDetector(5.0, playerid, string, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF);
format(string,sizeof(string), "%s {FF0000}| Iaoaa?ii", result);
SetPlayerChatBubble(playerid,string,0xDD90FFFF,30.0,10000);
}
return true;
}

А лучьше в начало паблика добавил бы

public OnPlayerCommandText(playerid, cmdtext[])
{
new string[256],idx;

bazz`layter
12.01.2015, 15:14
Кто-то говорил, правда не помню кто, о том, что лучше не использовать глобальную переменную. Проще под каждую команду сделать.

$continue$
12.01.2015, 16:49
if(strcmp(cmdtext, "/try", true) == 0)
{

new string[256],idx;
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' ')){idx++;}
new offset = idx,result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1))){result[idx - offset] = cmdtext[idx]; idx++;}
result[idx - offset] = EOS;
new chance = random(4);
if(chance < 2)
{
if(!strlen(result)) return SendClientMessage(playerid, COLOR_WHITE, "Eniieucoeoa: /try [aaenoaea]");
format(string, sizeof(string), "%s %s {1CEF00}| Oaa?ii",pName(playerid), result);
ProxDetector(5.0, playerid, string, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF);
format(string,sizeof(string), "%s {1CEF00}| Oaa?ii", result);
SetPlayerChatBubble(playerid,string,0xDD90FFFF,30.0,10000);
}
else
{
if(!strlen(result)) return SendClientMessage(playerid, COLOR_WHITE, "Eniieucoeoa: /try [aaenoaea]");
format(string, sizeof(string), "%s %s {FF0000}| Iaoaa?ii",pName(playerid), result);
ProxDetector(5.0, playerid, string, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF, 0xDD90FFFF);
format(string,sizeof(string), "%s {FF0000}| Iaoaa?ii", result);
SetPlayerChatBubble(playerid,string,0xDD90FFFF,30.0,10000);
}
return true;
}

А лучьше в начало паблика добавил бы

public OnPlayerCommandText(playerid, cmdtext[])
{
new string[256],idx;

Не лучше...

Лучше всего высчитывать стринг в каждой команде...

bazz`layter
12.01.2015, 18:04
Может ты не правильно прочитал мой пост? Там написано, не использовать. :)

heralt
12.01.2015, 18:07
Выбивает еще 2-е ошибки:

C:\Users\Áàòÿ âñåÿ Ðóñè\Desktop\Ïðîåêò\gamemodes\Heinz-v2.pwn(1078) : error 017: undefined symbol "ProxDetector"
C:\Users\Áàòÿ âñåÿ Ðóñè\Desktop\Ïðîåêò\gamemodes\Heinz-v2.pwn(1086) : error 017: undefined symbol "ProxDetector"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.

Mazzilla
12.01.2015, 18:22
Выбивает еще 2-е ошибки:

C:\Users\Áàòÿ âñåÿ Ðóñè\Desktop\Ïðîåêò\gamemodes\Heinz-v2.pwn(1078) : error 017: undefined symbol "ProxDetector"
C:\Users\Áàòÿ âñåÿ Ðóñè\Desktop\Ïðîåêò\gamemodes\Heinz-v2.pwn(1086) : error 017: undefined symbol "ProxDetector"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.
Наверно, следует узнать в гугле/в поиске на портале, что означает error 017: undefined symbol, прежде чем оставлять сообщение?

L0ndl3m
12.01.2015, 21:55
Думаю Вам это (http://pro-pawn.ru/showthread.php?11410) поможет.