GTAMulti - GTA Türkiye

San Andreas Multiplayer => PAWN Kodlama => Anlatımlar => Konuyu başlatan: staple - 08 Ocak 2018, 19:24:18

Başlık: Dialog nasıl oluşturulur?
Gönderen: staple - 08 Ocak 2018, 19:24:18
(https://www.sa-mp.com/images/logo.gif)



Merhaba, bugün sizlere dialog oluşturmayı aktaracağım.

Öncelikle pawno'yu açıyoruz.

Ben giriş için bir dialog oluşturacağım, siz istediğiniz komuta oluşturabilirsiniz. Şimdi  geçelim kodlara.
Bu giriş için kurallar sistemi.
İlk önce modumuzun ilk başına
PAWN Kodu: Seç
#define DIALOG_KURALLAR 1214 ekliyoruz, sonrasında
PAWN Kodu: Seç
ShowPlayerDialog(playerid,DIALOG_KURALLAR, DIALOG_STYLE_MSGBOX, "Server Kuralları", "- Hile yasak\n- Spam yapmak yasak.\n- Adminlik istemek yasak.\n\nKuralları kabul ediyor musun?", "Evet", "Hayır");
Sizde bu şekilde giriş için Server kuralları şeklinde dialog olmasını istiyorsanız, onplayerconnect'e ekleyin.

Şimdi gelelim OnDialogResponse'ye.

İlk önce
PAWN Kodu: Seç
if(dialogid == DIALOG_KURALLAR) en yukarda eklediğimiz değişkene göre burayı DIALOG_KURALLAR yaptık.

Altına bu şekilde oluşturuyoruz, oyuncu Evet'e basarsa, kuralları onayladığın için teşekkürler adlı bir mesaj çıkacak. Bunu kendinize göre değiştirebilirsiniz.
PAWN Kodu: Seç
if(response)
        {
            SendClientMessage(playerid,-1, "Kuralları onayladığın için teşekkürler.");
}


PAWN Kodu: Seç
else
        {
            Kick(playerid); // Oyuncu esc ye basarsa oyundan atılır.
        }
        return 1;
    }

    return 0;
}


OnDialogResponse (Toplu Kod)

PAWN Kodu: Seç
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == DIALOG_KURALLAR)
    {
        if(response) // Oyuncu evet e basarsa, kuralları onayladığın için teşekkürler adlı mesaj gidecek.
        {
            SendClientMessage(playerid,-1, "Kuralları onayladığın için teşekkürler.");
        }
        else // Oyuncu esc ye veya yese basarsa atılır.
        {
            Kick(playerid);
        }
        return 1;
    }

    return 0;
}


Kuralları ekledik daha sonra oyuna girelim ve kontrol edelim.

(https://i.hizliresim.com/vjzkX4.png)



Bunu oluşturduk şimdi diyelim ki, /Teles komutu yapacaksınız bunuda anlatayım.

PAWN Kodu: Seç
#define DIALOG_TELES 3

Öncelik ile modun başına bu şekilde ekliyelim.

Daha sonra teles komutu oluşturalım.


PAWN Kodu: Seç
CMD:teles(playerid, params[])
{
ShowPlayerDialog(playerid, DIALOG_TELES, DIALOG_STYLE_LIST, "{00FF00}» {FF0000}Teles{00ff00} «", "{FF0000}/4d\n{FF0000}/Ap1\n{FF0000}/Ap2\n{FF0000}/Ap3\n{FF0000}/Mod1\n{FF0000}/Mod2\n{FF0000}/Mod3\n{FF0000}/Sahil", "{00FF00}Seç", "Çık");
return 1;
}


Bunu oluşturduktan sonra OnDialogResponse'ye giriyoruz.

PAWN Kodu: Seç
if(dialogid == DIALOG_TELES)
    {
        if(response)
        {
            // Give them the weapon
            switch(listitem)
            {
                case 0: SetPlayerPos(playerid, 2028.4597,1007.0644,10.8203); // 4D
                case 1: SetPlayerPos(playerid, 1331.7628,1285.3923,10.8203); // AP1
                case 2: SetPlayerPos(playerid, -1645.2598,-201.1026,13.9188); // AP2
                case 3: SetPlayerPos(playerid, 1527.3297,-2455.9033,13.5547); // ap3
                case 4: SetPlayerPos(playerid, 2644.5220,-2004.0026,13.3828); // MOD1
                case 5: SetPlayerPos(playerid, -1917.2754,287.0215,41.0469); // MOD2
                case 6: SetPlayerPos(playerid, -2705.5503, 206.1621,4.1797); // MOD3
                case 7: SetPlayerPos(playerid, 304.2043,-1898.9293,1.7956); // SAHİL
                case 8: SetPlayerPos(playerid, -301.6903,1526.9238,75.3594); // DRİFT1
                case 9: SetPlayerPos(playerid, 1244.9348,-2043.1870,59.8570); // DRİFT3
                case 10: SetPlayerPos(playerid, 2220.2881,1963.1591,31.7797); // DRİFT4
               
            }
        }
        return 1;
    }

    return 0;
}

