Soccerjam de uzaktan atılmasını engellemek için bazı kod eklemeleri yaptım ancak sadece bir takımda işe yarıyor. Ct deyken uzaklık sınırı ayarladığımda -örneğin 20 ft- o sınırın üstünde kaleye gol atamıyorsunuz. Yani ct de çalışıyor. T de iken de atılan şutlar CT takımına göre belirleniyor bu yüzden kalenin dibinden bile atsanız 400 ft den atmış gibi sayıyor. Bu yüzden gol atılmıyor.
Orijinal soccerjam moduna eklenecek kodlar:
KOD: TÜMÜNÜ SEÇ
Kod:
new CVAR_MAXDISTGOAL
CVAR_MAXDISTGOAL = register_cvar("sj_max_dist_goal", "100")
public touchNet(ball, goalpost)
{
remove_task(55555)
new team = get_user_team(ballowner)
new goalent = GoalEnt[team]
new maxdistshot = (get_pcvar_num(CVAR_MAXDISTGOAL))
new distshot = (get_distance(distorig[0],distorig[1])/12)
if (goalpost != goalent && ballowner > 0) {
if(distshot <= maxdistshot) {
new aname[64]
new Float:netOrig[3]
new netOrig2[3]
//bla-bla vs.........................
}
else {
moveBall(1)
client_print(ballowner,print_chat,"%L",ballowner,"CANNOT_SCORE_DIST",distshot,maxdistshot)
}
}
else if(goalpost == goalent) {
moveBall(0, team)
client_print(ballowner,print_chat,"%L",ballowner,"CANNOT_KICK_GOAL")
}
return PLUGIN_HANDLED
}
Distshot normalde düzgün çalışıp mesafeyi takıma göre hesaplıyor ancak bunları eklediğimde sadece 1 takıma göre hesaplıyor.