Jump to content

Kenpachi

Members
  • Posts

    764
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by Kenpachi

  1. Dafür brauchst du keine SQL-Abfrage. Es gibt eine Variable namens #CASHPOINTS.
  2. Wieso sollte das hier fehl am Platze sein, ist doch Client-Entwicklung? oO @Topic: Guck dir den hier mal an: http://rathena.org/board/topic/65959-packetparser-yommys-amazing-ragnarok-packet-analyzer-framework/
  3. Das geht nicht. Jedes Monster muss eine eindeutige ID besitzen. Woher sollten sowohl Server, als auch Client, sonst wissen, ob du nun gerade den blauen oder den grünen Poring meinst?
  4. Das steht im Quelltext des Clients. Reverse engineering ist das einzige, was da hilft. Im Groben läuft es aber so ab: - Server sendet Datenpaket für einen Mobspawn - Client empfängt Datenpaket - Client wertet Datenpaket aus - Client zeigt den Mob auf der Map an Möglicherweise kannst du deinen Plan ja auch umsetzen, indem du die vom Server gesendeten Pakete modifizierst...
  5. Kenpachi

    skill.db

    0x02 + 0x08 = 0x0A 0x0A + 0x40 = 0x4A http://programmerscalc.com/ (Windows has a built-in calculator, too.)
  6. Nope, as far as I can see there is no feature like that.
  7. You started a quest with another character. If you can't remember anything, just abandon the mission and start a new one...
  8. You can't show just the message on top of the window (2). Both announce and message will show the message inside the chat box and at the top of the screen... You can either have the message shown in 1 and 2 (announce/message), or only in 1(dispbottom).
  9. Well, nobody wants to read every single line and check it for syntax errors nor check your logic. Give us an error message or decribe the unwanted behaviour.
  10. ../src/map/status.h define MAX_REFINE 20 (Don't forget to recompile.)
  11. if(Class == Job_Novice) // Novice else if(Class == Job_Mage) // Mage ... Check const.txt for more job constants.
  12. Aaaah, so his question was: "How do I check which map was entered?". I see... rqueen, your script wont work, because .@mapname$ doesn't have a value. Try this: OnPCLoadMapEvent: if (strcharinfo(3) == "bat_room" && query_sql("SELECT login.account_id FROM login LEFT JOIN `char` ON login.account_id=`char`.account_id WHERE login.last_ip=(SELECT last_ip FROM login WHERE account_id="+getcharid(3)+") AND `char`.online=1", .@account_id) > 5) { dispbottom "You exceeded the maximum accounts allowed in this area."; warp "new_pront",156,177; } end;
  13. Therefor you can use the getiteminfo command. if(getiteminfo(.@itemnum, 0) == -1) // item does not exist
  14. It is working but the feature isn't maintained. To fix your error go to line 120 and change next: to next; (Replace the colon with a semicolon.)
  15. You're missing a semicolon in the loop header (line 12). Change for(set .@i,0; .@i<getarraysize(.MVP) set .@i,.@i+1){ to for(set .@i,0; .@i<getarraysize(.MVP); set .@i,.@i+1){
  16. 1. Why do you execute a getmapxy if you don't use the resulting variables? 2. What is the question/problem?
  17. Yes, if a castle is taken, its investments are resetted. From agit_main.txt: ... OnAgitBreak: ... // Refresh castle data, disable Kafra and reset Invest information. donpcevent strnpcinfo(0)+"::OnRecvCastle"; disablenpc "Kafra Staff#"+strnpcinfo(2); for( set .@i, 4; .@i <= 9; set .@i, .@i+1 ) { SetCastleData strnpcinfo(2), .@i, 0; } ...
  18. If you just want to axe those messages, comment out or delete the following part: if ( killerrid != getcharid(3) && ( .msg_die || .msg_kill ) ) { if ( .msg_die ) message strcharinfo(0),"You have been killed by "+ rid2name(killerrid); if ( .msg_kill ) message rid2name(killerrid),"You just killed "+ strcharinfo(0); }
  19. Change if (BaseLevel != .@MaxBLevel && JobLevel != .@MaxJLevel && LReward != 1) end; to if (BaseLevel != .@MaxBLevel || JobLevel != .@MaxJLevel || LReward == 1) end; That means, don't give the reward if: - BaseLevel is not max BaseLevel OR - JobLevel is not max JobLevel OR LReward equals 1 (reward already obtained)
  20. Because the variables you are using to store the input values are integer the input will never be "null"; it's always a number. To answer your question with an example: input .@itemnum; if (.@itemnum == 0) close;
  21. Use tabulators instead of spaces to separate the fields in the NPC header (line 1). -%TAB%script%TAB%hourlypoints%TAB%-1,{
  22. Or another way is this: OnClock0000: OnClock0800: OnClock1600: <your code> Or this: OnHour00: OnHour08: OnHour16: <your code>
×
×
  • Create New...