-
Постов
178 -
Зарегистрирован
-
Посещение
-
Победитель дней
24
Сообщения, опубликованные Nurkz
-
-
В item_db, в поле OnEquip_Script и OnUnequip_Script соответственно пишем:
callfunc("f_mySummon",1,EQI_HEAD_TOP); //вызываем
и
callfunc("f_mySummon",0,EQI_HEAD_TOP); //убиваемСоздаем скриптовый файл и пишем туда следующее:
function script f_mySummon {
function f_checkSummon;
function f_checkRefine;
set summonRefine,(summonRefine?(f_checkSummon()?summonRefine:0):(getarg(1)?getequiprefinerycnt(getarg(1)):0));
switch(getarg(0)?getarg(0):0)
{
Default:
case 0:
if( f_checkSummon() )
{
for( set .@i, 1; .@i <= f_checkRefine(summonRefine); set .@i, .@i +1 )
killmonster strcharinfo(3),"f_mySummon::OnSummon_"+getcharid(3)+"x"+.@i;
set summonRefine, 0;
}
break;
case 1:
if( f_checkSummon() )
dispbottom "You already have "+f_checkRefine(summonRefine)+" summons.",0;
else if( f_checkRefine(summonRefine) )
{
for( set .@i, 1; .@i <= f_checkRefine(summonRefine); set .@i, .@i +1 )
summon getmonsterinfo(1399,0),1399,86400000,"f_mySummon::OnSummon_"+getcharid(3)+"x"+.@i;
}
break;
}
end;
function f_checkSummon {
for( set .@i, 1; .@i <= f_checkRefine(summonRefine); set .@i, .@i +1 )
{
if( mobcount(strcharinfo(3),"f_mySummon::OnSummon_"+getcharid(3)+"x"+.@i) )
return 1;
}
return 0;
}
function f_checkRefine {
switch(getarg(0))
{
case 5:
case 6:
set .@i, 1;
break;
case 7:
case 8:
case 9:
set .@i, 2;
break;
case 10:
set .@i, 3;
break;
Default:
set .@i, 0;
break;
}
return .@i;
}
}Должно работать.
@Gavard Нужны скриншоты ошибки из item_db.
- 2
-
мощный гайд как раз для школьника
Вы о чем вообще?
-
Открываем clif.c и ищем эту строку
case 0x02: // sitdownи после
if (battle_config.basic_skill_check && pc_checkskill(sd, NV_BASIC) < 3) {
clif_skill_fail(sd, 1, USESKILL_FAIL_LEVEL, 2);
break;
}добавляем
if(map[sd->bl.m].flag.pvp) {
clif_displaymessage(sd->fd, "You can't sit at this place.");
break;
}Вот так просто.
- 1
-
не тот тип проекта
-
У меня нет mapcache.exe)))) как быть? афину качал черепахой)))
Открываем *Athena-9.sln с помощью Visual Studio, выбираем Release и начинаем компилирование.
-
..скоро выложу сборку
На кой хрен, простите ли?
-
да и толку от тебя как от таракана!)
Молодой человек, как вам не стыдно?
@JxOxKxExR
Однако он прав, не стоит взваливать на себя непосильную ношу, легче перечислить перечень услуг и красиво оформить топик, нежели отхватывать вот такие сообщения.
Удачи в начинаниях.
-
Попробуйте поставить packet_db_ver: 25 в ../db/packet_db.txt
-
Какое значение version стоит в clientinfo.xml
-
Убедитесь что в ../src/common/mmo.h стоит правильная версия клиента игры, совпадающая с вашим собственным.
Создадите еще одного персонажа, попробуйте зайти с него.
-
Удаляй участки кода в ..src/map/*.* везде где есть
#IFDEF RENEWAL
ну и естественно в ..src/config/core.h удали строчку
#include "./renewal.h"
и сам файл renewal.h находящийся в той же директории
Только зачем удалять, если его можно просто отключить?
UPD! Так можно удалить renewal из rAthena, в eAthena 3-их профессий и renewal-механики нет изначально.
- 1
-
Зайдите в:
../src/map/pc.c
Найдите там функции
pc_payzeny
pc_getzeny
pc_paycash
pc_getcashОбратите внимание на то сколько и какие значения эти функции принмают.
Зайдите в:
../src/map/vending.c
Найдите строчки с ошибкой, и дайте этим функциям недостающие значения
-
В inter_athena поменяй порты на 3306
-
А вообще это модификация из eAmod'а
офигеть, МОДИФИКАЦИЯ, сорсы-то хоть ставить не надо? Как они до этого додумались, гениально
без понятия как они это реализовали, может в 2 строчки, а может в 500
просто факт того что в eAmod'е это имеется и как-раз таки на уровне src
-
Как-то так..
OnInit:
setarray .Maps$[0], "prontera", "morocc", "payon";
for( set .@i, 0; .@i < getarraysize(.Maps$); set .@i, .@i +1 )
{
set .@tMapsName$, .Maps[.@i];
set .MapsName$[.@i], setchar(.@tMapsName$, strtoupper(charat(.@tMapsName$,0)), 0);
setmapflag .Maps$[.@i], mf_loadevent;
}
end;
OnPCLoadMapEvent:
for( set .@i, 0; .@i < getarraysize(.Maps$); set .@i, .@i +1 )
{
if( .Maps$[.@i] == strcharinfo(3) )
{
announce "[ "+.MapsName$[.@i]+" Town ]",bc_self,0x00FFFF,bold,16;
break;
}
}
end;А вообще это модификация из eAmod'а
-
Вместо make install нужно писать make sql, выше уже давал ответ на этот вопрос
-
make clean
make sql- 1
-
if( bl->type == BL_PC && ((TBL_PC*)bl)->state.novenders && (((TBL_PC*)bl)->state.vending || ((TBL_PC*)bl)->state.buyingstore) )
return 0;- 1
-
нужен кусок кода
- 1
-
попробуй полностью удалить фреймворк и установить заного
- 1
-
не вижу ошибок в коде, какай эмулятор и что компилятор на этот раз пишет
make clean
make sql- 1
-
ACMD_FUNC(partybuff)
{
struct party_data *p = NULL;
nullpo_retr(-1, sd);
if( !sd->status.party_id ) {
clif_displaymessage(fd, msg_txt(sd,1450)); // You're not in a party.
return -1;
}
p = party_search(sd->status.party_id);
if( sd->state.spb ) {
sd->state.spb = 0;
clif_displaymessage(fd, msg_txt(sd,1451)); // Displaying party member's buffs disabled.
} else {
sd->state.spb = 1;
clif_displaymessage(fd, msg_txt(sd,1452)); // Displaying party member's buffs enabled.
}
clif_party_info(p,sd);
return 0;
}- 1
-
кусок кода в студию
-
выдрать из eAmod'a я полагаю
призыв монстра
в Вопросы, ошибки и баги
Опубликовано
По порядку, что, где и как писал/делал, что именно не работает?
Только что проверял на тестовом сервере, все идеально работает