www.civilization.org.pl
Forum •  FAQ •  Search •  Memberlist •  Usergroups •  Register •  Log in •  Download
 
 Announcement 
   Jesteś nowy? Kliknij tutaj!    Zgłoś grę Civ6     Zgłos grę Civ5    Zgłoś grę Civ4         Mistrz sezonu    IRC, TUTAJ UMÓWISZ SIĘ NA GRĘ    Na ircu jest users osób. Załaduj obrazek Czytnik RSS 

Previous topic «» Next topic


Jak wystartować grę HOTSEAT na mapie ziemia z TSL
Author Message
Nefliqus 



Helped: 5 times
Joined: 16 Sep 2010
Posts: 2939
Piwa: 51/67
Location: Wawa/Wroc
podpułkownik  Piwosz – otrzymał minimum 25 piw  Obibok – nie grał od 90 dni  II miejsce w Pucharze KAC - I Puchar Kac Civ5 
Reprimends:
 3/3/6
Posted: 2011-07-15, 23:08   Jak wystartować grę HOTSEAT na mapie ziemia z TSL

Ok, ostatnio chciałem wystartować grę HOTSEAT na mapie świata z prawdziwymi pozycjami startowymi [TSL] civek i CS. Niestety Firaxis znowu się nie popisał i nie jest to wcale takie łatwe. Po kilku próbach okazało się że problem można rozwiązać następująco:

1) Generujemy sobie mapę w WorldBuilder lub za pomocą jakiegoś skryptu.
2) Następnie musimy wyedytować plik AssignStartingPlots.lua który przypisuje pozycje startowe.
Wystarczy że dla każdej cywilizacji którą chcemy umieścić na mapie wpiszemy coś takiego

Code:
      local player = Players[player_ID];
          local CivName = player:GetName();
          local CivName2 = "Washington";
          if CivName == CivName2 then
          local playerStartPlot = Map.GetPlot(13,32);
          player:SetStartingPlot(playerStartPlot);
          end -- if civnamed



Szczegółów nie chce opisywać, nie chce żeby koledzy z COPa nie mieli frajdy z główkowania. W każdym razie da się tak ustawić ręcznie graczy w grze HOTSEAT na dowolnej mapie. Jak będzie taka potrzeba to dajcie znać. Możemy sobie nawet ustawić TEAMy.

3) Później odpalamy normalnie grę HOTSEAT na mapie którą sobie przygotowaliśmy.

Poniżej pozycje startowe z mapy Standard Earth Map (80x52)


Spoiler:



for player_ID = 0, GameDefines.MAX_MAJOR_CIVS + GameDefines.MAX_MINOR_CIVS - 1 do
local player = Players[player_ID];
if isValidPlayer(player) then
local CivName = player:GetName();
local CivName2 = "Washington";
if CivName == CivName2 then
local playerStartPlot = Map.GetPlot(13,32);
player:SetStartingPlot(playerStartPlot);
end -- if civnamed

CivName = player:GetName();
CivName2 = "Harun al-Rashid";
if CivName == CivName2 then
local playerStartPlot = Map.GetPlot(49,16);
player:SetStartingPlot(playerStartPlot);
end -- if civnamed

CivName = player:GetName();
CivName2 = "Montezuma";
if CivName == CivName2 then
local playerStartPlot = Map.GetPlot(5,27);
player:SetStartingPlot(playerStartPlot);
end -- if civnamed

CivName = player:GetName();
CivName2 = "Wu Zetian";
if CivName == CivName2 then
local playerStartPlot = Map.GetPlot(60,35);
player:SetStartingPlot(playerStartPlot);
end -- if civnamed

CivName = player:GetName();
CivName2 = "Ramesses II";
if CivName == CivName2 then
local playerStartPlot = Map.GetPlot(44,16);
player:SetStartingPlot(playerStartPlot);
end -- if civnamed

CivName = player:GetName();
CivName2 = "Elizabeth";
if CivName == CivName2 then
local playerStartPlot = Map.GetPlot(34,34);
player:SetStartingPlot(playerStartPlot);
end -- if civnamed

CivName = player:GetName();
CivName2 = "Napoleon";
if CivName == CivName2 then
local playerStartPlot = Map.GetPlot(33,29);
player:SetStartingPlot(playerStartPlot);
end -- if civnamed

CivName = player:GetName();
CivName2 = "Bismarck";
if CivName == CivName2 then
local playerStartPlot = Map.GetPlot(39,32);
player:SetStartingPlot(playerStartPlot);
end -- if civnamed

CivName = player:GetName();
CivName2 = "Alexander";
if CivName == CivName2 then
local playerStartPlot = Map.GetPlot(42,23);
player:SetStartingPlot(playerStartPlot);
end -- if civnamed

CivName = player:GetName();
CivName2 = "Gandhi";
if CivName == CivName2 then
local playerStartPlot = Map.GetPlot(58,22);
player:SetStartingPlot(playerStartPlot);
end -- if civnamed

CivName = player:GetName();
CivName2 = "Hiawatha";
if CivName == CivName2 then
local playerStartPlot = Map.GetPlot(17,36);
player:SetStartingPlot(playerStartPlot);
end -- if civnamed

CivName = player:GetName();
CivName2 = "Oda Nobunaga";
if CivName == CivName2 then
local playerStartPlot = Map.GetPlot(60,45);
player:SetStartingPlot(playerStartPlot);
end -- if civnamed

