Page 1 of 1
SAIL - "Wyodrębnienie" labolatoriów.
Posted: Thu Jun 03, 2010 1:56 pm
by Xero Rozbójca
Witam.
Od zawsze mam problem z wyodrębnieniem kilku tych samych budynków, które są budowane po sobie bez użycia identów, a potem, chcę je np. rozbudować w evencie.
http://pastebin.pl/24707 Proszę o to kod. Oczywiście jest on wycięty.
Dodatkowo:
Code: Select all
export sklad, fabryka, lab, lab1;
export function rozbudowa;
begin
sklad=ComBuild(arab1, b_depot, 116,6, 3);
wait(0$1);
fabryka=AddComBuild(arab1, b_workshop, 134,15, 3);
end;
Wie ktoś, jak je wyodrębnić?
Re: SAIL - "Wyodrębnienie" labolatoriów.
Posted: Sun Jun 06, 2010 11:46 am
by Xero Rozbójca
Topic refresh!
Re: SAIL - "Wyodrębnienie" labolatoriów.
Posted: Sun Jun 06, 2010 12:13 pm
by Gwrhkhsh
Code: Select all
#ident = FilterAllUnits([f_btype, #stała budynku]);
albo
Code: Select all
on BuildingComplete(build)
if GetBType(build) = #stała budynku then #ident = build
To dwa najwygodniejsze z możliwych wyjść. Sposób, którego używasz, działać nie będzie.
Re: SAIL - "Wyodrębnienie" labolatoriów.
Posted: Sun Jun 06, 2010 12:42 pm
by Xero Rozbójca
Sam już wpadłem jak zrobić. Polak chce, Polak potrafi ^^
Ustawiłem na mapie aree, gdzie mają być budowane labolatoria i w kodzie napisałem coś takiego:
Code: Select all
if GetBType(budynek)=b_lab and GetSide(budynek)=7 and isInArea(budynek, alab) then
begin
naukowcy;
ComEnterUnit([n,n1,n2,n3], budynek);
ComResearch(budynek, tech_solpow);
AddComResearch(budynek, tech_soleng);
AddComResearch(budynek, tech_oilpow);
AddComResearch(budynek, tech_oileng);
AddComResearch(budynek, tech_tech1);
AddComResearch(budynek, tech_tech2);
end;
if GetBType(budynek)=b_lab and GetSide(budynek)=7 and isInArea(budynek, alab1) then
begin
ComEnterUnit([n4,n5,n6], budynek);
wait(0$20);
ComUpgradeLab(budynek, b_lab_weapon);
end;
end;
Wszystko śmiga ładnie i jest cacy ;]
Temat do zamknięcia

Re: SAIL - "Wyodrębnienie" labolatoriów.
Posted: Sun Jun 06, 2010 12:59 pm
by Gogeta103
No niby wszystko pięknie cacy, ale co będzie jak laboratorium zbudujemy gdzie indziej a nie na tej twojej "arei". Jakoś dziwnie ten twój kod widzę. Ty może wiesz gdzie budować, ale my jako przyszli odbiorcy moda możemy tego nie wiedzieć. No chyba, że coś innego wymyśliłeś?
Re: SAIL - "Wyodrębnienie" labolatoriów.
Posted: Sun Jun 06, 2010 1:08 pm
by Radzio
Trzeba było użyć eventu.
Re: SAIL - "Wyodrębnienie" labolatoriów.
Posted: Sun Jun 06, 2010 3:38 pm
by Xero Rozbójca
Code: Select all
on BuildingComplete(budynek) do
begin
if GetBType(budynek)=b_depot and GetSide(budynek)=7 then
begin
SetResourceType(GetBase(budynek), mat_cans, 2000);
SetResourceType(GetBase(budynek), mat_oil, 2000);
SetResourceType(Getbase(budynek), mat_siberit, 2000);
end;
if GetBType(budynek)=b_workshop and GetSide(budynek)=7 then
begin
ComUpgrade(budynek);
lab=AddComBuild(arab1, b_lab, 108,6, 2);
lab1=AddComBuild(arab1, b_lab, 115,14, 5);
sloneczko=AddComBuild(arab1, b_solar_power, 120,3, 3);
sloneczko1=AddComBuild(arab1, b_solar_power, 124,4, 2);
end;
if GetBType(budynek)=b_lab and GetSide(budynek)=7 and isInArea(budynek, alab) then
begin
naukowcy;
ComEnterUnit([n,n1,n2,n3], budynek);
ComResearch(budynek, tech_solpow);
AddComResearch(budynek, tech_soleng);
AddComResearch(budynek, tech_oilpow);
AddComResearch(budynek, tech_oileng);
AddComResearch(budynek, tech_tech1);
AddComResearch(budynek, tech_tech2);
end;
if GetBType(budynek)=b_lab and GetSide(budynek)=7 and isInArea(budynek, alab1) then
begin
ComEnterUnit([n4,n5,n6], budynek);
wait(0$20);
ComUpgradeLab(budynek, b_lab_weapon);
end;
end;
On UpgradeComplete(buda) do
begin
if GetLabKind(buda, 1)=b_lab_weapon and GetSide(buda)=7 then
begin
ComResearch(buda, tech_Gatling);
AddComResearch(buda, tech_Gun);
AddComResearch(buda, tech_Explos);
AddComResearch(buda, tech_Rocket);
AddComResearch(buda, tech_weap1);
AddComResearch(buda, tech_weap2);
AddComResearch(buda, tech_weap3);
end;
end;
On ResearchComplete(tech, lab) do
begin
if GetTech(tech, 1)=tech_tech2 and GetBType(lab)=b_lab and isInArea(lab, alab) then
begin
ComUpgradeLab(lab,... // tu nie dokończyłem pisać ;p
Instrukcja jest dla komputera, aby wiedział, gdzie budować
A skoro Gogeta wiesz, jak wyodrębnić budynki, gdy np. gracz je wybuduje, to proszę , napisz mi co napisać.