Çözüldü Skriptte problem var

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

evroshsama

Birisi mi Spawnlandı?
Katılım
23 Eylül 2024
Mesajlar
3
Elmaslar
0
Puan
70
Yaş
25
Konum
İstanbul
Merhabalar,

Kod:
options:
    callPrefix: call
    voiceChatCommand: /voicechat join call1 call1159357aass
variables:
    

command /call <offlineplayer>:
    trigger:
        if arg-1 is online:
            set {_caller} to player
            set {_receiver} to arg-1
            send "%{_receiver}% çağrı aldı!" to {_receiver}
            send "%{_receiver}% çağrı yaptı. Aramayı kabul ediyorsan %{option.callPrefix}% accept %{_caller}% Red ediyorsan %{option.callPrefix}% deny %{_caller}%" to {_receiver}
            set {_lastCall.%{_caller}%} to {_receiver}
        else:
            send "Bu oyuncu çevrimiçi değil!" to {_caller}

command /callac <offlineplayer>:
    trigger:
        if {_lastCall.%player%} is not set:
            send "Hiçbir çağrıyı kabul etmiyorsun!" to player
            stop
        if arg-1 is {_lastCall.%player%}:
            send "Aramayı kabul ettin!" to player
            execute player command "{option.voiceChatCommand}"
            delete {_lastCall.%player%}
        else:
            send "Bu çağrıyı kabul edemezsin!" to player

command /callde <offlineplayer>:
    trigger:
        if {_lastCall.%player%} is not set:
            send "Hiçbir çağrıyı reddetmiyorsun!" to player
            stop
        if arg-1 is {_lastCall.%player%}:
            send "Arama reddedildi!" to player
            delete {_lastCall.%player%}
        else:
            send "Bu çağrıyı reddedemezsin!" to player

Elimde böyle bir kod var ancak "oyuncu2" tarafından"/call oyuncu1" yazdığımda "oyuncu1"'e mesaj gidiyor "oyuncu1" "/callac oyuncu2" yazdığında " send "Hiçbir çağrıyı kabul etmiyorsun!" to player" şuradaki mesajı "oyuncu1"'e gönderiyor sebebi nedir?
 
Merhaba konsolda bir hata çıkıyorsa hatayı iletebilir misin lütfen.
 
{_lastCall.%player%} değişkenleri geçici değişkendir. {_lastCall.%player%} değişkeni ancak kod başladığında işaretlenirse çalışır ve kod bittikten sonra kaybolur. {_lastCall.%player%} yerine {lastCall.%player%} kullanın. bu kalıcı yapar ve her komut satırında çağırılabilir.

İyi forumlar <3
 
{_lastCall.%player%} değişkenleri geçici değişkendir. {_lastCall.%player%} değişkeni ancak kod başladığında işaretlenirse çalışır ve kod bittikten sonra kaybolur. {_lastCall.%player%} yerine {lastCall.%player%} kullanın. bu kalıcı yapar ve her komut satırında çağırılabilir.