CivName = player:GetName();
CivName2 = "Suleiman";
if CivName == CivName2 then
local playerStartPlot = Map.GetPlot(46,24);
player:SetStartingPlot(playerStartPlot);
end -- if civnamed

CivName = player:GetName();
CivName2 = "Darius I";
if CivName == CivName2 then
local playerStartPlot = Map.GetPlot(53,22);
player:SetStartingPlot(playerStartPlot);
end -- if civnamed

CivName = player:GetName();
CivName2 = "Augustus Caesar";
if CivName == CivName2 then
local playerStartPlot = Map.GetPlot(37,24);
player:SetStartingPlot(playerStartPlot);
end -- if civnamed

CivName = player:GetName();
CivName2 = "Catherine";
if CivName == CivName2 then
local playerStartPlot = Map.GetPlot(45,36);
player:SetStartingPlot(playerStartPlot);
end -- if civnamed

CivName = player:GetName();
CivName2 = "Ramkhamhaeng";
if CivName == CivName2 then
local playerStartPlot = Map.GetPlot(62,25);
player:SetStartingPlot(playerStartPlot);
end -- if civnamed

CivName = player:GetName();
CivName2 = "Askia";
if CivName == CivName2 then
local playerStartPlot = Map.GetPlot(32,14);
player:SetStartingPlot(playerStartPlot);
end -- if civnamed

CivName = player:GetName();
CivName2 = "Pachacuti";
if CivName == CivName2 then
local playerStartPlot = Map.GetPlot(14,12);
player:SetStartingPlot(playerStartPlot);
end -- if civnamed

CivName = player:GetName();
CivName2 = "Isabella";
if CivName == CivName2 then
local playerStartPlot = Map.GetPlot(32,24);
player:SetStartingPlot(playerStartPlot);
end -- if civnamed

CivName = player:GetName();
CivName2 = "Harald Bluetooth";
if CivName == CivName2 then
local playerStartPlot = Map.GetPlot(38,37);
player:SetStartingPlot(playerStartPlot);
end -- if civnamed

end -- ifvalid end
end -- for end



a tutaj kod za pomocą którego ułatwiłem sobie sprawę, automatycznie szczytuje pozycje startowe. Wystarczy go dodać do skryptu mapy.

Spoiler:


print("========================================positions==============================================")
print("");
print("for player_ID = 0, GameDefines.MAX_MAJOR_CIVS + GameDefines.MAX_MINOR_CIVS - 1 do");
print("local player = Players[player_ID];");
print("if isValidPlayer(player) then");
local firstgo = true;
for player_ID = 0, GameDefines.MAX_MAJOR_CIVS + GameDefines.MAX_MINOR_CIVS - 1 do
local player = Players[player_ID];
if isValidPlayer(player) then
local playerStartPlot = player:GetStartingPlot();
local plotX = playerStartPlot:GetX();
local plotY = playerStartPlot:GetY();
local CivName = player:GetName();
if (firstgo) then
firstgo = false;
print("local CivName = player:GetName();");
print("local CivName2 = \"" .. CivName .. "\";");
else
print("CivName = player:GetName();");
print("CivName2 = \"" .. CivName .. "\";");
end


text = "if CivName == CivName2 then "
print(text);

text = "local playerStartPlot = Map.GetPlot(" .. plotX .. "," .. plotY .. ");"
print(text);

text = "player:SetStartingPlot(playerStartPlot); "
print(text);

print("end -- if civnamed");
print("");

end
end
print("end -- ifvalid end");
print("end -- for end");
print("");
print("========================================positions end==============================================")




Poproszę o jakieś piwko bo podobno nie dało się tego zrobić :)
 
Last edited by Nefliqus on 2011-07-16, 07:54; edited 4 times in total  
Postaw piwo autorowi tego posta
 
 
Więcej szczegółów
Wystawiono 5 piw(a):
Cholernik, Marw, Maiar, czajmen, ScoobyDoo
Cholernik 



xfire: Cholernik
Helped: 14 times
Age: 36
Joined: 11 Oct 2010
Posts: 2588
Piwa: 59/34
podpułkownik  Brązowy zlotowicz - 1 zlot  Pomocna dłoń – pomógł minimum 10 razy  Piwosz – otrzymał minimum 25 piw  Obibok – nie grał od 90 dni  Przeżycie w Dyplo - Dyplo 9  Przeżycie w Dyplo - Dyplo Miś 2  I miejsce w Pucharze KAC - w turnieju drużynowym Civ 5  Wygrany jeden GOTM 
Posted: 2011-07-15, 23:50   

Alkohol to zuo :P

Ci z Firaxis powinni ci coś odpalić za naprawę i poprawę tych skryptów. :oczami:
Ale i tak merci, gracias i inne takie :padam:
Postaw piwo autorowi tego posta
 
 
giggs 



Helped: 2 times
Age: 42
Joined: 13 Sep 2010
Posts: 2815
Piwa: 43/39
Location: Hel
podpułkownik  Brązowy zlotowicz - 1 zlot  Brązowy sponsor KAC  Piwosz – otrzymał minimum 25 piw  Obibok – nie grał od 90 dni 
Posted: 2011-07-16, 09:02   

No, no :padam: .

Nef jak tylko zataszczę dębowe meble na czwarte piętro to widzę Cie na rozmowie kwalifikacyjnej :P .
_________________
Generator szybkich postów nt. Civ5
Postaw piwo autorowi tego posta
 
 
czajmen 



