You are not logged in.
Да, я не заметил, что ты перезалил, спасибо)
___
Блин, либо я нуб (что более вероятно
), либо... либо я еще больший нуб. Санчез, расскажи, пожалуйста, подробно мне, жалкому хеллоуворлдщику, последовательность своих действий? 
Насколько я понял, ты работаешь в VS2010, ибо моя студия кричит, что файл более нового формата.
Попробовал скомпилировать абсолютно такой же проект (твои .cpp и .def) в 2008 - в игре ноль реакции, а с твоей готовой дллкой всё прекрасно работает (за исключением одного варнинга в чате сампа)
PS: даже ассемблерный код в архиве есть, ммм, вкусняшка))
Den_spb, спасибо.
Да и чуть не забыл. Драйвбай с калаша и т.п. оружие предусмтрен в игре. НПС как то же стреляет
Сори, my fault 
0A8C: write_memory 6601887 size 4 value -1869574000 virtual_protect 1
Опкод 0A8C записывает определенное значение в определенную ячейку памяти. Первый параметр - адрес ячейки, второй - число байт, передаваемых в ячейку, третий - само значение, которое нужно записать. Насчет виртуал протект я мало чего знаю, вроде бы это 1 это автоматическая очистка стека, а 0 - ручная.. Если что, поправьте.
И всё таки, Sanchez, не мог бы ты мне скинуть исходники своей дллки?
Опкод 01B9 просто устанавливает текущее оружие. Модель, возможно, не видна, потому что дб с калашникова\м4 не предусмотрена игрой.
Модели загружаются в память командой model.load(#модель), выгружаются - model.destroy(#модель)
Оружие можно поменять опкодом
01B9: set_actor $player_actor armed_weapon_to <номер оружия>
...А где смотреть?
___
И можешь кинуть исходники?
Такс, разбил проверку на загруженность библиотеки и получение указателя на процедуру.
Библиотека загружается, а вот указатель не найден.
Там стоит __cdecl (/Gd), поставил pop 2, ничего не изменилось, скрипт всё так же не загружает библиотеку.
Может, я неправильно добавил .def? Я не нашел, как его добавить через меню в студии, поэтому создал отдельно и присоединил к проекту.
Всё так же не работает( Ничего не понимаю
Добавил .def, сделал все, как ты сказал, но все так же не загружает библиотеку.
Скрипт свой оставил без изменений, все таки тоже самое.
@Sanchez
Хм, у меня с написанием длл пока что мало опыта... куда надо совать .def-файл? (работаю в VS2008)
Ошибка на стадии проверки на загруженность.
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
{$VERSION 3.1.0027}
{$CLEO .cs}
thread 'dlltest'
0AA2: 0@ = load_library "CLEO\mydll.dll" // IF and SET
0AA4: 1@ = get_proc_address "plus" library 0@ // IF and SET
:dll1
wait 0
if and
0AA2: 0@ = load_library "CLEO\mydll.dll" // IF and SET
0AA4: 1@ = get_proc_address "plus" library 0@ // IF and SET
then
4@ = 1
else
4@ = 0
end
0AF1: write_int 4@ to_ini_file "cleo\mydll.ini" section "mydll" key "loaded"
if and
4@ == 1
0AB0: 16
0AB0: 85
jf @dll1
0AA7: call_function 1@ num_params 2 pop 0 4 7 3@
//0AF1: write_int 3@ to_ini_file "cleo\mydll.ini" section "mydll" key "plus"
wait 50000
jump @dll1
Спасибо, сейчас попробую
Добрый день, скриптеры-программисты, нужна ваша помощь!
Написал я простенькую дллку для тестов, и пытаюсь вызвать её единственную функцию из клео-скрипта.
Код дллки:
Заголовочный:
namespace testfuncs {
class testfuncs {
public:
static __declspec(dllexport) int plus(int a, int b);
};
}Исходник:
#include "testfuncs.h"
#include <stdexcept>
using namespace std;
namespace testfuncs {
int testfuncs::plus(int a, int b) {
return a + b; }
}Скрипт:
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
{$VERSION 3.1.0027}
{$CLEO .cs}
thread 'dlltest'
0AA2: 0@ = load_library "CLEO\mydll.dll" // IF and SET
0AA4: 1@ = get_proc_address "plus" library 0@ // IF and SET
:dll1
wait 0
if and
0AB0: 16 //шифт
0AB0: 85 //u
jf @dll1
0AA7: call_function 1@ num_params 2 pop 2 4 7 3@
0AF1: write_int 3@ to_ini_file "cleo\mydll.ini" section "mydll" key "plus"
wait 50000
jump @dll1После нажатия кнопок игра вылетает.
PS: тестирую скрипты я в сампе, это может быть причиной вылета? (Сингл у меня почему-то не работает)
PPS: в сб режим форматирования - "Как есть", так что проблема не в этом
Помогите! 
У меня вопрос: можно ли и если да, то как, проверить, имеется ли машина с определенной моделью в определенном радиусе от игрока? И если имеется, то получить ее хендл (Например есть ли в радиусе 50.0 от игрока #RHINO)
Возможно, баян 
На сервере SAMP, где я играю, имеется интересный Pawno-скрипт, который позволяет за определенное количество денег подорвать себя - я решил "портировать" его на синглплеер и добавить пару функций.
Вообщем, по нажатию Z + LMB игрок взрывается, а потом в течении нескольких секунд горит и способен поджигать прохожих прикосновением. Также в течении этого времени игроку невозможно причинить ущерб.
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
{$VERSION 3.1.0027}
{$CLEO .cs}
thread 'boom'
:ast1
wait 0
if and
0AB0: key_pressed 90
00E1: player 0 pressed_key 17
jf @ast1
00A0: store_actor $PLAYER_ACTOR position_to 1@ 2@ 3@
0226: 0@ = actor $PLAYER_ACTOR health
02AB: set_actor $PLAYER_ACTOR immunities BP 1 FP 1 EP 1 CP 1 MP 1
0948: create_explosion_at 1@ 2@ 3@ type 10 camera_shake 2.0
0223: set_actor $PLAYER_ACTOR health_to 0@
0326: 5@ = create_actor $PLAYER_ACTOR fire
jump @ast2
:ast2
wait 0
if and
0973: fire 5@ exists
06FF: any_ped_near_actor $PLAYER_ACTOR in_range 3.0
jf @ast3
0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 6@ closest_ped_to 7@
0326: 4@ = create_actor 7@ fire
if
actor.Dead(7@)
jf @ast2
02D1: remove_fire 4@
jump @ast2
:ast3
wait 100
8@ += 1
0326: 5@ = create_actor $PLAYER_ACTOR fire
if
8@ >= 100
jf @ast2
02D1: remove_fire 5@
02AB: set_actor $PLAYER_ACTOR immunities BP 0 FP 0 EP 0 CP 0 MP 0
8@ = 0
wait 2000
jump @ast1Enjoy!
хмм, наткнулся на проблему, вообщем как убрать модель, приаттаченную опкодом 070A?
пробовал и дестрой и деатач - неработает
спасибо
народ, кто-то знает, где посмотреть номер добавленной (своей) модели, или как добавить новый ид? и возможно ли использовать свою модель в скрипте, не меняя внешние файлы?
Хм, а ведь точно. Значит, карту этим методом можно расширить, только вот как быть с радаром? Я не разбираюсь в редактировании памяти игры, но должна же быть строчка, отвечающая за размер карты (той что в меню)? Кстати когда-то была идея сделать карту штата, как в игре "Мафия" (жмешь кнопку и перед тобой появляется карта)
Быть может, можно создать новый город тупо огромным интерьером? И загружать игрока в него, например, телепортом из старых координат в новые, относительно интерьера.
З.Ы. Я не знаю, существуют ли лоды в интерьерах)) Ведь если нет, то фпс будет страдать страшно, столько обьектов загружать одновременно.
спасибо)
не могли бы вы сказать, где взять список и номера костей для опкода 09A0: ?
(09A0: actor $PLAYER_ACTOR attach_object 26@ with_offset 0.0 0.0 0.0 on_bone 5 16 perform_animation "NULL" IFP_file "NULL" time -1
)
Присоединяюсь к вопросу)