Komutumuzu oluşturduktan sonra oyuna girelim ve kontrol edelim.

(https://i.hizliresim.com/1JP1VN.png)

Evet gördüğünüz gibi çalışıyor.

Uyarı: Örneğin DIALOG_VIPCMDS adlı bir dialog oluşturdunuz, modunuzun başına #define DIALOG_VIPCMDS         9012(bütün sayılardan farklı olması lazım, aynı olursa dialoglar çakışır.)

Giriş için sunucu kuralları'nı indirmek için Tıkla bana (https://hastebin.com/odipetixug.cs)
Wiki-Samp anlatımını görmek isterseniz : Tıkla bana (http://wiki.sa-mp.com/wiki/OnDialogResponse)

Herkese kolay gelsin.
:kahkaha:



Başlık: Ynt: Dialog nasıl oluşturulur?
Gönderen: TRSinan28 - 08 Ocak 2018, 20:01:29
Yeniler için yararlı bir anlatım :) Eline sağlık.
Başlık: Ynt: Dialog nasıl oluşturulur?
Gönderen: staple - 08 Ocak 2018, 20:03:13
[quote author=
Sinan28 link=topic=3151.msg28762#msg28762 date=1515430889]
Yeniler için yararlı bir anlatım :) Eline sağlık.
[/quote]

Yorumun için teşekkürler.
Başlık: Ynt: Dialog nasıl oluşturulur?
Gönderen: pag - 08 Ocak 2018, 20:24:28
Güzel anlatım,eline sağlık.
Başlık: Ynt: Dialog nasıl oluşturulur?
Gönderen: iZombie - 08 Ocak 2018, 20:34:57
Bilmeyenler için iyi anlatim olacak
Başlık: Ynt: Dialog nasıl oluşturulur?
Gönderen: gardiyantr - 08 Ocak 2018, 20:35:47
Ellerine sağlık güzel kardeşim benim. :helal:
Başlık: Ynt: Dialog nasıl oluşturulur?
Gönderen: Jizzy - 09 Ocak 2018, 11:33:05
Güzel anlatım,eline sağlık.
Başlık: Ynt: Dialog nasıl oluşturulur?
Gönderen: staple - 09 Ocak 2018, 16:34:09
Değerli yorumlarınız için teşekkürler.
Başlık: Ynt: Dialog nasıl oluşturulur?
Gönderen: Kraus - 10 Ocak 2018, 22:15:55
Dialog tiplerinin anlatımı da yapılsa iyi olurdu. Yine de teşekkürler.
Başlık: Ynt: Dialog nasıl oluşturulur?
Gönderen: Dyternal - 10 Ocak 2018, 22:41:50
Anlamamışsın. Kodları verip geçmişin ID'ler cakisirsa nasıl değiştirecek anlat bunları
Başlık: Ynt: Dialog nasıl oluşturulur?
Gönderen: Paradox - 10 Ocak 2018, 22:48:53
Eline emeğine sağlık kardeşim.
Başlık: Ynt: Dialog nasıl oluşturulur?
Gönderen: staple - 11 Ocak 2018, 22:16:27
Alıntı yapılan: Kraus - 10 Ocak 2018, 22:15:55

Dialog tiplerinin anlatımı da yapılsa iyi olurdu. Yine de teşekkürler.

Rica ederim.

Alıntı yapılan: WonK - 10 Ocak 2018, 22:48:53

Eline emeğine sağlık kardeşim.


Teşekkürler.  :evet:
Başlık: Ynt: Dialog nasıl oluşturulur?
Gönderen: staple - 01 Mayıs 2018, 13:59:16
Konu güncellendi, dialoglar birbiriyle çakışmaması için bilgiler eklendi.
Başlık: Ynt: Dialog nasıl oluşturulur?
Gönderen: _DecaT - 01 Mayıs 2018, 17:54:17
Güzel Anlatım, Sendende Bu Beklenir Zaten.  :helal: :helal:
Başlık: Ynt: Dialog nasıl oluşturulur?
Gönderen: Christian - 01 Mayıs 2018, 17:57:00
/ayarlar için yaptım çalışmayı durduru Pawno.
Başlık: Ynt: Dialog nasıl oluşturulur?
Gönderen: staple - 01 Mayıs 2018, 18:03:30
Alıntı yapılan: _DecaT - 01 Mayıs 2018, 17:54:17

Güzel Anlatım, Sendende Bu Beklenir Zaten.  :helal: :helal:


Yorumun için teşekkür ederim.

Alıntı yapılan: Christian - 01 Mayıs 2018, 17:57:00

/ayarlar için yaptım çalışmayı durduru Pawno.


Yanlış yapmışsınızdır. :D
Başlık: Ynt: Dialog nasıl oluşturulur?
Gönderen: Jawié - 05 Mayıs 2018, 00:47:04
Eksik anlatım. Diyalog tiplerini de tanıtmalısın. Konu içeriğini zenginleştir ve düzenli bir biçime sok. Sadece msgbox üzerinden yola çıkmışsın.
Başlık: Ynt: Dialog nasıl oluşturulur?
Gönderen: staple - 08 Mayıs 2018, 23:30:45
Alıntı yapılan: Jawié - 05 Mayıs 2018, 00:47:04

Eksik anlatım. Diyalog tiplerini de tanıtmalısın. Konu içeriğini zenginleştir ve düzenli bir biçime sok. Sadece msgbox üzerinden yola çıkmışsın.


Şu zamanlarda yoğun olduğum için konuyu güncelleyemedim. Yakın zamanda konu zenginleştirilecektir. Yorumun için teşekkürler.
Başlık: Ynt: Dialog nasıl oluşturulur?
Gönderen: Patrione - 09 Mayıs 2018, 21:59:57
Birçok yararlı App programında bulunuyor fakat yinede üşengeç arkadaşımızın geleceği ve düzenleyerek kendine uyarlayacağı kodlar paylaşarak yararlı bir konu oluşturmuşsun. :)
Başlık: Ynt: Dialog nasıl oluşturulur?
Gönderen: Muteo - 11 Mayıs 2018, 16:45:19
Ellerine sağlık.  :helal:
Başlık: Ynt: Dialog nasıl oluşturulur?
Gönderen: staple - 21 Mayıs 2018, 23:11:47
Alıntı yapılan: orcununal - 11 Mayıs 2018, 16:45:19

Ellerine sağlık.  :helal:


Değerli yorumlarınız için teşekkürler.

En yakın zamanda dialog tiplerini konuya ekleyeceğim.
Başlık: Ynt: Dialog nasıl oluşturulur?
Gönderen: pawnwhite - 15 Haziran 2018, 23:51:47
Güzel anlatım, teşekkürler.
Başlık: Ynt: Dialog nasıl oluşturulur?
Gönderen: FelleR - 27 Haziran 2019, 01:30:34
Yararlı.
Başlık: Ynt: Dialog nasıl oluşturulur?
Gönderen: Reazam - 21 Temmuz 2022, 20:45:02
Error 029 veriyo ne yapmalıyım
Başlık: Ynt: Dialog nasıl oluşturulur?
Gönderen: BuRMiLLaT - 30 Temmuz 2022, 20:32:17
İdareli sağol :)