xfire: czajmen
Helped: 2 times
Age: 37
Joined: 16 Sep 2010
Posts: 1534
Piwa: 20/39
Location: Kraków
starszy szeregowy  Przeżycie w Dyplo - Dyplo Miś 
Posted: 2011-07-16, 18:01   

Nef :padam: super robota. wczułeś się w te mapki itp :padam: gratuluje zapału
_________________
Carpe diem
Postaw piwo autorowi tego posta
 
 
 
ScoobyDoo 


xfire: scoobydoopl
Helped: 7 times
Age: 39
Joined: 23 Aug 2009
Posts: 8673
Piwa: 92/77
Location: Łódź
generał dywizji  Złoty zlotowicz - 5 zlotów  Piwosz – otrzymał minimum 25 piw  Obibok – nie grał od 90 dni  I miejsce w Dyplo - dyplo7  III miejsce w Dyplo - Dyplo XIII  Przeżycie w Dyplo - Dyplo 10  Przeżycie w Dyplo - Dyplo 9  Przeżycie w Dyplo - Dyplo Miś  III miejsce w Pucharze KAC - II Puchar Kac Civ5  Wygrany jeden GOTM - 1 wygrana  III miejsce w rankingu FFA 
Posted: 2011-07-16, 19:56   

Nef jestes gość od tych piw to wpadniesz chyba w alkoholizm, przyjeżdżaj na zlot.
maniaków
Postaw piwo autorowi tego posta
 
 
 
Nefliqus 



Helped: 5 times
Joined: 16 Sep 2010
Posts: 2939
Piwa: 51/67
Location: Wawa/Wroc
podpułkownik  Piwosz – otrzymał minimum 25 piw  Obibok – nie grał od 90 dni  II miejsce w Pucharze KAC - I Puchar Kac Civ5 
Reprimends:
 3/3/6
Posted: 2011-07-18, 12:32   

Czajmen ty niewdzięczna "świnio" :) , ten Twój komentarz na COP to cały ty. Nawet nie wiedziałeś gdzie zacząć szukać na początku i chodziłeś jak matoł settlersami. A tak a propos to spytałeś się czy możesz używać kodu napisanego przez kogoś innego? :P Nic tylko podkradać czyjeś pomysły i później przypisywać sobie zasługi. :kwasny:
Last edited by Nefliqus on 2011-07-18, 12:32; edited 1 time in total  
Postaw piwo autorowi tego posta
 
 
czajmen 



xfire: czajmen
Helped: 2 times
Age: 37
Joined: 16 Sep 2010
Posts: 1534
Piwa: 20/39
Location: Kraków
starszy szeregowy  Przeżycie w Dyplo - Dyplo Miś 
Posted: 2011-07-18, 12:33   

Nefliqus wrote:
Szczegółów nie chce opisywać, nie chce żeby koledzy z COPa nie mieli frajdy z główkowania. W każdym razie da się tak ustawić ręcznie graczy w grze HOTSEAT na dowolnej mapie. Jak będzie taka potrzeba to dajcie znać. Możemy sobie nawet ustawić TEAMy.


możesz już szczegółowo opisać i nie zapomnij podziękować Gedemon ;)
_________________
Carpe diem
Postaw piwo autorowi tego posta
 
 
 
czajmen 



xfire: czajmen
Helped: 2 times
Age: 37
Joined: 16 Sep 2010
Posts: 1534
Piwa: 20/39
Location: Kraków
starszy szeregowy  Przeżycie w Dyplo - Dyplo Miś 
Posted: 2011-07-18, 12:36   

Nefliqus wrote:
Czajmen ty niewdzięczna "świnio" :) , ten Twój komentarz na COP to cały ty. Nawet nie wiedziałeś gdzie zacząć szukać na początku i chodziłeś jak matoł settlersami. A tak a propos to spytałeś się czy możesz używać kodu napisanego przez kogoś innego? :P Nic tylko podkradać czyjeś pomysły i później przypisywać sobie zasługi. :kwasny:


twojego kodu nie użyłem - nie potrzebowałem go, jedne co ci zawdzięczam to informacja, że da się inaczej. i za to ci bardzo dziękuje :)
_________________
Carpe diem
Postaw piwo autorowi tego posta
 
 
 
Nefliqus 



Helped: 5 times
Joined: 16 Sep 2010
Posts: 2939
Piwa: 51/67
Location: Wawa/Wroc
podpułkownik  Piwosz – otrzymał minimum 25 piw  Obibok – nie grał od 90 dni  II miejsce w Pucharze KAC - I Puchar Kac Civ5 
Reprimends:
 3/3/6
Posted: 2011-07-18, 12:38   

czajmen wrote:
Nefliqus wrote:
Czajmen ty niewdzięczna "świnio" :) , ten Twój komentarz na COP to cały ty. Nawet nie wiedziałeś gdzie zacząć szukać na początku i chodziłeś jak matoł settlersami. A tak a propos to spytałeś się czy możesz używać kodu napisanego przez kogoś innego? :P Nic tylko podkradać czyjeś pomysły i później przypisywać sobie zasługi. :kwasny:


twojego kodu nie użyłem - nie potrzebowałem go, jedne co ci zawdzięczam to informacja, że da się inaczej. i za to ci bardzo dziękuje :)


właśnie widziałem, zrobiłem błąd że ci pomogłem ale nie mogłem patrzyć jak się męczysz z tymi settlersami.
Last edited by Nefliqus on 2011-07-18, 12:38; edited 1 time in total  
Postaw piwo autorowi tego posta
 
 
ScoobyDoo 


