GTA San Andreas > Скриптинг

Зомби мод

<< < (2/3) > >>

egor230:

--- Цитата: Shagg_E от Ноябрь 19, 2018, 05:05:45 pm ---
--- Цитата: egor230 от Ноябрь 19, 2018, 06:49:40 am ---делайте все в цикле, с проверками.

--- Конец цитаты ---
Ты опубликовал не полный код(нет начала)

--- Конец цитаты ---
Спасибо вам большое уважаемый Shagg_E всё исправил, просто торопился с утра.

 daniel_360 дал логику кода, улучшай её и оптимизирует код, с помощью тестирования в игре. Признаюсь, код  далеко неидеальный,  можно сделать гораздо лучше.  Всё в твоих руках, действуй.

daniel_360:
Вот попробовал сам что-то сделать, получилось хорошо, зомби теперь атакуют, осталось исправить вылет

{$CLEO}
0000:

:Zombie
wait 0
if and
Player.Defined(0)
0ADC:   test_cheat "ZTOWNINF"
jf @Zombie
03E5: show_text_box 'Z1'
0110: clear_player $PLAYER_CHAR wanted_level
01F0: set_max_wanted_level_to 0
Actor.StorePos($PLAYER_ACTOR, 1@, 2@, 3@)

:Z
if
0AE1: 0@ = random_actor_near_point 1@ 2@ 3@ in_radius 100.0 find_next 1 pass_deads 1
jf @Z

:Zombie_2
wait 0
if
056D:   actor 0@ defined
jf @Z
if
0184:   actor 0@ health >= 99
jf @Z
Actor.Health(0@) = 99
05E2: AS_actor 0@ kill_actor $PLAYER_ACTOR
0A09: set_actor 0@ muted 1
060B: set_actor 0@ decision_maker_to 32
jump @Z

daniel_360:
Всё, спустя часа 4-7 сделал скрипт, осталось сделать деактивацию

{$CLEO}
0000:

:Zombie
wait 0
if and
Player.Defined(0)
0ADC:   test_cheat "ZTOWNINF"
jf @Zombie
03E5: show_text_box 'Z1'
0110: clear_player $PLAYER_CHAR wanted_level
01F0: set_max_wanted_level_to 0

:Z
Actor.StorePos($PLAYER_ACTOR, 1@, 2@, 3@)
wait 0
if
0AE1: 0@ = random_actor_near_point 1@ 2@ 3@ in_radius 100.0 find_next 1 pass_deads 1
jf @Zombie_2

:Zombie_2
wait 0
if
056D:   actor 0@ defined
jf @Z
if
0184:   actor 0@ health >= 99
jf @Z
Actor.Health(0@) = 99
05E2: AS_actor 0@ kill_actor $PLAYER_ACTOR
0A09: set_actor 0@ muted 1
060B: set_actor 0@ decision_maker_to 32
jump @Z

egor230:

--- Цитата: daniel_360 от Ноябрь 20, 2018, 04:39:46 pm ---Вот попробовал сам что-то сделать, получилось хорошо, зомби теперь атакуют, осталось исправить вылет

--- Конец цитаты ---
данила если это для GTA San Andreas. То лучше сразу пиши на lua.


--- Код: Javascript ---script_author("egor")require "lib.moonloader"local encoding = require 'encoding'encoding.default = 'CP1251'--func = require 'module' -- подключить модульlocal function codinat()local res = isCharInAnyCar(PLAYER_PED) -- 00DF: actor $PLAYER_ACTOR driving  if res  then local  car = storeCarCharIsIn(PLAYER_PED)local  x, y, z = getCarCoordinates(car) -- 00AA: store_car 0@ position_to 3@ 4@ 5@  else  local x, y, z = getCharCoordinates(PLAYER_PED) -- получить координаты cjreturn x,y,z  endendfunction main()while true dowait(0) res = testCheat("mn")--0ADC: test_cheat "BLOWUP"if resthen  printStringNow("star", 1000)-- вывод текстаwhile isPlayerPlaying(PLAYER_HANDLE) do wait(100)x,y,z = codinat()res, ped = findAllRandomCharsInSphere(x,y,z, 40.3, 0, 1) -- 0AE1: $actor = random_actor_near_point 0@ 1@ 2@ in_radius 10.0 find_next 1 pass_deads 1if resthen taskKillCharOnFoot(ped, PLAYER_PED) -- 05E2: AS_actor 65@ kill_actor 50@end end end endend 
Вот видео демонстрация https://www.youtube.com/watch?v=qiXIPPUsNgc&feature=youtu.be

daniel_360:
Осталось улучшить код, и можно выпускать

{$CLEO}
0000:

:Zombie
wait 0
if and
Player.Defined(0)
0ADC:   test_cheat "ZTOWIN"
jf @Zombie
03E5: show_text_box 'CHEAT1'
0110: clear_player $PLAYER_CHAR wanted_level
01F0: set_max_wanted_level_to 0

:Z
Actor.StorePos($PLAYER_ACTOR, 1@, 2@, 3@)
wait 0
if
0ADC:   test_cheat "ZTOWIN"
then
03E5: show_text_box 'CHEAT8'
0110: clear_player $PLAYER_CHAR wanted_level
01F0: set_max_wanted_level_to 6
Actor.Health(0@) = 100
85E2: not AS_actor 0@ kill_actor $PLAYER_ACTOR
0A09: set_actor 0@ muted 0
060B: set_actor 0@ decision_maker_to 0
8245: not set_actor 0@ walk_style_to "OLDMAN"
81B2: not give_actor 0@ weapon 0 ammo 0
848F: not actor 0@ remove_weapons
jump @Zombie
end
if
0AE1: 0@ = random_actor_near_point 1@ 2@ 3@ in_radius 200.0 find_next 1 pass_deads 1
jf @Zombie_2

:Zombie_2
wait 0
if
056D:   actor 0@ defined
jf @Z
07AF: $PLAYER_GROUP = player $PLAYER_CHAR group
if
86EE:  not actor 0@ in_group $PLAYER_GROUP
jf @Z
if
0184:   actor 0@ health >= 99
jf @Z
Actor.Health(0@) = 99
05E2: AS_actor 0@ kill_actor $PLAYER_ACTOR
0A09: set_actor 0@ muted 1
060B: set_actor 0@ decision_maker_to 32
0245: set_actor 0@ walk_style_to "OLDMAN"
01B2: give_actor 0@ weapon 0 ammo 0
048F: actor 0@ remove_weapons
jump @Z

Навигация

[0] Главная страница сообщений

[#] Следующая страница

[*] Предыдущая страница

Перейти к полной версии