KO Developers

Go Back   KO Developers > Mini KO Forum (Yardım & İstek) > Genel Yardım > Çözülen Konular


Çözülen Konular Forum üyelerimiz tarafından çözüme kavuşturulmuş konular.


Beğeni Geçmişi4Beğeniler

 
LinkBack Seçenekler Stil
Okunmamış 26 Temmuz 2017, 13:47   #1 (permalink)
Normal Üye

Avatar Yok


Üyelik tarihi: 04 Temmuz 2017
Mesajlar: 1.324[+]
Kredi Bakiyeniz: 653
Ettiği teşekkür sayısı: 0
0 Mesaja 0 Kez Teşekkür Aldı

Standart 21xx Bdw giremiyorum.

[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

??
KODevelopers isimli Üye şimdilik offline konumundadır  
Okunmamış 26 Temmuz 2017, 16:46   #2 (permalink)
Uzaklaştırılmış

EveryBodyFool - ait Kullanıcı Resmi (Avatar)


Üyelik tarihi: 02 Temmuz 2017
Mesajlar: 163[+]
Kredi Bakiyeniz: 12.545
Ettiği teşekkür sayısı: 46
63 Mesaja 180 Kez Teşekkür Aldı

Standart

Acaba eventlar için altyapı olmadığı için olabilir mi dosyalarında?
EveryBodyFool isimli Üye şimdilik offline konumundadır  
Okunmamış 26 Temmuz 2017, 17:17   #3 (permalink)
Normal Üye

Avatar Yok


Üyelik tarihi: 04 Temmuz 2017
Mesajlar: 1.324[+]
Kredi Bakiyeniz: 653
Ettiği teşekkür sayısı: 0
0 Mesaja 0 Kez Teşekkür Aldı

Standart

Alıntı:
EveryBodyFool Nickli Üyeden Alıntı Mesajı göster
Acaba eventlar için altyapı olmadığı için olabilir mi dosyalarında?
Sanmıyorum ki bakmak istersen tw atayim ?

@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
KODevelopers isimli Üye şimdilik offline konumundadır  
Okunmamış 26 Temmuz 2017, 17:31   #4 (permalink)
Uzaklaştırılmış

EveryBodyFool - ait Kullanıcı Resmi (Avatar)


Üyelik tarihi: 02 Temmuz 2017
Mesajlar: 163[+]
Kredi Bakiyeniz: 12.545
Ettiği teşekkür sayısı: 46
63 Mesaja 180 Kez Teşekkür Aldı

Standart

En azından hatanın nereden olduğunu düşündüğün yeri göster oradan yardım edilir. Böyle elde hiçbir detay olmadan bulunamaz.
EveryBodyFool isimli Üye şimdilik offline konumundadır  
Okunmamış 26 Temmuz 2017, 17:42   #5 (permalink)
Normal Üye

Avatar Yok


Üyelik tarihi: 04 Temmuz 2017
Mesajlar: 1.324[+]
Kredi Bakiyeniz: 653
Ettiği teşekkür sayısı: 0
0 Mesaja 0 Kez Teşekkür Aldı

Standart

Hemen bakayim.. @[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]
KODevelopers isimli Üye şimdilik offline konumundadır  
Okunmamış 26 Temmuz 2017, 18:40   #6 (permalink)
Bağımlı Üye

CerfiN - ait Kullanıcı Resmi (Avatar)


Üyelik tarihi: 12 Temmuz 2017
Bulunduğu yer: Antalya
Mesajlar: 334[+]
Kredi Bakiyeniz: 11.234
Ettiği teşekkür sayısı: 70
56 Mesaja 65 Kez Teşekkür Aldı

Standart

Level kısıtlaması mı var acaba.
CerfiN isimli Üye şimdilik offline konumundadır  
Okunmamış 26 Temmuz 2017, 19:04   #7 (permalink)
Normal Üye

Avatar Yok


Üyelik tarihi: 04 Temmuz 2017
Mesajlar: 1.324[+]
Kredi Bakiyeniz: 653
Ettiği teşekkür sayısı: 0
0 Mesaja 0 Kez Teşekkür Aldı

Standart

Kod:
 
MAX_LEVEL_1=83
MAX_LEVEL_2=83
MAX_LEVEL_3=83
MAX_LEVEL_4=83
MAX_LEVEL_5=83
MIN_LEVEL_1=35
MIN_LEVEL_2=35
MIN_LEVEL_3=35
MIN_LEVEL_4=35
MIN_LEVEL_5=35
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...]

bunla ekledim de .ini de bağlı cünkü gene aynı olmadı bakmayı çalışıyorum.
KODevelopers isimli Üye şimdilik offline konumundadır  
Okunmamış 26 Temmuz 2017, 19:31   #8 (permalink)
Normal Üye

Avatar Yok


Üyelik tarihi: 04 Temmuz 2017
Mesajlar: 1.324[+]
Kredi Bakiyeniz: 653
Ettiği teşekkür sayısı: 0
0 Mesaja 0 Kez Teşekkür Aldı

Standart

Kod:
void CGameServerDlg::TempleEventTimer()
{
	uint32 nHour = g_localTime.tm_hour;
	uint32 nMinute = g_localTime.tm_min;
	uint32 nSeconds = g_localTime.tm_sec;
	std::string RemainNotice;

	if (m_nTempleEventRemainSeconds > 0)
		m_nTempleEventRemainSeconds--;

	if (pTempleEvent.ActiveEvent == -1)
	{
		for (int i = 0; i < BORDER_DEFENSE_WAR_EVENT_COUNT; i++)
		{
			if (nHour == m_nBorderDefenseWarTime[i] && nMinute == 0) 
			{
				pTempleEvent.ActiveEvent = TEMPLE_EVENT_BORDER_DEFENCE_WAR;
				pTempleEvent.ZoneID = ZONE_BORDER_DEFENSE_WAR;
				m_nTempleEventRemainSeconds = 600; // 10 minutes
				TempleEventStart();
				break;
			} 
		}

		for (int i = 0; i < CHAOS_EVENT_COUNT; i++)
		{
			if (nHour == m_nChaosTime[i] && nMinute == 0)
			{
				pTempleEvent.ActiveEvent = TEMPLE_EVENT_CHAOS;
				pTempleEvent.ZoneID = ZONE_CHAOS_DUNGEON;
				m_nTempleEventRemainSeconds = 600; // 10 minutes
				TempleEventStart();
				break;		
			}  
		}
		
		for (int i = 0; i < JURAD_MOUNTAIN_EVENT_COUNT; i++)
		{
			if (nHour == m_nJuraidTime[i] && nMinute == 5) 
			{
				Announcement(IDS_JURAD_EVENT_NOTICE);
			}
			if (nHour == m_nJuraidTime[i] && nMinute == 0) 
			{
				pTempleEvent.ActiveEvent = TEMPLE_EVENT_JURAD_MOUNTAIN;
				pTempleEvent.ZoneID = ZONE_JURAD_MOUNTAIN;
				m_nTempleEventRemainSeconds = 600; // 10 minutes
				JuraidTempleEventStart();
				break;
			}  
		}
	}
	
	else if (pTempleEvent.ActiveEvent != -1)
	{
		if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_BORDER_DEFENCE_WAR)
		{
			for(int i = 0 ; i < MAX_TEMPLE_EVENT_ROOM ; i++)
			{
				if(pTempleEvent.m_sMiniTimerNation[i] == 0)
					continue;

				if(pTempleEvent.m_sBdwMiniTimer[i]-- != 0 )
					continue;

				TempleEventFinish(i,pTempleEvent.m_sMiniTimerNation[i]);
			}
			for(int i = 0; i < BORDER_DEFENSE_WAR_EVENT_COUNT; i++)
			{
				if (nHour == m_nBorderDefenseWarTime[i] && nMinute == 10 && nSeconds == 0)
				{
					m_nTempleEventRemainSeconds = 0; 
					pTempleEvent.LastEventRoom = 1;
					pTempleEvent.isActive = true;
					TempleEventStart();
					TempleEventTeleportUsers();
					TempleEventSummon();
					break;
				}
				else if (nHour == m_nBorderDefenseWarTime[i] && nMinute == 11 && nSeconds == 0)   
				{
					pTempleEvent.isAttackable = true;
					break;
				}
				else if (nHour == m_nBorderDefenseWarTime[i] && nMinute == 40 && nSeconds == 0)   
				{
					TerminationFinish();
					pTempleEvent.isAttackable = false;
					break;
				}
				else if (nHour == m_nBorderDefenseWarTime[i] && nMinute == 40 && nSeconds == 20) 
				{
					foreach_stlmap (itr, m_TempleEventUserArray)
					{
						CUser * pUser = GetUserPtr(itr->second->m_socketID);
						if (pUser == nullptr 
							|| !pUser->isInGame())	
							continue;
						
						TempleEventFinish(pUser->GetEventRoom(),pUser->GetNation());
					}
					break;
				}
				else if (nHour == m_nBorderDefenseWarTime[i] && nMinute == 40 && nSeconds == 30)
				{
					printf("BORDER DEFANSE WAR TUM KANALLAR KAPATILDI !\n");
					TempleEventReset();
					break;
				}
			}
		}
		if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_CHAOS)
		{
			for(int i = 0; i < CHAOS_EVENT_COUNT; i++)
			{
				if (nHour == m_nChaosTime[i] && nMinute == 10 && nSeconds == 0) 
				{
					m_nTempleEventRemainSeconds = 0;
					pTempleEvent.LastEventRoom = 1;
					pTempleEvent.isActive = true;
					TempleEventStart(); // Set RemainSeconds to zero
					TempleEventTeleportUsers();
					TempleEventSummon();
					break;
				}
				else if (nHour == m_nChaosTime[i] && nMinute == 11 && nSeconds == 0) 
				{
					pTempleEvent.isAttackable = true;
					break;
				}
				else if (nHour == m_nChaosTime[i] && nMinute == 30 && nSeconds == 0) 
				{
					TerminationFinish();
					pTempleEvent.isAttackable = false;
					break;
				}
				else if (nHour == m_nChaosTime[i] && nMinute == 30 && nSeconds == 20)
				{
					foreach_stlmap (itr, m_TempleEventUserArray)
					{
						CUser * pUser = GetUserPtr(itr->second->m_socketID);
						if (pUser == nullptr ||
							!pUser->isInGame())	
							continue;
						
						TempleEventFinish(pUser->GetEventRoom(),pUser->GetNation());
					}
					break;
				}
				else if (nHour == m_nChaosTime[i] && nMinute == 30 && nSeconds == 30)
				{
					printf("CHAOS EXPANSION TUM KANALLAR KAPATILDI !\n");
					TempleEventReset();
					break;
				}
			}
		}
		if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_JURAD_MOUNTAIN)
		{
			for(int i = 0; i < JURAD_MOUNTAIN_EVENT_COUNT; i++)
			{
				if (nHour == m_nJuraidTime[i] && nMinute == 10 && nSeconds == 0)
				{
					m_nTempleEventRemainSeconds = 0; 
					pTempleEvent.LastEventRoom = 1;
					pTempleEvent.isActive = true;
					JuraidTempleEventStart();
					TempleEventTeleportUsers();
					TempleEventSummon();
					break;
				}
				else if (nHour == m_nJuraidTime[i] && nMinute == 11 && nSeconds == 0)   
				{
					pTempleEvent.isAttackable = true;
					break;
				}

				else if (nHour == m_nJuraidTime[i] && nMinute == 50 && nSeconds == 0)   
				{
					TerminationFinish();
					pTempleEvent.isAttackable = false;
					break;
				}
				else if (nHour == m_nJuraidTime[i] && nMinute == 50 && nSeconds == 20) 
				{
					foreach_stlmap (itr, m_TempleEventUserArray)
					{
						CUser * pUser = GetUserPtr(itr->second->m_socketID);
						if (pUser == nullptr || 
							!pUser->isInGame())	
							continue;
						
						TempleEventFinish(pUser->GetEventRoom(),pUser->GetNation());
					}
					break;
				}
				else if (nHour == m_nJuraidTime[i] && nMinute == 50 && nSeconds == 30)
				{
					printf("JURAID MOUNTION TUM KANALLAR KAPATILDI !\n");
					TempleEventReset();
					break;
				}
			}
		}
		
	}
}
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Bakarmısın
KODevelopers isimli Üye şimdilik offline konumundadır  
Okunmamış 26 Temmuz 2017, 19:35   #9 (permalink)
Uzaklaştırılmış