xfire: scoobydoopl
Helped: 7 times
Age: 39
Joined: 23 Aug 2009
Posts: 8673
Piwa: 92/77
Location: Łódź
generał dywizji  Złoty zlotowicz - 5 zlotów  Piwosz – otrzymał minimum 25 piw  Obibok – nie grał od 90 dni  I miejsce w Dyplo - dyplo7  III miejsce w Dyplo - Dyplo XIII  Przeżycie w Dyplo - Dyplo 10  Przeżycie w Dyplo - Dyplo 9  Przeżycie w Dyplo - Dyplo Miś  III miejsce w Pucharze KAC - II Puchar Kac Civ5  Wygrany jeden GOTM - 1 wygrana  III miejsce w rankingu FFA 
Posted: 2011-07-18, 13:02   

Nef jakbyś mógł, proszę nie obrażaj innych użykowników,
Postaw piwo autorowi tego posta
 
 
 
Nefliqus 



Helped: 5 times
Joined: 16 Sep 2010
Posts: 2939
Piwa: 51/67
Location: Wawa/Wroc
podpułkownik  Piwosz – otrzymał minimum 25 piw  Obibok – nie grał od 90 dni  II miejsce w Pucharze KAC - I Puchar Kac Civ5 
Reprimends:
 3/3/6
Posted: 2011-07-19, 14:18   

oj scooby już nie przesadzaj z tym obrażaniem, kopiują cudze pomysły bez mrugnięcia okiem i później piszą ze to nie twoja zasługą że jakiś problem został rozwiązany. To ze takie zachowanie jest w Polsce powszechnie akceptowalne i nie ma szacunku dla cudzej pracy nie znaczy że nie należy takiego zachowania piętnować. Zresztą już się przyzwyczaiłem ale to nie znaczy że mam siedzieć cicho i nie pisać co o tym myślę. Czajmen i tak ma to w nosie, dalej będzie podkradał pomysły i przypisywał sobie zasługi. Nie sądzę aby poczuł się obrażony.
Postaw piwo autorowi tego posta
 
 
czajmen 



xfire: czajmen
Helped: 2 times
Age: 37
Joined: 16 Sep 2010
Posts: 1534
Piwa: 20/39
Location: Kraków
starszy szeregowy  Przeżycie w Dyplo - Dyplo Miś 
Posted: 2011-07-19, 14:53   

Nefliqus jak sam napisałeś, szczegółów nie zdradziłeś - napisałeś się, że się da. To raz.
Opisany sposób zawiera błąd - zapewne celowy - to dwa.
Jeżeli chodzi o kod jaki tu opublikowałeś, to był mi on nie potrzebny, bo ja zrobiłem to mega chamsko - to trzy:
Spoiler:


Code:

            local player0 = Players[0];
            print ("--- player0 ---");
            print ("GetTeam = ", player0:GetTeam());
            print ("GetName = ", player0:GetName());
            print ("GetNickName = ", player0:GetNickName());
            print ("GetNameKey = ", player0:GetNameKey());
            local playerStartPlot0 = Map.GetPlot(27,27);
            player0:SetStartingPlot(playerStartPlot0);

           
            local player1 = Players[1];
            print ("--- player1 ---");
            print ("GetTeam = ", player1:GetTeam());
            print ("GetName = ", player1:GetName());
            print ("GetNickName = ", player1:GetNickName());
            print ("GetNameKey = ", player1:GetNameKey());           
            local playerStartPlot1 = Map.GetPlot(21,20);
            player1:SetStartingPlot(playerStartPlot1);

            local player2 = Players[2];
            print ("--- player2 ---");
            print ("GetTeam = ", player2:GetTeam());
            print ("GetName = ", player2:GetName());
            print ("GetNickName = ", player2:GetNickName());
            print ("GetNameKey = ", player2:GetNameKey());           
            local playerStartPlot2 = Map.GetPlot(39,31);
            player2:SetStartingPlot(playerStartPlot2);

            local player3 = Players[3];
            print ("--- player3 ---");
            print ("GetTeam = ", player3:GetTeam());
            print ("GetName = ", player3:GetName());
            print ("GetNickName = ", player3:GetNickName());
            print ("GetNameKey = ", player3:GetNameKey());           
            local playerStartPlot3 = Map.GetPlot(54,32);
            player3:SetStartingPlot(playerStartPlot3);

            local player4 = Players[4];
            print ("--- player4 ---");
            print ("GetTeam = ", player4:GetTeam());
            print ("GetName = ", player4:GetName());
            print ("GetNickName = ", player4:GetNickName());
            print ("GetNameKey = ", player4:GetNameKey());           
            local playerStartPlot4 = Map.GetPlot(61,15);
            player4:SetStartingPlot(playerStartPlot4);

            local player5 = Players[5];
            print ("--- player5 ---");
            print ("GetTeam = ", player5:GetTeam());
            print ("GetName = ", player5:GetName());
            print ("GetNickName = ", player5:GetNickName());
            print ("GetNameKey = ", player5:GetNameKey());           
            local playerStartPlot5 = Map.GetPlot(48,10);
            player5:SetStartingPlot(playerStartPlot5);

            local player6 = Players[6];
            print ("--- player6 ---");
            print ("GetTeam = ", player6:GetTeam());
            print ("GetName = ", player6:GetName());
            print ("GetNickName = ", player6:GetNickName());
            print ("GetNameKey = ", player6:GetNameKey());           
            local playerStartPlot6 = Map.GetPlot(21,10);
            player6:SetStartingPlot(playerStartPlot6);

            local player7 = Players[7];
            print ("--- player7 ---");
            print ("GetTeam = ", player7:GetTeam());
            print ("GetName = ", player7:GetName());
            print ("GetNickName = ", player7:GetNickName());
            print ("GetNameKey = ", player7:GetNameKey());           
            local playerStartPlot7 = Map.GetPlot(35,11);
            player7:SetStartingPlot(playerStartPlot7);

            local player8 = Players[8];
            print ("--- player8 ---");
            print ("GetTeam = ", player8:GetTeam());
            print ("GetName = ", player8:GetName());
            print ("GetNickName = ", player8:GetNickName());
            print ("GetNameKey = ", player8:GetNameKey());           
            local playerStartPlot8 = Map.GetPlot(10,29);
            player8:SetStartingPlot(playerStartPlot8);

            local player9 = Players[9];
            print ("--- player9 ---");
            print ("GetTeam = ", player9:GetTeam());
            print ("GetName = ", player9:GetName());
            print ("GetNickName = ", player9:GetNickName());
            print ("GetNameKey = ", player9:GetNameKey());           
            local playerStartPlot9 = Map.GetPlot(9,16);
            player9:SetStartingPlot(playerStartPlot9);



A cztery, to gdybym nie trafił na odpowiedni temat na fanatykach, to bym raczej tego nie zrobił.

jakby od razu opublikował całe Know-how, to na COPie bym napisał, że całą zasługa spływa na Ciebie. Tak to musiałem sam gość z pomocą wskazówki, którą sam dostałeś jak to zrobić. to pięć.

mogłeś nie publikować, to pewnie bym chodził setami, a tak to sam (bo nie napisałeś jak) musiałem dość co i jak. I powiem ci jeszcze jedno - jestem zawodowym programistą - znam kilka języków programowania, więc umiem skumać w skryptach dostarczonych przez twórców gry co i jak się robi. jak sam wiesz dokumentacja jest uboga, ale dzięki ludziemu nazwaniu funkcji, stały itp. idzie skumać o co chodzi ewentualnie wyszukać w innych skryptach jak co działa (twoich nie mam - już dawno pokasowałem, ściągam tylko jak mój oponent w multi chce na twoim zagrać).

nie mniej doceniam twoja pracę jaką wkładasz w rozwijanie swoich skryptów - pewnie część tak jak kopiujesz z oryginałów, a inną cześć sam tworzysz - za to należą ci się brawa i słowa uznania. ja zapewne wiesz, w moim skrypcie są pewne pomysły, które później pi razy oko przeniosłeś i dodałeś do swoich skryptów.

I dla mnie to koniec tematu - więcej na tematy skryptów i innych pierdół nie będę się wypowiadać. Możesz sobie pisać co chcesz - mnie to *** obchodzi.

PS. jak nie chcesz inspirować innych i poddawać im pomysłów, to nic nie publikuj - zabierz swoje odkrycia i ciekawe pomysły do grobu.
_________________
Carpe diem
 
Postaw piwo autorowi tego posta
 
 
 
Więcej szczegółów
Wystawiono 4 piw(a):
Maiar, ScoobyDoo, Shaka[D14], Marw
Nefliqus 



Helped: 5 times
Joined: 16 Sep 2010
Posts: 2939
Piwa: 51/67
Location: Wawa/Wroc
podpułkownik  Piwosz – otrzymał minimum 25 piw  Obibok – nie grał od 90 dni  II miejsce w Pucharze KAC - I Puchar Kac Civ5 
Reprimends:
 3/3/6
Posted: 2011-07-19, 18:13   

czajmen wrote:
Nefliqus jak sam napisałeś, szczegółów nie zdradziłeś - napisałeś się, że się da. To raz.
Opisany sposób zawiera błąd - zapewne celowy - to dwa.
Jeżeli chodzi o kod jaki tu opublikowałeś, to był mi on nie potrzebny, bo ja zrobiłem to mega chamsko - to trzy:
Spoiler:


Code:

            local player0 = Players[0];
            print ("--- player0 ---");
            print ("GetTeam = ", player0:GetTeam());
            print ("GetName = ", player0:GetName());
            print ("GetNickName = ", player0:GetNickName());
            print ("GetNameKey = ", player0:GetNameKey());
            local playerStartPlot0 = Map.GetPlot(27,27);
            player0:SetStartingPlot(playerStartPlot0);

           
            local player1 = Players[1];
            print ("--- player1 ---");
            print ("GetTeam = ", player1:GetTeam());
            print ("GetName = ", player1:GetName());
            print ("GetNickName = ", player1:GetNickName());
            print ("GetNameKey = ", player1:GetNameKey());           
            local playerStartPlot1 = Map.GetPlot(21,20);
            player1:SetStartingPlot(playerStartPlot1);

            local player2 = Players[2];
            print ("--- player2 ---");
            print ("GetTeam = ", player2:GetTeam());
            print ("GetName = ", player2:GetName());
            print ("GetNickName = ", player2:GetNickName());
            print ("GetNameKey = ", player2:GetNameKey());           
            local playerStartPlot2 = Map.GetPlot(39,31);
            player2:SetStartingPlot(playerStartPlot2);

            local player3 = Players[3];
            print ("--- player3 ---");
            print ("GetTeam = ", player3:GetTeam());
            print ("GetName = ", player3:GetName());
            print ("GetNickName = ", player3:GetNickName());
            print ("GetNameKey = ", player3:GetNameKey());           
            local playerStartPlot3 = Map.GetPlot(54,32);
            player3:SetStartingPlot(playerStartPlot3);

            local player4 = Players[4];
            print ("--- player4 ---");
            print ("GetTeam = ", player4:GetTeam());
            print ("GetName = ", player4:GetName());
            print ("GetNickName = ", player4:GetNickName());
            print ("GetNameKey = ", player4:GetNameKey());           
            local playerStartPlot4 = Map.GetPlot(61,15);
            player4:SetStartingPlot(playerStartPlot4);

            local player5 = Players[5];
            print ("--- player5 ---");
            print ("GetTeam = ", player5:GetTeam());
            print ("GetName = ", player5:GetName());
            print ("GetNickName = ", player5:GetNickName());
            print ("GetNameKey = ", player5:GetNameKey());           
            local playerStartPlot5 = Map.GetPlot(48,10);
            player5:SetStartingPlot(playerStartPlot5);

            local player6 = Players[6];
            print ("--- player6 ---");
            print ("GetTeam = ", player6:GetTeam());
            print ("GetName = ", player6:GetName());
            print ("GetNickName = ", player6:GetNickName());
            print ("GetNameKey = ", player6:GetNameKey());           
            local playerStartPlot6 = Map.GetPlot(21,10);
            player6:SetStartingPlot(playerStartPlot6);

            local player7 = Players[7];
            print ("--- player7 ---");
            print ("GetTeam = ", player7:GetTeam());
            print ("GetName = ", player7:GetName());
            print ("GetNickName = ", player7:GetNickName());
            print ("GetNameKey = ", player7:GetNameKey());           
            local playerStartPlot7 = Map.GetPlot(35,11);
            player7:SetStartingPlot(playerStartPlot7);

            local player8 = Players[8];
            print ("--- player8 ---");
            print ("GetTeam = ", player8:GetTeam());
            print ("GetName = ", player8:GetName());
            print ("GetNickName = ", player8:GetNickName());
            print ("GetNameKey = ", player8:GetNameKey());           
            local playerStartPlot8 = Map.GetPlot(10,29);
            player8:SetStartingPlot(playerStartPlot8);

            local player9 = Players[9];
            print ("--- player9 ---");
            print ("GetTeam = ", player9:GetTeam());
            print ("GetName = ", player9:GetName());
            print ("GetNickName = ", player9:GetNickName());
            print ("GetNameKey = ", player9:GetNameKey());           
            local playerStartPlot9 = Map.GetPlot(9,16);
            player9:SetStartingPlot(playerStartPlot9);



A cztery, to gdybym nie trafił na odpowiedni temat na fanatykach, to bym raczej tego nie zrobił.

jakby od razu opublikował całe Know-how, to na COPie bym napisał, że całą zasługa spływa na Ciebie. Tak to musiałem sam gość z pomocą wskazówki, którą sam dostałeś jak to zrobić. to pięć.

mogłeś nie publikować, to pewnie bym chodził setami, a tak to sam (bo nie napisałeś jak) musiałem dość co i jak. I powiem ci jeszcze jedno - jestem zawodowym programistą - znam kilka języków programowania, więc umiem skumać w skryptach dostarczonych przez twórców gry co i jak się robi. jak sam wiesz dokumentacja jest uboga, ale dzięki ludziemu nazwaniu funkcji, stały itp. idzie skumać o co chodzi ewentualnie wyszukać w innych skryptach jak co działa (twoich nie mam - już dawno pokasowałem, ściągam tylko jak mój oponent w multi chce na twoim zagrać).

nie mniej doceniam twoja pracę jaką wkładasz w rozwijanie swoich skryptów - pewnie część tak jak kopiujesz z oryginałów, a inną cześć sam tworzysz - za to należą ci się brawa i słowa uznania. ja zapewne wiesz, w moim skrypcie są pewne pomysły, które później pi razy oko przeniosłeś i dodałeś do swoich skryptów.

I dla mnie to koniec tematu - więcej na tematy skryptów i innych pierdół nie będę się wypowiadać. Możesz sobie pisać co chcesz - mnie to *** obchodzi.

PS. jak nie chcesz inspirować innych i poddawać im pomysłów, to nic nie publikuj - zabierz swoje odkrycia i ciekawe pomysły do grobu.


