Я отправил тебе на мыло неработающий скрипт. Посмотри. Пожалусто.
Не злись на меня =)
Вопросы по созданию гейммодов
Сообщений 91 страница 120 из 703
Поделиться912007-04-21 22:07:42
Поделиться922007-04-23 13:51:56
Я отправил тебе на мыло неработающий скрипт. Посмотри. Пожалусто.
Не злись на меня =)
у тебя там очень много зазновидностей автомобилей
Разновидности:
AddStaticVehicle(541,2495.7810,-1755.7356,13.0948,1.4169,13,8); //
AddStaticVehicle(542,2390.0823,-1718.2603,13.3459,180.7811,119,113); //
AddStaticVehicle(568,2409.7957,-1695.8822,13.4920,271.6661,41,29); //
AddStaticVehicle(573,2383.0417,-1927.9628,14.0328,0.8403,77,18); //
AddStaticVehicle(587,2492.2576,-1952.5856,13.1605,359.2161,53,1); //
AddStaticVehicle(406,2457.3613,-1785.6232,15.0693,270.4230,1,1); //
!!!ЗАПОМНИ!!!
МАКСИМАЛЬНОЕ КОЛИЧЕСТВО РАЗНОВИДНОСТЕЙ !!!50!!!
исправляй сам я не знаю какие тебе машины нужны, а какие нет.
Поделиться932007-04-23 15:41:48
Понял пасибо!!! Буду делать. А как сделать так чтобы при заходи в игру было написано:
Ну примерно так:
1.Здравствуйте. Добро пожаловать на наш сервер
2.наберите /pravila чтобы ознокомится с правилами поведения на нашем сервере
3.Наберите /help...
*****
Потом ты набираеш /pravila и тебе точно также (текст тока другой) как и выше отображаются правила игры и тоже самое с /help
?????
Поделиться942007-04-23 16:36:25
Понял пасибо!!! Буду делать. А как сделать так чтобы при заходи в игру было написано:
Ну примерно так:
1.Здравствуйте. Добро пожаловать на наш сервер
2.наберите /pravila чтобы ознокомится с правилами поведения на нашем сервере
3.Наберите /help...*****
Потом ты набираеш /pravila и тебе точно также (текст тока другой) как и выше отображаются правила игры и тоже самое с /help
?????
при входе в игру:
public OnPlayerConnect(playerid) { new string[256]; new playername[24]; GetPlayerName(playerid,playername,24); format(string, sizeof(string), "* Добро пожаловать %s",playername); SendClientMessage(playerid,0x33FF33AA,string); SendClientMessage(playerid,0x33FF33AA,"Наберите /pravila чтобы посмотреть правила"); SendClientMessage(playerid,0x33FF33AA,"Наберите /help чтобы получить помощь"); return 1; }
команды
public OnPlayerCommandText(playerid, cmdtext[]) { if (strcmp(cmdtext, "/pravila", true)==0) { SendClientMessage(playerid,0x33FF33AA,"=======Правила======="); SendClientMessage(playerid,0x33FF33AA,"Правило 1"); SendClientMessage(playerid,0x33FF33AA,"Правило 2"); return 1; } if (strcmp(cmdtext, "/help", true)==0) { SendClientMessage(playerid,0x33FF33AA,"=======Помощь======="); SendClientMessage(playerid,0x33FF33AA,"Помощь 1"); SendClientMessage(playerid,0x33FF33AA,"Помощь 2"); return 1; } return 0; }
Поделиться952007-04-23 17:14:56
Все работает. Большое человеческое Пасибо!!!
Но у меня еще куча вопросов.
Я так и непонял как сделать так чтоб игроки не могли выехать ДОПУСТИМ из 1 города или 2?? Ну короче игра шла в 1 городе (Еси смотреть на карту, то он находится в правом нижнем углу.
Да я нашел ошибку =)
Код:
Код:
public OnPlayerConnect(playerid)
{
new string[256];
new playername[24]; GetPlayerName(playerid,playername,24);
format(string, sizeof(string), "* Добро пожаловать %s",playername);
SendClientMessage(playerid,0x33FF33AA,string);
SendClientMessage(playerid,0x33FF33AA,"Наберите /pravila чтобы посмотреть правила");
SendClientMessage(playerid,0x33FF33AA,"Наберите /help чтобы получить помощь"); - ВОТ ОНА должно быть одна ); а не 2 (в конце).
return 1;
}
ВСЕ РАВНО СПАСИБО!!!
Поделиться962007-04-23 21:15:10
Значит так:
1. Заходим в редактор Samp_debug
2. Перемещаемся в точку 1.
3. Сохраняемся (/save)
4. Перемещаемся в точку 2.
5. Сохраняемся (/save)
6. Перемещаемся в точку 3.
7. Сохраняемся (/save)
8. Перемещаемся в точку 4.
9. Сохраняемся (/save)
10. Выходим из редактора
11. В папке с GTA найдем файл savedpositions.txt
12. Открываем его
13. Видим 4 строчки с нашими сохранениями, например: (точки к рисунку не относятся)
AddPlayerClass(0,1840.3711,-1335.8097,13.5625,282.8615,0,0,0,0,0,0); // AddPlayerClass(0,1839.3379,-1472.0779,13.5643,267.1947,0,0,0,0,0,0); // AddPlayerClass(0,1994.9497,-1472.2440,13.5625,0.2555,0,0,0,0,0,0); // AddPlayerClass(0,1993.8376,-1333.2124,23.9844,114.9366,0,0,0,0,0,0); //
Общая команда этих строчек:
AddPlayerClass(modelid, Float:spawn_x, Float:spawn_y, Float:spawn_z, Float:z_angle, weapon1, weapon1_ammo, weapon2, weapon2_ammo, weapon3, weapon3_ammo);
14. Общая команда ограничения игрового мира:
SetPlayerWorldBounds(playerid,Float:x_max,Float:x_min,Float:y_max,Float:y_min);
15. Ищем в наших сохраненных точках максимальное и минимальные значения X и Y
16. Подставляем их в команду:
SetPlayerWorldBounds(playerid,Float:x_max,Float:x_min,Float:y_max,Float:y_min);
17. Получается команда:
SetPlayerWorldBounds(playerid,1994.9497,1839.3379,-1333.2124,-1472.2440);
18. Вставляем полученную команду в скрипт (обычно в ставляется в функцию OnPlayerSpawn)
Пример:
public OnPlayerSpawn(playerid) { SetPlayerInterior(playerid,0); SetPlayerWorldBounds(playerid,1994.9497,1839.3379,-1333.2124,-1472.2440); return 1; }
Данные координаты ограничения соответствуют границам BMX парка с рампами в Лос Сантосе
Поделиться972007-04-24 08:05:32
ПАСИБО БУДУ ПРОБОВАТЬ.
Поделиться982007-04-24 10:19:46
А моно сделать как-нибудь телепортацию? Из одного места в другое??????? =)
Допустим из 1 города в 3? Ну или что-то подобное.
Да пасибо с картой. все получилось.
Поделиться992007-04-24 12:33:25
А моно сделать как-нибудь телепортацию? Из одного места в другое??????? =)
Допустим из 1 города в 3? Ну или что-то подобное.Да пасибо с картой. все получилось.
можно.
в samp_debug портаешься в место, куда ты хочешь портнуться
пишешь /save
в файле savedpositions.txt ищешь сохраненные координаты
запихиваешь их в команду SetPlayerPos
Например:
Телепорт в Лас Вентурас Аэропорт
if (strcmp(cmdtext, "/LVA", true)==0) { SetPlayerPos(playerid,304.9069,2499.9163,500.4844); GivePlayerWeapon(playerid,46,1); SendClientMessage(playerid,COLOR_LIGHTBLUE,"You have been teleported to the Las Venturas Airport"); GameTextForPlayer(playerid, "~g~Las Venturas Airport", 5000, 1); return 1; }
Телепорт в Лос Сантос Аэропорт
if (strcmp(cmdtext, "/LSA", true)==0) { SetPlayerPos(playerid,1728.7621,-2539.6914,600.5469); GivePlayerWeapon(playerid,46,1); SendClientMessage(playerid,COLOR_LIGHTBLUE,"You have been teleported to the Los Santos Airport"); GameTextForPlayer(playerid, "~g~Los Santos Airport", 5000, 1); return 1; }
Телепорт в Сан Фиеро Аэропорт
if (strcmp(cmdtext, "/SFA", true)==0) { SetPlayerPos(playerid,-1254.3024,34.1786,500.1484); GivePlayerWeapon(playerid,46,1); SendClientMessage(playerid,COLOR_LIGHTBLUE,"You have been teleported to the San Fiero Airport"); GameTextForPlayer(playerid, "~g~San Fiero Airport", 5000, 1); return 1; }
Команды вставляются в функцию:
public OnPlayerCommandText(playerid, cmdtext[]) { СЮДА return 0; }
можно использовать чекпойнты, но это уже сложнее
Поделиться1002007-04-24 15:06:56
А так понимаю чекпоинты это ты входиш в красный круг и телепортируешся? Если это то, то мне как раз это и нужно, тоесть чекпоинт.
Как его сделать? Да пасибо за ТЕЛЕПОРТАЦИЮ без чекпоинта! Буду пробовать.
так.
в начале скрипта пишешь:
#define CHECKPOINT_NONE 0 #define CHECKPOINT_A 1
в функцию OnPlayerSpawn вставляешь:
SetPlayerCheckpoint(playerid, Float:x, Float:y, Float:z, Float:size);
где
Float:x, - координата X
Float:y, - координата Y
Float:z, - координата Z
Float:size - размер чекпойнта
и далее пишешь отдельную функцию
new PlayerCheckpointStatus[MAX_PLAYERS]; public OnPlayerEnterCheckpoint(playerid) { SetPlayerPos(playerid,-2310.3523,-1648.3457,800.7031); GivePlayerWeapon(playerid,46,1); SendClientMessage(playerid,COLOR_LIGHTBLUE,"!!!TELEPORT!!!"); switch (PlayerCheckpointStatus[playerid]) { case CHECKPOINT_A: { SetPlayerPos(playerid,-2310.3523,-1648.3457,800.7031); } } return 1; }
это мой старый вариант я его вырезал откуда то
позже в обучении напишу как сразу много чекпойнтов поставить
в этом случае будет только один
Поделиться1012007-04-24 15:10:04
Ок буду пробовать. но мне надо чтоб было как минимум 3. А где взять ID'е оружия?? Мне надо оружия на карте разбросать.
Поделиться1022007-04-24 15:19:59
ID оружия:
0 Ничего
2 Гольф клюшка
3 Night Stick
4 нож
5 Бейсбольная бита
6 Лопата
7 Бильярдный кий
8 Катана
9 Бензопила
10 Фиолетовый фаллоимитатор
11 Белый фаллоимитатор
12 Длинный белый фаллоимитатор
13 Белый фаллоимитатор 2
14 Букет цветов
15 Трость
22 Пистолет
23 Пистолет с глушителем
24 Пустынный орёл (пистолет)
25 Ружьё
26 Обрезы
27 Боевое ружьё
28 Микро узи (Mac 10)
29 MP5
30 Калашников
31 M4
32 Tec9
33 Винтовка
41 Баллончик краски
42 Огнетушитель
44 Очки ночного видения
45 Инфракрасные очки
46 Парашют
Поделиться1032007-04-24 15:24:29
А как "положить" оружие на карту?
Поделиться1042007-04-24 16:11:11
Вставлять в функцию OnGameModeInit
AddStaticPickup(model,type,Float:X,Float:Y,Float:Z);
Поделиться1052007-04-24 17:26:28
Е-мое, что ж это за поколение программистов растет, что им нужно так все разжевывать?
http://wiki.sa-mp.com/ Флаг тебе в руки.
Поделиться1062007-04-24 19:17:58
Блин... прикольный сайт, правдо по английски. Немного понимаю
Поделиться1072007-04-24 19:43:50
Блин... прикольный сайт, правдо по английски. Немного понимаю
там и русский раздел есть поищи в навигации сайта
кстати практически все статьи про SAMP выложены в разделе "Обучение"
Поделиться1082007-04-24 20:01:12
Ок Неплохо много знакомых слов =)
Поделиться1092007-04-24 20:02:46
Ок Неплохо много знакомых слов =)
учись учись в будущем станешь великим скриптером
Поделиться1102007-04-24 20:09:57
(playerid,money)
playerid ID игрока.
money Число денег, которые вы хотите дать/отнять.
GivePlayerMoney(playerid, 10000);
Вот я немного не понимаю.
Эта команда позволяет дать или отнять денег у игрока. Немного непонятно! Когда дать, где дать, как дать денег?
И куда её вписывать??
П-А-С-И-Б-О
Поделиться1112007-04-24 20:12:53
(playerid,money)
playerid ID игрока.
money Число денег, которые вы хотите дать/отнять.
GivePlayerMoney(playerid, 10000);
Вот я немного не понимаю.
Эта команда позволяет дать или отнять денег у игрока. Немного непонятно! Когда дать, где дать, как дать денег?
И куда её вписывать??
П-А-С-И-Б-О
писать ее надо в любую функцию
обычно пишут
в
OnPlayerSpawn (при заходе игрока в ГТА даются деньги)
OnPlayerCommandText (команда)
Можно сделать с таймером (т.е. за каждый промежуток времени игроку будут даваться деньги)
что тебе нужно?
скажи я напишу пример
Поделиться1122007-04-24 20:23:37
Я не пойму как происходит передача денег? Сервер должен прописать какую-то команду ? Вроде нет.
Если тока определенное время... Но больше подходит 1 вариант. Какие еше варианты будут??
Поделиться1132007-04-24 20:27:58
ты скажи что ты хочешь сделать
Поделиться1142007-04-24 20:30:36
Ну вот я хочу допустим игроку под ником Uranit передать, в данный момент, денег? Как? я играю вместе с ним на севере.
Поделиться1152007-04-24 20:40:05
Ну вот я хочу допустим игроку под ником Uranit передать, в данный момент, денег? Как? я играю вместе с ним на севере.
В начале скрипта напиши:
#include <dini>
Используй команду: (вставлять в OnPlayerCommandText)
new moneys; new playername[24]; GetPlayerName(playerid,playername,24); new string[100]; new playermoney; new cmd[256]; new sendername[MAX_PLAYER_NAME]; new giveplayer[MAX_PLAYER_NAME]; new giveplayerid, idx; cmd = strtok(cmdtext, idx); if(strcmp(cmdtext, "/givemoney", true) == 0) { new tmp[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_RED, "Usage: /givemoney [playerid] [amount]"); return 1; } giveplayerid = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_RED, "Usage: /givemoney [playerid] [amount]"); return 1; } moneys = strval(tmp); if (IsPlayerConnected(giveplayerid)) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); playermoney = GetPlayerMoney(playerid); if (moneys > 0 && playermoney >= moneys) { GivePlayerMoney(playerid, (0 - moneys)); GivePlayerMoney(giveplayerid, moneys); format(string, sizeof(string), "You have sent %s (id: %d), $%d.", giveplayer,giveplayerid, moneys); SendClientMessage(playerid, 0xFFFF00AA, string); format(string, sizeof(string), "You have recieved $%d from %s (id: %d).", moneys, sendername, playerid); SendClientMessage(giveplayerid, 0xFFFF00AA, string); printf("%s(playerid:%d) has transfered %d to %s(playerid:%d)",sendername, playerid, moneys, giveplayer, giveplayerid); } else { SendClientMessage(playerid, 0xFFFF00AA, "Invalid transaction amount."); } } else { format(string, sizeof(string), "%d is not an active player.", giveplayerid); SendClientMessage(playerid, 0xFFFF00AA, string); } return 1; }
Поделиться1162007-04-24 20:43:45
Ну и потом прописывать в чате /givemoney? А еси я хочу дать денег этому игроку (Uranit) и еще другому?
Поделиться1172007-04-24 20:49:03
Ну и потом прописывать в чате /givemoney? А еси я хочу дать денег этому игроку (Uranit) и еще другому?
КОМАНДА:
/givemoney [playerid] [amount]
смотришь ID игрока с ником Uranit
и пишешь /givemoney [ID Uranit'a] [Количество денег, которое ты хочешь ему передать]
Поделиться1182007-04-24 20:56:18
ок буду пробовать ПАСИБО
Поделиться1192007-04-25 01:15:55
GivePlayerMoney(playerid, 10000);
Вот я немного не понимаю.
Эта команда позволяет дать или отнять денег у игрока. Немного непонятно! Когда дать, где дать, как дать денег?
дать: GivePlayerMoney(playerid, 10000)
отнять: GivePlayerMoney(playerid, -10000)
Простейшая программистская логика.
Ну и потом прописывать в чате /givemoney? А еси я хочу дать денег этому игроку (Uranit) и еще другому?
Вводишь /givemoney и ID игрока, а не имя. Можно конечно сделать, чтобы была идентификация по нику, но зачем нужно все усложнять?
STiLeTT молодец конечно, не мог посложнее код выложить. Нафиг только dini подключать? Он тут нигде не используется. Только проблем лишних создаешь новичку.
Поделиться1202007-04-25 08:12:03
Блин! Делаю все как написано то мельчайшей точки, а он мне выдает ошибку:
...: fatal error 100: cannot read from file: "dini"
Почему, я вставил строку #include <dini> в самое начало, вроде больше негде это "слово" не упоминается.
Как исправить ошибку??
Похожие темы
Общие вопросы | Вопросы по созданию скриптов | 2008-06-24 |
Помогите Ля Sm1l-у :)))) | Вопросы по созданию скриптов | 2007-06-06 |
телепортация | Вопросы по созданию скриптов | 2007-11-26 |
Новый класс! | Вопросы по созданию скриптов | 2007-05-14 |