Перейти к содержанию

Рекомендуемые сообщения

народ помогите со скриптом на ауру в грф всё запихнул как сделать в бд чтоб аура отображалась

25953#

Ancient Aura token. If you use it, your character would able to activate ^FFA500Aura 300.^000000

Type: ^FFA500Aura Token^000000

Weight :^777777 1^000000

Applicable Job :^777777 Every Job^000000

или чтоб кольцом была

15824#

A mysterious magical ring that can change it's wearer aura to the different levels of magic.

This ring seems to change it's wearer aura to level 25.

Class :^777777 Accessory^000000

Defense :^777777 0^000000

Weight :^777777 1^000000

Required Level :^777777 1^000000

Applicable Job :^777777 Every Job^000000

Изменено пользователем ReD_DeviL_16
Ссылка на комментарий
Поделиться на другие сайты

народ помогите со скриптом на ауру в грф всё запихнул как сделать в бд чтоб аура отображалась

25953#

Ancient Aura token. If you use it, your character would able to activate ^FFA500Aura 300.^000000

Type: ^FFA500Aura Token^000000

Weight :^777777 1^000000

Applicable Job :^777777 Every Job^000000

или чтоб кольцом была

15824#

A mysterious magical ring that can change it's wearer aura to the different levels of magic.

This ring seems to change it's wearer aura to level 25.

Class :^777777 Accessory^000000

Defense :^777777 0^000000

Weight :^777777 1^000000

Required Level :^777777 1^000000

Applicable Job :^777777 Every Job^000000

Ты что-то не то правишь,ты пробуешь сорс мод [sRC] @aura? Если да то править нужно item_db!

Если обычные текстурные ауры из папки effect, то править нужно в конфигах,а включаеться она в игре коммандой /aura!

  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

народ помогите со скриптом на ауру в грф всё запихнул как сделать в бд чтоб аура отображалась

25953#

Ancient Aura token. If you use it, your character would able to activate ^FFA500Aura 300.^000000

Type: ^FFA500Aura Token^000000

Weight :^777777 1^000000

Applicable Job :^777777 Every Job^000000

или чтоб кольцом была

15824#

A mysterious magical ring that can change it's wearer aura to the different levels of magic.

This ring seems to change it's wearer aura to level 25.

Class :^777777 Accessory^000000

Defense :^777777 0^000000

Weight :^777777 1^000000

Required Level :^777777 1^000000

Applicable Job :^777777 Every Job^000000

Ты что-то не то правишь,ты пробуешь сорс мод [sRC] @aura? Если да то править нужно item_db!

Если обычные текстурные ауры из папки effect, то править нужно в конфигах,а включаеться она в игре коммандой /aura!

в том то вся и праблема что сорс мод мне надо сделать

хотелось бы сделать кольцо при одивании которого появляется аура а при снятии пропадает ток головоломки не хватает как это сделать

Ссылка на комментарий
Поделиться на другие сайты


Index: src/common/mmo.h // находите данный файл в вашем эмуляторе,открываете блокнотом (рекомендую notepad++)
===================================================================
--- src/common/mmo.h (revision 12718)
+++ src/common/mmo.h (working copy)
@@ -248,7 +248,7 @@ // Находите примерно эту строку.
unsigned char karma;// Забиваете в поиск данную строку, проверяете рядом ли она с цифрами выше.
short hair,hair_color,clothes_color;
int party_id,guild_id,pet_id,hom_id;
- int fame; // Минус в данной строке означает что эту строку удаляем в вашем файле.
+ int fame,pvprank,aura; // Плюс означает что добавляем эту строку в ваш файл.

short weapon; // enum weapon_type
short shield; // view-id

Дальше так само, и после окончания изменений, делаем Рекомпиляцию!

Изменено пользователем nejiko
  • Upvote 2
Ссылка на комментарий
Поделиться на другие сайты


