Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Opóźnienie 5 sekundowe
sidur
post 17.12.2011, 11:51:12
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 17.12.2011

Ostrzeżenie: (0%)
-----


Witam,

Mam pewien problem, a mianowicie chodzi o opóźnienie poniższej akcji o 5 sekund. Ten skrypt wykorzystywany jest do gry MMO ale nie wiem gdzie trzeba co zrobić:

Mianowicie gdy pojawi się obiekt aby czekało 5-7sekund i dopiero go zaatakowało

Kod:
Kod
$(document).keypress(function(e){
  if(e.which==0){
    for(var i in g.npc){
      if ((Math.abs(hero.rx - g.npc[i].x) <= 1 && Math.abs(hero.ry - g.npc[i].y) <= 1) && (g.npc[i].type == 2 || g.npc[i].type == 3)){
        _g("fight&a=attack&auto=1&id=-"+i);
        break;
      }
    }
  }
});


Z góry dziękuje za pomoc,
sidur

Ten post edytował sidur 17.12.2011, 12:02:04
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
gorden
post 17.12.2011, 12:04:06
Post #2





Grupa: Zarejestrowani
Postów: 486
Pomógł: 101
Dołączył: 27.06.2010

Ostrzeżenie: (0%)
-----


może lepiej opóźnić czas reakcji serwera np w php by to było sleep(rand(5,7)). w kliencie możesz zrobić po prostu:
[JAVASCRIPT] pobierz, plaintext
  1. setTimeout(function() {
  2. //instrukcje
  3. }, 5000);
[JAVASCRIPT] pobierz, plaintext
Go to the top of the page
+Quote Post
sidur
post 17.12.2011, 12:20:43
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 17.12.2011

Ostrzeżenie: (0%)
-----


Czyli tak ?

Kod
setTimeout(function() {
$(document).keypress(function(e){
  if(e.which==0){
    for(var i in g.npc){
      if ((Math.abs(hero.rx - g.npc[i].x) <= 1 && Math.abs(hero.ry - g.npc[i].y) <= 1) && (g.npc[i].type == 2 || g.npc[i].type == 3)){
        _g("fight&a=attack&auto=1&id=-"+i);
        break;
      }
    }
  }
});
}, 5000);
Go to the top of the page
+Quote Post
gorden
post 17.12.2011, 12:54:21
Post #4





Grupa: Zarejestrowani
Postów: 486
Pomógł: 101
Dołączył: 27.06.2010

Ostrzeżenie: (0%)
-----


nie. odwrotnie, przynajmniej na oko. zależy gdzie masz jaką akcję. na pewno setTimeout powinno być pod keypress.
Go to the top of the page
+Quote Post
krowal
post 18.12.2011, 11:32:48
Post #5





Grupa: Zarejestrowani
Postów: 561
Pomógł: 72
Dołączył: 15.11.2006

Ostrzeżenie: (0%)
-----


Już któryś raz widzę prośbę o przeróbkę mojego skryptu autoataku z gry Margonem na tym forum biggrin.gif


--------------------
Nawet świnka może wejść na drzewo kiedy jest chwalona :)
Go to the top of the page
+Quote Post
zegarek84
post 18.12.2011, 15:02:01
Post #6





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


[JAVASCRIPT] pobierz, plaintext
  1. $(document).keypress(function(e){
  2. if(e.which==0){
  3. for(var i in g.npc){
  4. if ((Math.abs(hero.rx - g.npc[i].x) <= 1
  5. && Math.abs(hero.ry - g.npc[i].y) <= 1)
  6. && (g.npc[i].type == 2 || g.npc[i].type == 3)){
  7. setTimeout((function(i){
  8. return function(){
  9. _g("fight&a=attack&auto=1&id=-"+i);
  10. }
  11. })(i), 5000);
  12. break;
  13. }
  14. }
  15. }
  16. });
[JAVASCRIPT] pobierz, plaintext


Ten post edytował zegarek84 18.12.2011, 15:03:40


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 06:16