-
Постов
250 -
Зарегистрирован
-
Посещение
-
Победитель дней
119
Сообщения, опубликованные Fox RM
-
-
Просто вопрос в том - работает ли вообще этот src?
Прошу уточнить, конкретно тот который ты выложил , или костюмы в целом?
-
в pc.c попробуй чутка сменить:
if(pos&(EQP_HEAD_LOW|EQP_COSTUME_HEAD_LOW)) {
if(id && !(pos&(EQP_HEAD_TOP|EQP_HEAD_MID|EQP_COSTUME_HEAD_MID|EQP_COSTUME_HEAD_TOP)))
sd->status.head_bottom = id->look;
else
sd->status.head_bottom = 0;
if((pos&EQP_HEAD_LOW && (pc_checkequip(sd,EQP_COSTUME_HEAD_LOW)) < 0) || pos&EQP_COSTUME_HEAD_LOW)
clif_changelook(&sd->bl,LOOK_HEAD_BOTTOM,sd->status.head_bottom);
}
if(pos&(EQP_HEAD_TOP|EQP_COSTUME_HEAD_TOP)) {
if(id)
sd->status.head_top = id->look;
else
sd->status.head_top = 0;
if((pos&EQP_HEAD_TOP && (pc_checkequip(sd,EQP_COSTUME_HEAD_TOP)) < 0) || pos&EQP_COSTUME_HEAD_TOP)
clif_changelook(&sd->bl,LOOK_HEAD_TOP,sd->status.head_top);
}
if(pos&(EQP_HEAD_MID|EQP_COSTUME_HEAD_MID)) {
if(id && !(pos&(EQP_HEAD_TOP|EQP_COSTUME_HEAD_TOP)))
sd->status.head_mid = id->look;
else
sd->status.head_mid = 0;
if((pos&EQP_HEAD_MID && (pc_checkequip(sd,EQP_COSTUME_HEAD_MID)) < 0) || pos&EQP_COSTUME_HEAD_MID)
clif_changelook(&sd->bl,LOOK_HEAD_MID,sd->status.head_mid);
}
if(sd->status.inventory[n].equip & EQP_HEAD_LOW) {
sd->status.head_bottom = ( pc_checkequip(sd,EQP_COSTUME_HEAD_LOW) >= 0 ) ? sd->inventory_data[pc_checkequip(sd,EQP_COSTUME_HEAD_LOW)]->look : 0;
clif_changelook(&sd->bl,LOOK_HEAD_BOTTOM,sd->status.head_bottom);
}
if(sd->status.inventory[n].equip & EQP_HEAD_TOP) {
sd->status.head_top = ( pc_checkequip(sd,EQP_COSTUME_HEAD_TOP) >= 0 ) ? sd->inventory_data[pc_checkequip(sd,EQP_COSTUME_HEAD_TOP)]->look : 0;
clif_changelook(&sd->bl,LOOK_HEAD_TOP,sd->status.head_top);
}
if(sd->status.inventory[n].equip & EQP_HEAD_MID) {
sd->status.head_mid = ( pc_checkequip(sd,EQP_COSTUME_HEAD_MID) >= 0 ) ? sd->inventory_data[pc_checkequip(sd,EQP_COSTUME_HEAD_MID)]->look : 0;
clif_changelook(&sd->bl,LOOK_HEAD_MID,sd->status.head_mid);
}
if(sd->status.inventory[n].equip & EQP_COSTUME_HEAD_TOP) {
sd->status.head_top = ( pc_checkequip(sd,EQP_HEAD_TOP) >= 0 ) ? sd->inventory_data[pc_checkequip(sd,EQP_HEAD_TOP)]->look : 0;
clif_changelook(&sd->bl,LOOK_HEAD_TOP,sd->status.head_top);
}
if(sd->status.inventory[n].equip & EQP_COSTUME_HEAD_MID) {
sd->status.head_mid = ( pc_checkequip(sd,EQP_HEAD_MID) >= 0 ) ? sd->inventory_data[pc_checkequip(sd,EQP_HEAD_MID)]->look : 0;
clif_changelook(&sd->bl,LOOK_HEAD_MID,sd->status.head_mid);
}
if(sd->status.inventory[n].equip & EQP_COSTUME_HEAD_LOW) {
sd->status.head_bottom = ( pc_checkequip(sd,EQP_HEAD_LOW) >= 0 ) ? sd->inventory_data[pc_checkequip(sd,EQP_HEAD_LOW)]->look : 0;
clif_changelook(&sd->bl,LOOK_HEAD_BOTTOM,sd->status.head_bottom);
}Прошу прощения, а в чем заключается отличие, от того что указано выше в моем посте?
P.S Проблема так и не решена, , Перевес " в минус" присутствует
-
Смотрю revision 17306, а там вместо
char item_name[100];
int number = 0, item_id, flag = 0;следующее
char item_name[100];
int number = 0, bound = BOUND_NONE;Ничего не поменяется дружище)
-
Поставь поддержку иероглифов, из-за того что её у тебя нет, то что должно выглядеть как "корейский" - выглядит как "кракозябры"
- 1
-
src/map/skill.c
-
У тебя поддержка иероглифов стоит на компьютере?
- 1
-
Можно ревизию еа?
Не забыл? Или просто в пост не внес?
+++ battle.conf (working copy)
@@ -141,3 +141,9 @@
// range. For example, Sonic Blow requires a 2 cell distance before autocasting is allowed.
// This setting also affects autospellwhenhit.
autospell_check_range: no
+
+// ****************************************
+// Reserved Costume ID's
+// ****************************************
+// Reserved Char ID for costume converted items.
+reserved_costume_id: 999998Это всё внесено, этот кусок же в диффе есть, всё что в диффе внесено. Ревизия 15268
-
нет
-
это разве не стандартный эвент?
Стандартный
ea\trunk\npc\custom\events\p_track
- 1
-
Понятно... на помощь я так понял рассчитывать не стоит, поступим иначе - готов заплатить, за помощь в решении проблемы.
-
Значит , снова же эти костюмы, возникла небольшая проблема. Решил переписать мод, который будет указан ниже, под eAthena, следует заметить что написан он под rAthena. Так вот:
Index: atcommand.c
===================================================================
--- atcommand.c (revision 17306)
+++ atcommand.c (working copy)
@@ -1117,7 +1117,7 @@
ACMD_FUNC(item)
{
char item_name[100];
- int number = 0, item_id, flag = 0;
+ int number = 0, item_id, flag = 0, costume = 0;
struct item item_tmp;
struct item_data *item_data;
int get_count, i;
@@ -1142,7 +1142,27 @@
clif_displaymessage(fd, msg_txt(sd,19)); // Invalid item ID or name.
return -1;
}
-
+
+ if( !strcmpi(command+1,"costumeitem") )
+ {
+ if( !battle_config.reserved_costume_id )
+ {
+ clif_displaymessage(fd, "Costume convertion is disable. Set a value for reserved_cosutme_id on your battle.conf file.");
+ return -1;
+ }
+ if( !(item_data->equip&EQP_HEAD_LOW) &&
+ !(item_data->equip&EQP_HEAD_MID) &&
+ !(item_data->equip&EQP_HEAD_TOP) &&
+ !(item_data->equip&EQP_COSTUME_HEAD_LOW) &&
+ !(item_data->equip&EQP_COSTUME_HEAD_MID) &&
+ !(item_data->equip&EQP_COSTUME_HEAD_TOP) )
+ {
+ clif_displaymessage(fd, "You cannot costume this item. Costume only work for headgears.");
+ return -1;
+ }
+ costume = 1;
+ }
+
item_id = item_data->nameid;
get_count = number;
//Check if it's stackable.
@@ -1155,7 +1175,13 @@
memset(&item_tmp, 0, sizeof(item_tmp));
item_tmp.nameid = item_id;
item_tmp.identify = 1;
-
+ if( costume == 1 )
+ { // Costume Item
+ item_tmp.card[0] = CARD0_CREATE;
+ item_tmp.card[2] = GetWord(battle_config.reserved_costume_id, 0);
+ item_tmp.card[3] = GetWord(battle_config.reserved_costume_id, 1);
+ }
+
if ((flag = pc_additem(sd, &item_tmp, get_count, LOG_TYPE_COMMAND)))
clif_additem(sd, 0, 0, flag);
}
@@ -9251,7 +9277,9 @@
ACMD_DEF(channel),
ACMD_DEF(fontcolor),
ACMD_DEF(langtype),
- ACMD_DEF(reloadmsgconf)
+ ACMD_DEF(reloadmsgconf),
+ ACMD_DEF2("costumeitem", item)
+
};
AtCommandInfo* atcommand;
int i;
Index: battle.c
===================================================================
--- battle.c (revision 17306)
+++ battle.c (working copy)
@@ -5939,6 +5939,7 @@
{ "item_enabled_npc", &battle_config.item_enabled_npc, 1, 0, 1, },
{ "item_flooritem_check", &battle_config.item_onfloor, 1, 0, 1, },
{ "bowling_bash_area", &battle_config.bowling_bash_area, 0, 0, 20, },
+ { "reserved_costume_id", &battle_config.reserved_costume_id, 999998, 0, INT_MAX, },
};
#ifndef STATS_OPT_OUT
/**
Index: battle.h
===================================================================
--- battle.h (revision 17306)
+++ battle.h (working copy)
@@ -488,6 +488,10 @@
int item_enabled_npc;
int item_onfloor; // Whether to drop an undroppable item on the map or destroy it if inventory is full.
int bowling_bash_area;
+
+ // Costume System
+ int reserved_costume_id;
+
} battle_config;
void do_init_battle(void);
Index: map.c
===================================================================
--- map.c (revision 17306)
+++ map.c (working copy)
@@ -1537,7 +1537,13 @@
struct map_session_data* tsd;
nullpo_retv(sd);
-
+
+ if( battle_config.reserved_costume_id && battle_config.reserved_costume_id == charid )
+ {
+ clif_solved_charname(sd->fd, charid, "Costume");
+ return;
+ }
+
tsd = map_charid2sd(charid);
if( tsd )
{
Index: pc.c
===================================================================
--- pc.c (revision 17306)
+++ pc.c (working copy)
@@ -66,8 +66,7 @@
struct fame_list chemist_fame_list[MAX_FAME_LIST];
struct fame_list taekwon_fame_list[MAX_FAME_LIST];
-static unsigned short equip_pos[EQI_MAX]={EQP_ACC_L,EQP_ACC_R,EQP_SHOES,EQP_GARMENT,EQP_HEAD_LOW,EQP_HEAD_MID,EQP_HEAD_TOP,EQP_ARMOR,EQP_HAND_L,EQP_HAND_R,EQP_COSTUME_HEAD_TOP,EQP_COSTUME_HEAD_MID,EQP_COSTUME_HEAD_LOW,EQP_COSTUME_GARMENT,EQP_AMMO};
-
+static unsigned short equip_pos[EQI_MAX]={EQP_ACC_L,EQP_ACC_R,EQP_SHOES,EQP_GARMENT,EQP_HEAD_LOW,EQP_HEAD_MID,EQP_HEAD_TOP,EQP_ARMOR,EQP_HAND_L,EQP_HAND_R,EQP_AMMO,EQP_COSTUME_HEAD_TOP,EQP_COSTUME_HEAD_MID,EQP_COSTUME_HEAD_LOW,EQP_COSTUME_GARMENT};
#define MOTD_LINE_SIZE 128
static char motd_text[MOTD_LINE_SIZE][CHAT_SIZE_MAX]; // Message of the day buffer [Valaris]
@@ -586,7 +585,7 @@
int pc_equippoint(struct map_session_data *sd,int n)
{
- int ep = 0;
+ int ep = 0, char_id = 0;
nullpo_ret(sd);
@@ -604,6 +603,15 @@
(sd->class_&MAPID_UPPERMASK) == MAPID_KAGEROUOBORO))//Kagerou and Oboro can dual wield daggers. [Rytech]
return EQP_ARMS;
}
+
+ if( battle_config.reserved_costume_id &&
+ sd->status.inventory[n].card[0] == CARD0_CREATE &&
+ (char_id = MakeDWord(sd->status.inventory[n].card[2],sd->status.inventory[n].card[3])) == battle_config.reserved_costume_id )
+ { // Costume Item - Converted
+ if( ep&EQP_HEAD_TOP ) { ep &= ~EQP_HEAD_TOP; ep |= EQP_COSTUME_HEAD_TOP; }
+ if( ep&EQP_HEAD_LOW ) { ep &= ~EQP_HEAD_LOW; ep |= EQP_COSTUME_HEAD_LOW; }
+ if( ep&EQP_HEAD_MID ) { ep &= ~EQP_HEAD_MID; ep |= EQP_COSTUME_HEAD_MID; }
+ }
return ep;
}
@@ -1910,8 +1918,8 @@
if( autobonus[i].bonus_script )
{
int j;
- ARR_FIND( 0, EQI_MAX-1, j, sd->equip_index[j] >= 0 && sd->status.inventory[sd->equip_index[j]].equip == autobonus[i].pos );
- if( j < EQI_MAX-1 )
+ ARR_FIND( 0, EQI_MAX_BONUS, j, sd->equip_index[j] >= 0 && sd->status.inventory[sd->equip_index[j]].equip == autobonus[i].pos );
+ if( j < EQI_MAX_BONUS )
script_run_autobonus(autobonus[i].bonus_script,sd->bl.id,sd->equip_index[j]);
}
continue;
@@ -1941,8 +1949,8 @@
if( autobonus->other_script )
{
int j;
- ARR_FIND( 0, EQI_MAX-1, j, sd->equip_index[j] >= 0 && sd->status.inventory[sd->equip_index[j]].equip == autobonus->pos );
- if( j < EQI_MAX-1 )
+ ARR_FIND( 0, EQI_MAX_BONUS, j, sd->equip_index[j] >= 0 && sd->status.inventory[sd->equip_index[j]].equip == autobonus->pos );
+ if( j < EQI_MAX_BONUS )
script_run_autobonus(autobonus->other_script,sd->bl.id,sd->equip_index[j]);
}
Index: pc.h
===================================================================
--- pc.h (revision 17306)
+++ pc.h (working copy)
@@ -37,11 +37,12 @@
EQI_ARMOR,
EQI_HAND_L,
EQI_HAND_R,
+ EQI_AMMO,
+ EQI_MAX_BONUS = 10,
EQI_COSTUME_TOP,
EQI_COSTUME_MID,
EQI_COSTUME_LOW,
EQI_COSTUME_GARMENT,
- EQI_AMMO,
EQI_MAX
};
Index: script.c
===================================================================
--- script.c (revision 17306)
+++ script.c (working copy)
@@ -17596,6 +17596,52 @@
return 0;
}
+/*==========================================
+ * Costume Items
+ *------------------------------------------*/
+BUILDIN_FUNC(costume)
+{
+ int i = -1, num, ep;
+ TBL_PC *sd;
+
+ num = script_getnum(st,2); // Equip Slot
+ sd = script_rid2sd(st);
+
+ if( sd == NULL )
+ return 0;
+ if( num > 0 && num <= ARRAYLENGTH(equip) )
+ i = pc_checkequip(sd, equip[num - 1]);
+ if( i < 0 )
+ return 0;
+
+ ep = sd->status.inventory[i].equip;
+ if( !(ep&EQP_HEAD_LOW) && !(ep&EQP_HEAD_MID) && !(ep&EQP_HEAD_TOP) )
+ return 0;
+
+ log_pick_pc(sd, LOG_TYPE_SCRIPT, -1, &sd->status.inventory[i]);
+ pc_unequipitem(sd,i,2);
+ clif_delitem(sd,i,1,3);
+ // --------------------------------------------------------------------
+ sd->status.inventory[i].refine = 0;
+ sd->status.inventory[i].attribute = 0;
+ sd->status.inventory[i].card[0] = CARD0_CREATE;
+ sd->status.inventory[i].card[1] = 0;
+ sd->status.inventory[i].card[2] = GetWord(battle_config.reserved_costume_id, 0);
+ sd->status.inventory[i].card[3] = GetWord(battle_config.reserved_costume_id, 1);
+
+ if( ep&EQP_HEAD_TOP ) { ep &= ~EQP_HEAD_TOP; ep |= EQP_COSTUME_HEAD_TOP; }
+ if( ep&EQP_HEAD_LOW ) { ep &= ~EQP_HEAD_LOW; ep |= EQP_COSTUME_HEAD_LOW; }
+ if( ep&EQP_HEAD_MID ) { ep &= ~EQP_HEAD_MID; ep |= EQP_COSTUME_HEAD_MID; }
+ // --------------------------------------------------------------------
+ log_pick_pc(sd, LOG_TYPE_SCRIPT, 1, &sd->status.inventory[i]);
+
+ clif_additem(sd,i,1,0);
+ pc_equipitem(sd,i,ep);
+ clif_misceffect(&sd->bl,3);
+
+ return 0;
+}
+
// declarations that were supposed to be exported from npc_chat.c
#ifdef PCRE_SUPPORT
BUILDIN_FUNC(defpattern);
@@ -18060,5 +18106,9 @@
BUILDIN_DEF(checkquest, "i?"),
BUILDIN_DEF(changequest, "ii"),
BUILDIN_DEF(showevent, "ii"),
+
+ // Costume System
+ BUILDIN_DEF(costume,"i"),
+
{NULL,NULL,NULL},
};
Index: status.c
===================================================================
--- status.c (revision 17306)
+++ status.c (working copy)
@@ -2455,7 +2455,7 @@
pc_delautobonus(sd,sd->autobonus3,ARRAYLENGTH(sd->autobonus3),true);
// Parse equipment.
- for(i=0;i<EQI_MAX-1;i++) {
+ for(i=0;i<EQI_MAX_BONUS;i++) {
current_equip_item_index = index = sd->equip_index[i]; //We pass INDEX to current_equip_item_index - for EQUIP_SCRIPT (new cards solution) [Lupus]
if(index < 0)
continue;
Index: battle.conf
===================================================================
--- battle.conf (revision 17306)
+++ battle.conf (working copy)
@@ -141,3 +141,9 @@
// range. For example, Sonic Blow requires a 2 cell distance before autocasting is allowed.
// This setting also affects autospellwhenhit.
autospell_check_range: no
+
+// ****************************************
+// Reserved Costume ID's
+// ****************************************
+// Reserved Char ID for costume converted items.
+reserved_costume_id: 999998Что я здесь изменил:
atccommand.c :
ACMD_DEF2("costumeitem", item)На:
{ "costumeitem", 60,60, atcommand_item },Хорошо, поехали дальше :
script.c :
+ log_pick_pc(sd, LOG_TYPE_SCRIPT, -1, &sd->status.inventory[i]);и
+log_pick_pc(sd, LOG_TYPE_SCRIPT, 1, &sd->status.inventory[i]);на:
log_pick(&sd->bl, LOG_TYPE_SCRIPT, sd->status.inventory[i].nameid, -1, &sd->status.inventory[i]);и
log_pick(&sd->bl, LOG_TYPE_SCRIPT, sd->status.inventory[i].nameid, 1, &sd->status.inventory[i]);Далее я добавил недостающие строки кода с rAthena, а именно:
pc.c:
if(pos & EQP_HEAD_LOW && pc_checkequip(sd,EQP_COSTUME_HEAD_LOW) == -1) {
if(id && !(pos&(EQP_HEAD_TOP|EQP_HEAD_MID)))
sd->status.head_bottom = id->look;
else
sd->status.head_bottom = 0;
clif_changelook(&sd->bl,LOOK_HEAD_BOTTOM,sd->status.head_bottom);
}
if(pos & EQP_HEAD_TOP && pc_checkequip(sd,EQP_COSTUME_HEAD_TOP) == -1) {
if(id)
sd->status.head_top = id->look;
else
sd->status.head_top = 0;
clif_changelook(&sd->bl,LOOK_HEAD_TOP,sd->status.head_top);
}
if(pos & EQP_HEAD_MID && pc_checkequip(sd,EQP_COSTUME_HEAD_MID) == -1) {
if(id && !(pos&EQP_HEAD_TOP))
sd->status.head_mid = id->look;
else
sd->status.head_mid = 0;
clif_changelook(&sd->bl,LOOK_HEAD_MID,sd->status.head_mid);
}
if(pos & EQP_COSTUME_HEAD_TOP) {
if(id){
sd->status.head_top = id->look;
} else
sd->status.head_top = 0;
clif_changelook(&sd->bl,LOOK_HEAD_TOP,sd->status.head_top);
}
if(pos & EQP_COSTUME_HEAD_MID) {
if(id && !(pos&EQP_HEAD_TOP)){
sd->status.head_mid = id->look;
} else
sd->status.head_mid = 0;
clif_changelook(&sd->bl,LOOK_HEAD_MID,sd->status.head_mid);
}
if(pos & EQP_COSTUME_HEAD_LOW) {
if(id && !(pos&(EQP_HEAD_TOP|EQP_HEAD_MID))){
sd->status.head_bottom = id->look;
} else
sd->status.head_bottom = 0;
clif_changelook(&sd->bl,LOOK_HEAD_BOTTOM,sd->status.head_bottom);
}
if(sd->status.inventory[n].equip & EQP_HEAD_LOW && pc_checkequip(sd,EQP_COSTUME_HEAD_LOW) == -1 ) {
sd->status.head_bottom = 0;
clif_changelook(&sd->bl,LOOK_HEAD_BOTTOM,sd->status.head_bottom);
}
if(sd->status.inventory[n].equip & EQP_HEAD_TOP && pc_checkequip(sd,EQP_COSTUME_HEAD_TOP) == -1 ) {
sd->status.head_top = 0;
clif_changelook(&sd->bl,LOOK_HEAD_TOP,sd->status.head_top);
}
if(sd->status.inventory[n].equip & EQP_HEAD_MID && pc_checkequip(sd,EQP_COSTUME_HEAD_MID) == -1 ) {
sd->status.head_mid = 0;
clif_changelook(&sd->bl,LOOK_HEAD_MID,sd->status.head_mid);
}
if(sd->status.inventory[n].equip & EQP_COSTUME_HEAD_TOP) {
sd->status.head_top = ( pc_checkequip(sd,EQP_HEAD_TOP) >= 0 ) ? sd->inventory_data[pc_checkequip(sd,EQP_HEAD_TOP)]->look : 0;
clif_changelook(&sd->bl,LOOK_HEAD_TOP,sd->status.head_top);
}
if(sd->status.inventory[n].equip & EQP_COSTUME_HEAD_MID) {
sd->status.head_mid = ( pc_checkequip(sd,EQP_HEAD_MID) >= 0 ) ? sd->inventory_data[pc_checkequip(sd,EQP_HEAD_MID)]->look : 0;
clif_changelook(&sd->bl,LOOK_HEAD_MID,sd->status.head_mid);
}
if(sd->status.inventory[n].equip & EQP_COSTUME_HEAD_LOW) {
sd->status.head_bottom = ( pc_checkequip(sd,EQP_HEAD_LOW) >= 0 ) ? sd->inventory_data[pc_checkequip(sd,EQP_HEAD_LOW)]->look : 0;
clif_changelook(&sd->bl,LOOK_HEAD_BOTTOM,sd->status.head_bottom);
}pc.h:
EQP_COSTUME_HEAD_TOP = 0x000400, // 1024
EQP_COSTUME_HEAD_MID = 0x000800, // 2048
EQP_COSTUME_HEAD_LOW = 0x001000, // 4096
#define EQP_COSTUME (EQP_COSTUME_HEAD_TOP|EQP_COSTUME_HEAD_MID|EQP_COSTUME_HEAD_LOW)
EQI_MAX_BONUS = 10,
EQI_COSTUME_TOP,
EQI_COSTUME_MID,
EQI_COSTUME_LOW,
EQI_MAXstatus.c:
if(i == EQI_COSTUME_MID && sd->equip_index[EQI_COSTUME_LOW] == index)
continue;
if(i == EQI_COSTUME_TOP && (sd->equip_index[EQI_COSTUME_MID] == index || sd->equip_index[EQI_COSTUME_LOW] == index))
continue;Вроде бы ничего не забыл, так вот и всё бы ничего, но есть одно "очень маленькое НО" :
1. Надеваем Костюм, после чего прописываем @item <Любой ID шапки> , и выскакивает ошибка о том что Персонаж перегружен, смотрим на загруженность сумки , а там вес уходит в минус ( Например: Weight: -6564 / 10000)
2. Пишу команду: @job 4010(к примеру) . Итог: Крашит мап сервер
Есть подозрение что нет какой-либо проверки в pc.c
Соответственно прошу Вашей помощи, так как в С++ не особо силён . У кого какие идеи?
-
От души
на самом деле автор сам выкладывал полный пак на rathena, но там все не по-русски т.е. на французском, хрен разберешь что к чему.
Но я пошел дальше и спарсил с сайта сам с учетом категорий
Ну в любом случае, работа произведена, молодцом
-
Все вопросы к программисту, дизайн нарисован? - Нарисован. То что твой дизайн не отображается - это уже другой вопрос. Не корректно подавать жалобу, не зная причины.
пути в верстке кривые - дизайнер виноват
Дизайн без вёрстки, я это имел ввиду.
-
От души
-
Все вопросы к программисту, дизайн нарисован? - Нарисован. То что твой дизайн не отображается - это уже другой вопрос. Не корректно подавать жалобу, не зная причины.
-
Покемоны 100%
-
Валя сеты отвалились, поправьте.
Всё работает
-
От своего имени поздравляю с Днём Рождения!! Димон, пусть в этот день все твои планы по захвату мира сбудутся, Желаю счастья в личной жизни и всего ,всего и еще раз всего )
- 1
-
Проблема Решена. Спасибо Functor'у
- 1
-
HairDyes.grf
Я ж просил скачать и подключить GRF.
Так это он и есть, просто переименован.
-
Попробуйте мой EXE www.mediafire.com/download/fpb599d7170ol0x
Вы не забыли подключить GRF с палитрами в DATA.INI ?
Всё осталось по прежнему, нет не забыл :
[Data]
1=HairDyes.grf (Палитры)
2=classes.grf
3=Foxr.grf
4=data.grf -
Хорошо, ошибки нет, но вот палитры всё также не отображаются нормально
-
Залейте Ваш EXE на файловый обменник и запостите ссылку.
https://yadi.sk/d/iUJqXHYabpuiW
-
Проблема в том, что EXE не может найти палитры.
Ошибку не получаете, ибо применили патч [uI] Ignore Missing Palette Errors
Скачайте и подключите GRF с палитрами.
http://www.mediafire...k6ts1e561s1478b
Я бы посоветовал использовать 2010-07-30aRagexeRE
Хорошо, использую 2010-07-30aRagexeRE, - все равно не находит палитры
Module Name: D:\foxrm\client2\2010-07-30aRagexeRE_patched (1).exe
Time Stamp: 0x4c52288f - Fri Jul 30 04:19:11 2010
Exception Type: 0xc0000096
0x007a0914 2010-07-30aRagexeRE_patched (1).exe
0x0045dfd6 2010-07-30aRagexeRE_patched (1).exe
0x004fd970 2010-07-30aRagexeRE_patched (1).exe
0x0050d14e 2010-07-30aRagexeRE_patched (1).exe
0x0061260b 2010-07-30aRagexeRE_patched (1).exe
0x00610337 2010-07-30aRagexeRE_patched (1).exe
0x007030f3 2010-07-30aRagexeRE_patched (1).exe
0x0071762d 2010-07-30aRagexeRE_patched (1).exe
0x76d2338a kernel32.dll
0x77499f72 ntdll.dll
0x77499f45 ntdll.dll
eax: 0x00000000 ebx: 0x12182b60
ecx: 0x000000f5 edx: 0x0018f894
esi: 0x0018f7a0 edi: 0xbf937205
ebp: 0x0018f73c esp: 0x0018f734
stack 0018f734 - 0018fb34
0018F734 : A0 F7 18 00 D8 01 00 00 B0 F9 18 00 D6 DF 45 00
0018F744 : 00 00 00 00 01 00 00 00 01 00 00 00 A0 F7 18 00
0018F754 : 56 01 00 00 60 2B 18 12 40 02 00 00 00 00 00 00
0018F764 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0018F774 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0018F784 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0018F794 : 00 00 00 00 00 00 00 00 00 00 00 00 36 46 71 BF
0018F7A4 : 09 BE 75 BF DA 35 7A BF AB AD 7E BF BF 92 81 BF
0018F7B4 : A7 CE 83 BF 90 0A 86 BF 79 46 88 BF 62 82 8A BF
0018F7C4 : 4B BE 8C BF 33 FA 8E BF 1C 36 91 BF 05 72 93 BF
0018F7D4 : EE AD 95 BF D7 E9 97 BF C0 9A BF A8 61 9C BF 91
0018F7E4 : 9D 9E BF 7A D9 A0 BF 62 15 A3 BF 4C 51 A5 BF 34
0018F7F4 : 8D A7 BF 1D C9 A9 BF 06 05 AC BF EE 40 AE BF D8
0018F804 : 7C B0 BF C0 B8 B2 BF A9 F4 B4 BF 91 30 B7 BF 7B
0018F814 : 6C B9 BF 64 A8 BB BF 4C E4 BD BF 35 20 C0 BF 1E
0018F824 : 5C C2 BF 06 98 C4 BF EF D3 C6 BF D8 0F C9 BF C2
Launch Info
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
[help]Costume
в Помощь в src
Опубликовано
Если непосредственно сам дифф, то да, он под рафину и написан