Index: src/common/mmo.h // находите данный файл в вашем эмуляторе,открываете блокнотом (рекомендую notepad++)
===================================================================
--- src/common/mmo.h (revision 12718)
+++ src/common/mmo.h (working copy)
@@ -248,7 +248,7 @@ // Находите примерно эту строку.
unsigned char karma;// Забиваете в поиск данную строку, проверяете рядом ли она с цифрами выше.
short hair,hair_color,clothes_color;
int party_id,guild_id,pet_id,hom_id;
- int fame; // Минус в данной строке означает что эту строку удаляем в вашем файле.
+ int fame,pvprank,aura; // Плюс означает что добавляем эту строку в ваш файл.

short weapon; // enum weapon_type
short shield; // view-id

Дальше так само, и после окончания изменений, делаем Рекомпиляцию!

самое странное что у меня есть в src/common/mmo.h данная модификация

данная праблема у меня с

item_bd2.txt

15824,Aura_Ring,Aura Ring,5,30000,,100,,0,,0,0xFFFFFFFE,15,2,136,,20,0,0,{ Тут что писать; },{},{}

Ссылка на комментарий
Поделиться на другие сайты

15824,Aura_Ring,Aura Ring,5,30000,,100,,0,,0,0xFFFFFFFE,15,2,136,,20,0,0,{ atcommand strcharinfo(0) + ":@aura 1"; },{},{ atcommand strcharinfo(0) + ":@aura 0"; }

Спасибо дружише помог! всё прекрасно работает

Ссылка на комментарий
Поделиться на другие сайты

15824,Aura_Ring,Aura Ring,5,30000,,100,,0,,0,0xFFFFFFFE,15,2,136,,20,0,0,{ atcommand strcharinfo(0) + ":@aura 1"; },{},{ atcommand strcharinfo(0) + ":@aura 0"; }

Спасибо дружише помог! всё прекрасно работает

Не за что!

Ссылка на комментарий
Поделиться на другие сайты

ещё есть вопрос а чтоб была команда @aura её на недо добавлять в atcommand_athena.conf

на том эмуляторе котором тестирую у меня всё работает а на том котором делаю eA14808 не работает после сделаного дифа


Index: src/common/mmo.h
===================================================================
--- src/common/mmo.h (revision 12718)
+++ src/common/mmo.h (working copy)
@@ -248,7 +248,7 @@
unsigned char karma;
short hair,hair_color,clothes_color;
int party_id,guild_id,pet_id,hom_id;
- int fame;
+ int fame,pvprank,aura;

short weapon; // enum weapon_type
short shield; // view-id
Index: src/map/atcommand.c
===================================================================
--- src/map/atcommand.c (revision 12718)
+++ src/map/atcommand.c (working copy)
@@ -8200,6 +8200,43 @@
}

/*==========================================
+ * Auras personalizadas
+ *------------------------------------------*/
+int atcommand_aura(const int fd, struct map_session_data* sd, const char* command, const char* message)
+{
+ struct map_session_data *pl_sd = 0;
+ int type = 0;
+
+ if (!message || !*message || sscanf(message, "%d %[^\n]", &type, atcmd_player_name) < 2)
+ {
+ if (!message || !*message || sscanf(message, "%d", &type) < 1)
+ {
+ clif_displaymessage(fd, "Please, enter at least an option (usage: @aura <aura> <char>).");
+ return -1;
+ }
+
+ atcmd_player_name[0] = 0;
+ pl_sd = sd;
+ }
+
+ if( pl_sd != sd )
+ {
+ if ((pl_sd = map_nick2sd(atcmd_player_name)) == NULL)
+ return -1;
+ }
+
+ sprintf(atcmd_output, "Current Aura: %d", pl_sd->status.aura);
+ clif_displaymessage(fd, atcmd_output);
+
+ pl_sd->status.aura = type;
+ pc_setglobalreg(pl_sd,"USERAURA",type);
+
+ pc_setpos(pl_sd, pl_sd->mapindex, pl_sd->bl.x, pl_sd->bl.y, 3);
+
+ return 0;
+}
+
+/*==========================================
* AUCTION SYSTEM
*------------------------------------------*/
int atcommand_auction(const int fd, struct map_session_data *sd, const char *command, const char *message)
@@ -8552,6 +8589,7 @@
{ "homshuffle", 60, atcommand_homshuffle },
{ "showmobs", 10, atcommand_showmobs },
{ "feelreset", 10, atcommand_feelreset },
+ { "aura", 1, atcommand_aura },
{ "auction", 60, atcommand_auction },
{ "mail", 1, atcommand_mail },
{ "noks", 0, atcommand_ksprotection },
Index: src/map/clif.c
===================================================================
--- src/map/clif.c (revision 12718)
+++ src/map/clif.c (working copy)
@@ -95,6 +95,139 @@
int clif_parse (int fd);

