GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi

SA-MP Birbirini Takip Eden Checkpoint Oluşturucu

Başlatan Kraus, 09 Eylül 2017, 18:53:28

« önceki - sonraki »

0 Üye ve 4 Ziyaretçi konuyu incelemekte.

Kraus

Merhabalar.

Meslekler için kullanılan birbirini takip eden Checkpoint Sisteminde Tüm Koordinatları tek tek yerleştirme ve#Define tanımlamaya üşenen biriyseniz (benim gibi) bu program işinize yarayacaktır. Programın kodlaması bana aittir. İzinsiz düzenlenmesi ve nick ibaremin kaldırılması yasaktır. (Artix26 eski nickim)

Programın kullanımı basittir. Rardaki dosyaları bir dosyaya çıkartın ve programı açmadan önce koordinatlar.txt'yi not defteri ile açarak birbirini takip eden checkpointler için belirleyeceğiniz koordinatları al alta örnekteki gibi sıralayınız.

0.0000, 0.0000, 1.0000
0.0000, 0.0000, 2.0000


Daha sonrasında programı açınız ve sağ tarafta#Definelerde kullanılacak checkpoint ismi adlı yere istediğiniz bir ismi yazınız. Daha sonrasında onun altında bulunan Checkpoint Büyüklüğünü Float Değeri Olarak yazınız. (Örnek: 5.0)

Sonrasında OLUŞTUR Butonuna basıyorsunuz. Sol tarafta bulunan Textbox içine belirttiğiniz koordinatlara göre kodlar oluşacaktır.




Örnek Çıktı:
PAWN Kodu: Seç
// Modun Başına
new CPTEST[MAX_PLAYERS];


#define TEST1 1

#define TEST1_CO 0.0000,0.0000,0.0000


#define TEST2 2

#define TEST2_CO 0.0000,0.0000,1.0000


#define TEST3 3

#define TEST3_CO 0.0000,0.0000,2.0000


#define TEST4 4

#define TEST4_CO 0.0000,0.0000,3.0000


#define TEST5 5

#define TEST5_CO 0.0000,0.0000,4.0000


#define TEST6 6

#define TEST6_CO 0.0000,0.0000,5.0000


#define TEST7 7

#define TEST7_CO 0.0000,0.0000,6.0000


#define TEST8 8

#define TEST8_CO 0.0000,0.0000,7.0000


#define TEST9 9

#define TEST9_CO 0.0000,0.0000,8.0000


#define TEST10 10

#define TEST10_CO 0.0000,0.0000,9.0000


#define TEST11 11

#define TEST11_CO 0.0000,0.0000,10.0000


#define TEST12 12

#define TEST12_CO 0.0000,0.0000,11.0000


#define TEST13 13

#define TEST13_CO 0.0000,0.0000,12.0000


#define TEST14 14

#define TEST14_CO 0.0000,0.0000,13.0000

// Göreve Başlangıç için Kullanılacaklar(Komutta veya başka yerde)
CPTEST[playerid] = TEST1;
SetPlayerCheckPoint(playerid, TEST1_CO, 5.0);

// OnPlayerEnterCheckpoint
if(CPTEST[playerid] == TEST1)
{
   CPTEST[playerid] = TEST2;
   SetPlayerCheckpoint(playerid, TEST2_CO, 5.0);
    return 1;
}
if(CPTEST[playerid] == TEST2)
{
   CPTEST[playerid] = TEST3;
   SetPlayerCheckpoint(playerid, TEST3_CO, 5.0);
    return 1;
}
if(CPTEST[playerid] == TEST3)
{
   CPTEST[playerid] = TEST4;
   SetPlayerCheckpoint(playerid, TEST4_CO, 5.0);
    return 1;
}
if(CPTEST[playerid] == TEST4)
{
   CPTEST[playerid] = TEST5;
   SetPlayerCheckpoint(playerid, TEST5_CO, 5.0);
    return 1;
}
if(CPTEST[playerid] == TEST5)
{
   CPTEST[playerid] = TEST6;
   SetPlayerCheckpoint(playerid, TEST6_CO, 5.0);
    return 1;
}
if(CPTEST[playerid] == TEST6)
{
   CPTEST[playerid] = TEST7;
   SetPlayerCheckpoint(playerid, TEST7_CO, 5.0);
    return 1;
}
if(CPTEST[playerid] == TEST7)
{
   CPTEST[playerid] = TEST8;
   SetPlayerCheckpoint(playerid, TEST8_CO, 5.0);
    return 1;
}
if(CPTEST[playerid] == TEST8)
{
   CPTEST[playerid] = TEST9;
   SetPlayerCheckpoint(playerid, TEST9_CO, 5.0);
    return 1;
}
if(CPTEST[playerid] == TEST9)
{
   CPTEST[playerid] = TEST10;
   SetPlayerCheckpoint(playerid, TEST10_CO, 5.0);
    return 1;
}
if(CPTEST[playerid] == TEST10)
{
   CPTEST[playerid] = TEST11;
   SetPlayerCheckpoint(playerid, TEST11_CO, 5.0);
    return 1;
}
if(CPTEST[playerid] == TEST11)
{
   CPTEST[playerid] = TEST12;
   SetPlayerCheckpoint(playerid, TEST12_CO, 5.0);
    return 1;
}
if(CPTEST[playerid] == TEST12)
{
   CPTEST[playerid] = TEST13;
   SetPlayerCheckpoint(playerid, TEST13_CO, 5.0);
    return 1;
}
if(CPTEST[playerid] == TEST13)
{
   CPTEST[playerid] = TEST14;
   SetPlayerCheckpoint(playerid, TEST14_CO, 5.0);
    return 1;
}

