#1
Отправлено 26 января 2013 – 01:07
-
- Профессионал
-
В этом туториале я покажу вам,как искать пропущенную скобку.
Для этого нам потребуется:
- ActivePerl ссылка
- Скрипт Brackets ссылка
Устанавливаем ActivePerl, затем открываем архив со скриптом Brackets и содержимое папки perl в архиве,переносим в папу Perl,которая создалась при установке ActivePerl.
Теперь как проверить мод:
Берём мод(Именно исходник[.pwn]) и кидаем его в папку Perl.После этого открываем GUI в папке Perl.В левом верхнем углу мы наблюдаем кнопку “Open File” и указываем путь до нашего исходника,после того как вы указали путь,он просканирует ваш мод и покажет вам:
- Кол-во закрытых скобок
- Кол-во открытых скобок
- Если где-то недостаёт какой-либо скобки,он покажет в каком месте.
На этом всё. Туториал подготовил: Darw1
Сообщение отредактировал iRusel: 18 августа 2014 – 20:36
Причина редактирования: Обновлена ссылка на скрипт
8
#2
Отправлено 26 января 2013 – 01:11
- Профессионал
-
2
#3
Отправлено 09 марта 2013 – 21:14
- Новичок
-
Открывю GUI – ничего не происходит…
0
#4
Отправлено 09 марта 2013 – 21:17
- Профессионал
-
Korsar240 (09 марта 2013 – 21:14) писал:
Открывю GUI – ничего не происходит…
Perl установил?
скрипт закинул куда? В корень?
2
#5
Отправлено 09 марта 2013 – 21:27
- Новичок
-
Перл установил естественно, скрипт закинул по пути:
D:ПапкаlibPerl
Добавь в скайп coag.dragon, есть вопрос…
0
#6
Отправлено 09 марта 2013 – 21:31
- Профессионал
-
Скопируй скрипт в корень перла к примеру у меня перл установлен D:Program FilesPerl так и копируй скрипт
1
#7
Отправлено 09 марта 2013 – 21:49
- Новичок
-
Всё получилось, спасибо iRusel!)
0
#8
Отправлено 12 марта 2013 – 14:49
- Новичок
-
Нормальный?? За что репутацию снизил??? За то что просто не понял???
Сообщение отредактировал Korsar240: 12 марта 2013 – 14:50
1
#9
Отправлено 03 июля 2013 – 19:58
- Banned
-
#10
Отправлено 20 января 2014 – 17:32
- Местный
-
Привет ребята, а он лишние скобки показывает?
0
- ← Предыдущая тема
- Уроки
- Следующая тема →
- Вы не можете создать новую тему
- Вы не можете ответить в тему
1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей
Если вы пропустили где-то скобку (не закрыли), то pawn выдаст 26 ошибок на функции, которые в моде объявлены.
Если вы поставили лишнюю скобку, pawn вылетит.
Благодаря этому уроку вы сможете найти пропущенную скобку.
1) Скачиваем эту программу. И открываем ее:
2) Кликаем “Browse” и указываем путь до .pwn файла.
3) Нажимаем “Start”.
4) После, программа вам выдаст кол-во открытых и закрытых скобок. Эти числа должны совпадать. Если же нет, вы где-то не закрыли, или не открыли скобку. Также, программа выдаст строку, в которой скобка не закрыта / не открыта.
Автор: Evqeniy
Работоспособность данного метода не проверена. В случае обнаружения неисправности, пишите в теме.
На этом все!
Делаю проэкт галерею на javascript, потерял скобку.
Ошибка расположена в функции arrows. Пишет, Uncaught SyntaxError: Illegal return statement.
function showImage(event){
//ПРОВЕРКА И УДАЛЕНИЕ
//##############
if (document.querySelector(".canDelete")){
document.querySelector(".canDelete").classList.remove("canDelete")
}
if (document.querySelector(".OtherMiniMain")){
document.querySelector(".OtherMiniMain").classList.remove(".OtherMiniMain");}
let pictures=document.querySelector(".pictures");
if (document.querySelector(".selected")){
document.querySelector(".selected").classList.remove("selected");
}
if (document.querySelector(".open")){
document.querySelector(".open").remove()
}
let OtherMains=document.querySelectorAll(".otherMain");
for (item of OtherMains){
item.remove()
}
let eventImage;
if (document.querySelector(".miniUpdate")){
eventImage=document.querySelector(".miniUpdate");
}
else {
eventImage=event.target;
}
//ИНИЦИАЛИЗАЦИЯ
//#############
let heart=document.querySelector(".heart");
if (!eventImage.classList.contains("chosenImg")){
heart.classList.remove("beforeChose")
}
else{
heart.classList.add("beforeChose")
}
let main=document.querySelector("main");
let block=document.querySelector(".show");
let imageDiv=document.querySelector(".ImgAndArrow");
eventImage.classList.add("selected")
block.hidden=false;
let other=document.querySelector(".other")
document.body.style.overflow="hidden";
let image=document.createElement("img");
image.src=eventImage.src;
image.classList.add("open");
imageDiv.append(image);
let OtherMainImage=image.cloneNode();
OtherMainImage.classList.add("otherMain");
OtherMainImage.classList.remove("open");
OtherMainImage.classList.add("OtherMiniMain")
createSublings()
function createSublings(){
createMini(2,"-");
createMini(1,"-");
pictures.append(OtherMainImage)
if (document.querySelector(".chosen").textContent=="Home"){
let items=document.querySelectorAll(".chosenImg");
if (getChosenIndex()==items.length-2){
createMini(1,"+")
}
if (getChosenIndex()<item.length-2){
createMini(1,"+");
createMini(2,"+");
}
function getChosenIndex(){
let col=0;
for (item of items){
if (item.classList.contains("selected")){
return col
}
col++
}
}}
else{
if (getIndex()==main.children.length-2){
createMini(1,"+");
}
if (getIndex()<main.children.length-2){
createMini(1,"+");
createMini(2,"+");
}
}
function checkNoneDiv(){
let col=0;
for (item of document.querySelectorAll(".noneImageDiv")){
col++
}
return col
}
// alert(checkNoneDiv())
function createMini(num,znak){
let coords=OtherMainImage.getBoundingClientRect();
let image=OtherMainImage.cloneNode();
let Children;
if (document.querySelector(".chosen").textContent=="Home"){
// alert("sdf")
Children=main.querySelectorAll(".chosenImg")
}
else{
Children=main.children
}
image.classList.remove("OtherMiniMain");
if (znak=="-"){
if (!Children[getIndex()-num]){
if (checkNoneDiv()>=2){
return
}
appendNoneDiv()
return
}
image.src=Children[getIndex()-num].src;
image.dataset.number=`r${getIndex()-num}`;
OtherMainImage.dataset.number=`r${Number(image.getAttribute("data-number").split("").slice(1).join(""))+num}`
pictures.append(image);
}
if (znak=="+"){
if (!Children[getIndex()+num]){
if (checkNoneDiv()>=2){
return
}
appendNoneDiv()
return
}
image.src=Children[getIndex()+num].src;
image.dataset.number=`r${getIndex()+num}`;
OtherMainImage.dataset.number=`r${Number(image.getAttribute("data-number").split("").slice(1).join(""))-num}`
pictures.append(image);
}
function appendNoneDiv(){
let noneDiv=document.createElement("div");
noneDiv.classList.add("noneImageDiv")
pictures.append(noneDiv)
}
}
// alert(document.querySelector("main").children[0].src);
// image.src=main.children[getIndex()-1].src
// other.append(image);
// let predImage=OtherMainImage.cloneNode();
// predImage.style.left=`${coords.left-coords.width*2-45}px`
}
function getIndex(){
let col=0;
for (item of main.children){
if (item.classList.contains("selected")){
return col;
}
col++
}
}
let miniClicks=document.querySelectorAll(".otherMain");
for (item of miniClicks){
item.addEventListener("click",miniClick)
}
}
function hideShow(event){
document.querySelector(".deleteWindow").hidden=true;
for (item of document.querySelectorAll(".noneImageDiv")){
item.remove()
}
let block=document.querySelector(".show");
block.hidden=true;
document.body.style.overflow="auto";
if (document.querySelector(".miniUpdate")){
document.querySelector(".miniUpdate").classList.remove("miniUpdate")
}
}
function miniClick(event){
document.querySelector(".deleteWindow").hidden=true;
if (document.querySelector(".noneImageDiv")){
for (item of document.querySelectorAll(".noneImageDiv")){
item.remove()
}
}
if (document.querySelector(".miniUpdate")){
document.querySelector(".miniUpdate").classList.remove("miniUpdate")
}
let main=document.querySelector("main");
if (event.target.getAttribute("data-number")==null){
return
}
let classIndex=Number(event.target.getAttribute("data-number").split("").slice(1).join(""));
main.children[classIndex].classList.add("miniUpdate");
showImage()
}
function arrows(event){
let canDelete;
let num=1;
let MainMini=document.querySelector(".OtherMiniMain");
if (!MainMini){
return
}
if (!MainMini.getAttribute("data-number")){
hideShow()
return
}
let classIndex=Number(MainMini.getAttribute("data-number").split("").slice(1).join(""));
if (document.querySelector(".canDelete")){
if (classIndex<=0){
document.querySelector(".canDelete").classList.remove("canDelete")
canDelete=document.querySelector(".arrowRight");
num=0
}
else{
canDelete=document.querySelector(".arrowLeft");
}
}
else{
if (document.querySelector(".canDelete")){
document.querySelector(".canDelete").classList.remove("canDelete")
}
canDelete=event.target;
}
if (document.querySelector(".miniUpdate")){
document.querySelector(".miniUpdate").classList.remove("miniUpdate")
}
if (event){
if (event.key=="ArrowRight"){
document.querySelector(".deleteWindow").hidden=true;
let newIndex=classIndex+1;
if (newIndex>=main.children.length){
return
}
if (document.querySelector(".chosen").textContent=="Home"){
if (!main.children[newIndex].classList.contains("chosenImg")){
return
}}
if (newIndex==1){
document.querySelector(".noneImageDiv").remove();
document.querySelector(".noneImageDiv").remove()
}
if (newIndex==2){
document.querySelector(".noneImageDiv").remove()
}
// if (main.children[newIndex])
main.children[newIndex].classList.add("miniUpdate");
// if (main.children[newIndex].classList.contains(""))
showImage()}
if (event.key=="ArrowLeft"){
document.querySelector(".deleteWindow").hidden=true;
let newIndex=classIndex-1;
if (newIndex<=-1){
return
}
if (document.querySelector(".chosen").textContent=="Home"){
if (!main.children[newIndex].classList.contains("chosenImg")){
return
}}
main.children[newIndex].classList.add("miniUpdate");
showImage()
}
}
if (canDelete.className=="arrowRight"){
let newIndex=classIndex+num;
if (newIndex>=main.children.length){
return
}
if (!main.children[newIndex].classList.contains("chosenImg")){
return
}
if (newIndex==1){
document.querySelector(".noneImageDiv").remove();
document.querySelector(".noneImageDiv").remove()
}
if (newIndex==2){
document.querySelector(".noneImageDiv").remove()
}
}
main.children[newIndex].classList.add("miniUpdate");
showImage()}
//LEFT
if (canDelete.className=="arrowLeft"){
let newIndex=classIndex-1;
// if (newIndex<=-1){
// return
// }
if (document.querySelector(".chosen").textContent=="Home"){
if (!main.children[newIndex].classList.contains("chosenImg")){
return
}}
main.children[newIndex].classList.add("miniUpdate");
showImage()
}
if (document.querySelector(".canDelete")){
document.querySelector(".canDelete").classList.remove("canDelete")
}
function deleteImage(event){
if (!document.querySelector(".selected")){
return
}
if (document.querySelector(".selected").classList.contains("chosenImg")){
document.querySelector(".heart").classList.remove("beforeChose");
}
if (document.querySelector(".canDelete")){
document.querySelector(".canDelete").classList.remove("canDelete")
}
let pictures=document.querySelector(".pictures");
let selected=document.querySelector(".selected");
let deleteWindow=document.querySelector(".deleteWindow");
if (!selected){
hideShow()
return
}
ok=document.querySelector(".deleteOk");
cancel=document.querySelector(".deleteCancel");
if (event.key=="Delete"|| event.target.classList.contains("trash")){
deleteWindow.hidden=false;
ok.addEventListener("click",deleteWindowButttons);
cancel.addEventListener("click",deleteWindowButttons);
document.addEventListener("keydown",deleteWindowButttons)
}
}
function deleteWindowButttons(event){
let pictures=document.querySelector(".pictures");
let selected=document.querySelector(".selected");
let deleteWindow=document.querySelector(".deleteWindow");
if (event.target.classList.contains("deleteOk") || event.key=="Enter"){
selected.remove();
deleteWindow.hidden=true;
pictures.classList.add("canDelete");
arrows()
}
if (event.target.classList.contains("deleteCancel") || event.key=="Escape"){
deleteWindow.hidden=true;
}
}
function showWindowfromImage(event){
if (document.querySelector(".selectedForRight")){
document.querySelector(".selectedForRight").classList.remove("selectedForRight")
}
event.target.classList.add("selectedForRight")
let whiteWindow=document.querySelector(".window");
let deleteW=document.querySelector(".windowDeleteImg");
if (!event.target.parentNode.tagName){
return
}
if (event.target.parentNode.tagName!="MAIN" || event.target.tagName!="IMG"){
whiteWindow.hidden=true;
return
}
// alert(event.target.parentNode.tagName)
whiteWindow.hidden=false;
whiteWindow.style.left=event.pageX+"px";
whiteWindow.style.top=event.pageY+"px";
deleteW.addEventListener("click",deleteOrChosen)
event.preventDefault();
}
function deleteOrChosen(event){
document.querySelector(".selectedForRight").remove()
}
function ShowChosenBlock(event){
let show=document.querySelector(".show")
let main=document.querySelector("main");
let images=main.querySelectorAll("img");
document.querySelector(".deleteWindow").hidden=true;
show.hidden=true;
if (event.target.textContent=="Chosen"){
for (item of images){
if (!item.classList.contains("chosenImg")){
item.hidden=true;
}
}
document.body.style.background="rgba(255, 197, 249, 1)";
event.target.textContent="Home";
return
}
if (event.target.textContent=="Home"){
for (item of images){
item.hidden=false;
}
document.body.style.background="rgba(136, 134, 134, 1)";
event.target.textContent="Chosen";
return
}}
function addToChosen(event){
let selected=document.querySelector(".selected");
if (selected.classList.contains("chosenImg")){
selected.classList.remove("chosenImg")
document.querySelector(".heart").classList.remove("beforeChose");
return
}
selected.classList.add("chosenImg");
document.querySelector(".heart").classList.add("beforeChose");
}
//РАБОТА ПРОГРАММЫ
let heart=document.querySelector(".heart");
heart.addEventListener("click", addToChosen)
let chosen=document.querySelector(".chosen");
chosen.addEventListener("click",ShowChosenBlock);
let bin=document.querySelector(".trash");
bin.addEventListener("click",deleteImage);
document.addEventListener("keydown",deleteImage);
let arrowLeft=document.querySelector(".arrowLeft");
let arrowRight=document.querySelector(".arrowRight");
arrowLeft.addEventListener("click",arrows);
arrowRight.addEventListener("click",arrows);
document.addEventListener("keydown",arrows)
let left=document.querySelector(".left");
left.addEventListener("click",hideShow)
let main=document.querySelector("main");
let images=main.querySelectorAll("img");
document.addEventListener("contextmenu",event=>event.preventDefault())
for (item of images){
item.addEventListener("click",showImage);
// item.addEventListener("contextmenu",showWindowfromImage);
}
let whiteWindow=document.querySelector(".window");
document.addEventListener("contextmenu",showWindowfromImage);
document.addEventListener("click",event=>whiteWindow.hidden=true);
document.addEventListener("scroll",event=>whiteWindow.hidden=true);
window.addEventListener("resize",event=>whiteWindow.hidden=true);
- Статус
- Закрыто для дальнейших ответов.
Amfy
Гость
-
#1
Для того, чтобы найти в моде пропущенную скобку, нам понадобиться:
- ActivePerl (x86(32) и x64)
- Скрипт Brackets
Устанавливаем ActivePerl, затем разархивируем архив с скриптом Brackets в папку Perl, которая создалась при установке ActivePerl.
Теперь как проверить мод:
Берем мод (именно исходник .pwn) и кидаем его в папку Perl. После этого открываем GUI в папке Perl, в левом верхнем углу мы наблюдаем кнопку “Open File” и указываем путь до нашего исходника, после того как вы указали путь, он просканирует ваш мод и покажет вам:
- Кол-во закрытых скобок
- Кол-во открытых скобок
- Если где-то не хватает какой-либо скобки, он покажет в каком месте.
Последнее редактирование: 29.07.2016
-
#2
Что делать?
Код:
Can not open file C:/Perl64/new.pwn: No such file or directory at brackets.pm line 55.
Can not open file C:/Perl64/new.pwn: No such file or directory at brackets.pm line 55.
while executing
"::perl::CODE(0x3853a98)"
invoked from within
".b invoke"
("uplevel" body line 1)
invoked from within
"uplevel #0 [list $w invoke]"
(procedure "tk::ButtonUp" line 24)
invoked from within
"tk::ButtonUp .b"
(command bound to event)
Amfy
Гость
-
#3
Код кидай, а лучше – создай тему с подробным описанием проблемы, дабы не засорять тему.
-
#4
Код кидай, а лучше – создай тему с подробным описанием проблемы, дабы не засорять тему.
Это мне выдало когда я перекинул pwn в папку ту, и я хотел запустить что бы найти пропущенную скобку
Mirex
Руководитель проекта
-
#5
Ошибка информирует вас о том, что “невозможно открыть файл”.
Что-то вы сделали не правильно.
-
#6
Ошибка информирует вас о том, что “невозможно открыть файл”.
Что-то вы сделали не правильно.
Делал так как было написано в 1 посту
-
#7
Перевел:
Код:
при выполнении
"::с Perl::код(0x2887c94)"
вызывается изнутри
".б вызвать"
("до уровня" линии тела 1)
вызывается изнутри
"до уровня #0 [список $ш вызовите]"
(процедура "ТЗ::кнопка" линия 24)
вызывается изнутри
"ТЗ::кнопка вверх .б"
(команда привязан к событию)
-
#8
Последнее редактирование модератором: 25.09.2015
Amfy
Гость
-
#10
ActivePerl пишет:
MISSING BRACKET: The } bracket on line 34452 does not have a pair!
Result:
Opening angle brackets ({): 4148
Closing angle brackets (}): 4149
1 angle brackets without pair! Fix it!
Строка 34452:
ProxDetector(30.0, playerid, smail, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
В чем тут проблема?
Последнее редактирование модератором: 25.09.2015
Amfy
Гость
-
#11
@santafe11, проблема не в строке, а там – где находится эта строка. Визуально глянь, выравни код лесенкой и увидишь где не хватает {
-
#12
,ты че настаяшый скриптер? 83DDE33:
LHTTD
Темная сторона Форума
-
#13
Если у кого-то ошибки и т д, попробуйте выровнить код по лесенки, также можно использовать Notepad
-
#14
,выдаёт строки, в которых нету скобок. Что делать?
Последнее редактирование модератором: 01.06.2016
-
#15
бери полностью код, будь то команда, или диалог. и смотри где пропущена
-
#17
Не знаю,поможет вам или нет,я лично искал пропущенную скобку методом разделения мода на части-сперва на большие,а потом одну из тех больших,где не хватает скобки,разделял на меньшие,пока не нашёл пропущенную скобку.По мне,так очень хороший способ.
-
#18
Что делать если открываю фаил GUI.pl в папке Perl который перетащил с Архива он открывается на 1-2 секунды и закрывается.
-
#19
, у меня не открывается GUI, точнее открывается и закрывается сразу!
-
#20
@Shimer, Вы в какую папку perl кинули ? Кидать нужно в ту, что на диске C.
- Статус
- Закрыто для дальнейших ответов.
When I run the code it tells me there’s an error which is ')' expected near '='
:
function restartLvl()
for i = 1, #balloonTexts do
display.remove(balloonTexts[i])
print ("restart level")
end
score.text = '0'
ballRemain.text = '3'
balloonText = {}
createBalloons(1, 3)
if (askUser.isVisible = true) then --this is the line where the error occured
askUser.isVisible = false
end
if (yesBtn.isVisible = true) then
yesBtn.isVisible = false
end
if (noBtn.isVisible = true) then
noBtn.isVisible = false
end
end
I don’t know how it is still missing a ‘)
‘, because I closed all the brackets.
asked Mar 11, 2014 at 8:10
=
is the assignment operator, ==
is the operator to test equality. Change it to:
if (askUser.isVisible == true) then
askUser.isVisible = false
end
And all the others as well. The brackets ()
can be ommited for simplicity:
if askUser.isVisible == true then
askUser.isVisible = false
end
If the value is a boolean, you can also do this because all values that are not nil
or false
are treated as true.
if askUser.isVisible then
askUser.isVisible = false
end
answered Mar 11, 2014 at 8:13
Yu HaoYu Hao
119k44 gold badges230 silver badges289 bronze badges
4
This is not related to your answer but
I recommend you to use lua glider IDE because this type error can be detect well by using this IDE.
answered Mar 14, 2014 at 8:06