-
Постов
178 -
Зарегистрирован
-
Посещение
-
Победитель дней
24
Сообщения, опубликованные Nurkz
-
-
-
первая строчка принимает 4 значения, а именно map,x,y,z у тебя же 5 значений map,x,y,z,7828
-
во первых Caseпробел1 а не Case1
во вторых, вытащи функции из свича
на заметку, я бы на твоем месте ввел переменную на чара @lang и танцевал бы уже от нее
set @lang, select("RUS":"ENG");
switch(@lang)
{
Case 1:
...code...
break;
Case 2:
...code...
bleak;
}Теперь можно добавить свич в функцию, куда удобнее чем добавлять новые функции и переписывать скрипт
PS! И по возможности прошу использовать спойлер когда у тебя такая простыня кода, а то не очень удобно читать, спасибо за понимание.
- 1
-
Нет... не в скобке дело... Я пробовал и убрать и добавить... Если убираешь одну Пишет тагда Missin 1 Right Curly's
А если ставлю их 3 подряд Тагда после кейс2 он выдаёт кучу ошибок... Хотя когда не ставлю меню языков в нпц вообще ни одной проблемы
Где говорилось про 3 скобки? Английский знаем? Missin 1 Right Curly's, отсутствует 1 фигурная скобка, 1 а не 3 подряд.
-
@Flitemaster Какой эмулятор вы используете?
upd! Думаю это может помочь,
http://rathena.org/board/topic/95472-src-mod-enchant-system-cards-al-slot-4/
-
Specially for Fizik
Hatred:
/**
* Player register a bl as hatred
* @param sd : player session
* @param pos : hate position [0;2]
* @param bl : target bl
* @return false:failed, true:success
*/
bool pc_set_hate_mob(struct map_session_data *sd, int pos, struct block_list *bl)
{
int class_;
if (!sd || !bl || pos < 0 || pos > 2)
return false;
sd->hate_mob[pos] = -1;
class_ = status_get_class(bl);
if (!pcdb_checkid(class_)) {
unsigned int max_hp = status_get_max_hp(bl);
if ((pos == 1 && max_hp < 6000) || (pos == 2 && max_hp < 20000))
return false;
if (pos != status_get_size(bl))
return false; //Wrong size
}
sd->hate_mob[pos] = class_;
pc_setglobalreg(sd,sg_info[pos].hate_var,class_+1);
clif_hate_info(sd, pos, class_, 1);
return true;
}Feeling:
case SG_FEEL:
//AuronX reported you CAN memorize the same map as all three. [Skotlex]
if (sd) {
clif_feel_req(sd->fd,sd, skill_lv);
}
break;Табуляцию надеюсь поставить сам сможешь.
А вообще, прежде чем что-то бездумно менять, стоит проверить исходный код. Можно было заметить что pc_set_hate_mob у нас boolean а не int.
А если уж все заменил и не знаешь что было в исходном коде, читай что тебе пишет компилятор. Вроде черным по белому, на русском языке.
- 2
-
Я не очень понимаю, по моему тут нужно вписывать координаты, а как именно они работают, и зачем они нужны не понимаю. Можете пояснить?
Вот кусок скрипта
//Check if Idle
getmapxy( .@map$, .@x, .@y, 0 ); // Определяет твои координаты(в данный момент)
if(@map$ == .@map$ && @x == .@x && @y == .@y) { // Сверяет их с координатами сохраненными ранее
set @afk, @afk + 1; // Если координаты те же, что и ранее - переменная @afk +1
}
//If move timer resets
else {
set @afk, 0; // Иначе обнуляет переменную @afk
}
set @map$, .@map$; set @x, .@x; set @y, .@y; // Сохраняет текущие координаты в пользовательскую переменную(что-бы сравнить их позднее)
//PS! Переменная переписывается после каждой проверки.
//Idle Check for 5 Minutes
if(@afk == 5) { // Если переменная @afk = 5, то-есть координаты совпали 5 раз, останавливает все.
dispbottom "Бонус за онлайн остановлен, потому что вы находились в простое в течение 5 минут. Пожалуйста перезайдите,если вы хотите получать бонус.";
stopnpctimer;
end;
}- 1
-
Функция это отдельный скрипт, который ни коем образом не должен затрагивать "proverka".
Но судя по твоему отредактированному посту, ты это и так уже понял.
Хотя есть ещё 1 интересный фокус.
- script proverka -1,{
end;
OnPCLoginEvent:
dispbottom antibot;
function antibot {
return strcharinfo(0);
}
}Надеюсь суть понял.
-
-
-
Ты не в теме, отсчет всегда с 1 начинается, блиатьКаких блеать 1400, eathena с 5000 началась
В паблик они вышли только с 5000 ревизии когда было уже что показывать, нахрена с первой то ревизии в паблик кидать куски непонятно чего?
Меньше 5000 никогда не было в паблике.
были, зачатки eApp
-
откуда grf? скинь клиентскую часть целиком, с библиотеками и так-далее
-
-
кидай грф
-
Попробуй: http://pastebin.com/wmnqAmDG
У себя проверил, вроде всё нормально записывает.
-
глупый скрипт если честно))
завтра постараюсь выложить рабочую версию..
-
Как и где править стандартные квесты? Те что описаны на Шаронове....по городам.
.. npc/quests/*..
-
".. и reloadscript на npc ни как не влияет.."
Проститештопля?
- 1
-
Если помошник умирает то его снова не вызвать. Надо самому умереть или перезайти. Если варпнутся и вызвать еще раз его то будут два вместе бегать.
замени
set @helper,summon("Помошник["+strcharinfo(0)+"]",@supp,1800000);на
OnKillSupport:
getitem 14345, 1;
set called, 0;
end;
if( @helper && mobcount(strcharinfo(3),"support::OnKillSupport") ) unitkill @helper;
set @helper,summon("Помошник["+strcharinfo(0)+"]",@supp,1800000,"support::OnKillSupport"); -
Планируется использовать последнюю ревизию rAthena там минимальный клиент для всех функций вроде конец 2012 года... знаю что с клиентами 2010 года некоторые фичи не работают...
2012-04-10
какие фичи не работают с клиентом 2010 года? навигация? на кой х она нужна?
И даже если так, зачем 2013? что там такого, чего нету в 2012?
http://rathena.org/board/topic/82726-2013-ragexe-and-diff-up-to-date-2013-08-07/
^-- тут в комментариях довольно много ошибок и их фиксы, почитай.
-
function script rand {
if( rand(2) ) // 0,1
set BaseExp, BaseExp +100000; // 1
else // иначе
getitem 111, 1; // 0
return; // возвращаем
} -
OnPCKillEvent:
if(attachrid(killedrid))
{
if(@pdm_registered == $@pdm_opentime && @pdm_team > 0)
{
callfunc("pdm_unreg",getcharid(3));
warp "prontera",156,181;
}
}
end;Зачем так мудрить? OnPCDieEvent на что?
OnPCDieEvent:
if( @pdm_registered == $@pdm_opentime && @pdm_team > 0 )
{
callfunc "pdm_unreg";
warp "prontera",156,181;
}
end;@alive тоже не обязательно прописывать, персонаж встаёт сам.
Если не встаёт, то дабавьте заплатку в ../src/map/pc.c
Найдите строчку :
int pc_setpos(struct map_session_data* sd, unsigned short mapindex, int x, int y, clr_type clrtype)"И после :
if( !mapindex || !mapindex_id2name(mapindex) ) {
ShowDebug("pc_setpos: Passed mapindex(%d) is invalid!\n", mapindex);
return 1;
}Добавьте :
if( pc_isdead(sd) ) { //Revive dead people before warping them
pc_setstand(sd);
pc_setrestartvalue(sd,1);
} -
"делай через виспера"
не встречал раньше. в крайнем случае можно сделать через defpattern 1, "([^:]+):.*\\.*", "S";
activatepset 1;
В воскресенье можно будет попробовать что то сделать, а пока что свободного времени нет.
ха.. интересно.
ПС! Sanasol.
Пост ph1047 снова подправил а вот про цитату у ZLO забыл :DDDDD
-
Ты его писал под rA? А то у меня еА и она ругается на переменные.
замени переменные аля @x = a; на set @x, a;
и если не ошибаюсь, в eA нету bindatcmd..
делай через виспера, один хрен.
Эвент всё-равно буду писать под свой сервер, но вот просто ЖУТКО интересно посмотреть на реализацию Saha.
да этот новичёк даже запустить готовый не может, а ты реализацию хочешь)
вдруг удивит, заодно поучится.
Erundek (помогите)
в Помощь в скриптинге
Опубликовано
делай по аналогии с другими подобными магазинами и проверь еще раз табуляцию, хотя есть вариант что у тебя просто нету модификации sshop