Вопросы

Спойлер

if(info[x][pJail] > 0) info[x][pJail] --;
if(info[x][pJail] == 1)
{
	switch(random(1))
	{
		case 0: SetPlayerPos(x,2000.679687,1528.036865,14.622252);
	}
	SetPlayerInterior(x, 0);
	SCM(x,COLOR_LIGHTRED, "Вы были освобождены с джайла, больше не нарушайте. "); 
}

 

 

Можно сделать так чтобы после окончания времени спавнило в 1 точку а не по рандому. 

КОД СВЕРХУ

Поделиться сообщением


Ссылка на сообщение

15 ответов на этот вопрос

  • 0
Спойлер

CMD:admins(playerid)
{
    alog
    foreach(new x: Player)
    {
        if(info[x][pAdmin] >= 1)
        {
            GetPlayerName(x, sn, sizeof(sn));
            new nsa[200];
            new onl[50];
            new lala[3];
            format(lala, sizeof(lala), ""c_grey"/sp >> %d", Spectate[playerid]);
            if(GetPVarInt(x, "AFK") == 0) onl = "{00FF00}Online";
            if(Spectate[playerid] == 500) onl = "{00FF00}Online";
            if(Spectate[playerid] == 0) onl = "{00FF00}Online";
            else onl = lala;
            if(GetPVarInt(x, "AFK") > 0) format(onl, sizeof(onl), "{FFFFFF}AFK: %s", Converts(GetPVarInt(x, "AFK")));
            format(nsa, sizeof(nsa), ""c_green"%s"c_green"[%d] "c_green"[LVL: %d] [%s]\n", sn, x, info[x][pAdmin], onl);
            SCM(playerid, COLOR_GREEN, nsa);
            if(x == 0) x += 1;
            new st[50];
            format(st, sizeof(st), "Количество админов в сети (всего) %d", x);
            SCM(playerid,COLOR_RED, st);
            new s[80];
            format(s, sizeof(s), "Количество времени администрирования за сеанс: %d минут", GetPVarInt(playerid, "adms"));
            SCM(playerid,COLOR_LIGHTBLUE, s);
        }
    }
    return 1;
}

 

            format(nsa, sizeof(nsa), ""c_green"%s"c_green"[%d] "c_green"[LVL: %d] [%s]\n", sn, x, info[x][pAdmin], onl);
            SCM(playerid, COLOR_GREEN, nsa);

 

можно както убрать цвет (первая строка),или же просто сделать кмд как на аризоне. В спойлере полностю вся кмд.

 

Так же еще одна проблема с sp-ком при выходе спавнит.

Оставлю 2 кмд - /sp /spoff

Спойлер

CMD:sp(playerid, params[])
{
    alog
    if(sscanf(params, "i", params[0])) return SCM(playerid, COLOR_GREY, "Èñïîëüçóéòå: /sp [id]");
    com
    if(GetPlayerState(playerid) != PLAYER_STATE_SPECTATING)
    {
        GetPlayerPos(playerid, TeleportDest[params[0]][0],TeleportDest[params[0]][1],TeleportDest[params[0]][2]);
        TeleportDestNoFloat[params[0]][0] = GetPlayerInterior(params[0]);
        TeleportDestNoFloat[params[0]][1] = GetPlayerVirtualWorld(params[0]);
    }
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, params[0]);
    Spectate[playerid] = params[0];
    for(new x = 0; x < 9; x++) TextDrawHideForPlayer(playerid, spec[x]);
    for(new x = 0; x < 9; x++) TextDrawShowForPlayer(playerid, spec[x]);
    SelectTextDraw(playerid, 0xB4B5B7FF);
    if(IsPlayerInAnyVehicle(Spectate[playerid])) PlayerSpectateVehicle(playerid, GetPlayerVehicleID(Spectate[playerid]), 1);
    else PlayerSpectatePlayer(playerid, Spectate[playerid], 1);
    SetPlayerInterior(playerid,GetPlayerInterior(Spectate[playerid]));
    SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(Spectate[playerid]));
    ainfo[playerid][aSP] ++;
    return 1;
}
CMD:spoff(playerid)
{
    alog
    GameTextForPlayer(playerid,"~w~spectate ~r~exit", 2000, 4);
    TogglePlayerSpectating(playerid, 0);
    for(new x = 0; x < 9; x++) TextDrawHideForPlayer(playerid, spec[x]);
    CancelSelectTextDraw(playerid);
    SetPlayerSpawn(playerid);
    for(new x = 0; x < 500; x++) Spectate[playerid] += 1;
    return 1;
}

 

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Pirat , "c_green" уберите и текст будет белый. И в следующий раз кидайте код под спойлер в код с языком "C"

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@Rich_Hen,

 

