Jump to content

Emistry

Forum Moderator
  • Posts

    9,746
  • Joined

  • Days Won

    305

Everything posted by Emistry

  1. i am sure you can find tons of guide to resolve your policy requirements by searching the internet. ex: https://ostechnix.com/fix-mysql-error-1819-hy000-your-password-does-not-satisfy-the-current-policy-requirements/ CREATE USER 'ragnarok'@'localhost' IDENTIFIED BY 'YOUR_PASSWORD'; GRANT ALL PRIVILEGES ON ragnarok.* to 'ragnarok'@'%' IDENTIFIED BY 'YOUR_PASSWORD'; the IDENTIFIED BY is refer for your password.
  2. total kill count per session? when you warp into the room, reset the initial count @total_emperium_count = 0; when they killed the Emperium, @total_emperium_count++; if (@total_emperium_count > #count) { #count = @total_emperium_count; query_sql("INSERT INTO `breaker_ladder` SET `char_id` = "+getcharid(0)+", `count` = 1 ON DUPLICATE KEY UPDATE `count` = "+#count); }
  3. your Event_LMS script only assign mapflag, doesn't support assigning extra parameter for mapflag. Hence it wont work with the way you doing it. setmapflag "sec_pri", MF_RESTRICTED, 2; setmapflag "06guild_01", MF_RESTRICTED, 2; or sec_pri mapflag restricted 2 06guild_01 mapflag restricted 2 these would work.
  4. make sure you are connecting using the correct username/password. and granted access to the database. CREATE USER 'ragnarok'@'localhost' IDENTIFIED BY 'ragnarok'; GRANT ALL PRIVILEGES ON ragnarok.* to 'ragnarok'@'%' IDENTIFIED BY 'ragnarok'; https://github.com/rathena/rathena/wiki/Install-MySQL
  5. try byako,83,154,4 script Who's Online Event 99,{ mes "[Who's Online Event]"; if (getgroupid() < 99) { mes "Only GM's are allowed to use this NPC."; } else { mes "Enable event?"; if (select("Yes", "No") == 1) { mes "Event started."; donpcevent strnpcinfo(3)+"::OnStart"; } } close; OnHour00: OnHour03: OnHour06: OnHour09: OnHour12: OnHour15: OnHour18: OnHour21: OnStart: do { query_sql "select `account_id`, `name` from `char` where online = 1 order by rand() limit 1", [email protected], [email protected]$; attachrid [email protected]; } while (checkvending() || getgroupid() >= 2 || inarray(.map$, strcharinfo(3)) == -1); announce strcharinfo(0) +" won 1 Lucky Pick Box in Exiled Lucky Pick", bc_all, 0x00FF00; getitem 50043,1; end; OnInit: setarray .map$, "prontera", "izlude", "payon"; end; }
  6. try - script Sample -1,{ OnInit: .max_limit = 1; setarray .castles$[0], "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05", "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05", "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05", "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05", "arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05", "schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05"; .castle_size = getarraysize(.castles$); for ([email protected] = 0; [email protected] < .castle_size; [email protected]++) setmapflag .castles$[[email protected]], mf_loadevent; end; OnPCLoadMapEvent: [email protected]$ = strcharinfo(3) if (inarray(.castles$, [email protected]$) != -1) { [email protected]_id = getcharid(2); if ([email protected]_id) { for ([email protected] = 0; [email protected] < .castle_size && [email protected]_count < .max_limit; [email protected]++) { if ([email protected]$ != .castles$[[email protected]] && [email protected]_id == getcastledata(.castles$[[email protected]], CD_GUILD_ID)) [email protected]_count++; } getguildmember [email protected], 1; getguildmember [email protected], 2; if ([email protected]_count >= .max_limit) { for ([email protected] = 0; [email protected] < [email protected]; [email protected]++) { if (isloggedin([email protected][[email protected]], [email protected][[email protected]])) { if (attachrid([email protected][[email protected]])) { if (strcharinfo(3) == [email protected]$) { dispbottom "There can only be "+.max_limit+" Knight per guild members inside a castle during woe."; warp "SavePoint", 0, 0; } detachrid; } } } } } } end; }
  7. https://rathena.org/board/topic/128705-woe-job-count-limit-updated/#comment-400262
  8. when you warp into the room, reset the initial count #count = 0; when they killed the Emperium, #count++; if (#count == 1) [email protected] = 11; else if (#count == 2) [email protected] = 10; query_sql("INSERT INTO `breaker_ladder` SET `char_id` = "+getcharid(0)+", `count` = 1 ON DUPLICATE KEY UPDATE `count` = `count` + "[email protected]);
  9. if (rand(100) < 10) { 10% } if (rand(100) < 20) { 20% }
  10. also can try this https://rathena.org/board/topic/124827-utility-analyzeitem-count-item-in-your-server/
  11. Pick all the default or recommended or refer the patches to find out which patches are usable on the client http://nemo.herc.ws/patches/
  12. try - script Sample -1,{ OnInit: .max_limit = 10; setarray .castles$[0], "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05", "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05", "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05", "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05", "arug_cas01","arug_cas02","arug_cas03","arug_cas04","arug_cas05", "schg_cas01","schg_cas02","schg_cas03","schg_cas04","schg_cas05"; .castle_size = getarraysize(.castles$); for ([email protected] = 0; [email protected] < .castle_size; [email protected]++) setmapflag .castles$[[email protected]], mf_loadevent; end; OnPCLoadMapEvent: [email protected]$ = strcharinfo(3) if (inarray(.castles$, [email protected]$) != -1) { [email protected]_id = getcharid(2); if ([email protected]_id) { getguildmember [email protected], 1; getguildmember [email protected], 2; // skip check if member count less than limit if ([email protected] < .max_limit) end; for ([email protected] = 0; [email protected] < [email protected] && [email protected]_count < .max_limit; [email protected]++) { if (isloggedin([email protected][[email protected]], [email protected][[email protected]])) { if (attachrid([email protected][[email protected]])) { [email protected] = eaclass(); if ([email protected] & EAJ_SWORDMAN|EAJL_2_1 == EAJ_KNIGHT) [email protected]_count++; detachrid; } } } if ([email protected]_count >= .max_limit) { for ([email protected] = 0; [email protected] < [email protected]; [email protected]++) { if (isloggedin([email protected][[email protected]], [email protected][[email protected]])) { if (attachrid([email protected][[email protected]])) { if (strcharinfo(3) == [email protected]$) { dispbottom "There can only be "+.max_limit+" Knight per guild members inside a castle during woe."; warp "SavePoint", 0, 0; } detachrid; } } } } } } end; }
  13. configure the db/re/skill_nocast_db.txt add the zone mapflag to your custom maps
  14. https://rathena.org/board/topic/57218-valkyrie-assistant/#entry69687
  15. use @mapinfo command to check and ensure mapflags are correctly added to your maps. make sure the warp everywhere permission aren't given to the normal player group.
  16. custom skill effect? or something that work like functor mod? the LGP i think... that highlight cell area for skills
  17. try change mes "Proceed?"; if(select("Yes:No")==1) { set [email protected],getPoints(getcharid(3)); if([email protected]>[email protected]) { next; mes .npcname$; updatePoints(getcharid(3),[email protected]); getitem [email protected],[email protected]; mes "Here you go!. Thank you for voting. Don't forget to vote again. :D"; } else mes "Sorry, you do not have enough points for this item."; } into mes "Enter an Amount and proceed:"; input [email protected], 1; if(select("Yes:No")==1) { set [email protected],getPoints(getcharid(3)); if([email protected]>= ([email protected] * [email protected])) { next; mes .npcname$; updatePoints(getcharid(3),([email protected] * [email protected])); getitem [email protected],([email protected] * [email protected]); mes "Here you go!. Thank you for voting. Don't forget to vote again. :D"; } else mes "Sorry, you do not have enough "+([email protected] * [email protected])+" points for this item."; }
  18. 10061 is a Connection Refused error sent to you by the server. You could not make a connection because the target machine actively refused it. The most common cause is a misconfigured server, full server, or incorrect Port specified by the client.
  19. if ($DONATE_EXP_ZENY >= $DONATE_EXP_ZENY_AIM && $DONATE_EXP_ZENY_AIM > 0) { $DONATE_EXP_RATE = rand(.rate_range[0], .rate_range[1]); $DONATE_EXP_DURATION = gettimetick(2) + .duration; callsub(L_rate, $DONATE_EXP_RATE); // <------------ THIS LINE donpcevent strnpcinfo(3)+"::OnStart"; }
  20. may try this old tool http://rathena.sourceforge.net/tools/login_background/
  21. https://github.com/rathena/rathena/blob/master/src/map/pc.cpp#L6300-L6305
  22. *disablenpc "<NPC object name>"; *enablenpc "<NPC object name>"; These two commands will disable and enable, respectively, an NPC object specified by name. The disabled NPC will disappear from sight and will no longer be triggerable in the normal way. It is not clear whether it will still be accessible through 'donpcevent' and other triggering commands, but it probably will be. You can disable even warp NPCs if you know their object names, which is an easy way to make a map only accessible through walking half the time. Then you 'enablenpc' them back. You can also use these commands to create the illusion of an NPC switching between several locations, which is often better than actually moving the NPC - create one NPC object with a visible and a hidden part to their name, make a few copies, and then disable all except one. this will help you enable/disable your npc
  23. nyd_dun02,100,201,3 script Yggdrasil Gatekeeper 111,8,8,{ if (ins_nyd < 200) ins_nyd = 200; ....... ....... ....... ....... } may try add these 2 lines, it should help you escape most of the quests. or you can just remove all the related quest dialogs and validation.
  24. /* .___ ___. __ __ ___ | \/ | | | | |/ / | \ / | | | | ' / | |\/| | | | | < | | | | | | | . \ |__| |__| |__| |__|\__\ = Tarot Event v2016 = by Mik閕as = brAthena = User: http://forum.brathena.org/index.php/user/11630-mikeias/ */ prontera,128,329,4 script Evento do Destino 4_M_BARD,{ mes "[Evento do Destino]"; mes "Ol?"+strcharinfo(0); mes "Est?afim de testar sua sorte nas cartas? Fique atento quando anunciar o in韈io do evento."; next; switch(select("Participar do evento", ( getgroupid() >= [email protected] ? ( !$tarot_status ? "Ligar":"Desligar")+" Evento":"") , "Premia玢o", "N鉶 quero participar")){ case 1: // = Se evento n鉶 ativo if (!$tarot_status){ mes "[Evento do Destino]"; mes "Senhor"+(Sex? "":"a")+", no momento o evento n鉶 est?at韛o! N髎 avisaremos quando o evento come鏰r."; close; } // = Verifica se o nome do personagem j?est?no array for (set [email protected],0; [email protected] < getarraysize([email protected]_participantes$); set [email protected],[email protected] + 1) { if ( [email protected]_participantes$[[email protected]] == strcharinfo(0) ) { mes "[Evento do Destino]"; mes "Tenha calma "+strcharinfo(0)+"! N髎 ainda n鉶 estamos prontos para voc? aguarde um momento."; next; warp "force_1-1",100,100; close; } } mes "[Evento do Destino]"; mes "Tudo certo, anotei a sua participa玢o aqui! Em breve voc?ser?chamado para que o evento seja iniciado."; // = Adiciona o nome do personagem ao array set [email protected]_participantes$[getarraysize([email protected]_participantes$)], strcharinfo(0); //message strcharinfo(0), strnpcinfo(1)+" Meus parab閚s! Voc?se registrou com 陎ito para participar do evento."; announce strnpcinfo(1)+" <"+strcharinfo(0)+"> registrou-se para participar do evento!",bc_all; next; warp "force_1-1",100,100; close; case 2: if( agitcheck() || agitcheck2() ){ mes "[Evento do Destino]"; mes "Neste momento a Guerra do Emperium est?at韛a e n鉶 ?poss韛el dar in韈io ao evento!"; close; } mes "[Evento do Destino]"; mes "Ol? Game-Master! Voc?tem certeza que deseja "+( !$tarot_status ? "Ligar":"Desligar")+" o evento?"; if(select("N鉶:Tenho certeza") == 1) close; if ( !$tarot_status ){ donpcevent "Tarot Event::OnStart"; }else donpcevent "Tarot Event::OnStop"; close; end; case 3: mes "[Evento do Destino]"; mes "O participante que n鉶 for atingido pela carta 'Coma' receber?pontos de evento e recompensas aleat髍ias."; close; case 4: close; } OnInit: // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - //set "[Evento do Destino]", "^800000"+strnpcinfo(1)+"^000000"; // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - setarray [email protected]$, "poring_w01", 102, 71; // = Configura玢o do mapa do evento // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - set [email protected]_participantes,2; // = N鷐ero m韓imo de participantes para iniciar o evento // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - set [email protected], 60; // = Level m韓imo de GM para ligar/desligar o evento // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - // = ATEN敲O: CADA ITEM TEM SUA QUANTIDADE // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - callfunc ("resetEventoTarot", [email protected]_participantes$, [email protected]$[0]); setarray .mapflag,0,1,7,8,13,22,33,34,12; for (set [email protected],0; [email protected] < getarraysize(.mapflag); set [email protected], [email protected] + 1){ setmapflag [email protected]$[0], .mapflag[[email protected]]; } end; } - script Tarot Event -1,{ // = In韈io autom醫ico OnClock0500: OnClock1700: // = In韈io manual OnStart: set $tarot_status,1; announce "[NPC] Evento do Destino: As inscri珲es para o evento est鉶 abertas! Voc阺 tem 5 minutos para participar. Digite @evt para participar.",bc_all; sleep 60000; announce "[NPC] Evento do Destino: As inscri珲es para o evento est鉶 abertas! Voc阺 tem 4 minutos para participar. Digite @evt para participar.",bc_all; sleep 60000; announce "[NPC] Evento do Destino: As inscri珲es para o evento est鉶 abertas! Voc阺 tem 3 minutos para participar. Digite @evt para participar.",bc_all; sleep 60000; announce "[NPC] Evento do Destino: As inscri珲es para o evento est鉶 abertas! Voc阺 tem 2 minutos para participar. Digite @evt para participar.",bc_all; sleep 60000; announce "[NPC] Evento do Destino: As inscri珲es para o evento est鉶 abertas! Voc阺 tem 1 minuto para participar. Digite @evt para participar.",bc_all; sleep 60000; if ( getarraysize([email protected]_participantes$) < [email protected]_participantes ){ announce "As inscri珲es para o Evento do Destino n鉶 foram suficientes para iniciar.",bc_all; callfunc ("resetEventoTarot", [email protected]_participantes$, [email protected]$[0]); end; } announce "[NPC] Evento do Destino: As inscri珲es para o evento foram encerradas. Boa sorte a todos os participantes!",bc_all; set $tarot_status,0; for(set [email protected], 0; [email protected] < getarraysize([email protected]_participantes$); set [email protected], [email protected] + 1){ if ( isloggedin(getcharid(3, [email protected]_participantes$[[email protected]])) ){ warpchar [email protected]$[0], atoi([email protected]$[1]), atoi([email protected]$[2]), getcharid(0, [email protected]_participantes$[[email protected]]); }else{ deletearray [email protected]_participantes$[[email protected]], 1; } } sleep 8000; donpcevent "[GM]Tyr::OnSpeak"; end; OnReturn: while( getarraysize([email protected]_participantes$) > 1){ // = Enquanto o total de participantes for maior que 1 // sleep 1000; for(set [email protected],0;[email protected]<getarraysize([email protected]_participantes$);set [email protected],[email protected]+1){ sleep 1000; if(getmapusers("poring_w01") == 1){goto Vencer;} attachrid(getcharid(3,[email protected]_participantes$[[email protected]])); if( strcharinfo(3) == [email protected]$[0] ){ set [email protected],522+rand(1,14); specialeffect2 [email protected], strcharinfo(0); if( [email protected] == 531 ){ deletearray [email protected]_participantes$[[email protected]], 1; percentheal -99,-99; sleep2 1500; warp "SavePoint",0,0; } } detachrid; } } sleep 2000; Vencer: if ( getarraysize([email protected]_participantes$)){ attachrid(getcharid(3, [email protected]_participantes$[0])); // = Atacha o account_id apartir do nome if ( strcharinfo(3) == [email protected]$[0] ){ announce "[NPC] Evento do Destino: O vencedor do evento ?o jogador '"[email protected]_participantes$[0]+"' parab閚s!",bc_all; getitem 7227,1; set #evento,#evento+10; } detachrid; } callfunc ("resetEventoTarot", [email protected]_participantes$, [email protected]$[0]); end; // = Encerra o Evento OnStop: //announce "["+strnpcinfo(1)+"] Evento encerrado!",bc_all; callfunc ("resetEventoTarot", [email protected]_participantes$, [email protected]$[0]); end; } - script tarot_events -1,{ // = Se o participante que deslogou ou morreu estiver no mapa do evento, seu nome ser?retirado do array de tarot_participantes OnPCLogoutEvent: if ( strcharinfo(3) == [email protected]$[0] ){ for (set [email protected],0; [email protected] < getarraysize([email protected]_participantes$); set [email protected],[email protected] + 1) { if ( [email protected]_participantes$[[email protected]] == strcharinfo(0) ){ deletearray [email protected]_participantes$[[email protected]], 1; break; } } } end; } poring_w01,102,73,1 script [GM]Tyr 871,{ mes "[Organizadora de Eventos]"; mes "Jogadores na disputa..."; for (set [email protected],0; [email protected] < getarraysize([email protected]_participantes$); set [email protected],[email protected] + 1) { mes ([email protected]+1)+" - "[email protected]_participantes$[[email protected]]; } close; end; OnSpeak: setarray .msgs$, "Usarei a habilidade 'Destino nas Cartas' em cada um de voc阺.", "As rodadas ser鉶 de acordo com a ordem de inscri玢o no evento.", "O vencedor ser?o 鷏timo a sobreviver!", "Boa sorte a todos os participantes!", "TAROOOW!"; for ( set [email protected],0; [email protected] < getarraysize(.msgs$); set [email protected], [email protected]+1 ){ npctalk .msgs$[[email protected]]; sleep 3000; } donpcevent "Tarot Event::OnReturn"; end; OnInit: setarray .x[0],94,105,99,110; setarray .y[0],68; npcspeed 195; initnpctimer; end; OnTimer1000: emotion rand(34,45); for(set .c,0;.c<getarraysize(.x); set .c,.c+1){ npcwalkto .x[.c],.y[0]; sleep 3500; } initnpctimer; end; } // = Reseta par鈓etros function script resetEventoTarot { // @param0 = array dos tarot_participantes // @param1 = map event deletearray getarg(0); set $tarot_status,0; mapwarp getarg(1), "prontera",156,183; return; } not all sleep2 could be changed into sleep, you need to identity which part of the script execution doesnt attach to players and which part does.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.