Ya Servere Futbol eklim dedim işte scpler bölümüne baktım bi scp gördüm ama çapraz giderken top kalıyo bunu nasıl düzeticez bi el atarmısınz ..

[itemdef i_soccer_ball] 
id=i_cannon_ball 
name=Soccer Ball 
type=t_soccer_ball 

on=@create 
color=029 
attr=08010 

on=@dclick 
if <distance>>2 
src.sysmessage Cok uzaktasiniz. 
return 1 
else
SRC.STAM=<SRC.STAM>-5 
f_calcio 
if <src.dir>==0 
var.mov=0 -1 0 
f_shoot 
return 1 
elseif (<src.dir>==1) 
var.mov=1 -1 0 
f_shoot 
return 1 
elseif (<src.dir>==2) 
var.mov=1 0 0 
f_shoot 
return 1 
elseif (<src.dir>==3) 
var.mov=1 1 0 
f_shoot 
return 1 
elseif (<src.dir>==4) 
var.mov=0 1 0 
f_shoot 
return 1 
elseif (<src.dir>==5) 
var.mov=-1 1 0 
f_shoot 
return 1 
elseif (<src.dir>==)
var.mov=1 0 0 
f_shoot 
return 1 
elseif (<src.dir>==6) 
var.mov=-1 0 0 
f_shoot 
return 1 
elseif (<src.dir>==7) 
var.mov=-1 -1 0 
f_shoot 
return 1 
endif 
endif 

ON=@TIMER 
IF (<VAR.TIME>>>0) 
MOVE=<VAR.MOV> 
VAR.TIME=<EVAL (<VAR.TIME>-1)> 
f_shoot 
ENDIF 

ON=@CLICK 
if <distance>>2 
src.sysmessage Cok uzaktasiniz. 
return 1
elseif (rand(100)>><SRC.STAM>)
src.sayu *Topu alamaz!*
else 
src.sayu *Topu alir!*
TIMER=-1 
endif 

[function f_calcio]
if (rand(10)==0) 
var.time=<eval (((<SRC.STAM>+<SRC.STR>)/10)-1)>
src.sayu *Topa vurur!*
elseif (rand(10)==1) 
var.time=<eval (((<SRC.STAM>+<SRC.STR>)/10)-2)> 
src.sayu *Topa vurur!* 
elseif (rand(10)==2) 
var.time=<eval (((<SRC.STAM>+<SRC.STR>)/10)-3)> 
src.sayu *Topa vurur!* 
elseif (rand(10)==3) 
var.time=<eval (((<SRC.STAM>+<SRC.STR>)/10)+1)> 
src.sayu *Topa vurur!* 
elseif (rand(10)==4) 
var.time=<eval (((<SRC.STAM>+<SRC.STR>)/10)+2)> 
src.sayu *Topa vurur!* 
elseif (rand(10)==5) 
var.time=<eval (((<SRC.STAM>+<SRC.STR>)/10)+3)>
src.sayu *Topa vurur!* 
elseif (rand(10)==9) && elseif (rand(100)>><SRC.STAM>)
src.sayu *Topa vuramaz!*
var.time=0 
else 
var.time=<eval ((<SRC.STAM>+<SRC.STR>)/10)> 
src.sayu Topa vurur! 
endif 

[typedef t_soccer_ball] 
on=@step
IF elseif (rand(100)>><SRC.STAM>)
src.sayu Topu kaybeder.
ELSE
f_step
ENDIF

[function f_shoot]
TIMER=1
//STR gain
IF ((<SRC.STR><<60) && (rand(25)==1))
SRC.STR=<SRC.STR>+1
ELSEIF ((<SRC.STR><<70) && (rand(30)==1))
SRC.STR=<SRC.STR>+1
ELSEIF ((<SRC.STR><<80) && (rand(40)==1))
SRC.STR=<SRC.STR>+1
ELSEIF ((<SRC.STR><<90) && (rand(45)==1))
SRC.STR=<SRC.STR>+1
ELSEIF ((<SRC.STR><<100) && (rand(50)==1))
SRC.STR=<SRC.STR>+1
ENDIF

[function f_step] //DEX gain and STAM loss
IF ! (SRC.TAG.SBALL)
SRC.TAG.SBALL=0
ELSE
SRC.TAG.SBALL=<SRC.TAG.SBALL>+1
ENDIF
IF (<SRC.TAG.BALL>==10)
SRC.STAM=(SRC.STAM)-1
SRC.TAG.SBALL=0
ENDIF
TIMER=-1
IF ((<SRC.DEX><<60) && (rand(100)==1))
SRC.DEX=<SRC.DEX>+1
ELSEIF ((<SRC.DEX><<70) && (rand(200)==1))
SRC.DEX=<SRC.DEX>+1
ELSEIF ((<SRC.DEX><<80) && (rand(300)==1))
SRC.DEX=<SRC.DEX>+1
ELSEIF ((<SRC.DEX><<90) && (rand(400)==1))
SRC.DEX=<SRC.DEX>+1
ELSEIF ((<SRC.DEX><<100) && (rand(0)==1))
SRC.DEX=<SRC.DEX>+1
ENDIF
if <src.dir>==0 
move=0 -1 0 
elseif <src.dir>==1 
move=1 -1 0 
elseif <src.dir>==2 
move=1 0 0 
elseif <src.dir>==3 
move=1 1 0 
elseif <src.dir>==4 
move=0 1 0 
elseif <src.dir>==5 
move=-1 1 0 
elseif <src.dir>==6
move=-1 0 0 
elseif <src.dir>==7
move=-1 -1 0 
endif
sphere.ini ile ilgili bişi o
Nasıl yapılıyo ozaman sölermisin hiç yapmadımda örenim . . .
bilsem :D geçenlerde Robellious koymuştu sphere.ini ni
Yokmu Bilen Beyler ...!
----------------------
 Scripter ßy QareL
----------------------

[itemdef i_wait_sut]
name asd
id i_memory
type t_eq_Script
layer=layer_special

on=@create
timer=2

on=@timer
remove
return 1


[itemdef i_soccer_ball]
name=Soccer Ball 
id=0e73
type=t_soccer_ball 

on=@create 
color=029 
attr=08010 



on=@dclick
if (<distance> < 2)
if (<src.findid.i_wait_sut>)
src.sysmessage @0ad,6,1,1 Topa vurabilmek icin beklemelisin !
return 1
endif
src.tag0.top=<uid>
morex=2
serv.newitem i_wait_sut
new.cont=<src.uid>
src.say @03c1,6,1 <src.name> Bir şut cekti
if <src.dir>==0 
var.move=0 -1 0 
elseif <src.dir>==1 
var.move=1 -1 0 
elseif <src.dir>==2 
var.move=1 0 0 
elseif <src.dir>==3 
var.move=1 1 0 
elseif <src.dir>==4 
var.move=0 1 0 
elseif <src.dir>==5 
var.move=-1 1 0 
elseif <src.dir>==6
var.move=-1 0 0 
elseif <src.dir>==7
var.move=-1 -1 0 
endif
f_shoot
//return 1
endif
return 1


ON=@TIMER 
if (<morex> > 0)
morex -= 1
//MOVE=<VAR.MOVe> 
f_shoot 
return 1
else
say @03c1,6,1 Top durdu.
ENDIF 
return 1

ON=@CLICK 
if <distance>>2 
src.sysmessage You're too far. 
return 1
elseif (rand(100)><SRC.STAM>)
src.emote can't stop the ball
else  
src.emote stops the ball! 
TIMER=-1
endif 


[function setmove]
if <src.dir>==0 
var.move=0 -1 0 
elseif <src.dir>==1 
var.move=1 -1 0 
elseif <src.dir>==2 
var.move=1 0 0 
elseif <src.dir>==3 
var.move=1 1 0 
elseif <src.dir>==4 
var.move=0 1 0 
elseif <src.dir>==5 
var.move=-1 1 0 
elseif <src.dir>==6
var.move=-1 0 0 
elseif <src.dir>==7
var.move=-1 -1 0 
endif



