GTAMulti - GTA Türkiye

San Andreas Multiplayer => Yardım Talepleri => PAWN Kodlama => Kilitli Konular => Konuyu başlatan: KAYBETMEYEN - 25 Ocak 2020, 14:11:49

Başlık: SendClientMessage'de inputtext kullanmak.
Gönderen: KAYBETMEYEN - 25 Ocak 2020, 14:11:49
    SendClientMessage(playerid, -1, inputtext[24], "''%s'' içerikli mesajınız gönderilmiştir.");Kişi inputtext'e yazdığını gönderdiğinde chatine kişinin yazdığı yazının ve "içerikli mesajınız gönderilmiştir."'in yansımasını istiyorum fakat
Untitled.pwn(240) : warning 202: number of arguments does not match definitionCompile ederken böyle bir hata alıyorum.
Başlık: Ynt: SendClientMessage'de inputtext kullanmak.
Gönderen: KAYBETMEYEN - 25 Ocak 2020, 14:17:14
if(dialogid == DIALOG_2)
{
    if(response)
    {
    SendClientMessage(playerid, -1, inputtext[24], "''%s'' içerikli mesajınız gönderilmiştir.");
    }
     }
{
if(!response)
{
SendClientMessage(playerid, 2, "İptal ettin.");
}
  }
return 1;
}   
Başlık: Ynt: SendClientMessage'de inputtext kullanmak.
Gönderen: Muteo - 25 Ocak 2020, 14:32:04
PAWN Kodu: Seç
new str[64];
format(str, sizeof(str), "'%s' içerikli mesajınız gönderilmiştir.", inputtext);
SendClientMessage(playerid, -1, str);
Başlık: Ynt: SendClientMessage'de inputtext kullanmak.
Gönderen: KAYBETMEYEN - 25 Ocak 2020, 23:09:54
Alıntı yapılan: Muteo - 25 Ocak 2020, 14:32:04
PAWN Kodu: Seç
new str[64];
format(str, sizeof(str), "'%s' içerikli mesajınız gönderilmiştir.", inputtext);
SendClientMessage(playerid, -1, str);
Başarılı fakat neden böyle yaptığımı da anlatırsanız yeni kişilerin ve benim önümü açmış olursunuz teşekkürler. :)
Başlık: Ynt: SendClientMessage'de inputtext kullanmak.
Gönderen: Submarine - 26 Ocak 2020, 00:13:04
Alıntı yapılan: xaisen - 25 Ocak 2020, 23:09:54
Alıntı yapılan: Muteo - 25 Ocak 2020, 14:32:04
PAWN Kodu: Seç
new str[64];
format(str, sizeof(str), "'%s' içerikli mesajınız gönderilmiştir.", inputtext);
SendClientMessage(playerid, -1, str);
Başarılı fakat neden böyle yaptığımı da anlatırsanız yeni kişilerin ve benim önümü açmış olursunuz teşekkürler. :)
Hocam arkadaşın yaptığı şu :
Önce str adında 64 boyutlu bir değişken oluşturuyor yazı verisini tutmak için

PAWN Kodu: Seç
new str[64]; şeklindedir

Daha sonra format kullanarak inputtext'te yazılan yazıyı 64 boyutlu str değişkeni içerisine alacağız.Başta belirtmiştim 64 boyutlu diye ne bu diye sorarsan şu 64 yazılan karakter sayısıdır yani şöyle yazı 64 karaktere kadar yazılacaktır.Karakter sayısında aşım olduğu zaman yani 64 e kadar geldikten sonra yazı daha yazılmayacaktır 64.olduğu kısımda kalacaktır.

PAWN Kodu: Seç
format(str, sizeof(str), "'%s' içerikli mesajınız gönderilmiştir.", inputtext); şeklinde yazılmıştır.

Yazı içerisindeki %s bizim inputtext yani dialogtaki textboxımızdır.Yani yazı yazma kutucuğudur.Yazının yazacağı yere %s yazıp format içerisindeki " " işaretlerinin yanına bir virgül atıp inputtext yazıyoruz ki inputtextte yazdığımız yazı sendclientmessage mesajında yazsın.Yazılar için string (%s) sayısal veriler için ise integer (%d) koordinat değerleri için ise float (%f) kullanırız

Daha işimiz bitmedi bunu yazdırması kaldı.SendClientMessage kullanarak yazıyı ekrana yazdıracağız

PAWN Kodu: Seç
SendClientMessage(playerid, -1, str); şeklinde yaptık.

Buradaki mantık playerid kısmına yazıyı görecek oyuncuya yani playerid ise komutu kullanan kişinin kendisi görecektir.-1 ise beyaz renk anlamına gelmektedir.-1 kısmına renk girilmelidir.str kısmına yani bizim format içerisine aldığımız değişkeni oraya yazıyoruz "" olarak yazmamıza gerek yok çünkü formatta bunu yaptık.Hatalarım / Eksikliklerim varsa yorum atabilirsin sampı pawnoyu bazı arkadaşlar sebebi ile bıraktım unutmuş olabilirim bazı şeyleri.Yardımcı olabildiysem ne mutlu ki bana :)

EDİT: SendClientMessage üzerinde inputtexti tanıtmaya kalkarsan number of argument warningi alırsın.(Warning hata değil uyarıdır fakat hata olmayışı kodun çalışacağı anlamına gelmez.Warning verse bile çalışmayacaktır.)
Başlık: Ynt: SendClientMessage'de inputtext kullanmak.
Gönderen: KAYBETMEYEN - 26 Ocak 2020, 01:25:14
Alıntı yapılan: Submarine - 26 Ocak 2020, 00:13:04
Alıntı yapılan: xaisen - 25 Ocak 2020, 23:09:54
Alıntı yapılan: Muteo - 25 Ocak 2020, 14:32:04
PAWN Kodu: Seç
new str[64];
format(str, sizeof(str), "'%s' içerikli mesajınız gönderilmiştir.", inputtext);
SendClientMessage(playerid, -1, str);
Başarılı fakat neden böyle yaptığımı da anlatırsanız yeni kişilerin ve benim önümü açmış olursunuz teşekkürler. :)
Hocam arkadaşın yaptığı şu :
Önce str adında 64 boyutlu bir değişken oluşturuyor yazı verisini tutmak için

PAWN Kodu: Seç
new str[64]; şeklindedir

Daha sonra format kullanarak inputtext'te yazılan yazıyı 64 boyutlu str değişkeni içerisine alacağız.Başta belirtmiştim 64 boyutlu diye ne bu diye sorarsan şu 64 yazılan karakter sayısıdır yani şöyle yazı 64 karaktere kadar yazılacaktır.Karakter sayısında aşım olduğu zaman yani 64 e kadar geldikten sonra yazı daha yazılmayacaktır 64.olduğu kısımda kalacaktır.

PAWN Kodu: Seç
format(str, sizeof(str), "'%s' içerikli mesajınız gönderilmiştir.", inputtext); şeklinde yazılmıştır.

Yazı içerisindeki %s bizim inputtext yani dialogtaki textboxımızdır.Yani yazı yazma kutucuğudur.Yazının yazacağı yere %s yazıp format içerisindeki " " işaretlerinin yanına bir virgül atıp inputtext yazıyoruz ki inputtextte yazdığımız yazı sendclientmessage mesajında yazsın.Yazılar için string (%s) sayısal veriler için ise integer (%d) koordinat değerleri için ise float (%f) kullanırız

Daha işimiz bitmedi bunu yazdırması kaldı.SendClientMessage kullanarak yazıyı ekrana yazdıracağız

PAWN Kodu: Seç
SendClientMessage(playerid, -1, str); şeklinde yaptık.

Buradaki mantık playerid kısmına yazıyı görecek oyuncuya yani playerid ise komutu kullanan kişinin kendisi görecektir.-1 ise beyaz renk anlamına gelmektedir.-1 kısmına renk girilmelidir.str kısmına yani bizim format içerisine aldığımız değişkeni oraya yazıyoruz "" olarak yazmamıza gerek yok çünkü formatta bunu yaptık.Hatalarım / Eksikliklerim varsa yorum atabilirsin sampı pawnoyu bazı arkadaşlar sebebi ile bıraktım unutmuş olabilirim bazı şeyleri.Yardımcı olabildiysem ne mutlu ki bana :)

EDİT: SendClientMessage üzerinde inputtexti tanıtmaya kalkarsan number of argument warningi alırsın.(Warning hata değil uyarıdır fakat hata olmayışı kodun çalışacağı anlamına gelmez.Warning verse bile çalışmayacaktır.)
Vaktini ayırıp da yazdığın için teşekkürler!