/*==========================================
+ * @aura
+ *------------------------------------------*/
+static int auraTable[][3] = {
+ { -1, -1, -1 },
+ // Reserved for PK Mode
+ { 586, -1, -1 }, // LH
+ { 586, 362, -1 }, // LH Mvp
+ { 586, 362, 240 }, // 1є PK Place
+ // Basic Auras
+ { 418, -1, -1 }, // Red Fury
+ { 486, -1, -1 }, // Blue Fury
+ { 485, -1, -1 }, // White Fury
+ { 239, -1, -1 }, // Aura Red
+ { 240, -1, -1 }, // Aura White
+ { 241, -1, -1 }, // Aura Yellow
+ { 620, -1, -1 }, // Aura Blue
+ { 202, -1, -1 }, // Lvl 99 Bubbles
+ { 362, -1, -1 }, // Advanced Lvl 99 Bubbles
+ { 678, -1, -1 }, // Brazil Aura Bubbles
+ { 679, -1, -1 }, // Brazil Aura
+ { 680, -1, -1 }, // Brazil Aura Floor
+ // 2 Sets
+ { 239, 418, -1 },
+ { 239, 486, -1 },
+ { 239, 485, -1 },
+ { 240, 418, -1 },
+ { 240, 486, -1 },
+ { 240, 485, -1 },
+ { 241, 418, -1 },
+ { 241, 486, -1 },
+ { 241, 485, -1 },
+ { 620, 418, -1 },
+ { 620, 486, -1 },
+ { 620, 485, -1 },
+ // Full Sets
+ { 239, 418, 202 },
+ { 239, 486, 202 },
+ { 239, 485, 202 },
+ { 240, 418, 202 },
+ { 240, 486, 202 },
+ { 240, 485, 202 },
+ { 241, 418, 202 },
+ { 241, 486, 202 },
+ { 241, 485, 202 },
+ { 620, 418, 202 },
+ { 620, 486, 202 },
+ { 620, 485, 202 },
+ { 239, 418, 362 },
+ { 239, 486, 362 },
+ { 239, 485, 362 },
+ { 240, 418, 362 },
+ { 240, 486, 362 },
+ { 240, 485, 362 },
+ { 241, 418, 362 },
+ { 241, 486, 362 },
+ { 241, 485, 362 },
+ { 620, 418, 362 },
+ { 620, 486, 362 },
+ { 620, 485, 362 },
+ { 239, 418, 678 },
+ { 239, 486, 678 },
+ { 239, 485, 678 },
+ { 240, 418, 678 },
+ { 240, 486, 678 },
+ { 240, 485, 678 },
+ { 241, 418, 678 },
+ { 241, 486, 678 },
+ { 241, 485, 678 },
+ { 620, 418, 678 },
+ { 620, 486, 678 },
+ { 620, 485, 678 },
+ // Oficial Set
+ { 680, 679, 678 },
+ { -1, -1, -1 }
+};
+
+int aura_getSize()
+{
+ return sizeof(auraTable)/(sizeof(int) * 3) - 1;
+}
+
+int aura_getAuraEffect(struct map_session_data *sd, short pos)
+{
+ int aura = sd->status.aura;
+
+ if (pos < 0 || pos > 2)
+ return -1;
+
+ if (aura > aura_getSize() || aura < 0)
+ return -1;
+
+ return auraTable[aura][pos];
+}
+
+void clif_sendaurastoone(struct map_session_data *sd, struct map_session_data *dsd)
+{
+ int effect1, effect2, effect3;
+
+ if (pc_ishiding(sd))
+ return;
+
+ effect1 = aura_getAuraEffect(sd, 0);
+ effect2 = aura_getAuraEffect(sd, 1);
+ effect3 = aura_getAuraEffect(sd, 2);
+
+ if (effect1 >= 0)
+ clif_specialeffect_single(&sd->bl, effect1, dsd->fd);
+ if (effect2 >= 0)
+ clif_specialeffect_single(&sd->bl, effect2, dsd->fd);
+ if (effect3 >= 0)
+ clif_specialeffect_single(&sd->bl, effect3, dsd->fd);
+}
+
+void clif_sendauras(struct map_session_data *sd, enum send_target type)
+{
+ int effect1, effect2, effect3;
+
+ if (pc_ishiding(sd))
+ return;
+
+ effect1 = aura_getAuraEffect(sd, 0);
+ effect2 = aura_getAuraEffect(sd, 1);
+ effect3 = aura_getAuraEffect(sd, 2);
+
+ if (effect1 >= 0)
+ clif_specialeffect(&sd->bl, effect1, type);
+ if (effect2 >= 0)
+ clif_specialeffect(&sd->bl, effect2, type);
+ if (effect3 >= 0)
+ clif_specialeffect(&sd->bl, effect3, type);
+}
+
+/*==========================================
* mapЋI‚МipђЭ’и
*------------------------------------------*/
int clif_setip(const char* ip)
@@ -1016,6 +1149,7 @@
clif_specialeffect(bl,423,AREA);
else if(sd->state.size==1)
clif_specialeffect(bl,421,AREA);
+ clif_sendauras((TBL_PC*)bl, AREA);
}
break;
case BL_MOB:
@@ -3388,6 +3522,7 @@
clif_specialeffect_single(bl,423,sd->fd);
else if(tsd->state.size==1)
clif_specialeffect_single(bl,421,sd->fd);
+ clif_sendaurastoone(tsd, sd);
}
break;
case BL_NPC:
@@ -3413,6 +3548,37 @@
}
}

