eloscar23
-
Posts
49 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by eloscar23
-
-
10 hours ago, Rynbef said:
It's could be a part of the aura (aura circle). U can change the max level or disable it on your conf/battle/client.conf
But first try /aura maybe it will removed and then u know it's from the aura.
Maybe u need a diff to disable it. Or src mod. Or change to a level player unable to get.
Rynbef~
What should I remove on the diff or how to disable it on battleconf I DID THIS
// Maximum allowed 'level' value that can be sent in unit packets.
// Use together with the aura_lv setting to tell when exactly to show the aura.
// NOTE: You also need to adjust the client if you want this to work.
// NOTE: Default is 99. Values above 127 will probably behave incorrectly.
// NOTE: If you don't know what this does, don't change it!!!
max_lv: 350// Level required to display an aura.
// NOTE: This assumes that sending max_lv to the client will display the aura.
// NOTE: aura_lv must not be less than max_lv.
// Example: If max_lv is 99 and aura_lv is 150, characters with level 99~149
// will be sent as being all level 98, and only characters with level
// 150 or more will be reported as having level 99 and show an aura.
aura_lv: 350
-
-
On 11/27/2023 at 12:41 AM, Emistry said:
*gettimetick(<tick type>) This function will return a tick depending on <tick type>: 0: The server's tick, a measurement in milliseconds used by the server's timer system. This tick is an unsigned int which loops every ~50 days. 1: The time, in seconds, since the start of the current day. 2: The system time in UNIX epoch time, or the number of seconds elapsed since January 1st, 1970. Useful for reliably measuring time intervals.
it return your server time tick, not your npc time
I do not understand? it takes the exact time since I interact to npc or whatever holding the variable?
-
On 4/16/2020 at 9:56 AM, Patskie said:
You can try
prontera,150,150,6 script Timer 876,{ function Time_Left; mes "Hi Pogi"; switch(select((a?"":"Initialization")+":"+(!a||b?"":"Stop")+":"+(!a||!b?"":"Start")+":Settings")) { case 1: a = gettimetick(2); // start time addtimer (Time_Left() * 1000), strnpcinfo(0) + "::OnTimeUp"; c = Time_Left(); break; case 2: b = gettimetick(2); // stop time deltimer strnpcinfo(0) + "::OnTimeUp"; break; case 3: c -= b - a; addtimer Time_Left((gettimetick(2) - (b - a)), gettimetick(2), c) * 1000, strnpcinfo(0) + "::OnTimeUp"; a = gettimetick(2); b = 0; break; case 4: default: break; } close; OnTimeUp: dispbottom "Done!"; a = 0; b = 0; c = 0; end; OnPCLogoutEvent: if (!a || b) end; b = gettimetick(2); end; OnPCLoginEvent: if (!a || !b) end; c -= b - a; addtimer Time_Left((gettimetick(2) - (b - a)), gettimetick(2), c) * 1000, strnpcinfo(0) + "::OnTimeUp"; a = gettimetick(2); b = 0; end; OnCmd: if (!a) dispbottom "No timer set"; else dispbottom "Timer Left : " + Time_Left(a, (!b?gettimetick(2):b), (!c?.time_in_seconds:c)); end; // start = start time // end = end time // time limit = remaining time function Time_Left { .@start = getarg(0, 0); .@end = getarg(1, gettimetick(2)); .@time_limit = getarg(2, .time_in_seconds); return !.@start ? .time_in_seconds : (.@time_limit - (.@end - .@start)); } OnInit: .time_limit = 1; // 3 minutes .time_in_seconds = .time_limit * 60; bindatcmd "timer", strnpcinfo(0) + "::OnCmd"; //uncomment below if you want timers to reset upon server restart / npc reload /*addrid(0); a = 0; b = 0; c = 0; deltimer strnpcinfo(0) + "::OnTimeUp";*/ end; }
Tho i haven't tested them fully
Hello, could I sent you a request on discord Santana#5322 I have a few questions about this script please.
-
Hello, what is the correct usage of Correct Use of Gettimetick(2)?
does it start counting whenever you talk to the NPC? or what?
-
17 minutes ago, Winterfox said:
I didn't test it, but I would do write the kind of script you want to do like this:
prontera,146,161,5 script CheckRank 118,{ mes .npc_name; mes "Hello, this is a MvP Ranker"; mes "Would you like to know the MvP Ranking?"; next; if(select("Top 20:Leave") == 2) { mes.npcranker; mes "Bye"; close; } mes.npc_name; for(.@i = 0; .@i < 20; .@i++) mes "The Top " + (.@i + 1) + " MVP: " + $top_mvp_names$[.@i] + " Killed: " + $top_mvp_kills$[.@i] + "."; close; OnInit: .npc_name = "[MvP Ranker]"; } - script MVP_RANKER FAKE_NPC,{ OnNPCKillEvent: if(killedrid != 1002) end; mvp_rank_points++; dispbottom("You have obtained 1 Rank Point. You now have " + mvp_rank_points + "."); callfunc("updateMVPRank", strcharinfo(0), mvp_rank_points); } function script updateMVPRank { .@curr_name$ = getarg(0); .@curr_kills = getarg(1); for(.@i = 0; .@i < 20; .@i++) { if($top_mvp_kills$[.@i] < .@curr_kills && $top_mvp_names$[.@i] != .@curr_name$) { .@new_name = .@curr_name; .@new_kills = .@curr_kills; .@curr_name = $top_mvp_names$[.@i]; .@curr_kills = $top_mvp_kills$[.@i]; $top_mvp_names$[.@i] = .@new_name; $top_mvp_kills$[.@i] = .@new_kills; continue; } if($top_mvp_kills$[.@i] < .@curr_kills) { $top_mvp_kills$[.@i] = .@curr_kills; break; } } }
can you explain it for me in text the Npc? I would like to understand the function part.
-
9 minutes ago, Winterfox said:
I didn't test it, but I would do write the kind of script you want to do like this:
prontera,146,161,5 script CheckRank 118,{ mes .npc_name; mes "Hello, this is a MvP Ranker"; mes "Would you like to know the MvP Ranking?"; next; if(select("Top 20:Leave") == 2) { mes.npcranker; mes "Bye"; close; } mes.npc_name; for(.@i = 0; .@i < 20; .@i++) mes "The Top " + (.@i + 1) + " MVP: " + $top_mvp_names$[.@i] + " Killed: " + $top_mvp_kills$[.@i] + "."; close; OnInit: .npc_name = "[MvP Ranker]"; } - script MVP_RANKER FAKE_NPC,{ OnNPCKillEvent: if(killedrid != 1002) end; mvp_rank_points++; dispbottom("You have obtained 1 Rank Point. You now have " + mvp_rank_points + "."); callfunc("updateMVPRank", strcharinfo(0), mvp_rank_points); } function script updateMVPRank { .@curr_name$ = getarg(0); .@curr_kills = getarg(1); for(.@i = 0; .@i < 20; .@i++) { if($top_mvp_kills$[.@i] < .@curr_kills && $top_mvp_names$[.@i] != .@curr_name$) { .@new_name = .@curr_name; .@new_kills = .@curr_kills; .@curr_name = $top_mvp_names$[.@i]; .@curr_kills = $top_mvp_kills$[.@i]; $top_mvp_names$[.@i] = .@new_name; $top_mvp_kills$[.@i] = .@new_kills; continue; } if($top_mvp_kills$[.@i] < .@curr_kills) { $top_mvp_kills$[.@i] = .@curr_kills; break; } } }
I fixed now this is the problem. it overwritte the previous one. here is the new script
prontera,146,161,5 script CheckRank 118,{
mes "Hello, this is an Npc Ranker";
mes "Would you like to know the MvP Ranking?";
next;
switch(select("Top 20:Leave")){case 1:
mes "Top 1 is : [" +$n1$ +"], Kills : [" +$k1 +"] MVPS";
mes "Top 2 is : [" +$n2$ +"], Kills : [" +$k2 +"] MVPS";
mes "Top 3 is : [" +$n3$ +"], Kills : [" +$k3 +"] MVPS";
mes "Top 4 is : [" +$n4$ +"], Kills : [" +$k4 +"] MVPS";
mes "Top 5 is : [" +$n5$ +"], Kills : [" +$k5 +"] MVPS";
mes "Top 6 is : [" +$n6$ +"], Kills : [" +$k6 +"] MVPS";
mes "Top 7 is : [" +$n7$ +"], Kills : [" +$k7 +"] MVPS";
mes "Top 8 is : [" +$n8$ +"], Kills : [" +$k8 +"] MVPS";
mes "Top 9 is : [" +$n9$ +"], Kills : [" +$k9 +"] MVPS";
mes "Top 10 is : [" +$n10$ +"], Kills : [" +$k10 +"] MVPS";
close;
break;case 2:
mes "Have a nice day";
mes "bye";
close;
end;}// end switch
}// end npc
- script count -1,{
OnNPCKillEvent:
if(killedrid == 1002){
set @rankp, @rankp + 1;
dispbottom "You have obtained 1 Rank Point, now you have "+@rankp+" .";
callfunc ("mvpladder",@rankp,strcharinfo(0));
}
}
function script mvpladder {
set @puntos, getarg(0);
set @nombres$, getarg(1);if (@puntos > $k1) {
// Si el nombre se repite, eso se verifica con strcharinfo
if (@nombres$ == strcharinfo(0)) {
set $k1, @puntos;
set $n1$, @nombres$;
} else {
// Guardo el top1 anterior
set @oldn1$, $n1$;
set @oldk1, $k1;// Ahora el top 2 se vuelve top1
set $k1, $k2;
set $n1$, $n2$;// Ahora el top1 que teníamos guardado se vuelve top2
set $k2, @oldk1;
set $n2$, @oldn1$;
}
} else if (@puntos > $k2) {
if (@nombres$ == strcharinfo(0)) {
set $k2, @puntos;
set $n2$, @nombres$;
} else {
// Guardo el top2 anterior
set @oldn2$, $n2$;
set @oldk2, $k2;// El nuevo top2 toma el lugar del antiguo top2
set $k2, $k3;
set $n2$, $n3$;// El antiguo top2 se convierte en el nuevo top3
set $k3, @oldk2;
set $n3$, @oldn2$;
}
}
-
Hello, here is the issues.
When example top 2 reaches top 1 his name still stays on top 2 when he goes and is added on top 1.
here the script:
prontera,146,161,5 script CheckRank 118,{
mes "Hello, this is an Npc Ranker";
mes "Would you like to know the MvP Ranking?";
next;
switch(select("Top 20:Leave")){case 1:
mes "Top 1 is : [" +$n1$ +"], Kills : [" +$k1 +"] MVPS";
mes "Top 2 is : [" +$n2$ +"], Kills : [" +$k2 +"] MVPS";
mes "Top 3 is : [" +$n3$ +"], Kills : [" +$k3 +"] MVPS";
mes "Top 4 is : [" +$n4$ +"], Kills : [" +$k4 +"] MVPS";
mes "Top 5 is : [" +$n5$ +"], Kills : [" +$k5 +"] MVPS";
mes "Top 6 is : [" +$n6$ +"], Kills : [" +$k6 +"] MVPS";
mes "Top 7 is : [" +$n7$ +"], Kills : [" +$k7 +"] MVPS";
mes "Top 8 is : [" +$n8$ +"], Kills : [" +$k8 +"] MVPS";
mes "Top 9 is : [" +$n9$ +"], Kills : [" +$k9 +"] MVPS";
mes "Top 10 is : [" +$n10$ +"], Kills : [" +$k10 +"] MVPS";
close;
break;case 2:
mes "Have a nice day";
mes "bye";
close;
end;}// end switch
}// end npc
- script count -1,{
OnNPCKillEvent:
if(killedrid == 1002){
set @rankp, @rankp + 1;
dispbottom "You have obtained 1 Rank Point, now you have "+@rankp+" .";
callfunc ("mvpladder",@rankp,strcharinfo(0));
}
}
function script mvpladder {
set @puntos, getarg(0);
set @nombres$, getarg(1);if (@puntos > $k1) {
// Si el nombre se repite, eso se verifica con strcharinfo
if (@nombres$ == strcharinfo(0)) {
set $k1, @puntos;
set $n1$, @nombres$;
} else {
// Guardo el top1 anterior
set @oldn1$, $n1$;
set @oldk1, $k1;// Ahora el top 2 se vuelve top1
set $k1, $k2;
set $n1$, $n2$;// Ahora el top1 que teníamos guardado se vuelve top2
set $k2, @oldk1;
set $n2$, @oldn1$;
}
} else if (@puntos > $k2) {
if (@nombres$ == strcharinfo(0)) {
set $k2, @puntos;
set $n2$, @nombres$;
} else {
// Guardo el top2 anterior
set @oldn2$, $n2$;
set @oldk2, $k2;// El nuevo top2 toma el lugar del antiguo top2
set $k2, $k3;
set $n2$, $n3$;// El antiguo top2 se convierte en el nuevo top3
set $k3, @oldk2;
set $n3$, @oldn2$;
}
}
-
3 hours ago, Winterfox said:
.@nombre == strcharinfo(0)
You compare a numeric variable with a string.
what about now? still same issue
prontera,146,161,5 script CheckRank 118,{
set.npcranker,"[MvP Ranker]";mes.npcranker;
mes "Hello, this is an Npc Ranker";
mes "Would you like to know the MvP Ranking?";
next;
switch(select("Top 20:Leave")){case 1:
mes.npcranker;
mes "The Top 1: " +$top1mvp$ +" Killed: " +$top1mvp +".";
mes "The Top 2: " +$top2mvp$ +" Killed: " +$top2mvp +".";
mes "The Top 3: " +$top3mvp$ +" Killed: " +$top3mvp +".";
mes "The Top 4: " +$top4mvp$ +" Killed: " +$top4mvp +".";
mes "The Top 5: " +$top5mvp$ +" Killed: " +$top5mvp +".";
mes "The Top 6: " +$top6mvp$ +" Killed: " +$top6mvp +".";
mes "The Top 7: " +$top7mvp$ +" Killed: " +$top7mvp +".";
mes "The Top 8: " +$top8mvp$ +" Killed: " +$top8mvp +".";
mes "The Top 9: " +$top9mvp$ +" Killed: " +$top9mvp +".";
mes "The Top 10: " +$top10mvp$ +" Killed: " +$top10mvp +" .";
close;
break;case 2:
mes.npcranker;
mes "bye";
close;
}
}
- script npcmvpranker -1,{
OnNPCKillEvent:
if(killedrid == 1002){
set muertos, muertos + 1;
dispbottom "You have obtained 1 Rank Point Now you have " +muertos +".";
callfunc ("mvpranker",muertos,strcharinfo(0));
}
}function script mvpranker {
set $allkill, getarg(0);
set $nomb$, getarg(1);if($allkill > $top1mvp){
if($top1mvp$ == strcharinfo(0)){
set $top1mvp, $allkill;
set $top1mvp$, $nomb$;
} else {
set $aux$, $top1mvp$;
set $aux, $top1mvp;set $top1mvp$, $nomb$;
set $top1mvp, $allkill;set $top2mvp$, $aux$;
set $top2mvp, $aux;}
} else if($allkill > $top2mvp){
if($top2mvp$ == strcharinfo(0)){
set $top2mvp, $allkill;
set $top2mvp$, $nomb$;
} else {
set $aux$, $top2mvp$;
set $aux, $top2mvp;set $top2mvp$, $nomb$;
set $top2mvp, $allkill;set $top3mvp$, $aux$;
set $top3mvp, $aux;}
} else if($allkill$ > $top3mvp){
if($top3mvp$ == strcharinfo(0)){
set $top3mvp, $allkill;
set $top3mvp$, $nomb$;
} else {
set $aux$, $top3mvp$;
set $aux, $top3mvp;set $top3mvp$, $nomb$;
set $top3mvp, $allkill;set $top4mvp$, $aux$;
set $top4mvp, $aux;}
}
-
Hello, I need help with this script, I can not figure it out
[Error]: script:op_2: invalid data for operator C_EQ
[Debug]: Data: number value=0
[Debug]: Data: string value="qwqwqwq"
[Debug]: Source (NPC): muertesmvp (invisible/not on a map)
[Debug]: Source (NPC): muertesmvp is located in: npc/custom/ranking.txtprontera,155,155,6 script Ranking 119,{
set .@rango1, "";
set .@muertes1, "0";
set .@rango2, "";
set .@muertes2, "0";mes "Que te gustaria hacer?";
switch(select("CheckTop:Leave")){
case 1:
mes "El rango 1 es "+$rango1$+" con "+$muertes1+" realizadas.";
mes "El rango 2 es "+$rango2$+" con "+$muertes2+" realizadas.";
close;
break;case 2:
mes "pasa buen dia";
close;} //end if
end;
}
- script muertesmvp -1,{
OnNPCKillEvent:
if(killedrid == 1002){
set matado, matado + 1;
dispbottom "Recordatorio "+strcharinfo(0)+" obtenido MvP.";
callfunc ("rangos",matado,strcharinfo(0));
}
end;
}function script rangos {
set @muertes, getarg(0);
set @nombre$, getarg(1);if(@muertes > .@muertes1 ){
if(.@nombre == strcharinfo(0)){
//si soy el numero 1, solo cuento
set .@rango1, @nombre$;
set .@muertes1, @muertes;} else {
//guardo el anterior 1
set .@auxn1, .@rango1;
set .@auxm1, .@muertes1;// me vuelvo el 1
set .@rango1, @nombre$;
set .@muertes1, @muertes;//volvemos el 1 el 2
set .@auxn1, .@rango2;
set .@auxm2, .@muertes2;
} //end iff de rango 1
} else if(.@muertes > .@muertes2){
if(.@nombre == strcharinfo(0)){
set .@rango2, @nombre$;
set .@muertes2, @muertes;
} else {
set .@muertes2, @muertes;
set .@rango2, @nombre$;
} // termina el de adentro end 2} // end if del if else
}
-
Hello, I used to use old ratherna where you could assign number 0 for all players to have access to a command
and now I can not find it using hercules/Rathena YML.
I go to Conf/Atcommands and Import/Atcommand and I can not find it.
-
Hello, can someone help me? I am compiling 4 job emulator and I get this error.
-
-
-
Hello, when I equip a manteau my def goes - 99 more than that when I equip manteau or when I have X amount of def
-
CANT CONNECT TO SQL WITH HEIDI OR NAVICAT
-
I have this error.
When I delete or rename the dbhelp.dll or whatever then it says Failed to Connect to the server.
-
DOne, had to create ratio db in db and added it
-
I do not find Ratio.
-
I am currently usi
5 hours ago, Chaos92 said:You are not using YML ? Older rathena ?
also can use item ratio https://github.com/rathena/rathena/blob/master/db/mob_item_ratio.yml
I am currently using rathena, no YML
-
Older rathena.
-
It should be the last number, but I did change from 1 to 0.1 or 001 or whatever and It didnt work.
-
-
Where here?
1832,IFRIT,Ifrit,Ifrit,99,7700000,0,3154321,3114520,3,13530,17000,40,50,120,180,25,190,199,50,10,12,2,0,83,0x37B5,130,212,384,360,1577160,10000,603,5500,617,5000,616,2000,994,10000,2677,3000,2678,200,2679,200,1471,2000,1133,2000,2345,100,0,0,0,0,4430,1
WHEN 4TH JOB CAN'T WARP, I GET WARPED TO GO 0 INSTANTLY.
in General Support
Posted
HELP. WHEN I USE 4 JOB AND I WARP ANYWHERE I GET WARPED TO @GO 0 INSTANTLY 1 SECOND AGO.
USING EMULATOR RATHENA MASTER.