Вопросы по CLEO-скриптингу

SR_team

like pancake
BH Team
4,720
6,376
Подскажите. Пытаюсь вывести в чат количество метров между мной и каким либо человеком. Но цифры получаются очень большие. В чем они? Что мне исправить?
00A0: store_actor $PLAYER_ACTOR position_to 7@ 8@ 9@ // мои координаты
00A0: store_actor 1@ position_to 2@ 3@ 4@ // координаты актера чужого
050A: 5@ = distance_between_XYZ 7@ 8@ 9@ and_XYZ 2@ 3@ 4@
0AF8: samp add_message_to_chat " %s[%d](%d m)" -1 6@ 0@ 5@ // 6@ 0@ это ник и ид игрока.

Как получить количество нормальное?

расстояним и координаты - дробное число (float). Замени %d для расстояния на %.1f
 
  • Нравится
Реакции: artF

artF

Новичок
24
0
расстояним и координаты - дробное число (float). Замени %d для расстояния на %.1f

Благодарю! А подскажите еще пожалуйста вот что..
Как выглядит конструкция на подобии switch в php?
switch ($do) {
case '1':
break;
default:
//Defautl action
}

т.е у меня есть

0665: get_actor 1@ model_to 14@

и хотелось бы иметь нечто такое:

switch(14@)
case '1':
16@ : "Строка 1"
case '2':
16@ : "Строка 2"
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,462
Благодарю! А подскажите еще пожалуйста вот что..
Как выглядит конструкция на подобии switch в php?
switch ($do) {
case '1':
break;
default:
//Defautl action
}

т.е у меня есть

0665: get_actor 1@ model_to 14@

и хотелось бы иметь нечто такое:

switch(14@)
case '1':
16@ : "Строка 1"
case '2':
16@ : "Строка 2"

Можно использовать сторонние способы:
http://blasthack.net/threads/2399/
 

artF

Новичок
24
0
Можно использовать сторонние способы:
http://blasthack.net/threads/2399/

да, видал способ, но попробовал вставить эту конструкцию и у меня санни стала ругаться на свич.

А что если через if сделать? у меня их вроде не так много будет, но вдруг сравню не правильно, и в переменную строку не запишу так)
 

artF

Новичок
24
0
Код. А про свитчь забудь. В клео его нет.
Код, основное:



00A0: store_actor $PLAYER_ACTOR position_to 7@ 8@ 9@ //мои координаты
0B20: samp 1@ = actor_handle_by_samp_player_id 0@ //координаты конкретного ида
00A0: store_actor 1@ position_to 2@ 3@ 4@ // сохраняем их в X Y Z
0509: 5@ = distance_between_XYZ 7@ 8@ 9@ and_XYZ 2@ 3@ 4@ // Вроде как выясняем расстояние
0AF8: samp add_message_to_chat "%s[%d](%.1f)" -1 6@ 0@ 5@ // выведет Ник[ID](1617.1)


т.е у меня почти всегда расстояние от 1500 до 1700
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,462
Поправь пожалуйста.
Не тпшается что-то :D

Код:
actor.StorePos($player_actor, 17@, 18@, 19@)
if 0AE3: 4@ = random_object_near_point 17@ 18@ 19@ in_radius 90.0 find_next 0
then
5@ = object.model(4@)
if 5@ == 1273
then
0400: store_coords_to 20@ 21@ 22@ from_object 4@ with_offset 0.0 0.0 0.0
Actor.PutAt($player_actor, 20@ 21@ 22@)
end
end

Вряд ли ты так найдешь позицию пикапа.