İyi forumlar <3
Hocam gene aynı hatayı alıyorum. :(
 
Hocam gene aynı hatayı alıyorum. :(
Kod:
options:
    callPrefix: call
    voiceChatCommand: /voicechat join call1 call1159357aass

variables:
    {lastCall::*} = offlineplayer list

command /call <offlineplayer>:
    trigger:
        if arg-1 is online:
            set {_caller} to player
            set {_receiver} to arg-1
            send "%{_caller}% sana çağrı yapıyor!" to {_receiver}
            send "Çağrı yaptın. Aramayı kabul ediyorsan '/%{option.callPrefix}% accept %{_caller}%' veya reddediyorsan '/%{option.callPrefix}% deny %{_caller}%'" to {_receiver}
            set {lastCall::%{_caller}%} to {_receiver}
        else:
            send "Bu oyuncu çevrimiçi değil!" to player

command /callac <offlineplayer>:
    trigger:
        if {lastCall::%player%} is not set:
            send "Hiçbir çağrıyı kabul etmiyorsun!" to player
            stop
        if arg-1 is {lastCall::%player%}:
            send "Aramayı kabul ettin!" to player
            send "%player% aramanı kabul etti!" to arg-1
            execute player command "{option.voiceChatCommand}"
            delete {lastCall::%player%}
        else:
            send "Bu çağrıyı kabul edemezsin!" to player

command /callde <offlineplayer>:
    trigger:
        if {lastCall::%player%} is not set:
            send "Hiçbir çağrıyı reddetmiyorsun!" to player
            stop
        if arg-1 is {lastCall::%player%}:
            send "Arama reddedildi!" to player
            send "%player% aramanı reddetti!" to arg-1
            delete {lastCall::%player%}
        else:
            send "Bu çağrıyı reddedemezsin!" to player

Yapılan Değişiklikler:

1. Değişken kullanımı düzeltildi: {lastCall::%player%} yapısı daha stabil ve takip etmesi kolay bir yapıdadır. Her oyuncunun son çağrı bilgisi doğru şekilde kaydedilecektir.


2. Mesajlaşmalar ayarlandı: Kabul ve red işlemlerinde iki taraflı doğru mesajların gönderilmesi sağlandı. Böylece, hem çağrıyı başlatan hem de kabul/ret eden doğru mesajları alır.


3. Hata kontrolü: Çağrı kabul ya da reddetme sırasında doğru kişiyle eşleşmeme durumunda doğru hata mesajları gönderildi.



Bu şekilde kodun, her iki oyuncuya da doğru mesajları gönderecektir ve çağrıları kabul etme/reddetme süreçlerinde karışıklık olmayacaktır.
 
Kod:
options:
    callPrefix: call
    voiceChatCommand: /voicechat join call1 call1159357aass

variables:
    {_lastCall.%player%} = player

command /call <player>:
    trigger:
        if arg-1 is online:
            set {_caller} to player
            set {_receiver} to arg-1
            send "%{_caller}% seni arıyor!" to {_receiver}
            send "Aramayı kabul etmek için /%{option.callPrefix}% accept %{_caller}% yaz. Reddetmek için /%{option.callPrefix}% deny %{_caller}% yaz." to {_receiver}
            set {_lastCall.%{_caller}%} to {_receiver}
        else:
            send "Bu oyuncu çevrimiçi değil!" to {_caller}

command /callac <player>:
    trigger:
        if {_lastCall.%player%} is not set:
            send "Kabul edebileceğin bir çağrı yok!" to player
            stop
        if arg-1 is {_lastCall.%player%}:
            send "Aramayı kabul ettin!" to player
            execute player command "%{option.voiceChatCommand}%"
            delete {_lastCall.%player%}
        else:
            send "Bu çağrıyı kabul edemezsin!" to player

command /callde <player>:
    trigger:
        if {_lastCall.%player%} is not set:
            send "Reddedebileceğin bir çağrı yok!" to player
            stop
        if arg-1 is {_lastCall.%player%}:
            send "Aramayı reddettin!" to player
            delete {_lastCall.%player%}
        else:
            send "Bu çağrıyı reddedemezsin!" to player
 
Sorununuz, callac ve callde komutlarında {_lastCall.%player%} değişkeninin yanlış şekilde kullanılmasıyla ilgili. Bu değişken, her oyuncu için saklanıyor, ancak arg-1 ile karşılaştırma yaparken oyuncu değişkenini kullanmıyorsunuz.

Kod:
command /callac <offlineplayer>:

    trigger:

        if {_lastCall.%player%} is not set:

            send "Hiçbir çağrıyı kabul etmiyorsun!" to player

            stop

        if arg-1 is {_lastCall.%player%}:

            send "Aramayı kabul ettin!" to player

            execute player command "{option.voiceChatCommand}"

            delete {_lastCall.%player%}

        else:

            send "Bu çağrıyı kabul edemezsin!" to player



command /callde <offlineplayer>:

    trigger:

        if {_lastCall.%player%} is not set:

            send "Hiçbir çağrıyı reddetmiyorsun!" to player

            stop

        if arg-1 is {_lastCall.%player%}:

            send "Arama reddedildi!" to player

            delete {_lastCall.%player%}

        else:

            send "Bu çağrıyı reddedemezsin!" to player
 
Moderatör tarafından düzenlendi:
Hocam en iyisi siz bir tane tpa skript'i bulun ve editleyin. Sizin Skript'iniz zaten doğru çalışmayacaktır (Hata olmasa bile). Mantık olarak bile yanlış, hala yukarda {_lastCall.%player%} çalıştırmayı deneyenler var... Options kısmını bile değişken olarak kullanmaya çalışanlar var, {@voiceChatCommand}.

Dediğim gibi TPA skript'i tam olarak istediğiniz gibi çalışacak ancak oyuncuyu ışınlamak yerine komut yürütmesini sağlayabilirsiniz.

Örneğin bu:
Değerli ziyaretçimiz, içeriği görebilmek için şimdi giriş yapın veya kayıt olun.
 
Merhabalar,

Kod:
options:
    callPrefix: call
    voiceChatCommand: /voicechat join call1 call1159357aass
variables:
   

command /call <offlineplayer>:
    trigger:
        if arg-1 is online:
            set {_caller} to player
            set {_receiver} to arg-1
            send "%{_receiver}% çağrı aldı!" to {_receiver}
            send "%{_receiver}% çağrı yaptı. Aramayı kabul ediyorsan %{option.callPrefix}% accept %{_caller}% Red ediyorsan %{option.callPrefix}% deny %{_caller}%" to {_receiver}
            set {_lastCall.%{_caller}%} to {_receiver}
        else:
            send "Bu oyuncu çevrimiçi değil!" to {_caller}

command /callac <offlineplayer>:
    trigger:
        if {_lastCall.%player%} is not set:
            send "Hiçbir çağrıyı kabul etmiyorsun!" to player
            stop
        if arg-1 is {_lastCall.%player%}:
            send "Aramayı kabul ettin!" to player
            execute player command "{option.voiceChatCommand}"
            delete {_lastCall.%player%}
        else:
            send "Bu çağrıyı kabul edemezsin!" to player

command /callde <offlineplayer>:
    trigger:
        if {_lastCall.%player%} is not set:
            send "Hiçbir çağrıyı reddetmiyorsun!" to player
            stop
        if arg-1 is {_lastCall.%player%}:
            send "Arama reddedildi!" to player
            delete {_lastCall.%player%}
        else:
            send "Bu çağrıyı reddedemezsin!" to player

Elimde böyle bir kod var ancak "oyuncu2" tarafından"/call oyuncu1" yazdığımda "oyuncu1"'e mesaj gidiyor "oyuncu1" "/callac oyuncu2" yazdığında " send "Hiçbir çağrıyı kabul etmiyorsun!" to player" şuradaki mesajı "oyuncu1"'e gönderiyor sebebi nedir?
Skript eklentiniz son sürüm mü?
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

Hala Discord sunucumuza katılmadın mı?

Büyük bir topluluğun parçası ol, etkinliklere katıl ve özel hediyeler kazanma şansı yakala!

Şimdi Katıl
Üst