Jump to content

All Activity

This stream auto-updates

  1. Past hour
  2. Hello, I'm going to describe what I'd like to accomplish. I have a party with 2 users, player1 enables a command that will display a hateffect on himself, and on the party members as well. Player 2, has disabled that command, so he won't see any hateffect, neither on him or the other party members. Once player2 enables the command, he will see the hateffect on him and his party members. I've tried with the function clif_hat_effect_single and different target type, but none of them seems to fit my previous requirements. That's why i was thinking about create a custom target type, however I don't quite understand that logic with these: WFIFOHEAD( fd, len ); memcpy( WFIFOP( fd, 0 ), buf, len ); WFIFOSET( tsd->fd, len ); So, after several hours trying, I'd like to ask for some help on this.. Thank you for your time!
  3. Today
  4. if(countitem(40024) < 1 && countitem(40031) < 1 && countitem(40027) < 1){
  5. as title, i have all 3 items in my inventory but somehow the script did not detect my item and keep saying i dont have enough..?
  6. like this one sir? if (getrefine()==2) { bonus2 bAddClass,Class_All,1; } else if(getrefine()==4) { bonus2 bAddClass,Class_All,2; } else if(getrefine()==6) { bonus2 bAddClass,Class_All,3; } else if(getrefine()==8) { bonus2 bAddClass,Class_All,4; } else if(getrefine()==10) { bonus2 bAddClass,Class_All,5; }
  7. then use if, for example if (getrefine()==8) { bonus bCastrate,-20; bonus bDelayRate,-20; } or anything needed.
  8. how about this in +1 no add +2 add +2 in bAtk then +3 no add and +4 will add again 2 in bAtk so it will be +4 bAtk
  9. bonus bAtkRate,n; ATK + n% that won't interfere with Damage modifier and SC_EDP (renewal mode only) So ... .@r = getrefine()/2; bonus bAtkRate,.@r;
  10. can someone do this to put in item_db Each two refine upgrades = increases your ATK by 1%
  11. Sure, the font is alot smaller than normal fonts (pixel height and width) but the space is the same no matter what
  12. try with this https://github.com/rathena/rathena/blob/26335994588c4b45846c05d0e53780ead78e475c/conf/battle/feature.conf#L166
  13. You're absolutely right. I just started going through the various vilnerabilities in my latest guides. Thanks for pointing this out! I have updated the guide to include a quick method to disallow anyone but the host(s) to have access to PMA.
  14. Its only here for showcase until I am satisfied with it.
  15. I understood, Anyway, I really liked your system. Do you offer Diff or do you sell it?
  16. Rankings of any sorts on this system doesn't make sense guys. There is no actual reason for me to do that. This was inspired by BDO (black desert online) via src changes
  17. 1. Create a $variable that uses gettimetick so that the server can fetch the data if the server reboots 2. Use a timer that checks if the $variable gettimetick is already done
  18. The idea was when player talk to this npc it will have option to create an item, and it will require player to wait until the process is complete, that part works fine without an error, but the problem start when server reboot, restart or stop, if player was waiting the item to complete and server reboot or restart during that period, player will get stuck as the count time kinda stuck and it keep saying player to wait until the progress is done, can someone help me fix this script ? thanks..
  19. Hello about @mobinfo make it like this
  20. Hello can anyone help how to make @mobinfo into this please help. Thank you in advance
  21. It the most u add it manually and the console output should give small introduction what's wrong. I'm crtly can't help by src modifications. Sry Rynbef~
  22. Hello, how did u fix the charm system?
  23. Hello can you please update this @Secrets not working on latest rev
  24. Hello //============================================================ //= Last Standing (try your luck guessing O or X) by Racaae //============================================================ //= https://rathena.org/board/topic/141331-r-mini-game-last-man-standing/ //============================================================ prontera,147,150,0 script Evento Last Standing PORTAL,{ emotion F_Rand(ET_O,ET_X), getnpcid(0); mes "[" + strnpcinfo(1) + "]"; if ($@laststanding == 1) { mes "Quer participar do evento?"; if (select("Sim", "Não") == 2) { clear; if (checkweight(1119,3) == 0) { mes "- Você tem muitos itens."; mes "Organize seu inventário e tente novamente. -"; close; } mes "[" + strnpcinfo(1) + "]"; mes "Até mais."; close; } warp "quiz_02",249,385; end; } mes "O evento começa sempre aos 45 minutos de cada hora."; mes "Por exemplo, 10:45 12:45 18:45"; if (getgroupid() >= 99) mes " ", "^0000ffDigite @LastStanding para acessar o menu GM^000000"; close; OnMinute45: if ($@laststanding != 0) end; OnOpen: cloakonnpc "O#luckyevent"; cloakonnpc "X#luckyevent"; cloakonnpc "O#luckyevent2"; cloakonnpc "X#luckyevent2"; waitingroom "Venha Participar!", 0; announce "Last Standing : O portal para o evento se abriu em Prontera!! 5 minutos até que ele se feche!",0; $@laststanding = 1; sleep 120000; if ($@laststanding != 1) end; announce "Last Standing : O portal para o evento fechará em 3 minutos!",0; sleep 60000; if ($@laststanding != 1) end; announce "Last Standing : O portal para o evento fechará em 1 minuto!",0; sleep 60000; if ($@laststanding != 1) end; announce "Last Standing : O portal para o evento se fechou!",0; donpcevent strnpcinfo(0) + "::OnStart"; end; OnStart: $@laststanding = 2; delwaitingroom; sleep 3000; areaannounce "quiz_02",220,330,280,395,"Bem vindos ao evento Last Standing. O ou X será escolhido aleatoriamente.",bc_blue; sleep 4000; areaannounce "quiz_02",220,330,280,395,"Tudo que você precisa fazer é ir até a área que você acha que foi escolhida.",bc_blue; sleep 4000; areaannounce "quiz_02",220,330,280,395,"Exemplo, se eu escolher X, todos os aventureiros que estiverem em O perdem.",bc_blue; sleep 4000; areaannounce "quiz_02",220,330,280,395,"Faremos isso de novo e de novo até termos 1 aventureiro sobrevivente.",bc_blue; sleep 4000; areaannounce "quiz_02",220,330,280,395,"Antes que eu esqueça, você deve entrar em uma das áreas! Qualquer um do lado de fora será automaticamente desclassificado!",bc_blue; sleep 4000; areaannounce "quiz_02",220,330,280,395,"É isso... Agora vamos começar!",bc_blue; sleep 4000; .@num = getareaunits(BL_PC,"quiz_02",220,330,280,395,$@ls_players$[0]); if (.@num == 0) { $@laststanding = 0; end; } goto L_start; L_start: if ($@laststanding != 2) end; cloakoffnpc "O#luckyevent"; cloakoffnpc "X#luckyevent"; cloakoffnpc "O#luckyevent2"; cloakoffnpc "X#luckyevent2"; areaannounce "quiz_02",220,330,280,395,"Por favor, vá até uma das áreas desejadas Vai! Vai! Vai!",bc_blue; sleep 10000; if ($@laststanding != 2) end; areaannounce "quiz_02",220,330,280,395,"5",bc_blue; sleep 1500; if ($@laststanding != 2) end; areaannounce "quiz_02",220,330,280,395,"4",bc_blue; sleep 1500; if ($@laststanding != 2) end; areaannounce "quiz_02",220,330,280,395,"3",bc_blue; sleep 1500; if ($@laststanding != 2) end; areaannounce "quiz_02",220,330,280,395,"2",bc_blue; sleep 1500; if ($@laststanding != 2) end; areaannounce "quiz_02",220,330,280,395,"1",bc_blue; sleep 1000; if ($@laststanding != 2) end; cloakonnpc "O#luckyevent"; cloakonnpc "X#luckyevent"; cloakonnpc "O#luckyevent2"; cloakonnpc "X#luckyevent2"; sleep 500; .@w = rand(2); areaannounce "quiz_02",220,330,280,395,"E o escolhido foi " + (.@w?"X":"O") + "!",bc_blue; .@num_e = getareaunits(BL_PC,"quiz_02",220,330,280,395,.@emote[0]); for (.@i = 0; .@i < .@num_e; .@i++) emotion (.@w?ET_X:ET_O), .@emote[.@i]; sleep 1500; if ($@laststanding != 2) end; deletearray $@ls_players, getarraysize($@ls_players); if (.@w) { // X choosen areawarp "quiz_02",220,330,248,358,"quiz_02",241,364,258,375; .@num = getareaunits(BL_PC,"quiz_02",250,330,275,358,$@ls_players[0]); } else { // O choosen areawarp "quiz_02",250,330,275,358,"quiz_02",241,364,258,375; .@num = getareaunits(BL_PC,"quiz_02",220,330,248,358,$@ls_players[0]); } if (.@num == 0) { announce "Last Standing : Ninguém venceu o evento.",bc_all; sleep 3000; donpcevent strnpcinfo(0) + "::OnEnd"; } if (.@num == 1) { donpcevent strnpcinfo(0) + "::OnWinner"; end; } areaannounce "quiz_02",220,330,280,395,.@num + " aventureiros acertaram! Preparem-se para outra rodada.",bc_blue; sleep 4000; callsub L_start; OnWinner: announce "Last Standing : " + convertpcinfo($@ls_players[0],CPC_NAME) + " ganhou o evento!",bc_all; getitem 607,10,$@ls_players[0]; // prêmio do vencedor specialeffect2 EF_MVP, AREA, convertpcinfo($@ls_players[0],CPC_NAME); sleep 3000; if ($@laststanding != 2) end; areaannounce "quiz_02",220,330,280,395,"Obrigado por psrticipar! Você será teleportado em 10 segundos.",bc_blue; sleep 10000; if ($@laststanding != 2) end; donpcevent strnpcinfo(0) + "::OnEnd"; end; OnEnd: if ($@laststanding == 1) announce "Last Standing : O evento foi cancelado.",0; delwaitingroom; $@laststanding = 0; areawarp "quiz_02",220,330,280,395,"prontera",150,150; end; OnInit: bindatcmd "laststanding",strnpcinfo(3)+"::OnAtcommand",99,99; $@laststanding = 0; end; OnAtcommand: message strcharinfo(0), "Controle GM do evento Last Standing"; switch(select("Cancelar", "^0000FFComeçar evento^000000", "^0000FFTerminar evento^000000", "Ir para o mapa")) { case 1: end; case 2: if ($@laststanding == 0) { donpcevent strnpcinfo(0) + "::OnOpen"; message strcharinfo(0), "Ação confirmada!"; end; } if ($@laststanding == 1) { mes "O portal do evento já está aberto para jogadores irem entrando."; mes "Quer fechar o portal e iniciar o evento agora?"; if (select("Manter portal aberto", "^0000FFFechar portal e iniciar^000000") == 1) close; if ($@laststanding == 1) { donpcevent strnpcinfo(0) + "::OnStart"; message strcharinfo(0), "Ação confirmada!"; } close; } message strcharinfo(0), "Evento já está em andamento"; end; case 3: if ($@laststanding != 0) { donpcevent strnpcinfo(0) + "::OnEnd"; message strcharinfo(0), "Ação confirmada!"; end; } message strcharinfo(0), "Evento não foi iniciado."; end; case 4: warp "quiz_02",249,385; end; } end; } quiz_02,255,384,3 script SAÍDA#laststanding PORTAL,{ npctalk "Quer sair do evento?", strnpcinfo(0), bc_self; if (select("Ficar aqui", "^FF0000Sair do evento^000000") == 2) warp "prontera",150,150; end; } quiz_02,237,365,0 script O#luckyevent 1_SHADOW_NPC,14,7,{ if ($@ls_players[0] && inarray($@ls_players, getcharid(3)) == -1) npctalk "Você não está mais participando.", strnpcinfo(0), bc_self; else warp "quiz_02",237,345; end; OnTouch: npctalk "Clique aqui se escolhe O", strnpcinfo(0), bc_self; emotion ET_O, getnpcid(0); end; } quiz_02,262,365,0 script X#luckyevent 1_SHADOW_NPC,14,7,{ if ($@ls_players[0] && inarray($@ls_players, getcharid(3)) == -1) npctalk "Você não está mais participando.", strnpcinfo(0), bc_self; else warp "quiz_02",262,345; end; OnTouch: npctalk "Clique aqui se escolhe X", strnpcinfo(0), bc_self; emotion ET_X, getnpcid(0); end; } quiz_02,237,357,0 warp O#luckyevent2 1,1,quiz_02,250,366 quiz_02,262,357,0 warp X#luckyevent2 1,1,quiz_02,249,366 quiz_02 mapflag nowarp quiz_02 mapflag nowarpto quiz_02 mapflag noskill quiz_02 mapflag noteleport quiz_02 mapflag nomemo quiz_02 mapflag nosave SavePoint quiz_02 mapflag noicewall quiz_02 mapflag noloot
  25. I think u have to add it manually and try it. Rynbef~
  1. Load more activity
×
×
  • Create New...