Cleo - TrollVeh
#1

Собственно столкнулся с одним клео - TrollVeh

[ame]http://www.youtube.com/watch?v=rKIz7M80Yns[/ame]

И вот незадача, не знаю как его пофиксить. OnPlayerEnterVehicle вызывается, OnPlayerStateChange вызывается 2 раза (один раз его тпшит в машину на место водителя, хотя водитель есть. Второй из машины). OnUnoccupiedVehicleUpdate вызывается для читера всего 1 раз, дальше только для настоящего водителя. В какую сторону можно еще покопать? Кто нибудь сталкивался?
Reply
#2

Расстояние до машины 15 метров и не более!
Проверять нажатие кнопки посадки.
Быстро зайти и выйти нельзя.
Время перепосадки достаточно большое, если читер читерит из машины.
Чекать по анимации посадки.
Есть состояние игрока момент когда игрок ещё только открывает дверь.
Reply
#3

Был ещё кикер от SR_TEAM, так он кикал другими карами. Как он работает:
вводишь /sckick ID игрока и ID машины рядом. И это машина збивало такой мощью что может кикнуть за исп. читов в большенство случаев крашит. Есть ещё крашир отправкой пакетов. Я тчательнее посмотрю код в клео и скажу как можно решить. Я ниже поставил только те фрагменты который находятся в тело CLEO
Исходный код:
PHP код:
{$CLEO .cs}
 
//-------------MAIN---------------
0000NOP
if
0@ = SAMP.Base()
else_jump @noname_30
 
:noname_30
wait 409
  sAMP
.Available
else_jump 
@noname_30
0B34
samp register_client_command "bbp" to_label @bbp
0B34
samp register_client_command "bbv" to_label @bbv
jump 
@Noname_19
 
:Noname_19
wait 0
if
not 1@ == 1
else_jump 
@PH
if
not 2@ == 1
jf 
@VH
jump 
@Noname_19
 
:PH        // player id
wait 0
  SAMP
.IsCommandTyped(0@)
0AD400format "%d" 11
if
  
0@ > 0
else_jump 
@err
if
0B23:  samp is_player_connected 11@
jf @notfound
4
@ = samp.GetActorHandleByPlayerID(11@)
if
056D:  actor 4defined
jf 
@notfound
15
@ = actor.Angle($player_actor)
if
actor.Driving(4@)
jf @notincar
actor
.StorePos($player_actor101112@)
12@ -= 1.0
if
not actor.Driving($player_actor)
0AA0gosub_if_false @removeInCar
5
@ = actor.CurrentCar(4@)
if
056E:  car 5defined
else_jump 
@notCarDef
09B3
get_car 5door_status 27@
if
27@ == 0
jf 
@closedDoor
6
@ = samp.GetSAMPVehicleIDByCarHandle(5@)
samp.SendEnterVehicle(6@, 0)     
25@ = actor.Angle($player_actor)
wait 300 
call 
@Noname_2829 1 5@                                             
wait 250             
04C4
store_coords_to 101520from_actor $player_actor with_offset 0.0 0.0 4.0
0208
18@ = random_float_in_ranges 5.0 200.0
0731
set_car 5y_angle_to 80
Car
.SetSpeedInstantly(5@, -75.0)
0731set_car 5y_angle_to 80
car
.Angle(5@) = 18@
wait 50
car
.PutAt(5@, 101520@)
Car.SetSpeedInstantly(5@, -75.0)
wait 50
car
.Health(5@) = 300
call 
@noname_2895 1 5@
actor.Angle($player_actor) = 25@
jump @ret
 
:VH      // vehicle id
wait 0
  SAMP
.IsCommandTyped(0@)
0AD400format "%d" 6
if
  
0@ > 0
else_jump 
@err
5
@ = samp.GetVehicleHandleBySAMPVehicleID(6@)
if
056E:  car 5defined
else_jump 
@notCarDef
09B3
get_car 5door_status 27@
if
27@ == 0
jf 
@closedDoor
actor
.StorePos($player_actor101112@)
12@ -= 1.0
if
not actor.Driving($player_actor)
0AA0gosub_if_false @removeInCar
samp
.SendEnterVehicle(6@, 0)     
25@ = actor.Angle($player_actor)
wait 300 
call 
@Noname_2829 1 5@       
wait 250             
04C4
store_coords_to 101520from_actor $player_actor with_offset 0.0 0.0 4.0
0208
18@ = random_float_in_ranges 5.0 200.0
0731
set_car 5y_angle_to 80
Car
.SetSpeedInstantly(5@, -75.0)
0731set_car 5y_angle_to 80
car
.Angle(5@) = 18@
wait 50
car
.PutAt(5@, 101520@)
Car.SetSpeedInstantly(5@, -75.0)
wait 50
car
.Health(5@) = 300
call 
@Noname_2895 1 5@       
actor.Angle($player_actor) = 25@
jump @ret
 
:bbp
1
@ = 1
jump 
@cmd
 
:bbv
2
@ = 1
jump 
@cmd
 
:err
 chatmsg 
"Используйте: /bbp(v) [player/car id]" -999
jump 
@ret
 
:notfound
 chatmsg 
"Игрок вне зоны прорисовки." -999
jump 
@ret
 
:notincar
 chatmsg 