if(CPTEST[playerid] == TEST14)
{
  CPTEST[playerid] = 0;
    // Görev Bittiğinde Olacaklar
   return 1;
}





NOT: Program Amacı Dışında Bir Aktivite Uygulandığında Hata Oluşturabilir.

Son düzenlenme: 17 Temmuz 2018, 02:36:35 Kraus
Safari Gaming © sɪɴᴄᴇ 2014
www.sf-gaming.net

laéx


ace


Hwang


Kraus

Safari Gaming © sɪɴᴄᴇ 2014
www.sf-gaming.net

Cagatay.Bey


Lé Spîke

Çok güzel bir uygulama yapmışsın. Ellerine sağlık.

         

CaLderoN

Böyle durumlarda define ile ayrı ayrı tanımlamak yerine, sabit bir array (dizi) kullanmak daha profesyonelce bir çözüm yolu olacaktır. Bu durumda define kullanmayı pek tavsiye etmiyorum, zira müdahale etmek istediğinde karışık gelebiliyor. Ellerine sağlık.

İletişim: cataltepe@outlook.com.tr
https://linkedin.com/in/omurcataltepe/

FrankTR

Alıntı yapılan: CaLderoN - 16 Eylül 2017, 19:36:21

Böyle durumlarda define ile ayrı ayrı tanımlamak yerine, sabit bir array (dizi) kullanmak daha profesyonelce bir çözüm yolu olacaktır. Bu durumda define kullanmayı pek tavsiye etmiyorum, zira müdahale etmek istediğinde karışık gelebiliyor. Ellerine sağlık.


Açar mısınız? Veya rica etsem anlatım kısmında anlatır mısınız?







Kraus

Alıntı yapılan: CaLderoN - 16 Eylül 2017, 19:36:21

Böyle durumlarda define ile ayrı ayrı tanımlamak yerine, sabit bir array (dizi) kullanmak daha profesyonelce bir çözüm yolu olacaktır. Bu durumda define kullanmayı pek tavsiye etmiyorum, zira müdahale etmek istediğinde karışık gelebiliyor. Ellerine sağlık.

Yorum için teşekkürler. Doğrudur, array şekli de bir alternatiftir,  doğru ve mantıklı şekilde kullanımı sağlandığında daha sade kodlar elde edilebilir. Ancak herkes array verileri virgülüne parantezine dikkat edip düzenleyecek kadar profesyonel olmayabilir, ben bu yüzden bu kolay şekli tercih ettim. Tabi o şekilde de olabilir.




Alıntı yapılan: Cagatay.Bey - 14 Eylül 2017, 11:16:25

Alperen Bey başarılar.


Alıntı yapılan: DeliOqlan - 14 Eylül 2017, 11:32:24

Çok güzel bir uygulama yapmışsın. Ellrine sağlık.

Teşekkürler.
Son düzenlenme: 16 Eylül 2017, 23:44:10 Kraus
Safari Gaming © sɪɴᴄᴇ 2014
www.sf-gaming.net

Dyternal

Ellerine sağlık. Emek ve bilgi ister bunları yapmak emeğe saygı. :pc:


gardiyantr

Başarılı gayetde güzel bir mantık hoşuma gitti.  :helal:

Nobles Role Play Yakında sizlerle.

Tüm hesaplar bir gün sorulacak o gün bu gününü arayacaksın.

-Oğuz ATEŞ

Jawié

Önek örnek ama kodlarda test yazıyor.  :P Eline sağlık.


Pablo

Alıntı




Pawnotürk Üyesi 2017-2020

Jizzy