- Автор темы
- #1
3.1. Заголовок темы должен отражать основную суть темы + 2.6. Весь код необходимо брать под тег "Код".
Добрый день форумчане, хочу попросить у вас помощи, касаемо компилирования и исправления ошибок.
Ошибки:
\gamemodes\hkkn.pwn(45523) : error 017: undefined symbol "MPG_Player"
\gamemodes\hkkn.pwn(45523) : error 001: expected token: ";", but found "]"
\gamemodes\hkkn.pwn(45523) : error 029: invalid expression, assumed zero
\gamemodes\hkkn.pwn(45523) : fatal error 107: too many error messages on one line
Код:
Описание: Одна из частей системы гонки вооружений, для сервера копия радмира. Ошибочную строку выделил.
Заранее спасибо, буду регулярно читать форум.
Ошибки:
\gamemodes\hkkn.pwn(45523) : error 017: undefined symbol "MPG_Player"
\gamemodes\hkkn.pwn(45523) : error 001: expected token: ";", but found "]"
\gamemodes\hkkn.pwn(45523) : error 029: invalid expression, assumed zero
\gamemodes\hkkn.pwn(45523) : fatal error 107: too many error messages on one line
Код:
Pawn:
new const kalendbred[20] = {17,15,7,10,5,6,3,20,16,18,11,2,13,19,12,9,1,4,14,8};
CMD:mpg_start(playerid,saireks[]) {
if(GetPlayerAdminEx(playerid) < 8) return 1;
extract saireks-> new count;else return SCM(playerid,0xCECECEFF,!"Èñïîëüçóéòå: /mpg_start [êîë-âî ó÷àñòíèêîâ]");
if(mpgun[MPG_STATUS]) return SCM(playerid,0xCECECEFF,!"*Îøèáêà. Ìåðîïðèÿòèå óæå çàïóùåíî.");
if(count < 2 || count > 10) return SCM(playerid,0xCECECEFF,!"*Îøèáêà. Êîë-âî ó÷àñòíèêîâ îò 2 äî 10.");
mpgun[MPG_STATUS] = 2;
mpgun[MPG_USERS] = count;
format(STRING_GLOBAL,sizeof STRING_GLOBAL,"{FFBB00}[ÌÏ] {CECECE}Ðåãèñòðàöèÿ íà ìåðîïðèÿòèå \"Ãîíêà Âîîðóæåíèÿ\" íà÷àëàñü!");
SendClientMessageToAll(0xFFFFFFFF,STRING_GLOBAL);
return 1;
}
enum KillList {
KILL_PLAYER1[24],
KILL_PLAYER2[24],
KILL_GUN
}
new const MPG_KillList[2][KillList] = {{"","",0}, {"","",0}};
stock KillList_Add(pi1,pi2,gun) {
MPG_KillList[1] = MPG_KillList[0];
format(MPG_KillList[0][KILL_PLAYER1],24,"%s",GetPlayerNameEx(pi1));
format(MPG_KillList[0][KILL_PLAYER2],24,"%s",GetPlayerNameEx(pi2));
MPG_KillList[0][KILL_GUN] = gun;
string_dialog[0] = EOS;
if(strlen(MPG_KillList[1][KILL_PLAYER1])) {
format(string_dialog,sizeof string_dialog,",[\"%s\",%d,\"%s\"]",MPG_KillList[1][KILL_PLAYER1],MPG_KillList[
1][KILL_GUN],MPG_KillList[1][KILL_PLAYER2]);
}
format(string_dialog,sizeof string_dialog,"interface('NewYearArmsRace').setKillList([[\"%s\",%d,\"%s\"]%s])"
,MPG_KillList[0][KILL_PLAYER1],MPG_KillList[0][KILL_GUN],MPG_KillList[0][KILL_PLAYER2],string_dialog);
foreach(new x: mpg) SendPacket(x,t_CefUpdate,string_dialog);
return 1;
}
public: StartMPG() {
mpgun[MPG_STATUS] = 1;
format(string_dialog,sizeof string_dialog,"");
foreach(new x: mpg) {
format(string_dialog,sizeof string_dialog,"%s\"%s\",",string_dialog,GetPlayerNameEx(x));
}
strdel(string_dialog,strlen(string_dialog) - 1, strlen(string_dialog));
new j;
foreach(new x: mpg) {
MPG_Player[x][MPGP_MESTO] = j; //ошибка
MPG_Player[x][MPGP_GUNLVL] = 0;
MPG_Player[x][MPGP_GUNXP] = 0;
new ra = random(sizeof MPG_POS);
SetPlayerPos(x, MPG_POS[ra][0] + random(2), MPG_POS[ra][1] + random(2), MPG_POS[ra][2]);
SetPlayerFacingAngle(x,MPG_POS[ra][3]);
SetTimerEx("UnfreezePlayer", 3000, false, "i", x);
ResetPlayerWeapons(x);
GivePlayerWeapon(x,MPG_GUNS[0],300);
SCM(x,COLOR_WHITE,"{FFBB00}[ÌÏ] {CECECE}Ìåðîïðèÿòèå íà÷àëîñü! Ïðèÿòíîé èãðû <3");
SendPacket(x, t_CefHide,"WaitingPlayers");
format(STRING_GLOBAL,sizeof STRING_GLOBAL,"[%d,%d,%d,0,2,[],[%s]]",j+1,mpgun[MPG_USERS],MPG_GUNS[0],string_dialog);
SendPacket(x, t_CefShow,"NewYearArmsRace",STRING_GLOBAL);
j++;
}
return 1;
}
stock MPG_Update() {
new playerList[10][2];
new playerCount;
foreach(new x: mpg) {
playerList[playerCount][0] = x;
playerList[playerCount][1] = MPG_Player[x][MPGP_MESTO];
}
for(new j = 0; j < playerCount - 1; j++)
{
for(new k = 0; k < playerCount - j - 1; k++)
{
if(playerList[k][1] < playerList[k+1][1])
{
new temp = playerList[k][0];
playerList[k][0] = playerList[k+1][0];
playerList[k+1][0] = temp;
temp = playerList[k][1];
playerList[k][1] = playerList[k+1][1];
playerList[k+1][1] = temp;
}
}
}
format(string_dialog, sizeof string_dialog, "interface('setPlayers').setPlayers([");
for(new n = 0; n < playerCount; n++)
{
MPG_Player[playerList[playerCount][0]][MPGP_MESTO] = n;
format(string_dialog, sizeof string_dialog, "%s\"%s\",", string_dialog, GetPlayerNameEx(playerList[n][0]));
}
new str_len = strlen(string_dialog);
strdel(string_dialog, str_len - 1, str_len);
strcat(string_dialog, "])");
foreach(new x: mpg) {
format(STRING_GLOBAL,sizeof STRING_GLOBAL,"interface('NewYearArmsRace').setCurrentPosition(%d)",MPG_Player[x][MPGP_MESTO]+1);
SendPacket(x,t_CefUpdate,STRING_GLOBAL);
SendPacket(x,t_CefUpdate,string_dialog);
}
return 1;
}
Заранее спасибо, буду регулярно читать форум.
Последнее редактирование модератором: