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

/skordukkani ve /paradukkani

Başlatan TRSinan28, 05 Temmuz 2017, 17:50:41

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

TRSinan28

Arkadaşlar gtatürkte skorla parayı ve parayla skoru takas etme sistemini buldum fakat çalışmadı.Bana /skordukkani yazınca para karşılığı skoru,/paradukkani yazınca skor karşılığı parayı takas edecek dialoglu bir sistem lazım.Yardım edeceklere şimdiden TEŞEEKÜRLER :)


FrankTR

Merhaba,

Modun üst kısımlarına;

#define SKORDIALOG 6745

Zcmd kullanıyormusun bilmiyorum ama bunu OnPlayerCommandText publicine;

if(!strcmp(cmdtext, "/skordukkani"))
     {
        ShowPlayerDialog(playerid, SKORDIALOG, DIALOG_STYLE_LIST "Skor Dukkani", "1000 $ > 1 Skor\n2000 $ > 2 Skor\n5000 $ > 5 Skor\n10000 $ > 10 Skor", "Onayla", "İptal");
        return 1;
     }




OnDialogResponse Publicine;
  if(dialogid == SKORDIALOG)
    {
        if(response)
        {
            switch(listitem)
            {

case 0: if(GetPlayerMoney(playerid) > 1000)
{
SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
GivePlayerMoney(playerid, -1000);
SendClientMessage(playerid, 0xFFFFFFFF, "1000$ Karşılığı 1 Skor Aldınız!");
} else SendClientMessage(playerid, 0xFFFFFFFF, "Yeterli miktarda paranız bulunmamaktadır.");

case 1: if(GetPlayerMoney(playerid) > 2000)
{
SetPlayerScore(playerid, GetPlayerScore(playerid) + 2);
GivePlayerMoney(playerid, -2000);
SendClientMessage(playerid, 0xFFFFFFFF, "2000$ Karşılığı 2 Skor Aldınız!");
} else SendClientMessage(playerid, 0xFFFFFFFF, "Yeterli miktarda paranız bulunmamaktadır.");

case 2: if(GetPlayerMoney(playerid) > 5000)
{
SetPlayerScore(playerid, GetPlayerScore(playerid) + 5);
GivePlayerMoney(playerid, -5000);
SendClientMessage(playerid, 0xFFFFFFFF, "5000$ Karşılığı 5 Skor Aldınız!");
} else SendClientMessage(playerid, 0xFFFFFFFF, "Yeterli miktarda paranız bulunmamaktadır.");

case 3: if(GetPlayerMoney(playerid) > 10000)
{
SetPlayerScore(playerid, GetPlayerScore(playerid) + 10);
GivePlayerMoney(playerid, -10000);
SendClientMessage(playerid, 0xFFFFFFFF, "10000$ Karşılığı 10 Skor Aldınız!");
} else SendClientMessage(playerid, 0xFFFFFFFF, "Yeterli miktarda paranız bulunmamaktadır.");               
           
            }
        }
        return 1;
    }


..atarsan çalışacağını umuyorum. Komutu istediğin gibi skordukkani yaptım. İlk fırsatta da paradukkani versiyonunu yapıp burda paylaşacağım. Bu arada dengeyi 1000$'a 1 Skor olarak ayarladım. Beğenmediğin kısımları editlersin. Umarım işine yarar.







TRSinan28

Moda atmaya başlıyorum.Allah razı olsun  :helal:


TRSinan28

Komutun olduğu kodda 2-3 yanlışlık yapmışsın.Düzelttim.Başkalarıda görür belki atayım kodu ;

PAWN Kodu: Seç
if(!strcmp(cmdtext,"/skordukkani"))
     {
     ShowPlayerDialog(playerid,SKORDIALOG,DIALOG_STYLE_LIST,"Skor Dukkani", "1000 $ > 1 Skor\n2000 $ > 2 Skor\n5000 $ > 5 Skor\n10000 $ > 10 Skor", "Onayla", "İptal");
     return 1;
     }

Kod böyle olacak arkadaşlar.   YARDIMIN İÇİN ÇOK TEŞEKKÜRLER  :helal: Para dükkanınıda bekliyorum :)


FrankTR

Alıntı yapılan: sinan28 - 06 Temmuz 2017, 10:46:42

Komutun olduğu kodda 2-3 yanlışlık yapmışsın.Düzelttim.Başkalarıda görür belki atayım kodu ;

PAWN Kodu: Seç
if(!strcmp(cmdtext,"/skordukkani"))
     {
     ShowPlayerDialog(playerid,SKORDIALOG,DIALOG_STYLE_LIST,"Skor Dukkani", "1000 $ > 1 Skor\n2000 $ > 2 Skor\n5000 $ > 5 Skor\n10000 $ > 10 Skor", "Onayla", "İptal");
     return 1;
     }

Kod böyle olacak arkadaşlar.   YARDIMIN İÇİN ÇOK TEŞEKKÜRLER  :helal: Para dükkanınıda bekliyorum :)


Amin cümlemizden inşallah. Evet ya, şimdi onu yazıcaktım ki bulmuşsun. Virgül koymamışım orda :)
Bir de şöyle bir durum var.


case 0: if(GetPlayerMoney(playerid) > 1000)
Kısmı;
case 0: if(GetPlayerMoney(playerid) >= 1000)
Şeklinde olacak. Çünkü 1000'den büyükse diyor, eğer düz 1000$ varsa oyuncunun, komut işlemeyecekti. Mantık hatası olacağından onu büyük eşit yaptım. Bu diğer case'ler için de aynı şekilde olacak, düzeltirsin.




Neyse Paradükkanına geçelim :)

Modun üst kısımlarına;

#define PARADIALOG 6746

OnPlayerCommandText publicine;
if(!strcmp(cmdtext, "/paradukkani"))
     {
        ShowPlayerDialog(playerid, PARADIALOG, DIALOG_STYLE_LIST, "Para Dukkani", "1 Skor > 1000 $\n2 Skor > 2000 $\n5 Skor > 5000 $\n10 Skor > 10000 $", "Onayla", "İptal");
        return 1;
     }


OnDialogResponse Publicine;
  if(dialogid == PARADIALOG)
    {
        if(response)
        {
            switch(listitem)
            {

case 0: if(GetPlayerScore(playerid) >= 1)
{
SetPlayerScore(playerid, GetPlayerScore(playerid) -1);
GivePlayerMoney(playerid, 1000);
SendClientMessage(playerid, 0xFFFFFFFF, "1 Skor Karşılığı 1000$ Aldınız!");
} else SendClientMessage(playerid, 0xFFFFFFFF, "Yeterli miktarda skorunuz bulunmamaktadır!");

case 1: if(GetPlayerScore(playerid) >= 2)
{
SetPlayerScore(playerid, GetPlayerScore(playerid) -2);
GivePlayerMoney(playerid, 2000);
SendClientMessage(playerid, 0xFFFFFFFF, "2 Skor Karşılığı 2000$ Aldınız!");
} else SendClientMessage(playerid, 0xFFFFFFFF, "Yeterli miktarda skorunuz bulunmamaktadır!");

case 2: if(GetPlayerMoney(playerid) >= 5)
{
SetPlayerScore(playerid, GetPlayerScore(playerid) -5);
GivePlayerMoney(playerid, 5000);
SendClientMessage(playerid, 0xFFFFFFFF, "5 Skor Karşılığı 5000$ Aldınız!");
} else SendClientMessage(playerid, 0xFFFFFFFF, "Yeterli miktarda skorunuz bulunmamaktadır!");

case 3: if(GetPlayerMoney(playerid) >= 10)
{
SetPlayerScore(playerid, GetPlayerScore(playerid) -10);
GivePlayerMoney(playerid, 10000);
SendClientMessage(playerid, 0xFFFFFFFF, "10 Skor Karşılığı 10000$ Aldınız!");
} else SendClientMessage(playerid, 0xFFFFFFFF, "Yeterli miktarda skorunuz bulunmamaktadır!");               
           
            }
        }
        return 1;
    }


Bu şekilde yaptım. Daha sonradan istersen html kodları ile renklendirebilirsin. Umarım işine yarar.
Saygılar

:)
Son düzenlenme: 06 Temmuz 2017, 11:10:25 FrankTR






TRSinan28

Çok teşekkür ederim.Güzel bir anlatımın da var :) İlgimi çekti :) Tekrardan Allah razı olsun.


TRSinan28

Para dükkanında 3 ve 4. caseyi getplayermoney yapmışsın yanlışlık olmasın ?


TRSinan28

Orda hata olmuş :) Düzelttim. Sistem sorunsuz çalışıyor.Teşekkür ederim Frank  :helal: KONU KİLİT!