İstek skript ek

GoktugQA

Ağaç Yumruklayıcı
En iyi cevaplar
0
on place of light gray stained glass:
if player is in world "BoxPvP":
execute player command "//hsphere light_gray_stained_glass 5"

şu skripte 30 saniye sonra //undo çekmesini ayarlarmısınız birde bunun permissionu nedir acaba
 

na2000

Altın Madencisi
En iyi cevaplar
56
Illa worldedit ile yapacagim diyorsan skript-worldedit veya skUtilities ile yapabilirsin. (skUtilities ust surumler icin var mi bilmiyorum, skript-worldedit 1.20 destekliyor gozukuyor ancak daha ust surumleri destekliyor mu yine bilmiyorum.)

Oyuncuya komutla yaptirmak istiyorsan skUtilities ile yapabilirsin: make player run command "KOMUT" as op, komudu perm vermeden sanki operatormus gibi calistirir.

skript-worldedit ile yapmak istiyorsan create a hollow sphere made out of BLOK with radii (5,5,5) at LOKASYON ile ici bos bir kure olusturabilirsin.

Worldeditsiz, direk sadece skript ile yapmak istiyorsan:
Kod:
options:
    blok: light_gray_stained_glass #<-- Blockdatasi kullaniyor!
    yaricap: 5
    sure: 30 seconds

on place of light gray stained glass:
    set {_r} to {@yaricap}
    set {_center} to location of event-block
    loop blocks in radius {_r} of {_center}:
        distance between {_center} and loop-block >= {_r}-1
        delBlockAfter(loop-block, {@blok}, {@sure})

local function delBlockAfter(b: block, rb: blockdata, t: timespan):
    set {_bd} to blockdata of {_b}
    set block at {_b} to {_rb}
    wait {_t}
    set block at {_b} to {_bd}
Boyle birsey kullanabilirsin.

Tam bir kure degil de oyuncunun baktigi yone dogru yarim bir kure olusturmak istiyorsan da boyle birsey kullanabilirsin:
Kod:
options:
    blok: light_gray_stained_glass #<-- Blockdatasi kullaniyor!
    yaricap: 5
    sure: 30 seconds

on place of light gray stained glass:
    set {_r} to {@yaricap}
    set {_center} to location of event-block
    set {_dir} to vector(1, 1, 1)
    set pitch of {_dir} to 0
    set yaw of {_dir} to yaw of player
    loop blocks in radius {_r} of {_center}:
        distance between {_center} and loop-block >= {_r}-1
        set {_v} to vector from the loop-block to {_center}
        if {_dir} dot {_v} <= 0:
            delBlockAfter(loop-block, {@blok}, {@sure})

local function delBlockAfter(b: block, rb: blockdata, t: timespan):
    set {_bd} to blockdata of {_b}
    set block at {_b} to {_rb}
    wait {_t}
    set block at {_b} to {_bd}
Bu yaptiklarim tabi basit kodlar, kendin gelistirebilirsin istedigin sekilde. Umarim yardimci olabilmisimdir ^^
 

GoktugQA

Ağaç Yumruklayıcı
En iyi cevaplar
0
Illa worldedit ile yapacagim diyorsan skript-worldedit veya skUtilities ile yapabilirsin. (skUtilities ust surumler icin var mi bilmiyorum, skript-worldedit 1.20 destekliyor gozukuyor ancak daha ust surumleri destekliyor mu yine bilmiyorum.)

Oyuncuya komutla yaptirmak istiyorsan skUtilities ile yapabilirsin: make player run command "KOMUT" as op, komudu perm vermeden sanki operatormus gibi calistirir.

skript-worldedit ile yapmak istiyorsan create a hollow sphere made out of BLOK with radii (5,5,5) at LOKASYON ile ici bos bir kure olusturabilirsin.

Worldeditsiz, direk sadece skript ile yapmak istiyorsan:
Kod:
options:
    blok: light_gray_stained_glass #<-- Blockdatasi kullaniyor!
    yaricap: 5
    sure: 30 seconds

