Question

Всем привет, нашел тему - Команды "Записка на авто"

Сделал как и сказали:

В new

new Text3D:Numbertext[MAX_VEHICLES]; 

Потом к цветам:

#define COLOR_ZAO 0x4592DEAA  

И потом

enum ainfo
{
	aTextCar
}

Потом команды ( Тут сразу 2 команды в один код закину )

CMD:zapiska(playerid, params[])
    new
        string[144],
        carID = GetPlayerVehicleID(playerid),
        Text3D:textID,
        playerName[MAX_PLAYER_NAME];

    if(GetPVarInt(playerid,"CarText") > 0)
        return SendClientMessage(playerid,-1,!"На авто уже есть записка!");

	if(sscanf(params, "s[32]", params[0]))
      	return SendClientMessage(playerid, -1, !"Используйте: /zapiska [Ваш текст]");

    GetPlayerName(playerid, playerName, sizeof(playerName));

      format(string,sizeof(string),!"Сообщение: %s\n Отправитель: %s",params[0],playerName);
      textID = Create3DTextLabel(string,-1,0.0,0.0,0.0,15.0,0);
      Attach3DTextLabelToVehicle(textID,carID,0.0,0.0,1.0);

      SetPVarInt(playerid,"CarText",textID);

    return SendClientMessage(playerid,-1,!"Вы оставили записку на авто!");
}

CMD:delzapiska(playerid) {
    Delete3DTextLabel(GetPVarInt(playerid,"CarText"));
    DeletePVar(playerid,"CarText");

    return SendClientMessage(playerid,-1,!"Вы убрали записку с авто!");
}

 

Показывает ошибки:

new.pwn(21010) : error 003: declaration of a local variable must appear in a compound block
new.pwn(21016) : error 010: invalid function or declaration
new.pwn(21017) : error 010: invalid function or declaration
new.pwn(21019) : error 010: invalid function or declaration
new.pwn(21020) : error 010: invalid function or declaration
new.pwn(21022) : error 021: symbol already defined: "GetPlayerName"
new.pwn(21024) : error 021: symbol already defined: "format"
new.pwn(21028) : error 021: symbol already defined: "SetPVarInt"
new.pwn(21030) : error 010: invalid function or declaration
new.pwn(21034) : warning 213: tag mismatch
new.pwn(53359) : warning 203: symbol is never used: "Numbertext"
Pawn compiler 3.10.20160907	 	 	Copyright (c) 1997-2006, ITB CompuPhase


9 Errors.

 

Share this post


Link to post

9 answers to this question

  • 0
22 минуты назад, HAPKOMAH сказал:

CMD:zapiska(playerid, params[])

после этой строки должна быть открывающаяся скобка

Share this post


Link to post
  • 0

@DEST

new.pwn(21017) : warning 217: loose indentation
new.pwn(21025) : warning 217: loose indentation
new.pwn(21029) : warning 213: tag mismatch
new.pwn(21031) : warning 217: loose indentation
new.pwn(21035) : warning 213: tag mismatch
new.pwn(53360) : warning 203: symbol is never used: "Numbertext"
Pawn compiler 3.10.20160907	 	 	Copyright (c) 1997-2006, ITB CompuPhase

Header size:          17952 bytes
Code size:          4998560 bytes
Data size:          7575652 bytes
Stack/heap size:      16384 bytes; estimated max. usage=1984 cells (7936 bytes)
Total requirements:12608548 bytes

6 Warnings.

 

Share this post


Link to post
  • 0

@DEST

Кстати, как работает команда? Решил не обращать внимания на эти ошибки, зашел - пишу команду, он отвечает мол записка оставлена.. А записки нет, отошел в поле, там нету машин - ввел кмд, все равно записка оставляется, только вопрос - Куда? Как команда понимает авто

Share this post


Link to post
  • 0
1 час назад, HAPKOMAH сказал:

@DEST


new.pwn(21017) : warning 217: loose indentation
new.pwn(21025) : warning 217: loose indentation
new.pwn(21029) : warning 213: tag mismatch
new.pwn(21031) : warning 217: loose indentation
new.pwn(21035) : warning 213: tag mismatch
new.pwn(53360) : warning 203: symbol is never used: "Numbertext"
Pawn compiler 3.10.20160907	 	 	Copyright (c) 1997-2006, ITB CompuPhase

Header size:          17952 bytes
Code size:          4998560 bytes
Data size:          7575652 bytes
Stack/heap size:      16384 bytes; estimated max. usage=1984 cells (7936 bytes)
Total requirements:12608548 bytes

