Advertisement
Capuche

Track_map

May 8th, 2013
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. //-------------------------------------------------------
  2. // Track Map 1.00
  3. // by Capuche
  4. // for rAthena
  5. //-------------------------------------------------------
  6. //- Display a viewpoint for each player on the same map
  7. //- as the user when using the equipment specified
  8. //-------------------------------------------------------
  9.  
  10. // 2201,Sunglasses,Sunglasses,5,5000,,100,,0,,0,0xFFFFFFFF,7,2,512,,0,0,12,{ doevent "view_map::OnEventView"; },{ set @item_equipped, 1; },{ set @item_equipped, 0; }
  11.  
  12. - script view_map -1,{
  13. OnInit:
  14. .size_name = query_sql( "SELECT `name` FROM `char` WHERE `online` = 1 LIMIT 128", .name$ );
  15. end;
  16. OnPCLoginEvent:
  17. .name$[ .size_name ] = strcharinfo(0);// max 128 players
  18. .size_name++;
  19. OnEventView:
  20. .@name_self$ = strcharinfo(0);
  21. sleep2 2;
  22. while( playerattached() && @item_equipped ) {
  23. .@map_self$ = strcharinfo(3);
  24. for( .@i = 0; .@i < .size_name; .@i++ ) {
  25. if( .name$[ .@i ] != .@name_self$ ) {
  26. getmapxy .@map$, .@x, .@y, 0, .name$[ .@i ];
  27. if( .@map$ == .@map_self$ ) {
  28. .@size_tmp++;
  29. viewpoint 1, .@x, .@y, .@size_tmp, 0xFF0000;
  30. }
  31. }
  32. }
  33. sleep2 2000;
  34. for( .@i = 1; .@i < .@size_tmp +1; .@i++ )
  35. viewpoint 2, 0, 0, .@i, 0xFF0000;
  36. .@size_tmp = 0;
  37. }
  38. end;
  39. OnPCLogoutEvent:
  40. while( .@i < .size_name && .name$[ .@i ] != strcharinfo(0) ) .@i++;
  41. if( .@i == .size_name ) end;
  42. deletearray .name$[ .@i ], 1;
  43. .size_name--;
  44. end;
  45. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement