- En iyi cevaplar
- 0
Merhaba arkadaşlar, uzun zamandır skript kodlamıyordum,
Sunucum için bir görev skripti kodlamıştım,
Sizinle paylaşayım dedim.
Hatam varsa,önceden yapıldıysa kusura bakmayın.
İyi Forumlar
Görevler;
Zombi.
Kırıktaş.
Demir.
Komutlar;
NPC oluşturmak için, /gorev npc
Görevi iptal etmek için, /gorev iptal
Bilgi;
NPC'e sağ tıklayınca bir menü açılır,
Menüde 3 görev olacaktır,
Biri demir cevheri, biri kırıktaş, biri de zombi kafası.
Eğer oyuncu bunlardan birine tıklarsa görev başlar.
Bir görev birden fazla yapılabilir.
Görev yapılırken başka bir görev yapılmaz.
Çalışma şekli;
16 zombi öldürünce "16 zombi öldürdün" yazısı gelir.
Envanterde 32 tane kırık taş olmasıyla görev bitmez,
32 tane kırık taş kırılınca görev biter, kırık taşlar gitmez.
Envanterde 120 tane demir olmasıyla görev bitmez,
120 tane demir cevheri kırılınca görev biter, demirler gitmez.
Kod;
Sunucum için bir görev skripti kodlamıştım,
Sizinle paylaşayım dedim.
Hatam varsa,önceden yapıldıysa kusura bakmayın.
İyi Forumlar
Görevler;
Zombi.
Kırıktaş.
Demir.
Komutlar;
NPC oluşturmak için, /gorev npc
Görevi iptal etmek için, /gorev iptal
Bilgi;
NPC'e sağ tıklayınca bir menü açılır,
Menüde 3 görev olacaktır,
Biri demir cevheri, biri kırıktaş, biri de zombi kafası.
Eğer oyuncu bunlardan birine tıklarsa görev başlar.
Bir görev birden fazla yapılabilir.
Görev yapılırken başka bir görev yapılmaz.
Çalışma şekli;
16 zombi öldürünce "16 zombi öldürdün" yazısı gelir.
Envanterde 32 tane kırık taş olmasıyla görev bitmez,
32 tane kırık taş kırılınca görev biter, kırık taşlar gitmez.
Envanterde 120 tane demir olmasıyla görev bitmez,
120 tane demir cevheri kırılınca görev biter, demirler gitmez.
Kod;
Kod:
command /gorev [<text>] [<text>]:
trigger:
arg 1 is not set:
send "&7/gorev &3&o<iptal> <gorev>"
arg 1 is "npc":
player is op:
spawn villager at player
set spawned villager's display name to "&a&lGörev"
apply slowness 99999 to spawned villager for 999 days
apply jump -100 to spawned villager for 999 days
arg 1 is "iptal":
send "&c&lGorevler; &a&lzombi,demir,kiriktas"
arg 2 is "zombi":
{gorev.%player%.zombi} is 0:
send "&aZombi görevi iptal edildi."
delete {gorev.%player%.zombi}
delete {goreve.basladi.%player%}
delete {zombi.oldurdu.%player%}
else:
send "&aBu görevi almadın."
arg 2 is "demir":
{gorev.%player%.demir} is 0:
send "&aDemir görevi iptal edildi."
delete {gorev.%player%.demir}
delete {goreve.basladi.%player%}
delete {demir.topladi.%player%}
else:
send "&aBu görevi almadın."
arg 2 is "kiriktas":
{gorev.%player%.kiriktas} is 0:
send "&aKiriktas görevi iptal edildi."
delete {gorev.%player%.kiriktas}
delete {goreve.basladi.%player%}
delete {kiriktas.topladi.%player%}
else:
send "&aBu görevi almadın."
on rightclick on a villager:
villager's name is "&a&lGörev":
cancel event
open chest with 1 row named "" to player
wait 3 tick
{goreve.basladi.%player%} is not set:
format slot 0 of player with cobblestone named "&7Kiriktas" with lore "&c32 kiriktas --> &9150 RP" to close then run "gorevbaslat %player% kiriktas"
format slot 1 of player with iron ore named "&7Demir" with lore "&c120 demir cevheri --> &b16 elmas + &a300 RP" to close then run "gorevbaslat %player% demir"
format slot 2 of player with zombie head named "&7Zombi" with lore "&c16 zombi --> &a350 RP + &c1 elmas" to close then run "gorevbaslat %player% zombi"
else:
format slot 0 of player with nether star named "&7Kiriktas-Bitir" to close then run "gorevbitir %player% kiriktas"
format slot 1 of player with nether star named "&7Demir-Bitir" to close then run "gorevbitir %player% demir"
format slot 2 of player with nether star named "&7Zombi-Bitir" to close then run "gorevbitir %player% zombi"
command /gorevbaslat [<player>] [<text>]:
executable by: console
trigger:
arg 2 is "zombi":
arg 1 is set:
set {goreve.basladi.%arg-1%} to true
set {gorev.%arg-1%.zombi} to 0
set {zombi.oldurdu.%arg 1%} to 0
send "&cZombi görevine basladin, 16 zombi öldür ve gel." to arg-1
arg 2 is "kiriktas":
arg 1 is set:
set {goreve.basladi.%arg-1%} to true
set {gorev.%arg-1%.kiriktas} to 0
set {kiriktas.topladi.%arg 1%} to 0
send "&cKırıktaş görevine basladin, 32 kırıktaş topla ve gel." to arg-1
arg 2 is "demir":
arg 1 is set:
set {goreve.basladi.%arg-1%} to true
set {gorev.%arg-1%.demir} to 0
set {demir.topladi.%arg 1%} to 0
send "&cDemir görevine basladin, 120 demir cevheri topla ve gel." to arg-1
command /gorevbitir [<player>] [<text>]:
executable by: console
trigger:
arg 2 is "zombi":
arg 1 is set:
{gorev.%arg 1%.zombi} is 0:
if {zombi.oldurdu.%arg 1%} is greater than 16:
delete {gorev.%arg-1%.zombi}
delete {zombi.oldurdu.%arg 1%}
delete {goreve.basladi.%arg 1%}
send "&cZombi görevini basari ile bitirdin." to arg-1
send "&a+350 TL &c+ &a1 elmas" to arg-1
add 350 to player's balance
give 1 diamond to arg-1
else:
send "&4Henüz 16 zombi öldürmedin, senin öldürdüğün --> &a%{zombi.oldurdu.%arg 1%}%" to arg-1
send "&aEğer 16 ise ve görev bitmiyorsa 1 tane daha öldür." to arg-1
else:
send "&4Bu göreve baslamadin!" to arg-1
arg 2 is "kiriktas":
arg 1 is set:
{gorev.%arg 1%.kiriktas} is 0:
if {kiriktas.topladi.%arg 1%} is greater than 31:
delete {gorev.%arg-1%.kiriktas}
delete {kiriktas.topladi.%arg 1%}
delete {goreve.basladi.%arg 1%}
send "&cKiriktas görevini basari ile bitirdin." to arg-1
send "&a+150 TL" to arg-1
add 150 to player's balance
else:
send "&4Henüz 32 kiriktas toplamadin, senin topladigin --> &a%{kiriktas.topladi.%arg 1%}%" to arg-1
send "&aEğer 32 ise bir tane daha topla" to arg-1
else:
send "&4Bu göreve baslamadin!" to arg-1
arg 2 is "demir":
arg 1 is set:
{gorev.%arg 1%.demir} is 0:
if {demir.topladi.%arg 1%} is greater than 119:
delete {gorev.%arg-1%.demir}
delete {demir.topladi.%arg 1%}
delete {goreve.basladi.%arg 1%}
send "&cDemir görevini basari ile bitirdin." to arg-1
send "&a16 elmas" to arg-1
give 16 diamond to arg-1
execute console command "/eco give %arg 1% 300"
else:
send "&4Henüz 120 demir cevheri toplamadin, senin topladigin --> &a%{demir.topladi.%arg 1%}%" to arg-1
send "&aEğer 120 ise bir tane daha topla" to arg-1
else:
send "&4Bu göreve baslamadin!" to arg-1
on break:
block is iron ore:
{gorev.%player%.demir} is 0:
add 1 to {demir.topladi.%player%}
if {demir.topladi.%player%} is greater than 119:
send "&6[&8Gorev&6] &a120 demir cevheri topladin." to player
block is cobblestone or stone:
{gorev.%player%.kiriktas} is 0:
add 1 to {kiriktas.topladi.%player%}
if {kiriktas.topladi.%player%} is greater than 31:
send "&6[&8Gorev&6] &a32 kiriktas topladin." to player
on death of zombie:
{gorev.%attacker%.zombi} is 0:
add 1 to {zombi.oldurdu.%attacker%}
if {zombi.oldurdu.%attacker%} is greater than 15:
send "&6[&8Gorev&6] &a16 zombi öldürdün." to attacker
on damage:
victim's display name is "&a&lGörev":
cancel event
on rightclick on villager:
villager's name is "&a&lGörev":
if player is sneaking:
player is op:
kill targeted entity
Son düzenleme: