Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[PL] Anty ping system czyli kicker pingu
#6
Testowałeś to przy większej ilości graczy? Powinieneś zrobić ze zmiennej pingWarn tablicę z indeksem id gracza ponieważ, skrypt będzie dawał ostrzeżenia globalnie dla każdego. Tutaj masz taki przykład, nie testowałem ale idee zrozumiesz.

Squirrel Script
  1. local Player = {};
  2.  
  3. function initPlayerStructures()
  4. {
  5. for(local i = 0; i < getMaxSlots(); ++i)
  6. {
  7. Player[i] <- {};
  8. Player[i].pingWarn = 0;
  9. }
  10. }
  11.  
  12. function clearPlayerStructure(pid)
  13. {
  14. Player[pid].pingWarn = 0;
  15. }
  16.  
  17. function onInit()
  18. {
  19. initPlayerStructures();
  20.  
  21. setServerWorld("NEWWORLD\\NEWWORLD.ZEN"); // ustawiamy graczu khorinis
  22. setTimer(playerUpdate, 1000, true); //TWORZYMY TIMERA
  23. print("Anty ping by Dejv został załadowany.");
  24. }
  25.  
  26. function onDisconnect(pid, reason)
  27. {
  28. clearPlayerStructure(pid);
  29. }
  30.  
  31. function playerUpdate( )
  32. {
  33. for(local i = 0; i < getMaxSlots(); i++)
  34. {
  35. if (isConnected (i))
  36. {
  37. local ping = getPlayerPing(i); //Pobieramy ping gracza
  38. if(ping >= 700) //Ustawimy sobie na 700 mingu.
  39. {
  40. Player[i].pingWarn++;
  41. switch(Player[i].pingWarn)
  42. {
  43. case 1:
  44. case 2:
  45. case 3:
  46. sendMessageClient( i, "FF0000", "Masz zbyt wysoki ping. Aby grać na naszym serwerze, zmniejsz ping! ("+ ping +"/700) " );
  47. break;
  48. case 4:
  49. sendMessageClientAll( "FF0000", ""+ getPlayerName(i) +" został(a) wyrzucony z serwera z powodu zbyt dużego pingu. ("+ ping +"/700) " );
  50. kick(i);
  51. break;
  52. }
  53. }
  54. else
  55. Player[i].pingWarn = 0;
  56. }
  57. }
  58. }


Reply


Messages In This Thread
RE: Anty ping system czyli kicker pingu - by Nubzior - 19.10.2015, 22:00

Forum Jump:


Users browsing this thread: 1 Guest(s)