Jump to content

SweetyWolf

Members
  • Posts

    150
  • Joined

  • Last visited

Everything posted by SweetyWolf

  1. Спасибо, 5ти секундный таймер помог
  2. Да, это массив. Неа, не работает. А это работает. onResourceStart Вот так полностью выглядит: addEventHandler ( "onResourceStart", getResourceRootElement(getThisResource()), loadServerPeds ) Странно как то, дело в ивенте, при котором пед создается чтоль?
  3. Привет всем. Вот тут проблема у меня возникла, решить которую не получается. Вот есть у меня создание нпц в серверной части скрипта: soldiersPed.nv10 = createPed ( 133,-953.544921875,1871.1142578125,5, 230 ) giveWeapon ( soldiersPed.nv10, 30, 30, true ) Но оружие не дается. Попробывал добавить такой код: setPedWeaponSlot ( soldiersPed.nv10, 5 ) Снова ничего. outputDebugString (getPedWeapon ( soldiersPed.nv10 ) ) Такая проверка показывает, что оружие у педа в текущем слоте имеется. Ради эксперемента попробовал присвоить педу анимацию, не показывает. На форуме нашел несколько подобных тем, но во всех участниками ответ так и небыл найден. Может кто знает в чем проблема?
  4. Он под версию 1.2 наверно, ну я его последнее обновление выкладывал в январе и больше над модом не работал. Я даже не помню точных ответов на твои вопросы) Я тебе как автор этого мода говорю - лучше возьми другой скрипт. Сейчас полно новых, крутых рп модов.
  5. Спасибо за подсказку, с новым кодом все работает отлично, буду исправляться)
  6. у меня опять проблема с неработающим кодом, хотя все, на мой взгялд правильно написанно: local i = 1 local x = -2681.2114 local y = 1524.8448 local z = 61 zomb={} while i < 51 do local xcoord = 0 local ycoord = 0 local xdirection = math.random(1,2) if xdirection == 1 then xcoord = math.random(0,20) else xcoord = math.random(-20,0) end local ydirection = math.random(1,2) if ydirection == 1 then ycoord = math.random(0,20) else ycoord = math.random(-20,0) end local zcoord = getGroundPosition ( x+xcoord, y+ycoord, z ) zomb[totalZomb] = createPed ( math.random (50,100), x+xcoord, y+ycoord, zcoord+1.5, math.random ( 0,360 ) ) setElementHealth ( zomb[totalZomb], 10 ) if not isElementInWater ( zomb[totalZomb] ) then totalZomb = totalZomb+1 outputChatBox ( totalZomb ) else destroyElement ( zomb[totalZomb] ) end i=i+1 end b = 1 local x = -2681.5593 local y = 1581.4780 local z = 64 while b < 51 do local xcoord = 0 local ycoord = 0 local xdirection = math.random(1,2) if xdirection == 1 then xcoord = math.random(0,20) else xcoord = math.random(-20,0) end local ydirection = math.random(1,2) if ydirection == 1 then ycoord = math.random(0,20) else ycoord = math.random(-20,0) end local zcoord = getGroundPosition ( x+xcoord, y+ycoord, z ) zomb[totalZomb] = createPed ( math.random (50,100), x+xcoord, y+ycoord, zcoord+1.5, math.random(0,360) ) if isPedOnGround ( zomb[totalZomb] ) then totalZomb = totalZomb+1 outputChatBox ( totalZomb ) else destroyElement ( zomb[totalZomb] ) end b=b+1 end Этот код спавнит нпц в случайно сгенерированных позициях вокруг двух точек. Тот while, который с i выполняется хорошо, а вот следующий - не создает нпц. При том, если убрать zomb[totalZomb] = от createPed во втором случае, то нпц из второго while появляются нормально (но, соотвесна, не работает isPedOnGround и т.д.). Может кто знает в чем проблема?
  7. Вот сейчас проверил. Заспавнился в ЛС, где дом сиджея. Кликнул под под своим персонажем. Слева - то, что выдает getCursorPosition, справа - панель фрироама: Так что вряд ли тут проблемы с радиусом работы стримера. onClientClick работает как часы, спасибо за подсказку, буду тогда его использовать
  8. Ну я слукавил немного, но выдает он значения высоты в районе -200
  9. Привет всем, не могу что то разобраться с getCursorPosition. Я сделал вот такой вот код для создания взрыва на месте клика : bindKey ( "mouse1", "down", function () no1, no2, cursX, cursY, cursZ = getCursorPosition ( ) outputChatBox ( cursX ) outputChatBox ( cursY ) outputChatBox ( cursZ ) createExplosion ( cursX, cursY,cursZ, 2 ) end ) Но cursZ - это вообще непонятно что, он возвращает мне не высоту места клика, а какое то рандомное значение. Может кто нибуть мне подсказать как сделать, чтоб создавался взрыв в месте клика?
  10. Hi everyone. I need to create a car in client side and this car must simply drive forward. My ideas: 1. Create ped and use setPedControlState. But we can't put ped into vehicle in client side (or can we?). 2. Use setElementVelocity, but there is a problem with finding correct velocity values. So i have 2 questions: How to get car moving forward in client side? How to calculate velocity values for car for moving forward?
  11. Спасибо, но я не правильно написал в первом сообщении. Мне хотелось бы чтоб машина ехала вперед.
  12. Привет всем. Понадобилось мне тут создать автомобиль в клиенте, который ехал бы просто вперед. Из того что пришло в голову: 1. Создать педа и использовать setPedControlState. Но педа к сожалению нельзя засунуть в машину в клиенте (или можно, но я плохо смотрел?) 2. Использовать setElementVelocity, но тут возникла проблема в поиске нужных значений ускорения. Вобщем вопросов то три: Как заставить автомобиль двигаться в нужном мне направлении в клиенту? Как высчитать значения ускорения для автомобиля, чтоб он двигался вперед? Вот еще на форуме нашел такую формулу поиска координат перед элементом: function getPositionInfrontOfElement(element, meters) if not element or not isElement(element) then return false end if not meters then meters = 3 end local posX, posY, posZ = getElementPosition(element) local _, _, rotation = getElementRotation(element) posX = posX - math.sin(math.rad(rotation)) * meters posY = posY + math.cos(math.rad(rotation)) * meters return posX, posY, posZ end Может она как то поможет?
  13. Спасибо, работает, в следующий раз буду знать, что надо аргументы все просматривать
  14. Привет всем. Делаю тут хотьбу для нпс, начитвашись поиска по форуму получился вот такой код: сервер function createMyPed ( source ) local x,y,z = getElementPosition ( source ) myped = createPed ( 1, x, y, z ) setElementData (myped, "no", 1 ) setTimer ( calculatePeds, 2000, 20, myped ) end addCommandHandler ("ao", createMyPed) function calculatePeds ( myped ) local px, py, pz = getElementPosition( myped ) local x, y, z = getPositionInfrontOfElement(myped, 1) triggerClientEvent ( getElementSyncer ( myped ), "calculatePedSight", getElementSyncer ( myped ), px, py, pz, x, y, z ) end function getPositionInfrontOfElement(element, meters) if not element or not isElement(element) then return false end if not meters then meters = 3 end local posX, posY, posZ = getElementPosition(element) local _, _, rotation = getElementRotation(element) posX = posX - math.sin(math.rad(rotation)) * meters posY = posY + math.cos(math.rad(rotation)) * meters return posX, posY, posZ end function pedSightCalculatedS ( answer ) if answer == 1 then setPedAnimation(myped, "ped", "WALK_civi", -1, 1, 1, 0) else setPedAnimation ( myped ) local rotation = math.random( 0, 360 ) setElementRotation ( myped, 0,0, rotation ) end end addEvent( "pedSightCalculated", true ) addEventHandler( "pedSightCalculated", getRootElement(), pedSightCalculatedS ) клиент function calculatePedSightC ( px, py, pz, x, y, z ) if ( isLineOfSightClear( px, py, pz, x, y, z ) == true ) then outputChatBox ( "Открыто" ) triggerServerEvent ( "pedSightCalculated", getLocalPlayer(), 1 ) else outputChatBox ( "Закрыто" ) triggerServerEvent ( "pedSightCalculated", getLocalPlayer(), 0 ) end end addEvent( "calculatePedSight", true ) addEventHandler( "calculatePedSight", getRootElement(), calculatePedSightC ) В итоге все вроде бы работает, но постоянно вылазиет "Закрыто" и, соответственно, нпс мой крутится, даже если перед ним ничего нет. Ну а если что то и есть, то он работает нормально, крутится пока не найдет свободное пространство, и, когда находит, пройдет один раз и снова начинает чередоваться "Закрыто", затем "Открыто". Может кто нить знает в чем проблема?
  15. а как жешь тогда если игрок сядет в созданную в клиенте машину?
  16. привет всем, вопросик тут маленький возник. созданные в клиенте педы, машины (и т.п. элементы) видны всем игрокам?
  17. Hi everyone. I am want to introduce you my Role Play game mode. I released it in 2010 December on russian language. And since last year it was upgraded by me some times (now it have version 1.3.2). Translation is not very good, and If you will find non translated (or bad translated) strings or files, please - contact with me. Full info you can find on google code project page - http://code.google.com/p/swrp/ (on "source" page there is an russian version) List of game commands - http://code.google.com/p/swrp/wiki/Commands Installation - http://code.google.com/p/swrp/wiki/Installing Download - http://code.google.com/p/swrp/downloads/list There is a list of people, who helped me in translation this game mode: n.nedvetskiy CoolDark denissevidov MrMADRYAN
  18. По поводу зомби. Найди в серверном скрипте: function deanimated( ammo, attacker, weapon, bodypart ) if (attacker) then if (getElementType ( attacker ) == "player") and (getElementType ( source ) == "ped") then if (getElementData (source, "zombie") == true) then И после этого напиши дование денег, я так делал.
  19. Осталось ток придумать как ее запихнуть в игру.
  20. Написал большой текст о создании карты, но браузер в самом конце внезапно вылетел, поэтому опишу кратко: Создал функции на перемещение камеры игрока на фикс. количество единиц. Запустил фрапс и начал фоткать город, получилось где то 250 кадров. Дальше все это склеивал. Возникли проблемы во время склеивания: - по краям картинки не совпадали (наверн надо было фоткать под градусом) - в некоторых местах получились здания черезчур большие (посмотрите карту) - чем больше зданий, тем больше ошибок на участке (посмотрите города) Итоговая картинка получилась очень большая (1 гиг в загруженном состоянии в гимпе, 200 мб итоговый пнг, 17000x8000 пикселей), поэтому набрасал небольшую демку: http://62.76.187.98/yandex/map.html Там темная полоса - это я когда фоткал в первый раз забыл отключить время.
  21. Хм, хорошая идея, но мне сначала хотяб понять расположение дорог А можно ли вывести изображение с dxCreateScreenSource в png файл?
  22. Привет всем. Возникла тут проблема одна, надеюсь вы поможете. Скачал я карту "tiny town" (ссылка - http://forum.sa-mp.com/showthread.php?t=278725 ). Это такой городок около Лос Сантоса. Но, для нормального использования этой карты, захотелось мне тут карту местности (хотя бы автодорог). Единственное, что я придумал: for i,obj in ipairs (getElementsByType("object")) do if ( getElementModel ( obj ) > 4125 and getElementModel ( obj ) < 18451 ) then createBlipAttachedTo ( obj ) end end Но получилась каша, не влезающая даже в F11 карту: Плюс еще почм то не все иконки отображатся на миникарте. Только что появилась идея использовать dxCreateScreenSource. Тойсть: 1. Ставим камеру игрока над определенным участком карты 2. Фоткаем этот участок 3. Сохраняем в файл 4. Перемещаем камеру по x или y 5. Все заного И после этого склеить все эти файлы руками (или скриптом каким нить для гимпа). Внимание, знатоки, вопросы: Какие еще способы можно использовать для создания карты (или ее очертаний, что бы потом их перевести в нормальный вид руками)? Будет ли работать способ с использованием dxCreateScreenSource?
  23. Я покупал на X коробку и пк - и там и там тормознутая
  24. Не нравится. Уж больно тормознутая, даже при 50 FPS на компе лично мне кажется, что как то медленно работает.
×
×
  • Create New...