[typedef t_soccer_ball] 

on=@step

if !(<src.isgm>)
iF (rand(250)< 30)
src.say @03c1,6,1 Topu kaybettiniz
endif
ELSE
src.tag0.top=<uid>
if <src.dir>==0 
move=0 -1 0 
elseif <src.dir>==1 
move=1 -1 0 
elseif <src.dir>==2 
move=1 0 0 
elseif <src.dir>==3 
move=1 1 0 
elseif <src.dir>==4 
move=0 1 0 
elseif <src.dir>==5 
move=-1 1 0 
elseif <src.dir>==6
move=-1 0 0 
elseif <src.dir>==7
move=-1 -1 0 
endif
f_step
ENDIF

[function f_shoot]
obj=<uid>
timerd=1
move=<var.move>
foritems 0
if (<type>==t_wall) && (<p.z>==<obj.p.z>)
obj.moveto 5440,1106
obj.update
say @0ad,6,1,1 Top hatali konuma geldiginden basa dondu !
return 1
endif
if (<baseid>==i_floor_gol1)
if !(<var0.gol>)
var.gol1 = 1
else
var.gol1 += 1
endif
obj.moveto 5440,1106
obj.update
region.allclients say @0ad,6,1,1 Goool !
region.allclients sysmessage @38,6,1 Kirmizilara gol atildi.
return 1
endif
if (<baseid>==i_floor_gol2)
if !(<var0.gol2>)
var.gol2 = 1
else
var.gol2 += 1
endif
obj.moveto 5440,1106
obj.update
region.allclients say @0ad,6,1,1 Goool !
region.allclients sysmessage @38,6,1 Mavilere gol atildi.
return 1
endif
endif
endfor
[itemdef i_skor_futbol]
id i_bulletin_board
name Skorlar
type t_eq_script

on=@create
attr=attr_static|attr_move_never

on=@dclick
src.sysmessage @0ad,6,1,1 Kirmizi : <eval <var0.gol2>>
src.sysmessage @0ad,6,1,1 Mavi : <eval <var0.gol1>>
return 1



[itemdef i_floor_gol1]
id i_floor_marble
name sd
type t_eq_script

on=@create
attr attr_invis|attr_static

[itemdef i_floor_gol2]
id i_floor_marble
name sd
type t_eq_script

on=@create
attr attr_invis|attr_static




[function f_step]
obj=<uid>
foritems 0
if (<type>==t_wall) && (<p.z>==<obj.p.z>)
obj.moveto 5440,1106
obj.update
say @0ad,6,1,1 Top hatali konuma geldiginden basa dondu !
return 1
endif
if (<baseid>==i_floor_gol1)
if !(<var0.gol1>)
var.gol1 = 1
else
var.gol1 += 1
endif
obj.moveto 5440,1106
obj.update
region.allclients say @0ad,6,1,1 Goool !
region.allclients sysmessage @38,6,1 Kirmizilara gol atildi.
endif

if (<baseid>==i_floor_gol2)
if !(<var0.gol2>)
var.gol2 = 1
else
var.gol2 += 1
endif
obj.moveto 5440,1106
obj.update
region.allclients say @0ad,6,1,1 Goool !
region.allclients sysmessage @38,6,1 Mavilere gol atildi.
return 1
endif
endfor

IF ! (<TAG0.SBALL>)

SRC.TAG.SBALL=1

ELSE

SRC.SBALL=<SRC.TAG.SBALL>+1

ENDIF

IF (<TAG0.sBALL>==10)

SRC.STAM -= 1

SRC.TAG.SBALL=0

ENDIF

TIMER=-1



[itemdef i_futbol_start]
id=i_moongate_blue
type=t_eq_script
name=Futbol start gate

on=@create
attr=00010
color=07cc
morex 5
timer=1
tag0.switch=1
morez=11

on=@step
if (<morez> > 0)
if (<src.findlayer.25.uid>)
src.sysmessage @0481 Binek ile girilmez
src.binekolmasin
return 1
endif