6 Warnings.

 

Все Варнинги 217 - говорят о том что строка не выровнена. Табуляцию соблюдай.
Варнинг 213 - говорит о том что у тебя не правильно используется данная строка.
Варнинг 203 - говорит о том что у тебя есть переменная которая не где не используется. 
Вроде так уже не помню точно. 
 

Спойлер

CMD:zapiska(playerid, params[])
{
    new string[144],carID = GetPlayerVehicleID(playerid),Text3D:textID,playerName[MAX_PLAYER_NAME];
    if(GetPVarInt(playerid,"CarText") > 0) return SendClientMessage(playerid,-1,!"На авто уже есть записка!");
    if(sscanf(params, "s[32]", params[0])) return SendClientMessage(playerid, -1, !"Используйте: /zapiska [Ваш текст]");
    GetPlayerName(playerid, playerName, sizeof(playerName));
    format(string,sizeof(string),!"Сообщение: %s\n Отправитель: %s",params[0],playerName);
    textID = Create3DTextLabel(string,-1,0.0,0.0,0.0,15.0,0);
    Attach3DTextLabelToVehicle(textID,carID,0.0,0.0,1.0);
    SetPVarInt(playerid,"CarText",textID);
    return SendClientMessage(playerid,-1,!"Вы оставили записку на авто!");
}

CMD:delzapiska(playerid)
{
    Delete3DTextLabel(GetPVarInt(playerid,"CarText"));
    DeletePVar(playerid,"CarText");
    return SendClientMessage(playerid,-1,!"Вы убрали записку с авто!");
}

 

Edited by Покемон

Share this post


Link to post
  • 0

@HAPKOMAH в машине вводить надо, а не возле нее

Share this post


Link to post
  • 0
17 часов назад, Покемон сказал:

Все Варнинги 217 - говорят о том что строка не выровнена. Табуляцию соблюдай.
Варнинг 213 - говорит о том что у тебя не правильно используется данная строка.
Варнинг 203 - говорит о том что у тебя есть переменная которая не где не используется. 
Вроде так уже не помню точно. 
 

  закрыть спойлер

CMD:zapiska(playerid, params[])
{
    new string[144],carID = GetPlayerVehicleID(playerid),Text3D:textID,playerName[MAX_PLAYER_NAME];
    if(GetPVarInt(playerid,"CarText") > 0) return SendClientMessage(playerid,-1,!"На авто уже есть записка!");
    if(sscanf(params, "s[32]", params[0])) return SendClientMessage(playerid, -1, !"Используйте: /zapiska [Ваш текст]");
    GetPlayerName(playerid, playerName, sizeof(playerName));
    format(string,sizeof(string),!"Сообщение: %s\n Отправитель: %s",params[0],playerName);
    textID = Create3DTextLabel(string,-1,0.0,0.0,0.0,15.0,0);
    Attach3DTextLabelToVehicle(textID,carID,0.0,0.0,1.0);
    SetPVarInt(playerid,"CarText",textID);
    return SendClientMessage(playerid,-1,!"Вы оставили записку на авто!");
}

CMD:delzapiska(playerid)
{
    Delete3DTextLabel(GetPVarInt(playerid,"CarText"));
    DeletePVar(playerid,"CarText");
    return SendClientMessage(playerid,-1,!"Вы убрали записку с авто!");
}

 

Спасибо, все исправилось, но 3 варнинга осталось

@DEST У меня вот так получается ( один и тот-же текст пишет ) пробовал англ. и русс. язык.

Спойлер

FatR-8Itcdo.jpg

 

Share this post


Link to post
  • 0
21 час назад, HAPKOMAH сказал:

format(string,sizeof(string),!"Сообщение: %s\n Отправитель: %s",params[0],playerName);

вот здесь восклицательный знак (красным выделил) попробуй убрать

Share this post


Link to post
  • 0

@DEST Убрал.

А почему текст появляется как Надпись над авто, хотя в теме автор писал, что текст появится на заднем стекле

Edited by HAPKOMAH
Причина: Дописал

Share this post


Link to post
  • 0

@HAPKOMAH  в CRMP 0.3e нету такой функции поэтому автор сделал систему таким образом. На счет описания команды не знаю. Возможно его составлял не автор.

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Kutuzov
      By Kutuzov
      Всем привет, хотелось бы спросить у тех, кто разбирается в PluginSDK.
      Какие есть источники, руководства, документации о PluginSDK?
      Я пока что ничего нормального не нахожу.
      Заранее спасибо