+int clif_insight2(struct block_list *bl,va_list ap)
+{
+ struct block_list *tbl;
+ struct map_session_data *sd, *tsd;
+ int flag;
+
+ tbl = va_arg(ap,struct block_list*);
+ flag = va_arg(ap,int);
+
+ if (bl == tbl && !flag)
+ return 0;
+
+ sd = BL_CAST(BL_PC, bl);
+ tsd = BL_CAST(BL_PC, tbl);
+
+ if (sd && sd->fd)
+ {
+ if (bl == tbl)
+ clif_sendaurastoone(sd, tsd);
+ else
+ clif_getareachar_unit(sd, tbl);
+ }
+
+ return 0;
+}
+
+void clif_getareachar_char(struct block_list *bl, short flag)
+{
+ map_foreachinarea(clif_insight2, bl->m, bl->x-AREA_SIZE, bl->y-AREA_SIZE, bl->x+AREA_SIZE, bl->y+AREA_SIZE,BL_PC, bl, flag);
+}
+
//Modifies the type of damage according to status changes [Skotlex]
//Aegis data specifies that: 4 endure against single hit sources, 9 against multi-hit.
#define clif_calc_delay(type,div,damage,delay) ((delay)==0&&(damage)>0?((div)>1?9:4):type)
Index: src/map/clif.h
===================================================================
--- src/map/clif.h (revision 12718)
+++ src/map/clif.h (working copy)
@@ -415,6 +415,10 @@
int do_final_clif(void);
int do_init_clif(void);

+// [@aura]
+void clif_sendauras(struct map_session_data *sd, enum send_target type);
+void clif_getareachar_char(struct block_list *bl, short flag);
+
#ifndef TXT_ONLY
// MAIL SYSTEM
void clif_Mail_window(int fd, int flag);
Index: src/map/pc.c
===================================================================
--- src/map/pc.c (revision 12718)
+++ src/map/pc.c (working copy)
@@ -898,6 +898,9 @@
sd->change_level = pc_readglobalreg(sd,"jobchange_level");
sd->die_counter = pc_readglobalreg(sd,"PC_DIE_COUNTER");