if (<eval <tag0.switch>> == 1 ) //To Red Team
src.go 5434,1106

src.f_bank_equipment
src.binekolmasin
src.events +e_futbol_kirmizi
tag0.switch=2
serv.newitem i_shirt_plain
new.color=7940106
src.new.equip
new.attr=00010
serv.newitem i_pants_short
new.color 7940106
src.new.equip
new.attr=00010
morez -= 1
return 1
elseif (<eval <tag0.switch>> == 2 )

src.go 5444,1106
src.f_bank_equipment
src.binekolmasin
src.events +e_futbol_mavi
serv.newitem i_shirt_plain
new.color=07ab
src.new.equip
new.attr=00010
serv.newitem i_pants_short
new.color 07ab
new.attr=00010
src.new.equip

tag0.switch=1
morez -= 1
return 1
endif
else
serv.allclients sysmessage @0481,6,1,1 Futbol katilimi bitmistir !
remove
return 1
endif

[itemdef i_futbol_cikis]
id=i_moongate_blue
type=t_eq_script
name=Futbol cikis

on=@create
attr=00010
color=07cc
morex 5
timer=1
tag0.switch=1

on=@step
src.events -e_futbol_mavi
src.events -e_futbol_kirmizi
src.consume 5 i_shirt_plain
src.consume 5 i_pants_short
src.findid.i_shirt_plain.remove
src.findid.i_pants_short.remove
src.go pazar

[events e_futbol_mavi]
on=@Chardclick
if (<act.isevent.e_futbol_mavi>)
if (<src.distance <tag0.top>><2)
if (<act.distance <src>> > 6)
src.sysmessage @0ad,6,1,1 Bu kisi 6 kareden daha fazla uzakta !
return 1
endif
say @0ad,6,1,1 <act.name> Oyuncusuna pas atar !
setmove
//src.act.effect 0,i_fx_fireball,5,5,5
//try uid.<tag0.top>.move=<var.move>
sysmessage @0ad,6,1,1 <act.name> Oyuncusuna uzakliginiz : <src.distance <act.uid>>
local.dist=<distance <tag0.top>>
//if (<local.dist> > 6)
//local.dist=6
endif
try uid.<tag0.top>.morex=<eval <distance <act.uid>>-1>
try uid.<tag0.top>.f_shoot
endif
endif

[events e_futbol_kirmizi]
on=@Chardclick
if (<act.isevent.e_futbol_kirmizi>)
if (<src.distance <tag0.top>><2)
if (<act.distance <src>> > 6)
src.sysmessage @0ad,6,1,1 Bu kisi 6 kareden daha fazla uzakta !
return 1
endif
say @0ad,6,1,1 <act.name> Oyuncusuna pas atar !
setmove
src.act.effect 0,i_fx_fireball,5,5,5
//try uid.<tag0.top>.move=<var.move>
sysmessage @0ad,6,1,1 <act.name> Oyuncusuna uzakliginiz : <src.distance <act.uid>>
local.dist=<distance <tag0.top>>
//if (<local.dist> > 6)
//local.dist=6
//endif
try uid.<tag0.top>.morex=<eval <distance <act.uid>>-1>
try uid.<tag0.top>.f_shoot
endif
endif


[Function macibitir]
if (<src.account.plevel> < 4)
src.sms Bu islem icin yetkiniz yok.
return 1
else
var0.gol1 0
var0.gol2 0
src.act.remove i_soccer_ball
return 1
endif
Buyur Kardesim Otomatik FutboL yapar Kullanabilirsin :)
Tşkkür ederim . . . ( ama çapraz sorunu var hala player çapraza koşarken top kalıyo )
şimdi çapraz sorununu şöyle halledeceksin.
sphere.ini'yi aç [Sphere]'nin altına packet02=f_on_move yaz ve kaydet.Sonra futbol scriptini aç scriptin başına şunu ekle

[function f_on_move]
say <argn>

hepsi bukadar kolay gelsin

Üye Ol veya Giriş Yap

Bu forum başlığına mesaj atmak istiyorsanız hemen üye olun veya giriş yapın.