Jump to content

Theru

Members
  • Posts

    1
  • Joined

  • Last visited

Posts posted by Theru

  1. Hola amigos, estuve dandole vueltas a un script que encontre en herc, y quise migrarlo a rAthena.

    ▫️El script funciona hasta cierto punto:
                        ▫️ Aparece el npc, hablas con el y corre todo normal, te pide items, pero al entregarlos el npc desaparece y ya no sucede nada.
    ▫️Cuando hablas con el y despues le das en cancelar, pero despues vuelves a hablar con el, dice que esta hablando con otra personas.
    ▫️ La consola no tira ningun error.
    ▫️Quisiera saber si se debe a que es de herc, y si es asi podrian ayudarme a migrarlo a rAthena!

    Gracias de antemano /awsm

    Les dejo el Script.

    prontera,150,150,0	script	Thanatos Summoner#22	4W_SAILOR,{
    	mes .npc$;
    
    	.@party_id = getcharid(1);
    	
    	.@i	= strnpcinfo(2);
    	
    	if (getd(".qwerty" + .@i)) {
    		mes "Someone is talking to me!";
    		emotion 23;
    		close;
    	}
    	
    	setd(".qwerty" + .@i, 1);
    	
    	if (.@party_id && getpartyleader(.@party_id, 2) != getcharid(0)) {
    		mes "Only the party leader can talk to me";
    	} else {
    		mes "Hi " + strcharinfo(0) + ", What can i do for you?";
    		next;
    		if (select("I want to summon Thanatos:Cancel") == 1 ) {
    			mes .npc$;
    			mes "You need the following items to summon thanatos";
    			.@a = 0;
    			while (.@a < .size) {
    				mes "> " + .fragments[.@a+1] + "x " + getitemname(.fragments[.@a]);
    				.@a += 2;
    			}
    			next;
    			if (select("Yes, I have those items and I'm ready to fight:I will think twice") == 1) {
    				.@a = 0;
    				while (.@a < .size) {
    					if (countitem(.fragments[.@a]) < .fragments[.@a+1]) {
    						mes .npc$;
    						mes "You lack " + getitemname(.fragments[.@a]);
    						setd(".qwerty" + .@i, 0);
    						close;
    					}
    					.@a += 2;
    				}
    				.@a = 0;
    				while (.@a < .size) {
    					delitem .fragments[.@a], .fragments[.@a+1];
    					.@a += 2;
    				}
    				if (getcharid(1)) {
    					announce "Party " + getpartyname(.@party_id) + " has initiated Thanatos Summoner", 0;
    					warpparty "thana_boss", 113, 165, .@party_id, true;
    				} else {
    					announce strcharinfo(0) + " has initiated Thanatos Summoner", 0;
    					warp "thana_boss", 113, 165;
    				}
    				monster "thana_boss", 0, 0, "--ja--", 1708, 1, strnpcinfo(3) + "::OnKill";
    				hideonnpc strnpcinfo(3);
    			}
    		}
    	}
    	
    	setd(".qwerty" + .@i, 0);
    	close;
    
    	// 50 minutes mark
    	On50MinMark:
    		announce "Thanatos Summoner will open in 10 minutes", 0;
    		addtimer 300000, strnpcinfo(3) + "::On55MinMark";
    		end;
    	// 55 minutes mark
    	On55MinMark:
    		announce "Thanatos Summoner will open in 5 minutes", 0;
    		addtimer 240000, strnpcinfo(3) + "::On59MinMark";
    		end;
    	// 59 minutes mark
    	On59MinMark:
    		announce "Thanatos Summoner will open in 1 minute", 0;
    		addtimer 60000, strnpcinfo(3) + "::OnEnable";
    		end;
    	// 60 minutes mark
    	OnEnable:
    		announce "Thanatos Summoner is open", 0;
    		hideoffnpc strnpcinfo(3);
    		end;
    		
    	OnKill:
    		.@party_id = getcharid(1);
    		if (!.@party_id) {
    			announce strcharinfo(0) + " successfully killed Thanatos", 0;
    			sleep2 .warp_interval * 60 * 1000;
    			warp "prontera", 150, 150;
    		} else {
    			announce strcharinfo(0) + " of party " + getpartyname(.@party_id) + " successfully killed Thanatos", 0;
    			sleep2 .warp_interval * 60 * 1000;
    			warpparty "prontera", 150, 150, .@party_id, true;
    		}
    		announce "Thanatos summoner will open again after " + .npc_interval + " minutes", 0;
    		addtimer .npc_interval * 60 * 1000, strnpcinfo(3) + "::On50MinMark";
    		end;
    		
    	OnPCDieEvent:
    		if (strcharinfo(3) == "thana_boss")
    			warp "SavePoint", 0, 0;
    		if (!getmapusers("thana_boss")) {
    			announce "No one manage to kill Thanatos. Thanatos summoner will open again after " + .npc_interval + " minutes", 0;
    			killmonsterall "thana_boss";
    			addtimer .npc_interval * 60 * 1000, strnpcinfo(3) + "::On50MinMark";
    		}
    		end;
    	
    	OnInit:
    		.npc$ = "[" + strnpcinfo(1) + "]";
    		setarray .fragments[0], 31996, 4; // <item_id>, <amount>
    		.size = getarraysize(.fragments);
    		.npc_interval = 50; // 50 minutes
    		.warp_interval = 3; // 3 minutes
    		announce "Thanatos Summoner is open", 0;
    		end;
    		
    }
    
    thana_boss	mapflag	nowarp
    thana_boss	mapflag	noreturn
    thana_boss	mapflag	nowarpto



    summoner.txt

    Captura.PNG

    Captura2.PNG

    Captura3.PNG

    Captura4.PNG

×
×
  • Create New...