Jump to content

blazerza

Members
  • Posts

    42
  • Joined

  • Last visited

Everything posted by blazerza

  1. I want to buy his script and try to contact him with message here and also add his discord pajodex#1328 and it's still pending. So I want to know that anybody who already be friend with Pajodex in discord Please tell him to accept my discord (oakzircon#4777) or tell him to check message in rathena. Anybody please help me T^T
  2. @Technoken Thank you sir I will try to make it too and I will share here if it works
  3. What if I want to change it from zeny to item how can I do it sir ?example : if I want to bet with my cash coin/card/etc.
  4. Thank you very much for your a lot of interesting file
  5. Hi Sir Please accept my skype or add me [email protected] (Banana Bananaman) I want to buy your Gepard :)

  6. Actually I don't know what should I update because like I said I got a problem when I use these skill while my hp is more than 330 k . I tried to edit some src but it won't work and I'm quite not good at src and I also tried to use skill.c of rAthena GitHub 19343 to replace it then it got the same problem when my hp is more than 330k . That's all for information that I got it -0- . I'm really sorry for late reply.
  7. Anybody know how can I set a Clearance skill affect to everyone on screen ? Because when I test it with my server (rA17726,pre) , it can use with only one person who be the target but when I read a description it said Affects all party members and enemies on screen and removes all of their buffs, debuffs, and status ailments. So Is it a bug? how can I fix it ? If you have any question please ask me and I will answer but please help me to fix it cause my player ask me and I don't know how can I answer them
  8. my server is rA17726 and pre. Actually when I test it if my hp isn't more than 330k it doesn't have any problem but if it's more than that it got a problem so I don't know why is it happen ? Sorry for late reply if you have any question please ask me and help me to solve it please
  9. Last night my friend sent these src to me and he said that he want to use it but when he compile these code it got many error then he told me to help him but I know nothing about src so I want to ask you all anybody know how to fix it until it can be use ? Index: atcommand.c =================================================================== --- atcommand.c (revision 2809) +++ atcommand.c (working copy) @@ -3542,13 +3542,13 @@ *------------------------------------------*/ ACMD_FUNC(reload) { - const char *opt[] = { "item_db", "mob_db", "skill_db", "status_db", "pc_db", "groups", "quest_db", "homunculus_db", "pet_db", "motd", "cashshop", "buffspecial" }; + const char *opt[] = { "item_db", "mob_db", "skill_db", "status_db", "pc_db", "groups", "quest_db", "homunculus_db", "pet_db", "motd", "cashshop", "buffspecial", "folder" }; int option; memset(atcmd_output, '\0', sizeof(atcmd_output)); if(!message || !*message) { - clif_displaymessage(fd, "Op็๕es: item_db, mob_db, skill_db, status_db, pc_db, groups, quest_db, homunculus_db, pet_db, motd, cashshop & buffspecial"); + clif_displaymessage(fd, "Op็๕es: item_db, mob_db, skill_db, status_db, pc_db, groups, quest_db, homunculus_db, pet_db, motd, folder, cashshop & buffspecial"); clif_displaymessage(fd, "Modo de uso: @reload <op็ใo>"); return false; } @@ -3672,7 +3672,14 @@ clif_displaymessage(fd, msg_txt(255)); return true; } - +int check_npc_folder(char * path){ + folder * aux; + for(aux=ptr;aux!=NULL;aux=aux->next){ + if(strcmp(aux->name+4,path)==0) + return 1; + } + return 0; +} /*========================================== * @reloadscript - reloads all scripts (npcs, warps, mob spawns, ...) *------------------------------------------*/ @@ -3714,6 +3721,34 @@ return true; } +ACMD_FUNC(reloadfolder) +{ + char npc_choice[100]; + int v_type=0; + folder * aux; + char npc_path[100]; + + if(!message || !*message || sscanf(message, "%s",npc_choice) < 1) { + clif_displaymessage(fd,"Como usar: <pasta> - Reload de NPCs presentes na pasta." ); + for(aux=ptr;aux!=NULL;aux=aux->next){ + clif_displaymessage(fd,aux->name+4); + } + clif_displaymessage(fd,"reloadfolder - Por favor especifique uma op็ใo."); + } + else if(check_npc_folder(npc_choice)){ + sprintf(npc_path,"npc/%s",npc_choice); + if(npc->reload_folder(npc_path)) + return false; + else{ + clif_displaymessage(fd,"Scripts Recarregados."); + return true; + } + } + else return false; + + return true; +} + /*========================================== * @mapinfo [0-3] <map name> by MC_Cameri * => Shows information about the map [map name] @@ -9603,6 +9638,7 @@ ACMD_DEF(localbroadcast), // + /lb and /nlb ACMD_DEF(recallall), ACMD_DEF(reloadscript), + ACMD_DEF(reloadfolder), ACMD_DEF(reloadatcommand), ACMD_DEF(reloadbattleconf), ACMD_DEF(mapinfo), Index: map.c =================================================================== --- map.c (revision 2809) +++ map.c (working copy) @@ -5503,6 +5503,19 @@ SERVER_TYPE = SERVER_TYPE_MAP; } +// Free Folder LList +void free_folder(folder * ptr) +{ + folder * aux, * aux2; + aux=ptr; + while(aux!=NULL){ + aux2=aux; + aux=aux->next; + free(aux2->name); + free(aux2); + } + return; +} /// Called when a terminate signal is received. void do_shutdown(void) @@ -5513,15 +5526,18 @@ { struct map_session_data *sd; struct s_mapiterator *iter = mapit_getallusers(); + free_folder(ptr); for(sd = (TBL_PC *)mapit_first(iter); mapit->exists(iter); sd = (TBL_PC *)mapit_next(iter)) clif_GM_kick(NULL, sd); mapit->free(iter); flush_fifos(); + } chrif->check_shutdown(); } } + bool map_arg_next_value(const char* option, int i, int argc, bool must) { if(i >= argc-1) { Index: map.h =================================================================== --- map.h (revision 2809) +++ map.h (working copy) @@ -29,6 +29,7 @@ #include <stdarg.h> + struct npc_data; struct item_data; struct raChSysCh; @@ -325,6 +326,13 @@ ATF_MISC=0x40, }; +typedef struct _folder{ + struct _folder * next; + char * name; +} folder; +folder * npc_new_folder(size_t size,folder * ptr,const char * filepath); +folder * ptr; + struct block_list { struct block_list *next,*prev; int id; Index: npc.c =================================================================== --- npc.c (revision 2809) +++ npc.c (working copy) @@ -2165,7 +2165,7 @@ nullpo_ret(nd); - npc->remove_map(nd); + npc->remove_map(nd); map->deliddb(&nd->bl); if(single) strdb_remove(npc->name_db, nd->exname); @@ -2188,7 +2188,7 @@ aFree(nd->path);/* remove now that no other instances exist */ } } - +/// if(single && nd->bl.m != -1) map->remove_questinfo(nd->bl.m,nd); @@ -2973,6 +2973,7 @@ nd->src_id = src_id; nd->bl.type = BL_NPC; nd->subtype = (enum npc_subtype)type; + switch(type) { case SCRIPT: ++npc_script; @@ -3908,7 +3909,20 @@ return strchr(start,'\n');// continue } - +folder * npc_new_folder(size_t size,folder * ptr, const char * filepath){ + folder * new; + int i; + new= (struct _folder*) malloc(sizeof(struct _folder)); + for(i=4;filepath[i]!='/';i++); + if(filepath[i]!='/') + return ptr; + new->name= (char*) malloc(sizeof(char)*(i+1)); + strncpy(new->name,filepath,i); + new->name[i]='\0'; + new->next = ptr; + + return new; +} //Read file and create npc/func/mapflag/monster... accordingly. //@runOnInit should we exec OnInit when it's done ? int npc_parsesrcfile(const char *filepath, bool runOnInit) @@ -3919,7 +3933,26 @@ size_t len; char *buffer; const char *p; - + int has_folder = 0; + static folder * aux; + + if(ptr==NULL) + ptr = npc_new_folder(sizeof(filepath),ptr,filepath) ; + + //Folder Information - [GreenStage] + //Check if NPC belongs to an existing folder + for(aux=ptr;aux!=NULL;aux=aux->next){ + if(strncmp(filepath,aux->name,strlen(aux->name))==0){ + has_folder=1; + + break; + } + } + //NPC seems to belong to a new folder, add folder info. + if(!has_folder){ + ptr=npc_new_folder(sizeof(filepath),ptr,filepath); + ShowNpc("Pasta Encontrada: %s \n",ptr->name); + } // read whole file to buffer fp = fopen(filepath, "rb"); if(fp == NULL) { @@ -4223,7 +4256,6 @@ linkdb_final(label_linkdb); // linked data (struct event_data*) is freed when clearing npc->ev_db return 0; } - //Clear then reload npcs files int npc_reload(void) { @@ -4328,6 +4360,33 @@ return 0; } +int npc_reload_folder(char * folder_path) +{ + struct npc_src_list *nsl; + DBIterator *iter = db_iterator(npc->name_db); + struct npc_data *nd = NULL; + unsigned int count=0; + + for(nd = dbi_first(iter); dbi_exists(iter); nd = dbi_next(iter)) { + if(nd->path && strncmp(nd->path,folder_path,strlen(folder_path)) == 0) { + npc->unload_duplicates(nd);/* unload any npcs which could duplicate this but be in a different file */ + npc->unload(nd, true); + } + } + dbi_destroy(iter); + + for(nsl = npc->src_files; nsl; nsl = nsl->next) { + if(strncmp(nsl->name,folder_path,strlen(folder_path))==0){ + count++; + ShowNpc("Carregando arquivo de NPC: %s"CL_CLL"\r", nsl->name); + npc->parsesrcfile(nsl->name,false); + } + } + /* refresh event cache */ + npc->read_event_script(); + ShowNpc("'"CL_WHITE"%d"CL_RESET"' arquivos na pasta '"CL_WHITE"%s"CL_RESET"' recarregados\n",count,folder_path); + return 0; +} //Unload all npc in the given file bool npc_unloadfile(const char *filepath) { @@ -4591,6 +4650,7 @@ npc->path_db_clear_sub = npc_path_db_clear_sub; npc->ev_label_db_clear_sub = npc_ev_label_db_clear_sub; npc->reload = npc_reload; + npc->reload_folder = npc_reload_folder; npc->unloadfile = npc_unloadfile; npc->do_clear_npc = do_clear_npc; npc->debug_warps_sub = npc_debug_warps_sub; Index: npc.h =================================================================== --- npc.h (revision 2809) +++ npc.h (working copy) @@ -265,6 +265,7 @@ int (*path_db_clear_sub) (DBKey key, DBData *data, va_list args); int (*ev_label_db_clear_sub) (DBKey key, DBData *data, va_list args); int (*reload) (void); + int (*reload_folder) (char * folder_path); bool (*unloadfile) (const char *filepath); void (*do_clear_npc) (void); void (*debug_warps_sub) (struct npc_data *nd);
  10. I found some bug that it will happen if you have hp more than 330 k . it's a WE_MALE or I will protect you skill. This skill will give your character HP 10% to your wife/husband so that means when you use these skill your hp will decrease 10 % and your wife/husband hp will increase 10% . But when I test it with hp more than 330k , it won't decrease my character hp 10% and it's increase both of character hp 10% so I don't know what's happen ? and how to fix it ? Anybody can help me please ? more information :my server is a rebirth server that's why my character hp is more than 330k
  11. Nobody know it ? Please help me . . . .
  12. I found some bug that it will happen if you have hp more than 330 k . it's a WE_MALE or I will protect you skill. This skill will give your character HP 10% to your wife/husband so that means when you use these skill your hp will decrease 10 % and your wife/husband hp will increase 10% . But when I test it with hp more than 330k , it won't decrease my character hp 10% and it's increase both of character hp 10% so I don't know what's happen ? and how to fix it ? Anybody can help me please ? more information :my server is a rebirth server that's why my character hp is more than 330k
  13. thx a lot for your really fast reply
  14. I am looking for an NPC that can check spawn time, and if the MVP available, the NPC will show it like this,example : Tao Gunka - Available (green colour) Turtle General - 53 minute(s) 32 second(s) (red colour) Phreeoni - 1 hour(s) 2 minutes(s) 15 second(s) (red colour) If something like this is possible,i hope someone can help me
  15. It changes a little bit. I think this part is the answer so I will find how does it work By the way, Thank you so much Sir Felipe if you didn't help me , I can't do it for sure
  16. I tried it but It still didn't work T^T .
  17. thank you sir Felipe for your reply but when I test it. it doesn't change anything so I try to change (sg->limit - DIFF_TICK(tick, sg->tick))); then it changes a bit but I don't know how can I set it -0- cause it didn't suck anybody when I change it lol . Although It didn't suck anybody but it show me that it's the way to change it but I don't understand how can I change it ? what's it ? anybody know?
  18. I'm not good at editing src so I want all of your help please. The problem is when I use a vacuum extreme skill of Sorcerer to person who have str more than 240 it doesn't suck them so I want to know If I want to change it more than this how can I do it? Vacuum extreme skill status.c case SC_VACUUM_EXTREME: ///< !CHECKME: Seems on official, there's delay before same target can be vacuumed in same area again [Cydh] sc_start2(bl, bl, SC_VACUUM_EXTREME_POSTDELAY, 100, sce->val1, sce->val2, skill_get_time2(SO_VACUUM_EXTREME,sce->val1)); I try to edit this but it doesn't work at all it's still be the same result T^T So that's why I ask your guys help ...
  19. Thank you a lot for your answer right now I can solve a backslide skill problem but I still can't solve Invisibility skill of shadow chaser problem. By the way I'm really appreciate that you can help me.Honestly, I try to find it around 1 week and I got nothing but now I can solve it by your answer wooo~ )
  20. After I find and try a lot , I can't find the way to do it anywhere so I want all of you to help me please. The first problem is when I use Brynhild item with Guillotine Cross , I can't use Back slide skill because the Brynhild have a bonus bNoKnockback script but I want it can be used back slide skill although I use a Brynhild item so I try to find it where can I change it but I don't know how to change it so I want to ask you guys how can I change it ? The second problem is Invisibility skill of shadow chaser , I want it to be visible after get hit by another player. Ex.when player use Invisibility skill and get hit from another player the player who use invisibility skill will be visible like Cloaking Exceed skill . If you wonder what is the different thing between them if I change it in that way my answer is when player use invisibility skill they can attack another player and won't be visible while attack another player but if player use Cloaking Exceed skill when they attack another player , they will be visible immediately. Although I try hard to find in src/map/skill.c and skill.h I can't understand it anything T^T
  21. - script CfgRankingBoard -1,{ end; OnInit: setarray $@RKB_castle_db$[0], "aldeg_cas01", "aldeg_cas02", "aldeg_cas03", "aldeg_cas04", "aldeg_cas05", "gefg_cas01", "gefg_cas02", "gefg_cas03", "gefg_cas04", "gefg_cas05", "payg_cas01", "payg_cas02", "payg_cas03", "payg_cas04", "payg_cas05", "prtg_cas01", "prtg_cas02", "prtg_cas03", "prtg_cas04", "prtg_cas05", "nguild_alde", "nguild_gef", "nguild_pay", "nguild_prt", "schg_cas01", "schg_cas02", "schg_cas03", "schg_cas04", "schg_cas05", "arug_cas01", "arug_cas02", "arug_cas03", "arug_cas04", "arug_cas05"; setarray $@RKB_castle_group_db$[0], "Al De Baran", "Al De Baran", "Al De Baran", "Al De Baran", "Al De Baran", "Geffen", "Geffen", "Geffen", "Geffen", "Geffen", "Payon", "Payon", "Payon", "Payon", "Payon", "Prontera", "Prontera", "Prontera", "Prontera", "Prontera", "Novice Guilds", "Novice Guilds", "Novice Guilds", "Novice Guilds", "Yuno", "Yuno", "Yuno", "Yuno", "Yuno", "Rachel", "Rachel", "Rachel", "Rachel", "Rachel"; end; } //springpron,112,149,4 script Ranking Board 2_BOARD1,{ morocc,151,81,4 script จัดอันดับผู้เล่น#01 430,{ set .@pvpnumlist,10; set .@gvgnumlist,5; set .@mvpnumlist,10; set .@empnumlist,10; mes "[Ranking All Things]"; mes "ข้อมูลอันดับทั้งหมดอยู่ที่นี่แล้ว"; mes "เชิญเลือกดูได้เลยจ้า!!"; mes " "; next; switch(select("^d51c62PVP Ranking^000000:^6b1cd5Guild Ranking^000000:^1ca3d5MVP Ranking^000000:^1cd51cEmperium Ranking^000000")) { case 1: query_sql "SELECT `char`.`name`, `char_rank`.`pvp_kill_score`, `char_rank`.`pvp_die_score` FROM `char_rank`, `char` WHERE `char`.`char_id` = `char_rank`.`char_id` ORDER BY `char_rank`.`pvp_kill_score` DESC LIMIT 0 , "+.@pvpnumlist+" ",@pname$,@pkc,@pdc; mes "[ PVP Ranking ]"; if(!getarraysize(@pname$))mes "ยังไม่มีผู้เล่นใดได้คะแนน"; for(set @i,0 ; @i < getarraysize(@pname$) ; set @i,@i+1){ if(@pkc[@i] == 0 && @pdc[@i] == 0) close; mes ""+(@i+1)+". ^1c7cd5"+@pname$[@i]+"^000000 "; mes " Kill ^006600"+@pkc[@i]+"^000000 Die ^FF0000"+@pdc[@i]+"^000000 ( "+(@pkc[@i]*100/(@pkc[@i]+@pdc[@i]))+" %)"; } break; case 2: query_sql "SELECT `castle_id`, `guild_id` FROM `guild_castle` ORDER BY `castle_id`", .@castle_id_db, .@guild_id_db; if(!getarraysize(.@guild_id_db)) { mes "ยังไม่มีกิลด์ใดยึกครองบ้าน"; } else { set .@size,getarraysize(.@castle_id_db); for (set .@i,0; .@i < .@size; set .@i,.@i+1) { query_sql "SELECT `name`, `master`, `point` FROM `guild` WHERE `guild_id` = "+.@guild_id_db[.@i], .@name$, .@master$, .@point; mes "--------------------------------"; mes "Guild Name : "+.@name$+""; mes "Guild Master : "+.@master$+""; mes "Guild Castle : "+$@RKB_castle_group_db$[.@castle_id_db[.@i]]+""; mes "Guild Dominate : "+getcastlename($@RKB_castle_db$[.@castle_id_db[.@i]])+""; mes "Guild Points : "+.@point+""; mes "--------------------------------"; } } break; case 3: query_sql "SELECT `char`.`name`, `char_rank`.`mvp_score` FROM `char_rank`, `char` WHERE `char`.`char_id` = `char_rank`.`char_id` ORDER BY `char_rank`.`mvp_score` DESC LIMIT 0 , "+.@mvpnumlist+" ",@mname$,@mcount; mes "[ MVP Ranking ]"; if(!getarraysize(@mname$))mes "ยังไม่มีผู้เล่นใดได้คะแนน"; for(set @i,0 ; @i < getarraysize(@mname$) ; set @i,@i+1) mes ""+(@i+1)+". ^1c7cd5"+@mname$[@i]+"^000000 มี "+@mcount[@i]+" คะแนน "; break; case 4: query_sql "SELECT `char`.`name`, `char_rank`.`emp_score` FROM `char_rank`, `char` WHERE `char`.`char_id` = `char_rank`.`char_id` ORDER BY `char_rank`.`emp_score` DESC LIMIT 0 , "+.@empnumlist+" ",@ename$,@ecount; mes "[ EMP Ranking ]"; if(!getarraysize(@ename$))mes "ยังไม่มีผู้เล่นใดได้คะแนน"; for(set @i,0 ; @i < getarraysize(@ename$) ; set @i,@i+1) mes ""+(@i+1)+". ^1c7cd5"+@ename$[@i]+"^000000 มี "+@ecount[@i]+" คะแนน "; break; } close; OnInit: waitingroom "check ranking",0; end; } If I want to do a reset menu for pvp ranking , mvp ranking , emp ranking and also all of ranking how can I add it ? I tried these query_sql "DELETE FROM `char_rank` WHERE `char_id` = "+getcharid(0)+""; but It was reset only person who talk to npc so if I want to reset everyone in my server what kind of code should I write ? Please Help me I tried it a lot but nothing is working ... T-T Nobodyyy
  22. https://rathena.org/board/topic/76032-monsterally-command/ I want to know who have a src like these ? Could you please upload it ? https://www.youtube.com/watch?v=yPm2ETJ3L7w
×
×
  • Create New...