+ // @Aura
+ sd->status.aura = pc_readglobalreg(sd,"USERAURA");
+
// Cash shop
sd->cashPoints = pc_readaccountreg(sd,"#CASHPOINTS");
sd->kafraPoints = pc_readaccountreg(sd,"#KAFRAPOINTS");
Index: src/map/status.c
===================================================================
--- src/map/status.c (revision 12718)
+++ src/map/status.c (working copy)
@@ -5038,6 +5038,7 @@
vd = status_get_viewdata(bl);
calc_flag = StatusChangeFlagTable[type];
if(!(flag&4)) //&4 - Do not parse val settings when loading SCs
+ {
switch(type)
{
case SC_DECREASEAGI:
@@ -5931,6 +5932,15 @@
return 0;
}
}
+ // @aura
+ if (sd && sd->status.aura > 0 &&
+ (type == SC_HIDING || type == SC_CLOAKING || type == SC_CHASEWALK))
+ {
+ sd->status.aura *= -1;
+ clif_clearunit_area(&sd->bl, 0);
+ clif_getareachar_char(&sd->bl, 0);
+ }
+ }
else //Special considerations when loading SC data.
switch( type )
{
@@ -6693,6 +6703,14 @@
opt_flag = 0;
}

+ // @auras
+ if (sd && sd->status.aura < 0 &&
+ (type == SC_HIDING || type == SC_CLOAKING || type == SC_CHASEWALK))
+ {
+ sd->status.aura *= -1;
+ clif_sendauras(sd, AREA_WOS);
+ }
+
if (calc_flag&SCB_DYE)
{ //Restore DYE color
if (vd && !vd->cloth_color && sce->val4)

и циферек @@ -248,7 +248,7 @@ у меня нет

Ссылка на комментарий
Поделиться на другие сайты

Циферки указывают на строки

Допиливать под свою версию надо самому

просто пишет что нет такой команды

Ссылка на комментарий
Поделиться на другие сайты

Циферки указывают на строки

Допиливать под свою версию надо самому

просто пишет что нет такой команды

да примерно так: aura 99,99

и посмотри возможно в этой строке

Нужно дописать циферку !

+ { "aura", 1,1 atcommand_aura },

Ссылка на комментарий
Поделиться на другие сайты

ПРИ РЕКОМПИЛЯЦИИ ПИШЕТ

9>..\src\map\atcommand.c(9079): error C2061: синтаксическая ошибка: идентификатор "atcommand_aura"

А ПРИ НАВЕДЕНИИ НА СТРОКУ

{ "aura", 1,1 atcommand_aura }, ПИШЕТ ERROR: ТРЕБУЕТСЯ ФИГУРНАЯ СБОРКА "}"

Изменено пользователем ReD_DeviL_16
Ссылка на комментарий
Поделиться на другие сайты

нашол { "aura", 1,1, atcommand_aura },

========== Построение: успешно: 6, с ошибками: 0, без изменений: 0, пропущено: 3 ==========

Изменено пользователем ReD_DeviL_16
Ссылка на комментарий
Поделиться на другие сайты

нашол { "aura", 1,1, atcommand_aura },

========== Построение: успешно: 6, с ошибками: 0, без изменений: 0, пропущено: 3 ==========

Я тебе говорил смотри эту строку!

  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

Делаю diff на Disable_lv99_Aura а аура стандартная остаётся ! может что то упустил? как её грохнуть чтоб стандартная пропала навсегда

Ссылка на комментарий
Поделиться на другие сайты

Делаю diff на Disable_lv99_Aura а аура стандартная остаётся ! может что то упустил? как её грохнуть чтоб стандартная пропала навсегда

аура исчезает для других игроков
Ссылка на комментарий
Поделиться на другие сайты

в том то и всё дело что я вижу стандартную ауру и свою и другого персонажа

она отключается но не полностью сама аура под ногами пропадает а от персонажа продолжает идти аура как будто пар ! примерно так

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...
Яндекс.Метрика