Jump to content

Antares

Members
  • Posts

    420
  • Joined

  • Last visited

  • Days Won

    7

Everything posted by Antares

  1. Here, take everything you need. https://github.com/MrAntares/Ragna.roBrowser You can find the modifications in the sources. If you wanna try it on your server, overwrite the src folder with mine, then rebuild (if not using dev mode). My version is based upon the last git version of the original robrowser, before it went offline.
  2. I have made some fixes and tweaks to it on my own version to make it work better. I'll share it here when I have some time, if your want to use it (I didn't care about looks, so it's a mess, but the idea is the important) A quick list of what I modified: Dialogs and windows "magneted" to the side of the screen will follow/stay on the edge even after screen resize A small button for the chat window to disable battle mode (on smartphones it was impossible once the keyboard closed) Reworked the battlemode and made it work on all 4 skill bars (There was a basic design flaw in the implementation. It couldn't handle multiple events attached to the same base letter, eg: E and CTRL + E) Inverted touch zoom (it was inverted) Increased zoom distance and modified the intersection search to make it work properly Adjusted the default camera height to match official (45° -> 50°) Unicode chat fixed. The text was not appearing when unicode character was sent in the sentence (I added my own langtype with the proper encoding. Todo: default wrong characters to "ballot box" ☐ to prevent losing all the sentence) Known issues by me (the first is due to the BM modifications) Writing in NPC dialogs activates the sills through battle mode (need to block it) During NPC dialog the player can move Animation delay based skills such as sonic blow, cross impact have absolutely no delay and can be infinitely chained even multiple at once Object/sprite rendering on android/ios browsers is distorted, the object flash back and forth though the terrain (wrong depth, possibly rounding/decimal error due to different browser engine implementations) Using fakename and typing in the chat will disconnect the player, because the chatacter sends the message packet with the fakename and the server disconnects the client for security Getting multiple items at the same time with script will display the name of the last item, but the image of the first item.
  3. It's been a while since this topic was active, but my eyes just got stuck on this part. This is just not true. I was only an insignificant part in the life of rA, but I personally debunked a ton of false issue reports that were referencing iRo renewal and back then we used every possible information from kRo to implement everything. I was searching for kRo sources for hours for weeks and I made dozens of formula and skill issue reports on the old bug tracker. Only gaps were filled in from iRo and even those were fixed after we got our hands on kRo infos/Aegis tests. So it was always as close to official as we could get. This reasoning just makes no sense. Additionally, everything that is custom is toggleable and the default is the official.
  4. Is it a browser client or a fat client? Did you consider merging with robrowser or using it as a resource? Good work tho! I have been looking for years to get rid of the horrendous kro client. Please make it possible for us
  5. Just a notice: I'm not sure which one uses roBrowser as a base, but if they ask money for it without the source being open, then it is illegal, since roBrowser is GNU GPL3, so they can only use the source for open projects. It doesn't matter if they made the mobile friendly UI for it.
  6. Hi! Why is hercules.ws redirecting to rathena.org? Is this intentional?
  7. Oh. So I'm not dev anymore. Well it's understandable. It was a pleasure :)

  8. Problem found For some reason the server started loading characters with 0 hp and sp and saved them, which caused the characters to crash the server.. I altered their hp and sp in the database and now they are ok. The reason why it started loading and saving characters with 0 hp is still unclear tho.
  9. Yesterday I was playing with my AB, no problem. 2 hours after I finished, I wanted to login with my RG, and then it loaded the map I saw my character without it's hat, and the message disconnected from server. In the server log the only thing that appeared is "[Error]: Server received crash signal! Attempting to save all online characters!" Nothing else. In the DB the characters head view id-s were set to 0 by the server for some reason, but even after the restart, I couldn't log in with the character it crashed the server again. I tried this with 3 characters, including the AB I just played with, but all crashed the server. The only character I could use was the admin with out problem. Today, I tried my other characters as well, almost every one of them worked properly, except 1 which also crashed the server. I tried to login with those 3 that crashed the server yesterday, now they won't even load. I can login with other character from the same account. I even modified 1 character's database values so every item would be unequipped and viewids set to 0, but no success. Still can't login. When I was logged in with my admin yesterday and logged in with a character next to it, I saw a female novice appearing with the admin before the server crashed, so the character I logged in couldn't load properly, but from the character's point of view it was using the proper sprite except there was no helm on it. Any suggestions how to fix the characters? I saw nothing out of order in the database when I compared the characters with working ones, and I even tried using a web client, but no succes there either. What I could rule out: Not client related Not account related There was no version update or any tempering with the server between when everything was ok and things started happening. Client: 2012-04-10 GIT version: 2016-12-29 https://github.com/rathena/rathena/commit/a06028bb48385e32364fd309d068d52be5f43615 No source mods
  10. What seems to be the problem? /aura turns SIMPLIFIED aura ON and using the command again, turns it OFF. So you are turning the feature on and off and not the aura itself. Seems all right to me. Or is there something else?
  11. Could you please elaborate on what git version, mode, client you use? Thank you
  12. I don't want to be a party pooper, but forking rA was a mistake in the first place and foking it further is an even bigger mistake. Splitting the dev team and the community only makes it harder to implement things and fix issues and eventually will lead to community wane and finally total die off. I know that starting something new is much more exciting than fixing the old thing, but I can assure you, the latter is much more rewarding on the long run and that is the only way to improve something effectively. Every project has it's ups and downs and there are always new ideas that might be a bit against the project's aims but everything can be discussed and worked out. Anyways, this is only my opinion. Have fun and good luck!
  13. This might be a bit overkill. If you want to trace a specific script, you can add announce or sql insert to the part where the variables are changed. If you want to trace all scripts, then this might be a thing, but I fear it would be resource intensive for large servers.
  14. I would go to the gym in it to show the dudes that I'm a badass guy Btw it would be cool to have the shirts in more colors. Maybe in these Administrators | Managers | Global Moderators | Core Developers | Script/DB Developers | Supporting Developers | Support Leaders | Scripting Leaders | Graphics Leaders | International Moderators | Community Contributors + Black, white Ok, I'm getting too enthusiastic, sorry
  15. Antares

    Lottery

    //===== rAthena Script ======================================= //= Lottery //===== By: ================================================== //= acky //===== Current Version: ===================================== //= 1.2.1a //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= Daily lottery draw //===== Additional Comments: ================================= //= Numbers drawn daily (Time is configured line 29) //= *Added GM-Riggability //= *Ability to renew ticket //= *Improved interface //= *Fixed minor bug where first load didn't work. //= 1.2.1a fix due to new script engine //============================================================ - script lotterygenerator -1,{ OnInit: set $L_TicketPrice,5000; // TICKET COST set $L_Prize_Money,5000000; // JACKPOT AMOUNT set $L_Prize_Money_Small,1000000; // SECONDARY PRIZE if ($LID == 0) goto L_GenID; end; //Modify for own time OnFri2200: // CHECKS IF LOTTERY IS RIGGED if ($L_Rigged == 1) goto L_Rigged_Draw; // GENERATES RANDOM NUMBERS 1-40 Pick1: set $LW1,rand (1,40); Pick2: set $LW2,rand (1,40); if ($LW2 == $LW1) goto Pick2; Pick3: set $LW3,rand (1,40); if ($LW3 == $LW2) goto Pick3; if ($LW3 == $LW1) goto Pick3; Pick4: set $LW4,rand (1,40); if ($LW4 == $LW2) goto Pick4; if ($LW4 == $LW1) goto Pick4; if ($LW4 == $LW3) goto Pick4; Pick5: set $LW5,rand (1,40); if ($LW5 == $LW1) goto Pick5; if ($LW5 == $LW2) goto Pick5; if ($LW5 == $LW3) goto Pick5; if ($LW5 == $LW4) goto Pick5; Pick6: set $LW6,rand (1,40); if ($LW6 == $LW1) goto Pick6; if ($LW6 == $LW2) goto Pick6; if ($LW6 == $LW3) goto Pick6; if ($LW6 == $LW4) goto Pick6; if ($LW6 == $LW5) goto Pick6; // BROADCASTS DRAW L_Broadcast: Announce "Lottery: Welcome to tonight's lotto draw!",8; Announce "The numbers are as follows: [" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]",8; Announce "Congratulations to the winners of tonight!",8; // GENERATES DRAW ID CODE L_GenID: set $LID2,$LID; // SETS TOMORROW'S ID NUMBER set $LID,rand (100000,999999); end; // SETS DRAW TO RIGGED NUMBERS L_Rigged_Draw: set $LW1,$LR1; set $LW2,$LR2; set $LW3,$LR3; set $LW4,$LR4; set $LW5,$LR5; set $LW6,$LR6; set $L_Rigged,0; goto L_Broadcast; } prontera,169,179,3 script Lottery 76,{ L_Begin: mes "[Lottery]"; mes "Winning Lotto Numbers ("+$LID2+"):"; mes "^0000FF[" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]^000000"; if ($LID > 99999) mes "Your Ticket ("+#LID+"):"; if ($LID > 99999) mes "^FF0000[" + #LW1 + "] [" + #LW2 + "] [" + #LW3 + "] [" + #LW4 + "] [" + #LW5 + "] [" + #LW6 + "]^000000"; mes "Next Draw-ID: ^FF0000" + $LID + "^000000."; next; if (getgmlevel() > 90) goto L_GM; menu "Claim Prize",L_Claim,"Buy New Ticket",L_Buy,"Read Information",L_Info,"Cancel",L_Cancel; L_Info: mes "[Lottery]"; mes "The draw will be held every friday 10pm server time."; end; // PURCHASE TICKET L_Buy: if (#LID == $LID && #L1 != 0) goto L_DoubleTicket; mes "[Lottery]"; mes "Tickets cost ^0000FF" + callfunc("F_InsertComma",($L_TicketPrice)) + "z^000000."; mes "The Jackpot is ^FF0000" + callfunc("F_InsertComma",($L_Prize_Money)) + "z^000000."; next; menu "Buy Ticket",-,"Cancel",L_Cancel; if (Zeny < $L_TicketPrice) goto L_NoZeny; set Zeny, Zeny-$L_TicketPrice; mes "[Lottery]"; mes "Would you like your numbers hand picked or computer generated?"; next; menu "Computer Generated",L_ComputerGen,"Hand Picked",L_HandPick,"Renew Ticket",L_Renew; // RENEW LAST TICKET L_Renew: if ($LID < 99999) goto L_Invalid; set #LID,$LID; goto L_Confirm2; L_ComputerGen: // SELECTS RANDOM NUMBERS set @L1,0; set @L2,0; set @L3,0; set @L4,0; set @L5,0; set @L6,0; Pick1: set @L1,rand (1,40); Pick2: set @L2,rand (1,40); if (@L2 == @L1) goto Pick2; Pick3: set @L3,rand (1,40); if (@L3 == @L2) goto Pick3; if (@L3 == @L1) goto Pick3; Pick4: set @L4,rand (1,40); if (@L4 == @L2) goto Pick4; if (@L4 == @L1) goto Pick4; if (@L4 == @L3) goto Pick4; Pick5: set @L5,rand (1,40); if (@L5 == @L1) goto Pick5; if (@L5 == @L2) goto Pick5; if (@L5 == @L3) goto Pick5; if (@L5 == @L4) goto Pick5; Pick6: set @L6,rand (1,40); if (@L6 == @L1) goto Pick6; if (@L6 == @L2) goto Pick6; if (@L6 == @L3) goto Pick6; if (@L6 == @L4) goto Pick6; if (@L6 == @L5) goto Pick6; mes "[Lottery]"; mes "The computer has selected the following numbers:"; mes "^0000FF" + @L1 + " " + @L2 + " " + @L3 + " " + @L4 + " " + @L5 + " " + @L6 + "^000000"; next; menu "Confirm",L_Confirm,"Re-Generate",L_ComputerGen; // HAND PICK LOTTERY NUMBERS L_HandPick: mes "[Lottery]"; mes "Please pick your numbers (1-40):"; set @L1,0; set @L2,0; set @L3,0; set @L4,0; set @L5,0; set @L6,0; Input1: input @L1; if (@L1 < 1 || @L1 > 40) goto Input1; mes @L1+""; Input2: input @L2; if (@L2 < 1 || @L2 > 40) goto Input2; if (@L2 == @L1) goto Input2; mes @L2+""; Input3: input @L3; if (@L3 < 1 || @L3 > 40) goto Input3; if (@L3 == @L1) goto Input3; if (@L3 == @L2) goto Input3; mes @L3+""; Input4: input @L4; if (@L4 < 1 || @L4 > 40) goto Input4; if (@L4 == @L1) goto Input4; if (@L4 == @L2) goto Input4; if (@L4 == @L3) goto Input4; mes @L4+""; Input5: input @L5; if (@L5 < 1 || @L5 > 40) goto Input5; if (@L5 == @L1) goto Input5; if (@L5 == @L2) goto Input5; if (@L5 == @L3) goto Input5; if (@L5 == @L4) goto Input5; mes @L5+""; Input6: input @L6; if (@L6 < 1 || @L6 > 40) goto Input6; if (@L6 == @L1) goto Input6; if (@L6 == @L2) goto Input6; if (@L6 == @L3) goto Input6; if (@L6 == @L4) goto Input6; if (@L6 == @L5) goto Input6; mes @L6+""; next; mes "[Lottery]"; mes "Your numbers are:"; mes "^0000FF" + @L1 + " " + @L2 + " " + @L3 + " " + @L4 + " " + @L5 + " " + @L6 + "^000000"; next; menu "Confirm",L_Confirm,"Re-Pick",L_HandPick; L_Confirm: set #LW1,@L1; set #LW2,@L2; set #LW3,@L3; set #LW4,@L4; set #LW5,@L5; set #LW6,@L6; set #LID,$LID; L_Confirm2: mes "[Lottery]"; mes "The live broadcasted draw is at 10pm server time. You can claim your ticket between then and the next draw."; next; mes "[Lottery]"; mes "Good luck!"; end; L_Claim: // CHECKS TICKET VALIDILITY if (#LID != $LID2) goto L_Invalid; // CHECKS HOW MANY NUMBERS MATCHED set @LPrize,0; if (#LW1 == $LW1) set @LPrize,@LPrize+1; if (#LW1 == $LW2) set @LPrize,@LPrize+1; if (#LW1 == $LW3) set @LPrize,@LPrize+1; if (#LW1 == $LW4) set @LPrize,@LPrize+1; if (#LW1 == $LW5) set @LPrize,@LPrize+1; if (#LW1 == $LW6) set @LPrize,@LPrize+1; if (#LW2 == $LW1) set @LPrize,@LPrize+1; if (#LW2 == $LW2) set @LPrize,@LPrize+1; if (#LW2 == $LW3) set @LPrize,@LPrize+1; if (#LW2 == $LW4) set @LPrize,@LPrize+1; if (#LW2 == $LW5) set @LPrize,@LPrize+1; if (#LW2 == $LW6) set @LPrize,@LPrize+1; if (#LW3 == $LW1) set @LPrize,@LPrize+1; if (#LW3 == $LW2) set @LPrize,@LPrize+1; if (#LW3 == $LW3) set @LPrize,@LPrize+1; if (#LW3 == $LW4) set @LPrize,@LPrize+1; if (#LW3 == $LW5) set @LPrize,@LPrize+1; if (#LW3 == $LW6) set @LPrize,@LPrize+1; if (#LW4 == $LW1) set @LPrize,@LPrize+1; if (#LW4 == $LW2) set @LPrize,@LPrize+1; if (#LW4 == $LW3) set @LPrize,@LPrize+1; if (#LW4 == $LW4) set @LPrize,@LPrize+1; if (#LW4 == $LW5) set @LPrize,@LPrize+1; if (#LW4 == $LW6) set @LPrize,@LPrize+1; if (#LW5 == $LW1) set @LPrize,@LPrize+1; if (#LW5 == $LW2) set @LPrize,@LPrize+1; if (#LW5 == $LW3) set @LPrize,@LPrize+1; if (#LW5 == $LW4) set @LPrize,@LPrize+1; if (#LW5 == $LW5) set @LPrize,@LPrize+1; if (#LW5 == $LW6) set @LPrize,@LPrize+1; if (#LW6 == $LW1) set @LPrize,@LPrize+1; if (#LW6 == $LW2) set @LPrize,@LPrize+1; if (#LW6 == $LW3) set @LPrize,@LPrize+1; if (#LW6 == $LW4) set @LPrize,@LPrize+1; if (#LW6 == $LW5) set @LPrize,@LPrize+1; if (#LW6 == $LW6) set @LPrize,@LPrize+1; if (@LPrize == 6) goto LWinBig; if (@LPrize > 3 && @LPrize < 6) goto LWinSmall; // NO WINNER mes "[Lottery]"; mes "Bad luck, it appears you do not hold a winning ticket."; next; mes "[Lottery]"; mes "Better luck next time!."; end; // MATCHED ALL SIX LWinBig: mes "[Lottery]"; mes "You have matched all six numbers!"; mes "Jackpot!"; mes "You've won ^0000FF" + $L_Prize_Money + "z^000000."; set Zeny, Zeny+$L_Prize_Money; Announce "Lottery: " + strcharinfo(0) + " has won the JACKPOT of " + $L_Prize_Money + "z!",8; set #LID,0; end; // MATCHED AT LEAST 4 LWinSmall: mes "[Lottery]"; mes "You have matched at least 4 numbers!"; mes "You've won ^0000FF" + $L_Prize_Money_Small + "z^000000."; set Zeny, Zeny+$L_Prize_Money_Small; Announce "Lottery: " + strcharinfo(0) + " has won a prize of " + $L_Prize_Money_Small + "z!",8; set #LID,0; end; // NO ZENY L_NoZeny: mes "[Lottery]"; mes "You can't afford a lottery ticket."; end; // INVALID TICKET L_Invalid: mes "[Lottery]"; mes "I'm sorry but it appears that you have an invalid ticket."; end; // DOUBLE TICKET L_DoubleTicket: mes "[Lottery]"; mes "It appears that you already have a ticket for today."; mes "You may only purchase one ticket per draw."; end; L_Cancel: mes "[Lottery]"; mes "Come back soon!"; end; // GM MENU (Lets you manually do draws) L_GM: menu "Claim Prize",L_Claim,"Buy New Ticket",L_Buy,"[GM]Do Draw Now",-,"[GM]Rig the Lottery",L_GM_Rig,"Cancel",L_Cancel; // CHECKS IF LOTTERY IS RIGGED if ($L_Rigged == 1) goto L_Rigged_Draw; // GENERATES RANDOM NUMBERS 1-40 GMPick1: set $LW1,rand (1,40); GMPick2: set $LW2,rand (1,40); if ($LW2 == $LW1) goto GMPick2; GMPick3: set $LW3,rand (1,40); if ($LW3 == $LW2) goto GMPick3; if ($LW3 == $LW1) goto GMPick3; GMPick4: set $LW4,rand (1,40); if ($LW4 == $LW2) goto GMPick4; if ($LW4 == $LW1) goto GMPick4; if ($LW4 == $LW3) goto GMPick4; GMPick5: set $LW5,rand (1,40); if ($LW5 == $LW1) goto GMPick5; if ($LW5 == $LW2) goto GMPick5; if ($LW5 == $LW3) goto GMPick5; if ($LW5 == $LW4) goto GMPick5; GMPick6: set $LW6,rand (1,40); if ($LW6 == $LW1) goto GMPick6; if ($LW6 == $LW2) goto GMPick6; if ($LW6 == $LW3) goto GMPick6; if ($LW6 == $LW4) goto GMPick6; if ($LW6 == $LW5) goto GMPick6; // BROADCASTS DRAW L_Broadcast: Announce "Lottery: Welcome to the special GM's lotto draw!",8; Announce "The numbers are as follows: [" + $LW1 + "] [" + $LW2 + "] [" + $LW3 + "] [" + $LW4 + "] [" + $LW5 + "] [" + $LW6 + "]",8; Announce "Congratulations to the winners!",8; // GENERATES DRAW ID CODE L_GenID: set $LID2,$LID; // SETS TOMORROW'S ID NUMBER set $LID,rand (100000,999999); end; // SETS DRAW TO RIGGED NUMBERS L_Rigged_Draw: set $LW1 , $LR1; set $LW2 , $LR2; set $LW3 , $LR3; set $LW4 , $LR4; set $LW5 , $LR5; set $LW6 , $LR6; set $L_Rigged,0; goto L_Broadcast; // ALLOWS GM TO DO A RIGGED DRAW L_GM_Rig: mes "[Lottery]"; mes "Please pick your numbers (1-40):"; set $LR1,0; set $LR2,0; set $LR3,0; set $LR4,0; set $LR5,0; set $LR6,0; GMInput1: Input $LR1; if ($LR1 < 1 || $LR1 > 40) goto GMInput1; mes $LR1+""; GMInput2: Input $LR2; if ($LR2 < 1 || $LR2 > 40) goto GMInput2; if ($LR2 == $LR1) goto GMInput2; mes $LR2+""; GMInput3: Input $LR3; if ($LR3 < 1 || $LR3 > 40) goto GMInput3; if ($LR3 == $LR1) goto GMInput3; if ($LR3 == $LR2) goto GMInput3; mes $LR3+""; GMInput4: Input $LR4; if ($LR4 < 1 || $LR4 > 40) goto GMInput4; if ($LR4 == $LR1) goto GMInput4; if ($LR4 == $LR2) goto GMInput4; if ($LR4 == $LR3) goto GMInput4; mes $LR4+""; GMInput5: Input $LR5; if ($LR5 < 1 || $LR5 > 40) goto GMInput5; if ($LR5 == $LR1) goto GMInput5; if ($LR5 == $LR2) goto GMInput5; if ($LR5 == $LR3) goto GMInput5; if ($LR5 == $LR4) goto GMInput5; mes $LR5+""; GMInput6: Input $LR6; if ($LR6 < 1 || $LR6 > 40) goto GMInput6; if ($LR6 == $LR1) goto GMInput6; if ($LR6 == $LR2) goto GMInput6; if ($LR6 == $LR3) goto GMInput6; if ($LR6 == $LR4) goto GMInput6; if ($LR6 == $LR5) goto GMInput6; mes $LR6+""; next; mes "[Lottery]"; mes "Lottery rigged for next draw."; set $L_Rigged,1; end; } Try this. (mes expects a string value, by adding an empty string (+"") you can supress the warning)
  16. Antares

    Lottery

    Plz provide the warning/debug messages as well.
  17. If you use MySQL just write an update statement that replaces every skill level that is >2 with 2 if the skill id is teleport in the characters skillstore. Something like: UPDATE `skill` SET `lv`=2 WHERE `id`=26 AND `lv`>2;
  18. Maybe you are using the wrong packet version
  19. -What is at the end of everything? -??? -The letter G...

    1. Skorm

      Skorm

      That's a good one.

  20. The T-shirt is no longer in the shop.... Seems like it doesn't want to be mine T.T
  21. Is it possible to get the shirt in other color, eg: black? /update: (Hungary)
  22. I have added hungarian translation. This google docs thing was an excellent idea
×
×
  • Create New...