Tylko zobacz kto zainicjował ten temat na fanatykach i jaka była kolejność postów. To że uważasz że ktoś wprowadził Cię specjalnie w błąd świadczy o Twoim charakterze, postrzeganiu świata i ogólnie o postawie adminów COPa. Opublikowałem ten pomysł bo chciałem Ci pomóc w rozwiązaniu problemu, do niektórych rozwiązań dochodzi się etapami. Pisząc posta na KAC nie wiedziałem że AssignStartingPlots.lua działa tylko w single. Uważam że współpraca i ujawnianie rozwiązań, pomysłów wpływa na rozwój tej gry. Dalej nie rozumiesz że nie chodzi tu o kopiowanie, bo naśladownictwo jest najwyższą oznaką aprobaty i to mi nawet schlebia, tylko przypisywanie sobie zasług u udawanie że nie korzysta się z pracy i pomysłów kogoś innego. Na odkrycie notyfikacji jako jedynego możliwego sposobu przekazania informacji z skryptu do gry poświęciłem 1 tydzień siedzenia, próbowania i testowania różnych rozwiązań, które były bardziej oczywiste a nie działały. Tobie to zajmie 5 minut oglądania kodu. Dodatkowo jestem ciekaw jaka była Twoja opinia w momencie gdy była możliwość skorzystania z NOVAL na cop. Jestem przekonany że byłeś przeciw. To w połączeniu faktu że teraz kupujesz po kolei rozwiązania których wypracowanie zajęło komuś dużo czau pozwala mi mieć o Tobie negatywne zdanie i nazywać to co robisz kradzieżą. Normalnie powinieneś napisać że "kopiujesz jakiś fragment kodu lub rozwiązanie", ja nie miałbym nic przeciwko gdyby to było tak oficjalnie zrobione. Każdy chce żeby jego praca się do czegoś przydała. Niestety nie możesz tego zrobić przez politykę cop, gdzie administratorzy zdecydowali że zamiast dogadać się skorzystać z tego co ktoś inny przygotował wolą chyłkiem podkradać cudzą pracę. I tak na prawdę to tu jest sedno problemu.
Last edited by Nefliqus on 2011-07-19, 19:59; edited 5 times in total  
Postaw piwo autorowi tego posta
 
 
czajmen 



xfire: czajmen
Helped: 2 times
Age: 37
Joined: 16 Sep 2010
Posts: 1534
Piwa: 20/39
Location: Kraków
starszy szeregowy  Przeżycie w Dyplo - Dyplo Miś 
Posted: 2011-07-19, 20:41   

