GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi
24 Kasım 2024, 22:08:32

Dialog nasıl oluşturulur?

Başlatan staple, 08 Ocak 2018, 19:24:18

« önceki - sonraki »

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

staple




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.





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.



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
Wiki-Samp anlatımını görmek isterseniz : Tıkla bana

Herkese kolay gelsin.
:kahkaha:



Son düzenlenme: 01 Mayıs 2018, 13:58:36 Destiny

TRSinan28

Yeniler için yararlı bir anlatım :) Eline sağlık.


staple

[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.


pag

Güzel anlatım,eline sağlık.


iZombie

Bilmeyenler için iyi anlatim olacak


gardiyantr

Ellerine sağlık güzel kardeşim benim. :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Ş

Jizzy

Güzel anlatım,eline sağlık.


staple

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


Kraus

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

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

Dyternal

Anlamamışsın. Kodları verip geçmişin ID'ler cakisirsa nasıl değiştirecek anlat bunları


Paradox

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


staple

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:


staple

Konu güncellendi, dialoglar birbiriyle çakışmaması için bilgiler eklendi.


_DecaT

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


Christian

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

Tell your men they work for me now, this is my city!