Спойлер

C:\Users\User\Desktop\gamemodes\dm.pwn(4515) : error 001: expected token: "-string end-", but found "-identifier-"
C:\Users\User\Desktop\gamemodes\dm.pwn(4515) : error 029: invalid expression, assumed zero
C:\Users\User\Desktop\gamemodes\dm.pwn(4515) : error 029: invalid expression, assumed zero
C:\Users\User\Desktop\gamemodes\dm.pwn(4515) : fatal error 107: too many error messages on one line

Compilation aborted.

Pawn compiler 3.2.3664              Copyright (c) 1997-2016, ITB CompuPhase


4 Errors.

 

Заметка от Cawfee , создано

Посмотрите здесь, как правильно выкладывать код (это касается Ваших постов выше).

Поделиться сообщением


Ссылка на сообщение
  • 0

С jail-ом решил проблему. А с /sp /spoff нет. И с /admins тоже не решил пока.

Поделиться сообщением


Ссылка на сообщение
  • 0

Помогите с /sp /spoff ; /admins Можно другую кмд на /admins это мне не очень. Если у кого есть кмд /admins нормальна где просто указано скок адм в онл и список адм и афк адм или нет и времени администрирования за сеанс: . Скиньте

Отредактировано пользователем odosenok
Причина: убрал цитату.

Поделиться сообщением


Ссылка на сообщение
  • 0

@Pirat, ну, это не дело. Написали двадцать пять проблем, а потом плевать на все, "помогите с /sp, /spoff". Начнем с того, что, по-хорошему, на каждую проблему стоило создавать отдельную тему. Дабы понимать, что и где, спойлеры стоило называть нормальными именами, а не "1" да "ф". Да и вообще можно минимизировать количество сокращений. Толку-то от этого? Времени много не выиграете, зато быстрее привыкните к клавиатуре - кажется, у Вас с этим проблемы.

 

Ладно, поехали по проблемам.

  1. Касаемо /admins. Вам пользователь @Rich_Hen сказал, что "c_green" устанавливает цвет текста. Если Вы везде это уберете, то цвет станет по умолчанию. А Ваше "или же просто сделать кмд как на аризоне" мне непонятно как минимум потому, что я с роду не играл на этой Аризоне. Хотите что-то конкретное - описывайте конкретно. Если видели где-то подобие, делайте изображение экрана, прикладывайте. Если не видели, излагайте детальное представление. Хоть в графических редакторах рисуйте и показывайте полученные изображения.
  2. Команды /sp и /spoff: "при выходе спавнит". А в чем проблема-то? Вы хотите, чтобы при выходе из режима наблюдения Вы оказывались там, где входили в режим наблюдения? Или где вышли? Сколько видел похожие команды, почти всегда при выходе из режима наблюдения игрока направляют на появление. Это вполне нормальная практика. Что не так-то?

Поделиться сообщением


Ссылка на сообщение
  • 0