Nef masz DLC i scenariusz Nowy Świat - w jednym z plików (TurnsRemaining.lua) jest przykład użycia funkcji Player:AddNotification
(http://wiki.2kgames.com/civ5/index.php/Lua_Game_Objects/Player#AddNotification)
Spoiler:


Code:

            if (GenerateTreasureFromRazedCity(Game:GetHandicapType(), city:GetOwner(), city:GetPreviousOwner())) then
                local player = Players[city:GetOwner()];
                local iUnitID;
                iUnitID = GameInfoTypes["UNIT_TREASURE"];
                player:InitUnit (iUnitID, iX, iY);
       
                local text;
                local heading;
                text = Locale.ConvertTextKey("TXT_KEY_NEWWORLD_SCENARIO_TREASURE_RAZED_CITY", city:GetName());
                heading = Locale.ConvertTextKey("TXT_KEY_NEWWORLD_SCENARIO_TREASURE_FOUND");
                     player:AddNotification(NotificationTypes.NOTIFICATION_GENERIC, text, heading);
            end
             end



Nef wybacz, ale nie przyjmuje twojego tłumaczenia, że ten temat zrobiłeś bo chciałeś mi pomóc - jakbyś naprawdę chciał, to po pierwsze napisał byś mi PW czy w jakikolwiek sposób dałbyś mi znać o tym temacie, a przede wszystkim dałbyś dokładny algorytm jak to zrobić. Powiedz mi - jaki ja kod skopiowałem od ciebie? nawet nie wiem co ciekawego robi twoja funkcja isValidPlayer - sądząc po nazwie sprawdza czy gracz jest poprawny (cokolwiek miało by to znaczyć).

co do faktu jakby na COPie byłby nOval - bym się cholernie cieszył, bo nie musiałbym robić skryptów tylko i wyłącznie dlatego, ze jest jakiś konflikt, którego nie rozumiem i osobiście wolałbym, żeby go nie było, bo tylko szkodzi nam wszystkim - graczom. ale te sprawy ode mnie nie zależą.

co do czasu - to myślisz, że ja go nie tracę - oj ile razy ja już civke uruchamialem i później musiałem resetować bo były błędy. po za tym nie wiem jak ty to robisz, ale ja patrze na dostępne funkcje i po nazwach mniej więcej rozumie jak działają. później pozostaje przeszukać folder Asserts w celu znalezienia przykładu jej użycia - czasem jest czasem nie.
napisanie mojej pierwsze mapy zajęło mi coś koło 2 miesięcy i wtedy dużo zrozumiałem co i jak działa. po za tym nie wiem czym ty się zawodowo (ba nawet nie wiem ile masz lat) zajmujesz - ja programuje prawie 20 lat, przez ten czas bardzo dużo się nauczyłem, zwłaszcza jak rozumować kod i analizować sposób jego działania (tak się nauczylem działania EJB, Strutsów) - jestem praktykiem, a nie teoretykiem. więc prosze daj sobie siana - nie jesteś jedyna osoba na świecie, która może napisać to co ty. po za tym, jak nie zauważyłeś, to ja dopisuje, to co chcą ode mnie ludzie, a ze oni się wzorują na ciebie, cóż nie moja wina.

na koniec zostawiam sobie sprawę "kradzieży" - bądź tak uprzejmy i powiedz co ja ci ukradłem? udowodnij mi to.

tylko, ze nie jesteś w stanie - bo dobrze wiesz, ze to nie prawda. nie wiem w czym masz problem - może to, ze ja dostałem zaproszenie do redakcji na COPie, a ty tutaj nie dostałeś (tego akurat nie wiem - może się mylę), może wkurza cie, ze inni tez potrafią coś zrobić i nie jesteś jedyny - pamiętaj Polacy, to bardzo mądry naród, który w informatyce jest w czołówce.
_________________
Carpe diem
Postaw piwo autorowi tego posta
 
 
 
Nefliqus 



Helped: 5 times
Joined: 16 Sep 2010
Posts: 2939
Piwa: 51/67
Location: Wawa/Wroc
podpułkownik  Piwosz – otrzymał minimum 25 piw  Obibok – nie grał od 90 dni  II miejsce w Pucharze KAC - I Puchar Kac Civ5 
Reprimends:
 3/3/6
Posted: 2011-07-19, 21:36   

czajmen wrote:
Nef masz DLC i scenariusz Nowy Świat - w jednym z plików (TurnsRemaining.lua) jest przykład użycia funkcji Player:AddNotification
(http://wiki.2kgames.com/civ5/index.php/Lua_Game_Objects/Player#AddNotification)
Spoiler:


Code:

            if (GenerateTreasureFromRazedCity(Game:GetHandicapType(), city:GetOwner(), city:GetPreviousOwner())) then
                local player = Players[city:GetOwner()];
                local iUnitID;
                iUnitID = GameInfoTypes["UNIT_TREASURE"];
                player:InitUnit (iUnitID, iX, iY);
       
                local text;
                local heading;
                text = Locale.ConvertTextKey("TXT_KEY_NEWWORLD_SCENARIO_TREASURE_RAZED_CITY", city:GetName());
                heading = Locale.ConvertTextKey("TXT_KEY_NEWWORLD_SCENARIO_TREASURE_FOUND");
                     player:AddNotification(NotificationTypes.NOTIFICATION_GENERIC, text, heading);
            end
             end



Nef wybacz, ale nie przyjmuje twojego tłumaczenia, że ten temat zrobiłeś bo chciałeś mi pomóc - jakbyś naprawdę chciał, to po pierwsze napisał byś mi PW czy w jakikolwiek sposób dałbyś mi znać o tym temacie, a przede wszystkim dałbyś dokładny algorytm jak to zrobić. Powiedz mi - jaki ja kod skopiowałem od ciebie? nawet nie wiem co ciekawego robi twoja funkcja isValidPlayer - sądząc po nazwie sprawdza czy gracz jest poprawny (cokolwiek miało by to znaczyć).

co do faktu jakby na COPie byłby nOval - bym się cholernie cieszył, bo nie musiałbym robić skryptów tylko i wyłącznie dlatego, ze jest jakiś konflikt, którego nie rozumiem i osobiście wolałbym, żeby go nie było, bo tylko szkodzi nam wszystkim - graczom. ale te sprawy ode mnie nie zależą.

co do czasu - to myślisz, że ja go nie tracę - oj ile razy ja już civke uruchamialem i później musiałem resetować bo były błędy. po za tym nie wiem jak ty to robisz, ale ja patrze na dostępne funkcje i po nazwach mniej więcej rozumie jak działają. później pozostaje przeszukać folder Asserts w celu znalezienia przykładu jej użycia - czasem jest czasem nie.
napisanie mojej pierwsze mapy zajęło mi coś koło 2 miesięcy i wtedy dużo zrozumiałem co i jak działa. po za tym nie wiem czym ty się zawodowo (ba nawet nie wiem ile masz lat) zajmujesz - ja programuje prawie 20 lat, przez ten czas bardzo dużo się nauczyłem, zwłaszcza jak rozumować kod i analizować sposób jego działania (tak się nauczylem działania EJB, Strutsów) - jestem praktykiem, a nie teoretykiem. więc prosze daj sobie siana - nie jesteś jedyna osoba na świecie, która może napisać to co ty. po za tym, jak nie zauważyłeś, to ja dopisuje, to co chcą ode mnie ludzie, a ze oni się wzorują na ciebie, cóż nie moja wina.

na koniec zostawiam sobie sprawę "kradzieży" - bądź tak uprzejmy i powiedz co ja ci ukradłem? udowodnij mi to.

tylko, ze nie jesteś w stanie - bo dobrze wiesz, ze to nie prawda. nie wiem w czym masz problem - może to, ze ja dostałem zaproszenie do redakcji na COPie, a ty tutaj nie dostałeś (tego akurat nie wiem - może się mylę), może wkurza cie, ze inni tez potrafią coś zrobić i nie jesteś jedyny - pamiętaj Polacy, to bardzo mądry naród, który w informatyce jest w czołówce.


sorry ale nie chce mi się tego czytać , zostawie to bez odpowiedzi
Postaw piwo autorowi tego posta
 
 
Display posts from previous:   
Reply to topic
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Add this topic to your bookmarks
Printable version

Jump to:  

Podobne Tematy
Topic Author Forum Replies Last Post
No new posts czy będąc np. Anglią można na mapie Ziemia
pupuss10 Gadanie o Civ(5)kowym graniu 23 2013-03-21, 17:48
Forever
No new posts Czy w Civ5 jest tryb hotseat?
PeterDIK Gadanie o Civ(5)kowym graniu 1 2015-11-25, 18:35
Cholernik
No new posts Civ 5 HotSeat i kolejny patch - info
MacDante Gadanie o Civ(5)kowym graniu 12 2011-05-10, 09:14
MacDante
No new posts NOWA ZIEMIA
Martin Pogawędki różniste 42 2011-12-25, 23:53
Martin
No new posts nowa Ziemia
Martin Pogawędki różniste 77 2011-03-09, 22:47
LDeska

Czas generowania strony : 1.55 s.

Powered by phpBB modified by Przemo © 2003 phpBB Group