Enable

Wszystko o modach, patchach i błędach w OW oraz ogólnym programowaniu.
Uživatelský avatar
Pablo Abruzzi
Soldier level 5
Soldier level 5
Сообщения: 269
Зарегистрирован: pon črc 28, 2008 3:09 pm
Bydliště: Polska
Контактная информация:

Enable

Příspěvek Pablo Abruzzi »

Mam problem z funkcją enable, otóż chciałbym, aby atak był co dziesięć minut, ale tylko 3 razy, próbowałem różnych kombinacji:

Kód: Vybrat vše

....
enable(3);
....


....
enable;
Wait(10$0);
disable;
Ale nie podziałało. Proszę o pomoc.

I tak przy okazji to jak zrobić, aby jednostki wroga (ludzie) mieli poziomy losowe, albo, np: minimum:2, maximum:10???
Si vis pacem, para bellum jeśli chcesz pokoju, gotuj się do wojny.

THE HEROES COMPANY MOD
[progress]100%[/progress]
DONE
http://forum.original-war.net/viewtopic ... 6&start=90
Uživatelský avatar
Birkart
Soldier level 2
Soldier level 2
Сообщения: 47
Зарегистрирован: sob zář 20, 2008 5:38 pm
Bydliště: Timbuktu

Příspěvek Birkart »

ja bym to zrobił tak

gdzies tam w tym bloku

Kód: Vybrat vše

every12$34 marked numer do
  if jakas_zmienna<3 the
    begin
      enable
        if jakas_zmienna>3 then
          begin
            jakas_zmienna=jakas_zmienna+1;
          end;
       if jakas_zmienna=3 then
          begin
            Disable(numer);
          end;
      cos_tam;
      kod_na_atak;
    end;
osobiscie tego nie probowalem ale powinno dzialac jak wstawisz zmienne i komendy
Uživatelský avatar
Moonstrider
Soldier level 4
Soldier level 4
Сообщения: 110
Зарегистрирован: pát lis 09, 2007 11:10 pm
Контактная информация:

Příspěvek Moonstrider »

Ja zrobiłbym to nieco inaczej :)

Kód: Vybrat vše

export counter;
Export Function atakx3;
Begin
 for counter <= 3 do
  Begin
  counter += 1  { nie wiem czy  '+=' zadziała w SAILu... jeśli nie zmienisz to na
  counter = counter +1 }
  // kod ataku
  Wait(10$0);
  end;
end;
i gdzieś po Starting lub jakimś warunku:

Kód: Vybrat vše

counter = 1;
atakx3;
A co do losowych poziomów żołnierzy, to jeśli chcesz ich robić masowo to robisz to funkcją:

Kód: Vybrat vše

Export Function hcreation(name);
Begin
hc_sex=Rand(1,2);
hc_attr=[Rand(10,12),Rand(10,12)];
hc_skills=[Rand(2,10),0,0,0];
name=CreateHuman;
end;
no i tworzysz ludzi:

Kód: Vybrat vše

hcreation(soldat1);
a jeśli to pojedyńcze ludki to określając odpowiednie wartości wstawiasz Rand(a,b)... nie zapomnij dać na początku Randomize; i RandomizeAll; zaraz po Starting tak na wzelki wypadek :)
Seek your own truth. Always.
Uživatelský avatar
tex
Soldier level 3
Soldier level 3
Сообщения: 61
Зарегистрирован: pon kvě 28, 2007 6:03 pm
Bydliště: Czchów
Контактная информация:

Příspěvek tex »

Można by tak jeszcze zrobić

Kód: Vybrat vše

For i:= 1 to 3 do
Begin
//kod ataku
Wait(10$0);
End;
Obrázek
Uživatelský avatar
Jeanks
Soldier level 6
Soldier level 6
Сообщения: 305
Зарегистрирован: pát úno 16, 2007 1:34 pm
Bydliště: Grudziądz

Příspěvek Jeanks »

Kód: Vybrat vše

 

starting 
begin
disable(01):
disable(02):
disable(03):  / wyłączasz wszystkie marked te poniżej


Gdzieś w kodzie np w dialogu OD którego ma się zacząć liczyć czas do PIERWSZEGO  ATAKU dajesz.
np.
Every 10$0 do
begin
//jakis dialog
Enable(01);
Enable(02);
Enable(03);


........
Every 0$0.1 MARKED 01 do
begin
wait(10$0);
//kod ataku
end;

Every 0$0.1 MARKED 02 do
begin
wait(20$0);
//kod ataku
end;

Every 0$0.1 MARKED 03 do
begin
wait(30$0);
//kod ataku
end;


SPRAWDZILEM DZIALA
Jeanks zgarnia wszystko ot co xD
Uživatelský avatar
Birkart
Soldier level 2
Soldier level 2
Сообщения: 47
Зарегистрирован: sob zář 20, 2008 5:38 pm
Bydliště: Timbuktu

Příspěvek Birkart »

a jak chcesz 5 ataków?
albo 7?
to co wiecej bloków every dasz?
nawet na dobrych kompach mod sie potrafi przerazliwie ciac jak jest tak upchany zbednymi blokami....

co do losowych poziomów to

Kód: Vybrat vše

  begin
    PrepareSoldier(0,rand(min_level,max_level);
    sol=CreateHuman;
  end;

na losowego żolnierza :p
Uživatelský avatar
Jeanks
Soldier level 6
Soldier level 6
Сообщения: 305
Зарегистрирован: pát úno 16, 2007 1:34 pm
Bydliště: Grudziądz

Příspěvek Jeanks »

Kompa nie ma prawa zmulić bo bloki będą się uruchamiać jeden na 10minut. A siedem raczej by niestosował bo nikt by 70min niechciał się męczyć z jednym zadaniem typu "Odeprzyj falę ruskich czołgów" pzdr dla kumatych :]
Jeanks zgarnia wszystko ot co xD
Uživatelský avatar
YuriStriatov
Site Administrator
Site Administrator
Cuba
Сообщения: 1395
Зарегистрирован: pát úno 17, 2006 3:02 am
Контактная информация:

Příspěvek YuriStriatov »

Jeanks jak raz na 10 minut jak blok sie uruchamia co 1 sekunde i potem czeka 10 minut, czyli ogolnie po 10 minutach ci sie ten blok zacznie uruchamiac co sekunde. Dlaczego?

Kód: Vybrat vše

Every 0$0.1 MARKED 01 do 
begin 
wait(10$0); 
//kod ataku 
end;
Powinno byc

Kód: Vybrat vše

Every 10$0 MARKED 01 do 
begin 
//kod ataku 
end;
I wtedy bedzie faktycznie co 10 minut...
Obrázek
Uživatelský avatar
Jeanks
Soldier level 6
Soldier level 6
Сообщения: 305
Зарегистрирован: pát úno 16, 2007 1:34 pm
Bydliště: Grudziądz

Příspěvek Jeanks »

No faktycznie zapomniałem nie ten wait tylko w MARKEDZIE ustawic 10, 02 itp
Jeanks zgarnia wszystko ot co xD
Ответить