EveryBodyFool - ait Kullanıcı Resmi (Avatar)


Üyelik tarihi: 02 Temmuz 2017
Mesajlar: 163[+]
Kredi Bakiyeniz: 12.545
Ettiği teşekkür sayısı: 46
63 Mesaja 180 Kez Teşekkür Aldı

Standart

Alıntı:
KiraAmora61 Nickli Üyeden Alıntı Mesajı göster
Kod:
void CGameServerDlg::TempleEventTimer()
{
	uint32 nHour = g_localTime.tm_hour;
	uint32 nMinute = g_localTime.tm_min;
	uint32 nSeconds = g_localTime.tm_sec;
	std::string RemainNotice;

	if (m_nTempleEventRemainSeconds > 0)
		m_nTempleEventRemainSeconds--;

	if (pTempleEvent.ActiveEvent == -1)
	{
		for (int i = 0; i < BORDER_DEFENSE_WAR_EVENT_COUNT; i++)
		{
			if (nHour == m_nBorderDefenseWarTime[i] && nMinute == 0) 
			{
				pTempleEvent.ActiveEvent = TEMPLE_EVENT_BORDER_DEFENCE_WAR;
				pTempleEvent.ZoneID = ZONE_BORDER_DEFENSE_WAR;
				m_nTempleEventRemainSeconds = 600; // 10 minutes
				TempleEventStart();
				break;
			} 
		}

		for (int i = 0; i < CHAOS_EVENT_COUNT; i++)
		{
			if (nHour == m_nChaosTime[i] && nMinute == 0)
			{
				pTempleEvent.ActiveEvent = TEMPLE_EVENT_CHAOS;
				pTempleEvent.ZoneID = ZONE_CHAOS_DUNGEON;
				m_nTempleEventRemainSeconds = 600; // 10 minutes
				TempleEventStart();
				break;		
			}  
		}
		
		for (int i = 0; i < JURAD_MOUNTAIN_EVENT_COUNT; i++)
		{
			if (nHour == m_nJuraidTime[i] && nMinute == 5) 
			{
				Announcement(IDS_JURAD_EVENT_NOTICE);
			}
			if (nHour == m_nJuraidTime[i] && nMinute == 0) 
			{
				pTempleEvent.ActiveEvent = TEMPLE_EVENT_JURAD_MOUNTAIN;
				pTempleEvent.ZoneID = ZONE_JURAD_MOUNTAIN;
				m_nTempleEventRemainSeconds = 600; // 10 minutes
				JuraidTempleEventStart();
				break;
			}  
		}
	}
	
	else if (pTempleEvent.ActiveEvent != -1)
	{
		if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_BORDER_DEFENCE_WAR)
		{
			for(int i = 0 ; i < MAX_TEMPLE_EVENT_ROOM ; i++)
			{
				if(pTempleEvent.m_sMiniTimerNation[i] == 0)
					continue;

				if(pTempleEvent.m_sBdwMiniTimer[i]-- != 0 )
					continue;

				TempleEventFinish(i,pTempleEvent.m_sMiniTimerNation[i]);
			}
			for(int i = 0; i < BORDER_DEFENSE_WAR_EVENT_COUNT; i++)
			{
				if (nHour == m_nBorderDefenseWarTime[i] && nMinute == 10 && nSeconds == 0)
				{
					m_nTempleEventRemainSeconds = 0; 
					pTempleEvent.LastEventRoom = 1;
					pTempleEvent.isActive = true;
					TempleEventStart();
					TempleEventTeleportUsers();
					TempleEventSummon();
					break;
				}
				else if (nHour == m_nBorderDefenseWarTime[i] && nMinute == 11 && nSeconds == 0)   
				{
					pTempleEvent.isAttackable = true;
					break;
				}
				else if (nHour == m_nBorderDefenseWarTime[i] && nMinute == 40 && nSeconds == 0)   
				{
					TerminationFinish();
					pTempleEvent.isAttackable = false;
					break;
				}
				else if (nHour == m_nBorderDefenseWarTime[i] && nMinute == 40 && nSeconds == 20) 
				{
					foreach_stlmap (itr, m_TempleEventUserArray)
					{
						CUser * pUser = GetUserPtr(itr->second->m_socketID);
						if (pUser == nullptr 
							|| !pUser->isInGame())	
							continue;
						
						TempleEventFinish(pUser->GetEventRoom(),pUser->GetNation());
					}
					break;
				}
				else if (nHour == m_nBorderDefenseWarTime[i] && nMinute == 40 && nSeconds == 30)
				{
					printf("BORDER DEFANSE WAR TUM KANALLAR KAPATILDI !\n");
					TempleEventReset();
					break;
				}
			}
		}
		if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_CHAOS)
		{
			for(int i = 0; i < CHAOS_EVENT_COUNT; i++)
			{
				if (nHour == m_nChaosTime[i] && nMinute == 10 && nSeconds == 0) 
				{
					m_nTempleEventRemainSeconds = 0;
					pTempleEvent.LastEventRoom = 1;
					pTempleEvent.isActive = true;
					TempleEventStart(); // Set RemainSeconds to zero
					TempleEventTeleportUsers();
					TempleEventSummon();
					break;
				}
				else if (nHour == m_nChaosTime[i] && nMinute == 11 && nSeconds == 0) 
				{
					pTempleEvent.isAttackable = true;
					break;
				}
				else if (nHour == m_nChaosTime[i] && nMinute == 30 && nSeconds == 0) 
				{
					TerminationFinish();
					pTempleEvent.isAttackable = false;
					break;
				}
				else if (nHour == m_nChaosTime[i] && nMinute == 30 && nSeconds == 20)
				{
					foreach_stlmap (itr, m_TempleEventUserArray)
					{
						CUser * pUser = GetUserPtr(itr->second->m_socketID);
						if (pUser == nullptr ||
							!pUser->isInGame())	
							continue;
						
						TempleEventFinish(pUser->GetEventRoom(),pUser->GetNation());
					}
					break;
				}
				else if (nHour == m_nChaosTime[i] && nMinute == 30 && nSeconds == 30)
				{
					printf("CHAOS EXPANSION TUM KANALLAR KAPATILDI !\n");
					TempleEventReset();
					break;
				}
			}
		}
		if (pTempleEvent.ActiveEvent == TEMPLE_EVENT_JURAD_MOUNTAIN)
		{
			for(int i = 0; i < JURAD_MOUNTAIN_EVENT_COUNT; i++)
			{
				if (nHour == m_nJuraidTime[i] && nMinute == 10 && nSeconds == 0)
				{
					m_nTempleEventRemainSeconds = 0; 
					pTempleEvent.LastEventRoom = 1;
					pTempleEvent.isActive = true;
					JuraidTempleEventStart();
					TempleEventTeleportUsers();
					TempleEventSummon();
					break;
				}
				else if (nHour == m_nJuraidTime[i] && nMinute == 11 && nSeconds == 0)   
				{
					pTempleEvent.isAttackable = true;
					break;
				}

				else if (nHour == m_nJuraidTime[i] && nMinute == 50 && nSeconds == 0)   
				{
					TerminationFinish();
					pTempleEvent.isAttackable = false;
					break;
				}
				else if (nHour == m_nJuraidTime[i] && nMinute == 50 && nSeconds == 20) 
				{
					foreach_stlmap (itr, m_TempleEventUserArray)
					{
						CUser * pUser = GetUserPtr(itr->second->m_socketID);
						if (pUser == nullptr || 
							!pUser->isInGame())	
							continue;
						
						TempleEventFinish(pUser->GetEventRoom(),pUser->GetNation());
					}
					break;
				}
				else if (nHour == m_nJuraidTime[i] && nMinute == 50 && nSeconds == 30)
				{
					printf("JURAID MOUNTION TUM KANALLAR KAPATILDI !\n");
					TempleEventReset();
					break;
				}
			}
		}
		
	}
}
@[Üye Olmadan Linkleri Göremezsiniz. Üye Olmak için TIKLAYIN...] Bakarmısın
Buradaki timer ile join butonunun bir alakası yok join butonuna bastığında gelen packet işleme giriyor orayı göster.
EveryBodyFool isimli Üye şimdilik offline konumundadır  
Okunmamış 26 Temmuz 2017, 19:47   #10 (permalink)
Bağımlı Üye