"Игрок не за рулем машины." -999
jump 
@ret
 
:closedDoor
 chatmsg 
"Машина закрыта." -999
jump 
@ret
 
:notCarDef
 chatmsg 
"Машина вне зоны стрима." -999
jump 
@ret
 
:removeInCar
0362
remove_actor $PLAYER_ACTOR from_car_and_place_at 101112@     
return
 
:
ret
1
@ = 0
2
@ = 0
jump 
@Noname_19
 
:cmd
samp
.CmdRet()
 
:
Noname_2829
01B9
set_actor $PLAYER_ACTOR armed_weapon_to 0
0A97
2@ = car 0struct // 5@ = car handle
0A963@ = actor $PLAYER_ACTOR struct
3
@ += 1328
0A8C
write_memory 3size 4 value 50 virtual_protect 0
0A96
3@ = actor $PLAYER_ACTOR struct
3
@ += 1420
0A8C
write_memory 3size 4 value 2virtual_protect 0
ret 0
 
:Noname_2895
0A96
3@ = actor $PLAYER_ACTOR struct
3
@ += 1328
0A8C
write_memory 3size 4 value 1 virtual_protect 0
0687
clear_actor $PLAYER_ACTOR task
actor
.StorePos($player_actor101112@)
12@ -= 1.0
036A
put_actor $PLAYER_ACTOR in_car 0@
0362remove_actor $PLAYER_ACTOR from_car_and_place_at 101112@
ret 0

и ещё
thread 
"AIR"
 
0B34samp register_client_command "bbveh" to_label @AIR_174 
0
@ = 

:AIR_40
wait 0 
if 
  
0@ == 
else_jump 
@AIR_40 
Actor
.StorePos($PLAYER_ACTOR7@, 8@, 9@)
036Aput_actor $PLAYER_ACTOR in_car 6
wait 100 
07D5
set_car 6velocity_in_direction_XYZ 3.0 3.0 3.3 rotation_velocitiesXY 0.0 0.0 unk 0.0 
07DA
set_car 6rotation_velocity_XYZ 10.0 10.0 10.0 through_center_of_body 
07DB
set_car 6rotation_velocity_XYZ 10.0 10.0 10.0 through_center_of_mass
wait 100 
036A
put_actor $PLAYER_ACTOR in_car 5
0362remove_actor $PLAYER_ACTOR from_car_and_place_at 789
036Aput_actor $PLAYER_ACTOR in_car 5
0@ = 
SAMP
.CmdRet
jump 
@AIR_40 

:AIR_174
wait 0 
   SAMP
.IsCommandTyped(1@)
if 
0AD42@ = scan_string 1format "%d" 3@  
else_jump @AIR_362 
if 
   
Actor.Driving($PLAYER_ACTOR)
else_jump @AIR_458 
if 
   
SAMP.IsPlayerConnected(3@)
else_jump @AIR_507 
4
@ = SAMP.GetActorHandleByPlayerID(3@)
if 
056D:   actor 4defined 
else_jump 
@AIR_547 
if 
   
Actor.Driving(4@)
else_jump @AIR_613 
5
@ = Actor.CurrentCar($PLAYER_ACTOR)
6@ = Actor.CurrentCar(4@)
if and
056E:   car 5defined 
056E
:   car 6defined 
else_jump 
@AIR_754 
if and
   
not Actor.InCar($PLAYER_ACTOR6@)
   
not Actor.InCar(4@, 5@)
else_jump @AIR_681 
0
@ = 
SAMP
.CmdRet
jump 
@AIR_40 

:AIR_362
wait 0 
0AF8
samp add_message_to_chat "Используйте: /bbveh <ID>" color 12566463  
SAMP
.CmdRet
jump 
@AIR_40 
Reply
#4

Ну тот кикер от SR_TEAM фикситься одной строчкой в OnUnoccupiedVehicleUpdate. А тут, я был удивлен, что он садиться на место водителя, где уже есть водитель, и главное старый водитель остаётся в машине, и наблюдает как его машина улетает. Да происходит это все за 1 - 2 секунды. Попробую что нибудь намудрить
Reply
#5

Quote:
Originally Posted by gensek4
Посмотреть сообщение
Ну тот кикер от SR_TEAM фикситься одной строчкой в OnUnoccupiedVehicleUpdate. А тут, я был удивлен, что он садиться на место водителя, где уже есть водитель, и главное старый водитель остаётся в машине, и наблюдает как его машина улетает. Да происходит это все за 1 - 2 секунды. Попробую что нибудь намудрить
Эмм ты же сам ответил на свой вопрос. Ставь проверку на водителся. Если на место водителя есть ещё 1 водитель(второй) то его кикает за чит.
У тебя есть места: 1,2,3,4
1 2
3 4
Ставишь проврерку на место водителя и ты там увидишь. Если есть изначальный водитель есть плюс система определаяет ещё одного водителя то его кикакем.
11 2
3 4
Того второго водителя киакем. Не знаю если ты понял суть. Но думаю что както так.
1 - это игрок который использовал чит.

PHP код:
//Update 
Кстати можно использовать как написали выше поставить проверку на клавишу и ростоянние до машины. Я предлагаю например с 15 метров поставить минимальную там например 5.
Reply
#6

Только не 1-4, а 0-3.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)