@odosenok Здравствуйте, С командами /admins и /jail разобрался. Что касательно команды - /sp и /spoff, я хочу чтобы меня спавнило на том месте где я заходил в слежку. Также отвечу то что я не создал другую тему и в одной теме делаю много  "вопросов". Я думал что создавать тему за темой как то не очень хочется, та и работе Вашей менше будет не надо много раз закрывать темы. Что от 1 пользователя. Да соглашусь не совсем понимаешь что в теме про джайл, делает вопросы по другим командам.

Поделиться сообщением


Ссылка на сообщение
  • 0

@Pirat, а Вы за нас не беспокойтесь. Попробуйте следующие команды:

Спойлер

CMD:sp(playerid, params[])
{
	alog
	if(sscanf(params, "i", params[0])) return SCM(playerid, COLOR_GREY, "Èñïîëüçóéòå: /sp [id]");
	com
	if(GetPlayerState(playerid) != PLAYER_STATE_SPECTATING)
	{
		GetPlayerPos(playerid, TeleportDest[params[0]][0],TeleportDest[params[0]][1],TeleportDest[params[0]][2]);
		TeleportDestNoFloat[params[0]][0] = GetPlayerInterior(params[0]);
		TeleportDestNoFloat[params[0]][1] = GetPlayerVirtualWorld(params[0]);
	}
	
	new Float:x, Float:y, Float:z, Float:a;
	GetPlayerPos(playerid, x, y, z);
	GetPlayerFacingAngle(playerid, a);
	
	SetPVarFloat(playerid, "sp_pos_x", x);
	SetPVarFloat(playerid, "sp_pos_y", y);
	SetPVarFloat(playerid, "sp_pos_z", z);
	SetPVarFloat(playerid, "sp_pos_a", a);
	
	TogglePlayerSpectating(playerid, 1);
	PlayerSpectatePlayer(playerid, params[0]);
	Spectate[playerid] = params[0];
	for(new x = 0; x < 9; x++) TextDrawHideForPlayer(playerid, spec[x]);
	for(new x = 0; x < 9; x++) TextDrawShowForPlayer(playerid, spec[x]);
	SelectTextDraw(playerid, 0xB4B5B7FF);
	if(IsPlayerInAnyVehicle(Spectate[playerid])) PlayerSpectateVehicle(playerid, GetPlayerVehicleID(Spectate[playerid]), 1);
	else PlayerSpectatePlayer(playerid, Spectate[playerid], 1);
	SetPlayerInterior(playerid,GetPlayerInterior(Spectate[playerid]));
	SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(Spectate[playerid]));
	ainfo[playerid][aSP] ++;
	return 1;
}
CMD:spoff(playerid)
{
	alog
	GameTextForPlayer(playerid,"~w~spectate ~r~exit", 2000, 4);
	TogglePlayerSpectating(playerid, 0);
	for(new x = 0; x < 9; x++) TextDrawHideForPlayer(playerid, spec[x]);
	CancelSelectTextDraw(playerid);
	SetPlayerPos(playerid, GetPVarFloat(playerid, "sp_pos_x"), GetPVarFloat(playerid, "sp_pos_y"), GetPVarFloat(playerid, "sp_pos_z"));
	SetPlayerFacingAngle(playerid, GetPVarFloat(playerid, "sp_pos_a"));
	DeletePVar(playerid, "sp_pos_x");
	DeletePVar(playerid, "sp_pos_y");
	DeletePVar(playerid, "sp_pos_z");
	DeletePVar(playerid, "sp_pos_a");
	for(new x = 0; x < 500; x++) Spectate[playerid] += 1;
	return 1;
}

 

 

Поделиться сообщением


Ссылка на сообщение
  • 0
2 часа назад, odosenok сказал:

@Pirat, а Вы за нас не беспокойтесь. Попробуйте следующие команды:

  Код (закрыть спойлер)