CerfiN - ait Kullanıcı Resmi (Avatar)


Üyelik tarihi: 12 Temmuz 2017
Bulunduğu yer: Antalya
Mesajlar: 334[+]
Kredi Bakiyeniz: 11.234
Ettiği teşekkür sayısı: 70
56 Mesaja 65 Kez Teşekkür Aldı

Standart

TempleEventJoin'mi neydi ona benzer bi fonksiyon olacaktı.
CerfiN isimli Üye şimdilik offline konumundadır  
 


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Geçerli forum için yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık


Benzer Konular
Konu Konuyu Başlatan Forum Cevaplar Son Mesaj
[ISTIRAP] Clientless Source 21xx VB6 nizarss Paylaşım 77 18 Nisan 2019 19:13
Günlük Yapılabilen Görevler[21xx] aakinci Çözülemeyen konular 1 26 Eylül 2017 17:30
21xx TransFornationNone Patlama Sorun var KODevelopers Çözülen Konular 14 31 Ağustos 2017 02:52
21xx PREMIUM Sistemin KODevelopers Çözülen Konular 5 29 Temmuz 2017 02:11
21xx Tatto (Dövme) sistemi. KODevelopers Çözülen Konular 27 28 Temmuz 2017 04:54


Forum Site Hakkında
vBulletin® tarafından desteklenmektedir Versiyon 3.8.4
Telif hakkı ©2000 - 2019, Jelsoft Enterprises Ltd.

Sitemizdeki içerikler kopyalanmaya karşı DMCA ile korunmaktadır. DMCA.com Protection Status
İçerik sağlayıcı paylaşım sitelerinden biri olan kodevelopers.com Forum Adresimizde T.C.K 20.ci Madde ve 5651 Sayılı Kanun'un 4.cü maddesinin (2).ci fıkrasına göre TÜM ÜYELERİMİZ yaptıkları paylaşımlardan sorumludur. kodevelopers.com hakkında yapılacak tüm hukuksal Şikayetler için admin@kodevelopers.com Mail adresimiz üzerinden iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 1 (Bir) Hafta içerisinde kodevelopers.com yönetimi olarak tarafımızdan gereken işlemler yapılacak ve Avukatımız size dönüş yapacaktır.
© 2017 KO Developers ( by NERONLINEWORLD 2011/2013 )
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178

Search Engine Friendly URLs by vBSEO 3.6.0