D:\Games\server\server\gamemodes\SFTDM.pwn(1259) : warning 219: local variable "DM" shadows a variable at a preceding level D:\Games\server\server\gamemodes\SFTDM.pwn(1276) : error 028: invalid subscript (not an array or too many subscripts): "DM" D:\Games\server\server\gamemodes\SFTDM.pwn(1276) : warning 215: expression has no effect D:\Games\server\server\gamemodes\SFTDM.pwn(1276) : error 001: expected token: ";", but found "]" D:\Games\server\server\gamemodes\SFTDM.pwn(1276) : error 029: invalid expression, assumed zero D:\Games\server\server\gamemodes\SFTDM.pwn(1276) : fatal error 107: too many error messages on one line Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 4 Errors.
if (strcmp(cmdtext, "/дм", true)==0 || strcmp(cmd, "/dm", true) == 0) { DM[playerid] = 1;//установим игроку, что он на ДМ SetPlayerVirtualWorld(playerid,1);//установим вирт. мир SetPlayerInterior(playerid,0);//установим 0 инт. (улица) ResetPlayerWeapons(playerid);//отними все оружие GivePlayerWeapon(playerid, 24, 100);//дадим дигл SetPlayerHealth(playerid,100);//установим 100 хп SendClientMessage(playerid, -1, "Чтобы выйти из ДМ пропишите: /выход.");//выдадим сообщение switch(random(2))//2 рандомных телепорта на ДМ. { case 0: SetPlayerPos(playerid,2571.4932,2824.8291,10.8203);//1 позиция case 1: SetPlayerPos(playerid,2604.3994,2828.9465,10.8203);//2 позиция } return 1; } if (strcmp(cmdtext, "/выход", true)==0 || strcmp(cmd, "/exit", true) == 0) { if (DM == 1)//если переменная ДМ = вирт. миру игрока то: { DM = GetPlayerVirtualWorld(playerid);//приравняем переменную DM к вирт. миру игрока (его мы установили при тп. на ДМ) DM[playerid] = 0;//сними условие нахождения игрока на ДМ SpawnPlayer(playerid);//заспавним игрока SetPlayerVirtualWorld(playerid,0);//установим 0 вирт. мир [!] обязательно! GivePlayerWeapon(playerid, 1, 10);// GivePlayerWeapon(playerid, 2, 20);//Дадим игроку пушки GivePlayerWeapon(playerid, 3, 30);// SetPlayerHealth(playerid,100);//Дадим хп. } if (DM == 0)return SendClientMessage(playerid,-1,"Вы не на ДМ.");//но если переменная DM не равна виртуальному миру игрок, то выдадим сообщение. return 1; }
DM[playerid] = 1;//установим игроку, что он на ДМ
if (DM == 1)//если переменная ДМ = вирт. миру игрока то:
new DM1[MAX_PLAYERS];
D:\Games\server\server\gamemodes\SFTDM.pwn(1477) : warning 209: function "OnPlayerSpawn" should return a value D:\Games\server\server\gamemodes\SFTDM.pwn(1478) : error 010: invalid function or declaration Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase 1 Error.
if(DM1[playerid] == 1) return OnPlayerCommandText(playerid,"/дм");//если переменная DM=1 то вернем игрока на дм зону. } return 1; }
if (strcmp(cmdtext, "/дм", true)==0 || strcmp(cmd, "/dm", true) == 0) { DM1[playerid] = 1;//установим игроку, что он на ДМ SetPlayerVirtualWorld(playerid,1);//установим вирт. мир SetPlayerInterior(playerid,0);//установим 0 инт. (улица) ResetPlayerWeapons(playerid);//отними все оружие GivePlayerWeapon(playerid, 24, 300);//дадим дигл GivePlayerWeapon(playerid, 25, 100);//дадим дигл SetPlayerHealth(playerid,100);//установим 100 хп SendClientMessage(playerid, -1, "Чтобы выйти из ДМ пропишите: /выход.");//выдадим сообщение switch(random(2))//2 рандомных телепорта на ДМ. { case 0: SetPlayerPos(playerid,2571.4932,2824.8291,10.8203);//1 позиция case 1: SetPlayerPos(playerid,2604.3994,2828.9465,10.8203);//2 позиция } return 1; } if (strcmp(cmdtext, "/выход", true)==0 || strcmp(cmd, "/exit", true) == 0) { if (DM == 1)//если переменная ДМ = вирт. миру игрока то: { DM = GetPlayerVirtualWorld(playerid);//приравняем переменную DM к вирт. миру игрока (его мы установили при тп. на ДМ) DM1[playerid] = 1;//сними условие нахождения игрока на ДМ SpawnPlayer(playerid);//заспавним игрока SetPlayerVirtualWorld(playerid,0);//установим 0 вирт. мир [!] обязательно! GivePlayerWeapon(playerid, 1, 10);// GivePlayerWeapon(playerid, 2, 20);//Дадим игроку пушки GivePlayerWeapon(playerid, 3, 30);// SetPlayerHealth(playerid,100);//Дадим хп. } if (DM == 0)return SendClientMessage(playerid,-1,"Вы не на ДМ.");//но если переменная DM не равна виртуальному миру игрок, то выдадим сообщение. return 1; }
if (strcmp(cmdtext, "/выход", true)==0 || strcmp(cmd, "/exit", true) == 0)
{
if (DM == 1)//если переменная ДМ = вирт. миру игрока то:
{
DM = GetPlayerVirtualWorld(playerid);//приравняем переменную DM к вирт. миру игрока (его мы установили при тп. на ДМ)
DM1[playerid] = 1;//сними условие нахождения игрока на ДМ
SpawnPlayer(playerid);//заспавним игрока
SetPlayerVirtualWorld(playerid,0);//установим 0 вирт. мир [!] обязательно!
GivePlayerWeapon(playerid, 1, 10);//
GivePlayerWeapon(playerid, 2, 20);//Дадим игроку пушки
GivePlayerWeapon(playerid, 3, 30);//
SetPlayerHealth(playerid,100);//Дадим хп.
}
if (DM1[playerid] == 0)return SendClientMessage(playerid,-1,"Вы не на ДМ.");//но если переменная DM не равна виртуальному миру игрок, то выдадим сообщение.
return 1;
}
if (strcmp(cmdtext, "/дм", true)==0 || strcmp(cmd, "/dm", true) == 0)
{
SetPVarInt(playerid, "DMStatus", 1);
SetPlayerVirtualWorld(playerid,1);//установим вирт. мир
SetPlayerInterior(playerid,0);//установим 0 инт. (улица)
ResetPlayerWeapons(playerid);//отними все оружие
GivePlayerWeapon(playerid, 24, 300);//дадим дигл
GivePlayerWeapon(playerid, 25, 100);//дадим дигл
SetPlayerHealth(playerid,100);//установим 100 хп
SendClientMessage(playerid, -1, "Чтобы выйти из ДМ пропишите: /выход.");//выдадим сообщение
switch(random(2))//2 рандомных телепорта на ДМ.
{
case 0: SetPlayerPos(playerid,2571.4932,2824.8291,10.8203);//1 позиция
case 1: SetPlayerPos(playerid,2604.3994,2828.9465,10.8203);//2 позиция
}
return 1;
}
if (strcmp(cmdtext, "/выход", true)==0 || strcmp(cmd, "/exit", true) == 0)
{
if (GetPVarInt(playerid, "DMStatus") != 1) return SendClientMessage(playerid,-1,"Вы не на ДМ.");//но если переменная DM не равна виртуальному миру игрок, то выдадим сообщение.
SetPlayerVirtualWorld(playerid,0);//установим 0 вирт. мир [!] обязательно!
GivePlayerWeapon(playerid, 1, 10);//
GivePlayerWeapon(playerid, 2, 20);//Дадим игроку пушки
GivePlayerWeapon(playerid, 3, 30);//
SetPlayerHealth(playerid,100);//Дадим хп.
SetPVarInt(playerid, "DMStatus", 0);
SpawnPlayer(playerid);//заспавним игрока
return 1;
}
Вообщем так вот:
pawn Code:
|
if (strcmp(cmdtext, "/дм", true)==0 || strcmp(cmd, "/dm", true) == 0)
{
if (GetPVarInt(playerid, "DMStatus") == 1) return SendClientMessage(playerid,-1,"Вы уже на ДМ, ок.");
SetPVarInt(playerid, "DMStatus", 1);
SetPlayerVirtualWorld(playerid,1);//установим вирт. мир
SetPlayerInterior(playerid,0);//установим 0 инт. (улица)
ResetPlayerWeapons(playerid);//отними все оружие
GivePlayerWeapon(playerid, 24, 300);//дадим дигл
GivePlayerWeapon(playerid, 25, 100);//дадим дигл
SetPlayerHealth(playerid,100);//установим 100 хп
SendClientMessage(playerid, -1, "Чтобы выйти из ДМ пропишите: /выход.");//выдадим сообщение
switch(random(2))//2 рандомных телепорта на ДМ.
{
case 0: SetPlayerPos(playerid,2571.4932,2824.8291,10.8203);//1 позиция
case 1: SetPlayerPos(playerid,2604.3994,2828.9465,10.8203);//2 позиция
}
return 1;
}
или использовать команды вообще |
if(GetPVarInt(playerid, "DMStatus") == 1) return false;