CMD:sp(playerid, params[])
{
	alog
	if(sscanf(params, "i", params[0])) return SCM(playerid, COLOR_GREY, "Èñïîëüçóéòå: /sp [id]");
	com
	if(GetPlayerState(playerid) != PLAYER_STATE_SPECTATING)
	{
		GetPlayerPos(playerid, TeleportDest[params[0]][0],TeleportDest[params[0]][1],TeleportDest[params[0]][2]);
		TeleportDestNoFloat[params[0]][0] = GetPlayerInterior(params[0]);
		TeleportDestNoFloat[params[0]][1] = GetPlayerVirtualWorld(params[0]);
	}
	
	new Float:x, Float:y, Float:z, Float:a;
	GetPlayerPos(playerid, x, y, z);
	GetPlayerFacingAngle(playerid, a);
	
	SetPVarFloat(playerid, "sp_pos_x", x);
	SetPVarFloat(playerid, "sp_pos_y", y);
	SetPVarFloat(playerid, "sp_pos_z", z);
	SetPVarFloat(playerid, "sp_pos_a", a);
	
	TogglePlayerSpectating(playerid, 1);
	PlayerSpectatePlayer(playerid, params[0]);
	Spectate[playerid] = params[0];
	for(new x = 0; x < 9; x++) TextDrawHideForPlayer(playerid, spec[x]);
	for(new x = 0; x < 9; x++) TextDrawShowForPlayer(playerid, spec[x]);
	SelectTextDraw(playerid, 0xB4B5B7FF);
	if(IsPlayerInAnyVehicle(Spectate[playerid])) PlayerSpectateVehicle(playerid, GetPlayerVehicleID(Spectate[playerid]), 1);
	else PlayerSpectatePlayer(playerid, Spectate[playerid], 1);
	SetPlayerInterior(playerid,GetPlayerInterior(Spectate[playerid]));
	SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(Spectate[playerid]));
	ainfo[playerid][aSP] ++;
	return 1;
}
CMD:spoff(playerid)
{
	alog
	GameTextForPlayer(playerid,"~w~spectate ~r~exit", 2000, 4);
	TogglePlayerSpectating(playerid, 0);
	for(new x = 0; x < 9; x++) TextDrawHideForPlayer(playerid, spec[x]);
	CancelSelectTextDraw(playerid);
	SetPlayerPos(playerid, GetPVarFloat(playerid, "sp_pos_x"), GetPVarFloat(playerid, "sp_pos_y"), GetPVarFloat(playerid, "sp_pos_z"));
	SetPlayerFacingAngle(playerid, GetPVarFloat(playerid, "sp_pos_a"));
	DeletePVar(playerid, "sp_pos_x");
	DeletePVar(playerid, "sp_pos_y");
	DeletePVar(playerid, "sp_pos_z");
	DeletePVar(playerid, "sp_pos_a");
	for(new x = 0; x < 500; x++) Spectate[playerid] += 1;
	return 1;
}

 

 

Спойлер

C:\Users\User\Desktop\pirat dm\gamemodes\dm.pwn(6135) : warning 219: local variable "x" shadows a variable at a preceding level
C:\Users\User\Desktop\pirat dm\gamemodes\dm.pwn(6135) : warning 213: tag mismatch
C:\Users\User\Desktop\pirat dm\gamemodes\dm.pwn(6135) : symbol is assigned a value that is never used: "x"
C:\Users\User\Desktop\pirat dm\gamemodes\dm.pwn(6135) -- (6136) : warning 219: local variable "x" shadows a variable at a preceding level
C:\Users\User\Desktop\pirat dm\gamemodes\dm.pwn(6136) : warning 213: tag mismatch
C:\Users\User\Desktop\pirat dm\gamemodes\dm.pwn(6136) : symbol is assigned a value that is never used: "x"
Pawn compiler 3.2.3664              Copyright (c) 1997-2016, ITB CompuPhase

Header size:           7840 bytes
Code size:           397340 bytes
Data size:           598176 bytes
Stack/heap size:    4194304 bytes; estimated max. usage=1826 cells (7304 bytes)
Total requirements: 5197660 bytes

4 Warnings.
 