on place of light gray stained glass:
    set {_r} to {@yaricap}
    set {_center} to location of event-block
    loop blocks in radius {_r} of {_center}:
        distance between {_center} and loop-block >= {_r}-1
        delBlockAfter(loop-block, {@blok}, {@sure})

local function delBlockAfter(b: block, rb: blockdata, t: timespan):
    set {_bd} to blockdata of {_b}
    set block at {_b} to {_rb}
    wait {_t}
    set block at {_b} to {_bd}
Boyle birsey kullanabilirsin.

Tam bir kure degil de oyuncunun baktigi yone dogru yarim bir kure olusturmak istiyorsan da boyle birsey kullanabilirsin:
Kod:
options:
    blok: light_gray_stained_glass #<-- Blockdatasi kullaniyor!
    yaricap: 5
    sure: 30 seconds

on place of light gray stained glass:
    set {_r} to {@yaricap}
    set {_center} to location of event-block
    set {_dir} to vector(1, 1, 1)
    set pitch of {_dir} to 0
    set yaw of {_dir} to yaw of player
    loop blocks in radius {_r} of {_center}:
        distance between {_center} and loop-block >= {_r}-1
        set {_v} to vector from the loop-block to {_center}
        if {_dir} dot {_v} <= 0:
            delBlockAfter(loop-block, {@blok}, {@sure})

local function delBlockAfter(b: block, rb: blockdata, t: timespan):
    set {_bd} to blockdata of {_b}
    set block at {_b} to {_rb}
    wait {_t}
    set block at {_b} to {_bd}
Bu yaptiklarim tabi basit kodlar, kendin gelistirebilirsin istedigin sekilde. Umarim yardimci olabilmisimdir ^^
Usta çok teşekkür ederim uğraşmışsın o kadar şu an işteyim eve gidince deniyecem ama bisey daha sorucam skriptle yaparsam oyuncuya permission vermeden bloğu koyunca yarım yuvarlak yapmasını sağlayabilirmiyim yada onun permissionu nedir
 

na2000

Altın Madencisi
En iyi cevaplar
56
Usta çok teşekkür ederim uğraşmışsın o kadar şu an işteyim eve gidince deniyecem ama bisey daha sorucam skriptle yaparsam oyuncuya permission vermeden bloğu koyunca yarım yuvarlak yapmasını sağlayabilirmiyim yada onun permissionu nedir
Attigim kodlar herhangi bir permission gerektirmiyor eger permission eklemek istiyorsan eventin icine player has permission "PERMISSION ADI" ile ekleyebilirsin.
 

GoktugQA

Ağaç Yumruklayıcı
En iyi cevaplar
0
Ikinci degeri blockdata degil de itemtype olarak gormus nedense?
{@blok} yerine light_gray_stained_glass yazmayi dene. Yine olmazsa {@blok} yerine minecraft:light_gray_stained_glass yazmayi dene.
usta bu çalıştı ama galiba beni yanlış anlamışsın ben oyuncunun içinde kalıcağı bir yuvarlak istiyorum yani blok koyunca o bölgede bir yuvarlak oluşsun ama oyuncu bu yuvarlağın içinde kalsın ve 30 saniye boyunca çıkamasın demeye çalışmıştım
 

na2000

Altın Madencisi
En iyi cevaplar
56
usta bu çalıştı ama galiba beni yanlış anlamışsın ben oyuncunun içinde kalıcağı bir yuvarlak istiyorum yani blok koyunca o bölgede bir yuvarlak oluşsun ama oyuncu bu yuvarlağın içinde kalsın ve 30 saniye boyunca çıkamasın demeye çalışmıştım
Aciklamada detay vermemissin sadece kure olusturmaya calisiyorsun zannettim. "Oyuncu cikamasin"dan kastin olusan kurenin oyuncu (veya tum oyuncular?) tarafindan kirilamamasi mi?

Eger oyleyse bu isini gorur (Koyulan blogun etrafinda tam bir kure olusturup, olusturulan kurenin tum oyuncular tarafindan kirilmasini engeller):
Kod:
options:
    yaricap: 5
    sure: 30 seconds

on place of light gray stained glass:
    set {_r} to {@yaricap}
    set {_center} to location of event-block
    loop blocks in radius {_r} of {_center}:
        distance between {_center} and loop-block >= {_r}-1
        delBlockAfter(loop-block, light_gray_stained_glass, {@sure})

local function delBlockAfter(b: block, rb: blockdata, t: timespan):
    set {_bd} to blockdata of {_b}
    set block at {_b} to {_rb}
    set metadata value "UnbreakableBlock" of block at {_b} to true
    wait {_t}
    set block at {_b} to {_bd}
    delete metadata value "UnbreakableBlock" of block at {_b}

on break:
    event-block's metadata value "UnbreakableBlock" is true
    cancel event
 

GoktugQA

Ağaç Yumruklayıcı
En iyi cevaplar
0
Aciklamada detay vermemissin sadece kure olusturmaya calisiyorsun zannettim. "Oyuncu cikamasin"dan kastin olusan kurenin oyuncu (veya tum oyuncular?) tarafindan kirilamamasi mi?

Eger oyleyse bu isini gorur (Koyulan blogun etrafinda tam bir kure olusturup, olusturulan kurenin tum oyuncular tarafindan kirilmasini engeller):
Kod:
options:
    yaricap: 5
    sure: 30 seconds

on place of light gray stained glass:
    set {_r} to {@yaricap}
    set {_center} to location of event-block
    loop blocks in radius {_r} of {_center}:
        distance between {_center} and loop-block >= {_r}-1
        delBlockAfter(loop-block, light_gray_stained_glass, {@sure})

local function delBlockAfter(b: block, rb: blockdata, t: timespan):
    set {_bd} to blockdata of {_b}
    set block at {_b} to {_rb}
    set metadata value "UnbreakableBlock" of block at {_b} to true
    wait {_t}
    set block at {_b} to {_bd}
    delete metadata value "UnbreakableBlock" of block at {_b}

on break:
    event-block's metadata value "UnbreakableBlock" is true
    cancel event
şuanda çalıştı ama küre camdan değil boşluktan oluşuyor yani koyduğum bloğun etrafında belirtilen büyüklükte boşluktan küre oluşuyor birde yetkisi olmayan bir oyuncu yaptığı zaman worldguard olan yerleride kırıyor o düzeltilebilirmi ?
 

na2000

Altın Madencisi
En iyi cevaplar
56
şuanda çalıştı ama küre camdan değil boşluktan oluşuyor yani koyduğum bloğun etrafında belirtilen büyüklükte boşluktan küre oluşuyor birde yetkisi olmayan bir oyuncu yaptığı zaman worldguard olan yerleride kırıyor o düzeltilebilirmi ?
Ilk attigim kodda da mi cam koymuyordu (duzelttikten sonra)? Blockdatasini degistirmeyi dene (minecraft:light_gray_stained_glass olabilir), ust surumleri cok bilmiyorum nasil calisiyor. Ayrica 30 saniye (ya da senin belirttigin zamandan) sonra zaten eski haline donmesi lazim.
 

GoktugQA

Ağaç Yumruklayıcı
En iyi cevaplar
0
Ilk attigim kodda da mi cam koymuyordu (duzelttikten sonra)? Blockdatasini degistirmeyi dene (minecraft:light_gray_stained_glass olabilir), ust surumleri cok bilmiyorum nasil calisiyor. Ayrica 30 saniye (ya da senin belirttigin zamandan) sonra zaten eski haline donmesi lazim.
evet eski haline dönüyor fakat hala boşluk oluşturuyor cam koymuyor
 

na2000

Altın Madencisi
En iyi cevaplar
56
evet eski haline dönüyor fakat hala boşluk oluşturuyor cam koymuyor
Kod:
on right click:
    send blockdata of target block
Bu kodu bi deneyebilir misin? Yere bir o gri boyali camdan koyup uzerine sag tiklayip sohbete yazdigini atabilirsen sevinirim. (Sonra bu kodu silebilirisin.)
 
Üst