Строка 
    for(new x = 0; x < 9; x++) TextDrawHideForPlayer(playerid, spec[x]);
    for(new x = 0; x < 9; x++) TextDrawShowForPlayer(playerid, spec[x]);

Отредактировано пользователем Pirat

Поделиться сообщением


Ссылка на сообщение
  • 0

@Pirat,

 

Спойлер

CMD:sp(playerid, params[])
{
	alog
	if(sscanf(params, "i", params[0])) return SCM(playerid, COLOR_GREY, "Èñïîëüçóéòå: /sp [id]");
	com
	if(GetPlayerState(playerid) != PLAYER_STATE_SPECTATING)
	{
		GetPlayerPos(playerid, TeleportDest[params[0]][0],TeleportDest[params[0]][1],TeleportDest[params[0]][2]);
		TeleportDestNoFloat[params[0]][0] = GetPlayerInterior(params[0]);
		TeleportDestNoFloat[params[0]][1] = GetPlayerVirtualWorld(params[0]);
	}
	
	new Float:posX, Float:posY, Float:posZ, Float:posA;
	GetPlayerPos(playerid, posX, posY, posZ);
	GetPlayerFacingAngle(playerid, posA);
	
	SetPVarFloat(playerid, "sp_pos_x", posX);
	SetPVarFloat(playerid, "sp_pos_y", posY);
	SetPVarFloat(playerid, "sp_pos_z", posZ);
	SetPVarFloat(playerid, "sp_pos_a", posA);
	
	TogglePlayerSpectating(playerid, 1);
	PlayerSpectatePlayer(playerid, params[0]);
	Spectate[playerid] = params[0];
	for(new x = 0; x < 9; x++) TextDrawHideForPlayer(playerid, spec[x]);
	for(new x = 0; x < 9; x++) TextDrawShowForPlayer(playerid, spec[x]);
	SelectTextDraw(playerid, 0xB4B5B7FF);
	if(IsPlayerInAnyVehicle(Spectate[playerid])) PlayerSpectateVehicle(playerid, GetPlayerVehicleID(Spectate[playerid]), 1);
	else PlayerSpectatePlayer(playerid, Spectate[playerid], 1);
	SetPlayerInterior(playerid,GetPlayerInterior(Spectate[playerid]));
	SetPlayerVirtualWorld(playerid, GetPlayerVirtualWorld(Spectate[playerid]));
	ainfo[playerid][aSP] ++;
	return 1;
}

 

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@odosenok 

Спойлер

[22:31:36] Script[gamemodes/dm.amx]: Run time error 17: "Invalid/unsupported P-code file format"
[22:31:36] Failed to load 'gamemodes/dm.amx' script.
[22:31:36] Number of vehicle models: 0

 

Поделиться сообщением


Ссылка на сообщение
  • 0
50 минут назад, Pirat сказал:

@odosenok 

  ошибка в serverlog (закрыть спойлер)

[22:31:36] Script[gamemodes/dm.amx]: Run time error 17: "Invalid/unsupported P-code file format"
[22:31:36] Failed to load 'gamemodes/dm.amx' script.
[22:31:36] Number of vehicle models: 0

 

В моде где - то есть, либо лишняя скобка - { || }, либо наоборот не достающая.

Поделиться сообщением


Ссылка на сообщение
  • 0

@odosenok Все равно спавнит

Поделиться сообщением


Ссылка на сообщение
  • 0

@Pirat Давай, объясни ещё разок. По порядку, что, да как....

Поделиться сообщением


Ссылка на сообщение
  • 0

@Nekit_Krut18 /sp и /spoff, я хочу чтобы меня спавнило на том месте где я заходил в слежку.

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Артём Профиков
      От Артём Профиков
      У меня есть система подсказок вот так она выглядет
      ShowNotification(playerid, тип, "текст", время, "команда через /", "текст кнопки");
      Только есть вопрос как сделать так чтоб она активировалась в определенном радиусе? Заранее спасибо