12:02
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
        
[SA-MP] Hosted Tab (126)
JasonGordon 12.10.2017 22:13
[MAP+FS] Тюрьма (15)
SubjectKalcor 09.10.2017 07:59
 





Рекомендуем:
Добавить IP: 95.172.59.51:7777





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
Скачать GTA SAMP 0.3.7 - Кл... 20.07.2015
Страница 92 из 152«129091929394151152»
Модератор форума: AXE, Weddew 
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Вопросы и ответы по GTA SAMP [от 19.03.2013]
Вопросы и ответы по GTA SAMP [от 19.03.2013]
WeddewДата: Вторник, 19.03.2013, 15:11 | Сообщение # 1
Группа: Ангел Хранитель
Сообщений: 1242
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
В этой теме вы сможете получить ответы, на многие ваши вопросы по PAWN.


Новичкам:


  • Внятно объясняйте Вашу проблему, если Вы получили ошибку, обязательно выкладывайте строки, на которые "ругается" компилятор.
  • Задавайте вопросы исключительно по коду, а не по системам, которые имеются у Вас в моде.
  • Помощь идет только по желанию пользователя, если человек помог Вам только частично, не нужно начинать поливать его грязью.
  • Возможно тип Вашей проблемы уже обсуждался на форуме, воспользуйтесь поиском.
  • В этой теме пользователи лишь оказывают помощь в написании кода, а не пишут его за Вас.
  • Если Вы хотите отблагодарить пользователя, жмите на кнопку . (Только для продвинутых, и выше)
  • Если Вы уже задавали вопрос и не получили на него ответа, то лучше написать в ЛС одному из участников группы , чем засорять тему.
  • Если Вы сами решили свою проблему, то напишите, как Вы ее решили.
  • Если Вас просят выложить код функций, то используйте для этого сервис pastebin.com


Скриптерам:

  • Не оскорблять новичков.
  • Не засорять тему сообщениями, подобные этому: "Закрой PAWNO и иди делай уроки".
  • Не посылать в поиск. Пользователь итак уже пришёл сюда из поиска. Если решение проблемы уже было опубликовано, то указать в какой теме
  • Как можно понятней объяснять решение той, или иной проблемы, по возможности приводить примеры.



Инструкции:

  • [cut noguest=Краткая инструкция для вшивания FS в мод]
    1) Все из callback OnFilterScriptInit вставляем в конец callback OnGameModeInit перед словом return.
    2) Все из callback OnFilterScriptExit вставляем в конец callback OnGameModeExit перед словом return.
    3) Все объявления переменных (new ...) и констант (const ...; #define ... ...) в начало мода.
    4) Все прототипы (forward ...(...) ) ко всем прототипам.
    5) Все описания нестандартных функций (public ...(...); stock ...(...); ...(...){...} ), которых нет в моде, вставляем в конец мода.

    P.S. Данный мануал не гарантирует, что после копирования все будет работать, так как еще потребуется подгонять одни системы под другие.
    P.P.S Если в одном из callback`ов Вы не обнаружили кода, то переходите к следующему пункту инструкции.
    [/cut]
  • [cut noguest=Защита от ботов]
    В OnPlayerConnect
    [pwn]if(GetPlayersSameIp(playerid) > 3) Kick(playerid);[/pwn]
    В конец мода
    [pwn]stock GetPlayersSameIp(playerid)
    {//by Weddew
    //Возвращает количество подключенных игроков с таким же IP как у playerid
    new count = 0, p_ip[16], i_ip[16];
    GetPlayerIp(playerid, p_ip, sizeof(p_ip));
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    GetPlayerIp(playerid, i_ip, sizeof(i_ip));
    if(i != playerid)
    {
    if(!strcmp(p_ip, i_ip, false)) count++;
    }
    }
    return count;
    }[/pwn]
    [/cut]
  • [cut noguest=Проверка на Role Play ник]
    В конец мода:
    [pwn]
    stock IsARPNickname(playerid)
    {
    //by Weddew
    new p_n[MAX_PLAYER_NAME], dcount = 0;
    GetPlayerName(playerid, p_n, sizeof(p_n))
    for(i = 0; i < strlen(p_n); i++)
    {
    if(p_n[i] == '_') dcount++;
    }
    if(dcount != 1 || p_n[0] == '_' || p_n[strlen(p_n)-1] == '_') return false;
    return true;
    }[/pwn]

    В OnPlayerConnect

    [pwn]
    if(!IsARPNickname(playerid)) Kick(playerid);[/pwn]

    P.S.:
    Не пропустит: _Nick_Name_, _Nick_Name, NickName_
    Пропустит: Nick_Name, NICK_NAME, NiCk_name, nick_name[/cut]




www.weddew-shop.ru


Сообщение отредактировал Weddew - Среда, 23.10.2013, 21:45
artemganin1999Дата: Понедельник, 29.07.2013, 16:49 | Сообщение # 1366
Уверенный в себе
Группа: Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
Код
if(strcmp(cmdtext, "/in", true) == 0) // Òóò òâîÿ êîìàíäà
      {
      if(PlayerInfo[playerid][pAdmin] < 5) return SendClientMessage(playerid, COLOR_GRAD1, "Òåáå íåëüçÿ");
      SetPlayerInterior(playerid, 0); //Òóò èíòåðüåð â êîòîðûé òåëåïîðòèðóåøüñÿ
      SetPlayerVirtualWorld(playerid,0); //Òóò âèðòóëüíûé ìèð â êîòîðûé òåëåîïðòèðóåøüñÿ
      new driftscar; //Äëÿ òåëåïîðòà â òðàíñïîðòå
      driftscar = GetPlayerVehicleID(playerid); //Äëÿ òåëåïîðòà â òðàíñïîðòå
      if(!GetPlayerVehicleSeat(playerid)) SetVehiclePos(driftscar,-2595.8435,1363.5548,7.0707); //Êîîðäèíàòû òåëåïîðòà â òà÷êå
      else SetPlayerPos(playerid,-2595.8435,1363.5548,7.0707); //Êîîðäèíàòû òåëåïîðòà ÷åëîâåêîì
      return 1;
      }

как сделать чтобы можно было телепортироваться только в одном месте

Dima-kunДата: Понедельник, 29.07.2013, 17:12 | Сообщение # 1367
Группа: Разработчики
Сообщений: 6247
Награды: 72
Репутация: 3339
Замечания: 0%
Статус:
artemganin1999, добавь вот ЭТУ проверку


Мои работы:
[INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники,
[FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos,
[GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints


Сообщение отредактировал Dima-kun - Понедельник, 29.07.2013, 17:13
artemganin1999Дата: Понедельник, 29.07.2013, 17:32 | Сообщение # 1368
Уверенный в себе
Группа: Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
Цитата (Dima-kun)
artemganin1999, добавь вот ЭТУ проверку

Вот у меня получилось так
[pwn] if(strcmp(cmdtext, "/out", true) == 0) // Òóò òâîÿ êîìàíäà
{
if(IsPlayerInRangeOfPoint(playerid, 7.0, -2595.8435,1363.5548,7.0707))
{
SendClientMessage(playerid,0xFFFFFFFF,"Âû äîëæíû áûòü îêîëî òåêñòà!");
}
if(PlayerInfo[playerid][pAdmin] < 5) return SendClientMessage(playerid, COLOR_GRAD1, "Òåáå íåëüçÿ");
SetPlayerInterior(playerid, 0); //Òóò èíòåðüåð â êîòîðûé òåëåïîðòèðóåøüñÿ
SetPlayerVirtualWorld(playerid,0); //Òóò âèðòóëüíûé ìèð â êîòîðûé òåëåîïðòèðóåøüñÿ
new driftscar; //Äëÿ òåëåïîðòà â òðàíñïîðòå
driftscar = GetPlayerVehicleID(playerid); //Äëÿ òåëåïîðòà â òðàíñïîðòå
if(!GetPlayerVehicleSeat(playerid)) SetVehiclePos(driftscar,-2583.3865,1353.0137,7.0438); //Êîîðäèíàòû òåëåïîðòà â òà÷êå
else SetPlayerPos(playerid,-2583.3865,1353.0137,7.0438); //Êîîðäèíàòû òåëåïîðòà ÷åëîâåêîì
return 1;
}
if(strcmp(cmdtext, "/in", true) == 0) // Òóò òâîÿ êîìàíäà
{
if(IsPlayerInRangeOfPoint(playerid, 7.0, -2583.3865,1353.0137,7.0438))
{
SendClientMessage(playerid,0xFFFFFFFF,"Âû äîëæíû áûòü îêîëî òåêñòà!");
}
if(PlayerInfo[playerid][pAdmin] < 5) return SendClientMessage(playerid, COLOR_GRAD1, "Òåáå íåëüçÿ");
SetPlayerInterior(playerid, 0); //Òóò èíòåðüåð â êîòîðûé òåëåïîðòèðóåøüñÿ
SetPlayerVirtualWorld(playerid,0); //Òóò âèðòóëüíûé ìèð â êîòîðûé òåëåîïðòèðóåøüñÿ
new driftscar; //Äëÿ òåëåïîðòà â òðàíñïîðòå
driftscar = GetPlayerVehicleID(playerid); //Äëÿ òåëåïîðòà â òðàíñïîðòå
if(!GetPlayerVehicleSeat(playerid)) SetVehiclePos(driftscar,-2595.8435,1363.5548,7.0707); //Êîîðäèíàòû òåëåïîðòà â òà÷êå
else SetPlayerPos(playerid,-2595.8435,1363.5548,7.0707); //Êîîðäèíàòû òåëåïîðòà ÷åëîâåêîì
return 1;
}[/pwn]
Но я себя подругому это представлял (можно телепортироваться в любом месте, а пишет вообще не тогда когда это надо) короче все на видео http://youtu.be/TZnerBawmRA

Dima-kunДата: Понедельник, 29.07.2013, 18:07 | Сообщение # 1369
Группа: Разработчики
Сообщений: 6247
Награды: 72
Репутация: 3339
Замечания: 0%
Статус:
[pwn]if(IsPlayerInRangeOfPoint(playerid, 7.0, -2595.8435,1363.5548,7.0707))
{
SendClientMessage(playerid,0xFFFFFFFF,"Âû äîëæíû áûòü îêîëî òåêñòà!");
} [/pwn]
исправь на
[pwn]if( !IsPlayerInRangeOfPoint( playerid, 7.0, -2595.8435,1363.5548,7.0707 ) ) return SendClientMessage( playerid, 0xFFFFFFFF, "Âû äîëæíû áûòü îêîëî òåêñòà!" ); [/pwn]

нужно добавить ! перед функцией или == 0 после функции IsPlayerInRangeOfPoint чтобы было "Если игрок НЕ в указанном радиусе вокруг координат".
Ну или скобки переставить не много. Но этот вариант неайс.



Мои работы:
[INC] Сборник d_includes [LAST],[FS] New Demage Effect,[FS]Авто-Поворотники,
[FS]mp3player,[FS] Fun Chat Game,[FS] Car Buy Syst,[FS] Anti-AirBrk,[INC] d_setpos,
[GM] Game Move v0.1,[FS+include]Super-Armour [0.3z],[FS + Include] Multi Checkpoints


Сообщение отредактировал Dima-kun - Понедельник, 29.07.2013, 18:11
_BigSm0ke_Дата: Понедельник, 29.07.2013, 18:52 | Сообщение # 1370
Местный
Группа: I'm V.I.P.
Сообщений: 674
Награды: 5
Город: Москва
Репутация: 127
Замечания: 0%
Статус:
Кто может дать ссылочку на шарную простенькую ucp без дыр без разницы для какого мода, лишь бы был логин, логаут и просмотр профиля.


LifeVegas: vk.com/lvgta - Покори вершины Лас-Вегаса в новом РП проекте. COMING SOON
Продаю РП мод: подробнее тут
Решаю задачи по техническим дисциплинам, подробнее тут
Fen1ksДата: Понедельник, 29.07.2013, 21:24 | Сообщение # 1371
Новенький
Группа: Пользователи
Сообщений: 26
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Здравствуйте! Помогите мне пожалуйста!
Нашел единственную хорошую систему регистрации на MySQL, но дело в том что она не сохраняет деньги...
В MySQL я шарю процентов 5, кто знает как решить скажите пожалуйста.
Код сис-мы ниже
[pwn]#include <a_samp>
#include <a_mysql> // SQL функции.
#include <sscanf2> // Извлечение данных.

#define SQL_HOST "localhost" // IP адресс БД.
#define SQL_USER "root" // Login БД.
#define SQL_DB "pawno" // Название БД.
#define SQL_PASS "" // Пароль БД.
#define DIALOG_LOGIN 1
#define DIALOG_REGISTER 2
#define DIALOG_WRONGPAS 3
#define COLOR_LIGHTRED 0xFF6347AA
#define COLOR_YELLOW 0xFFFF00AA

enum Variables {
aID,
aName[MAX_PLAYER_NAME],
aPassword[64],
bool: aLogged,
aWrongPassword,
};
new playerVariable[100][Variables]; // 100 - моё кол-во слотов для игроков на сервере.

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
switch(dialogid) {
case DIALOG_LOGIN: { // Диалог авторизации.
if(!response) { // Если нажал "Отмена".
SendClientMessage(playerid, COLOR_YELLOW, "* Введите /q(uit), чтобы выйти из игры.");
Kick(playerid);
return 1;
}
if(!strlen(inputtext)) { // Если поле ввода пустое.
new dialog[134+MAX_PLAYER_NAME];
format(dialog, sizeof(dialog),
"Добро пожаловать на Сервер!\n\
Этот аккаунт зарегистрирован.\n\n\
Логин: %s\n\
Введите пароль:",
playerVariable[playerid][aName]);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Авторизация.", dialog, "Войти", "Отмена");
return 1;
}
LoadAccount(playerid, inputtext); // Пробуем его авторизовать.
}
case DIALOG_REGISTER: { // Диалог регистрации.
if(!response) { // Если нажал "Отмена".
SendClientMessage(playerid, COLOR_YELLOW, "* Введите /q(uit), чтобы выйти из игры.");
Kick(playerid);
return 1;
}
if(!strlen(inputtext) || strlen(inputtext) < 6 || strlen(inputtext) > 64) { // Если пустое поле ввода или пароль имеет меньше 6 или больше 64 символов
new dialog[380+24+10];
format(dialog, sizeof(dialog),
"Добро пожаловать на Сервер!\n\
Этот аккаунт не зарегистрирован.\n\n\
Логин: %s\n\
Введите пароль и нажмите \"Далее\".\n\n\
Примечания:\n\
- Пароль чувствительный к регистру.\n\
- Длина пароля от 6 до 32 символов.\n\
- В пароле можно использовать символы на кириллице и латинице.\n", playerVariable[playerid][aName]);
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Регистрация.", dialog, "Далее", "Отмена");
return 1;
}
CreateAccount(playerid, inputtext); // Создаём аккаунт.
playerVariable[playerid][aLogged] = true; // Авторизуем игрока.
}
case DIALOG_WRONGPAS: { // Если неверный пароль.
if(response) {
new dialog[134+MAX_PLAYER_NAME];
format(dialog, sizeof(dialog),
"Добро пожаловать на Сервер!\n\
Этот аккаунт зарегистрирован.\n\n\
Логин: %s\n\
Введите пароль:",
playerVariable[playerid][aName]);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Авторизация.", dialog, "Войти", "Отмена");
return 1;
}
else { // Если нажал "Отмена".
Kick(playerid);
return 1;
}
}
}
return 1;
}
public OnPlayerText(playerid, text[])
{
if(playerVariable[playerid][aLogged] == false) return 0;
return 1;
}
public OnPlayerConnect(playerid)
{
RemovePlayerVariables(playerid);
//------------------------------------------------------------------------------
GetPlayerName(playerid, playerVariable[playerid][aName], MAX_PLAYER_NAME);
//------------------------------------------------------------------------------
if(GetAccountID(playerid)) { // Аккаунт зарегистрирован
new dialog[128+MAX_PLAYER_NAME];
format(dialog, sizeof(dialog),
"Добро пожаловать на Сервер!\n\
Этот аккаунт зарегистрирован.\n\n\
Логин: %s\n\
Введите пароль:",
playerVariable[playerid][aName]);
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Авторизация.", dialog, "Войти", "Отмена");
}
else { // Аккаунт не зарегистрирован (return 0, в функции GetAccountID, т.е. не нашло записи с аккаунтом).
new dialog[344+MAX_PLAYER_NAME];
format(dialog, sizeof(dialog),
"Добро пожаловать на Сервер!\n\
Этот аккаунт не зарегистрирован.\n\n\
Логин: %s\n\
Введите пароль и нажмите \"Далее\".\n\n\
Примечания:\n\
- Пароль чувствительный к регистру.\n\
- Длина пароля от 6 до 32 символов.\n\
- В пароле можно использовать символы на кириллице и латинице.\n", playerVariable[playerid][aName]);
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Регистрация.", dialog, "Далее", "Отмена");
}
return 1;
}

stock ConnectMySQL() { // В OnGameModeInIt вставьте ConnectMySQL();
mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS); // Тут мы используем все данные, которые мы дефайнили.
switch(mysql_ping()) { // Проверка на то, что мы подключены к БД.
case 1: print("MySQL connection: alive."); // Если подключена БД.
case -1: print("MySQL connection: dead."); // Если не подключена БД.
}
return 1;
}

stock DisconnectMySQL() { // Вставьте DisconnectMySQL(); в OnGameModeExit, отключаемся от БД.
mysql_close();
print("MySQL connection closed.");
}

stock CheckMySQLConnection() { // Этот сток мы будем использовать для проверки, подключена ли БД перед её использованием.
if(mysql_ping() == -1) mysql_reconnect();
return 1;
}
stock CreateAccount(playerid, password[]) {
new
query[128], // Для запроса.
sqlname[MAX_PLAYER_NAME],
sqlpassword[32];
mysql_real_escape_string(playerVariable[playerid][aName], sqlname); // Защитит от sql inject
mysql_real_escape_string(password, sqlpassword); // Защитит от sql inject
format(query, sizeof(query), "INSERT INTO `Accounts` (`Nickname`, `Password`) VALUE ('%s', '%s')", sqlname, sqlpassword); // Добавляем в таблицу запись.
// INSERT - добавление записи в таблицу, 1. () - поля. 2. VALUE - значения этих полей.
mysql_query(query); // Отправляем запрос.
GetAccountID(playerid); // Узнаём ИД аккаунта, будет использоваться для сохранения и прочих операций.
strmid(playerVariable[playerid][aPassword], password, 0, 64, 255); // Внедряем в массив аккаунта введенный игроком пароль.
playerVariable[playerid][aLogged] = true; // Мы авторизованы.
return 1;
}
stock LoadAccount(playerid, password[]) {
new
query[128],
sqlpass[32],
result[5+24+64],
dialog[128];
mysql_real_escape_string(password, sqlpass); // Защита от SQL Inject, шифрует кодировку.
format(query, sizeof(query), "SELECT * FROM `Accounts` WHERE `Password` = '%s' AND `ID` = '%i'", sqlpass, playerVariable[playerid][aID]);
// SELECT * - выбрать, FROM - с таблицы, WHERE - где, пароль равен введенному паролю и ID равен иду ника человека.
mysql_query(query); // Отправляем запрос.
mysql_store_result(); // Смотрим записи, которые мы выбрали запросом выше.
if(mysql_num_rows() == 1) { // Если выбрало только 1 аккаунт с таким паролем и ИД - успех, пароль введен верно, загружаем данные в массив.
mysql_fetch_row_format(result, "|"); // split, данные в результате записываются типо "1|Snoowker|parol"
sscanf(result, "p<|>is[24]s[32]", // i - ид (int), s[размер] - string, ник и пароль.
playerVariable[playerid][aID],
playerVariable[playerid][aName],
playerVariable[playerid][aPassword]);
playerVariable[playerid][aLogged] = true;
mysql_free_result(); // Очищаем память.
return 1;
}
else { // Мы ввели неверный пароль.
if(playerVariable[playerid][aWrongPassword] == 4) {
SendClientMessage(playerid, COLOR_LIGHTRED, "Вы 3 раза ввели неверный пароль и были отключены от сервера.");
Kick(playerid);
return 1;
}
format(dialog, sizeof(dialog),
"Вы ввели неверный пароль.\n\
У Вас осталось %i/3 попыток ввода.", 3 - playerVariable[playerid][aWrongPassword]);
ShowPlayerDialog(playerid, DIALOG_WRONGPAS, DIALOG_STYLE_MSGBOX, "Ошибка.", dialog, "Повтор", "Отмена");
}
return 1;
}
stock GetAccountID(playerid) {
new
query[128];
format(query, sizeof(query),"SELECT `ID` FROM `Accounts` WHERE `Nickname` = '%s'", playerVariable[playerid][aName]);
// Выбираем ID, с таблицы Accounts, где Ник равен нику игрока.
mysql_query(query); // Отправляем запрос.
mysql_store_result(); // Видим
if(mysql_num_rows() == 1) { // Если у нас в результате выбрало 1 запись, т.е. аккаунт игрока.
playerVariable[playerid][aID] = mysql_fetch_int(); // ИД игрока равен номеру записи.
mysql_free_result(); // Очищаем память.
return playerVariable[playerid][aID]; // Возвращаем ИД игрока.
}
return 0;
}

stock SaveAccount(playerid) { // Сохранение аккаунта.
if(playerVariable[playerid][aLogged] == true) { // Проверка, если аккаунт авторизован.
CheckMySQLConnection(); // Проверяем, подключена ли БД.
new
query[186],
sqlname[MAX_PLAYER_NAME],
sqlpass[64];
mysql_real_escape_string(playerVariable[playerid][aName], sqlname);
mysql_real_escape_string(playerVariable[playerid][aPassword], sqlpass);
format(query, sizeof(query), "UPDATE `Accounts` SET `Nickname` = '%s', `Password` = '%s' WHERE `ID` = '%i'", sqlname, sqlpass, playerVariable[playerid][aID]);
mysql_query(query); // Отправляем запрос
}
return 1;
}
stock RemovePlayerVariables(playerid) {
playerVariable[playerid][aWrongPassword] = 0;
playerVariable[playerid][aID] = 0;
playerVariable[playerid][aLogged] = false;
return 1;
}[/pwn]

Добавлено (29.07.2013, 21:24)
---------------------------------------------
уже не надо, нанял человека.

HakeRbesTДата: Понедельник, 29.07.2013, 21:29 | Сообщение # 1372
Новенький
Группа: Пользователи
Сообщений: 72
Награды: 0
Город: Новокузнецк
Репутация: 2
Замечания: 0%
Статус:

Использую ZCMD и sscanf2, как сделать, чтобы можно было ввести и id игрока и его ник?

Добавлено (29.07.2013, 21:29)
---------------------------------------------

Использую ZCMD и sscanf2, как сделать, чтобы можно было ввести и id игрока и его ник?

WeddewДата: Понедельник, 29.07.2013, 22:06 | Сообщение # 1373
Группа: Ангел Хранитель
Сообщений: 1242
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
HakeRbesT,
[pwn]CMD:command(playerid, params[])
{
new p_id, p_name[MAX_PLAYER_NAME];
if(sscanf(params,"ds", p_id, p_name))
{
// Код
}
else return SendClientMessage(playerid, -1, "/command [ID] [Player Name]");
return true;
}[/pwn]




www.weddew-shop.ru
_BigSm0ke_Дата: Вторник, 30.07.2013, 01:52 | Сообщение # 1374
Местный
Группа: I'm V.I.P.
Сообщений: 674
Награды: 5
Город: Москва
Репутация: 127
Замечания: 0%
Статус:
Цитата (_BigSm0ke_)
Кто может дать ссылочку на шарную простенькую ucp без дыр без разницы для какого мода, лишь бы был логин, логаут и просмотр профиля.

UP!
------------------
И еще.. нашел тут ФС, с помощью которого можно за рулем делать вид от 1 лица, но он поддерживает всего где-то 50 машин, у меня тут возникла идея, а что если например сделать эту систему следующим образом:
Создаем вначале объект в голове игрока CreatePlayerObject какой нибудь невидимый , а потом аттачим камеру: AttachCameraToPlayerObject
Конечно наверное нужны координаты головы для каждого скина, но ведь все скины очень мало различаются по высоте, да и ничего страшного не будет, если камера приатачится скажем "в шею" вместо головы, зато мод подойдет к любому транспортному средству, даже если заменена модель, так вот, кто подскажет координаты головы?) моя идея вообще осуществима?



LifeVegas: vk.com/lvgta - Покори вершины Лас-Вегаса в новом РП проекте. COMING SOON
Продаю РП мод: подробнее тут
Решаю задачи по техническим дисциплинам, подробнее тут
GeryyДата: Вторник, 30.07.2013, 02:05 | Сообщение # 1375
Советчик
Группа: Ангел Хранитель
Сообщений: 1187
Награды: 24
Город: Москва
Репутация: 785
Замечания: 0%
Статус:
Цитата (_BigSm0ke_)
И еще.. нашел тут ФС, с помощью которого можно за рулем делать вид от 1 лица, но он поддерживает всего где-то 50 машин

Вот для всех: http://rghost.net/47762421



Добавить SAMP сервер в спец. вкладку HOSTED 450-500 р.
HakeRbesTДата: Вторник, 30.07.2013, 11:49 | Сообщение # 1376
Новенький
Группа: Пользователи
Сообщений: 72
Награды: 0
Город: Новокузнецк
Репутация: 2
Замечания: 0%
Статус:
Цитата (Weddew)
HakeRbesT,

Код
CMD:command(playerid, params[])  
  {  
     new p_id, p_name[MAX_PLAYER_NAME];  
     if(sscanf(params,"ds", p_id, p_name))  
     {  
         // Код  
     }  
     else return SendClientMessage(playerid, -1, "/command [ID] [Player Name]");  
     return true;  
  }



Нет, тут нужно ввести одновременно и id и ник, а мне нужно чтобы можно было ввести либо id либо ник.
То есть либо /command 45, либо /command mike

WeddewДата: Вторник, 30.07.2013, 14:17 | Сообщение # 1377
Группа: Ангел Хранитель
Сообщений: 1242
Награды: 19
Город: Казань
Репутация: 1740
Замечания: 0%
Статус:
HakeRbesT,
Для этого необходимо использовать функции из utils.inc
В начало:
[pwn]#include <utils>[/pwn]

Файл utils.inc (закинуть в папку includes (папка pawno)

[pwn]CMD:command(playerid, params[])
{
new t_str[MAX_PLAYER_NAME];
if(sscanf(params,"s", t_str))
{
new p_id = ReturnUser(t_str); // p_id - ID игрока, из [ID/Player Name]

// Код
}
else return SendClientMessage(playerid, -1, "/command [ID/Player Name]");
return true;
}[/pwn]




www.weddew-shop.ru
ХасанДата: Вторник, 30.07.2013, 17:04 | Сообщение # 1378
Группа: Модераторы
Сообщений: 2810
Награды: 388
Город: X-Files
Репутация: 2950
Замечания: 0%
Статус:
привет,ребят вопрос:был такой ФС как конные бега,кто-то в начале делал.Кто помнит,с меня плюсик.


малі діти недають нам спати - великі діти недають нам жити © Iван Миколайчук

— Вот ты говорил, город — сила, а здесь слабые все.
— Город — это злая сила. Сильный приезжает — становится слабым. Город забирает силу. Вот и ты пропал…© Брат

— ...лягушки падают с неба
— Видимо у них не раскрылись парашюты. © X-Files

— Разве вы не хотели бы жить вечно?
— Если в моде останутся штаны со стрелками то нет.© X-Files

Ибо таковые лжеапостолы, лукавые делатели, принимают вид Апостолов Христовых. И неудивительно: потому что сам сатана принимает вид Ангела света, а потому не великое дело, если и служители его принимают вид служителей правды; но конец их будет по делам их.
(2Кор 11:13-15).
artemganin1999Дата: Вторник, 30.07.2013, 22:02 | Сообщение # 1379
Уверенный в себе
Группа: Пользователи
Сообщений: 184
Награды: 0
Репутация: -28
Замечания: 0%
Статус:
что лучше для сервера, vps или vds
Fen1ksДата: Вторник, 30.07.2013, 22:37 | Сообщение # 1380
Новенький
Группа: Пользователи
Сообщений: 26
Награды: 0
Репутация: 0
Замечания: 0%
Статус:
Помогите, обнаружил баг в моде!
Например: Один игрок зашел, взял автомобиль, потом зашел другой игрок так-же взял автомобиль, тогда у первого может пропасть.
Мод CoHA. Такая штука, бывает не очень редко но при онлайне 180 уже жалуются.
сам код:
[pwn]if(dialogid == 9)//car spawning into
{
if(response)//написано не мной, взято из чьего-то меню, тем не менее - автору спасибо.
{
new carvlad[80],Float:X,Float:Y,Float:Z,Float:Angle,id,string[256];
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,Angle);
switch(listitem)
{
case 0: carvlad = "Elegy", id = 562;
case 1: carvlad = "Sultan", id = 560;
case 2: carvlad = "Infernus", id = 411;
case 3: carvlad = "Banshee", id = 429;
case 4: carvlad = "Buffalo", id = 402;
case 5: carvlad = "Huntley", id = 579;
case 6: carvlad = "Cheetah", id = 415;
case 7: carvlad = "Turismo", id = 451;
case 8: carvlad = "Quad", id = 471;
case 9: carvlad = "Slamvan", id = 535;
case 10: carvlad = "Blade", id = 536;
case 11: carvlad = "Bullet", id = 541;
case 12: carvlad = "Jester", id = 559;
case 13: carvlad = "Hotrina", id = 502;
case 14: carvlad = "Bandito", id = 568;
case 15: carvlad = "Windsor", id = 555;
case 16: carvlad = "Stretch", id = 409;
case 17: carvlad = "Sabre", id = 475;
case 18: carvlad = "CopCarLA", id = 596;
case 19: carvlad = "Kart", id = 571;
case 20: carvlad = "SuperGt", id = 506;
case 21: carvlad = "Nrg500", id = 522;
case 22: carvlad = "Sanchez", id = 468;
case 23: carvlad = "Bmx", id = 481;
case 24: carvlad = "MtBike", id = 510;
case 25: carvlad = "Start", id = 565;
case 26: carvlad = "FCR-900", id = 521;
case 27: carvlad = "SandKing", id = 495;
case 28: carvlad = "Hammer", id = 470;
case 29: carvlad = "Broadway", id = 575;
case 30: carvlad = "Savanna", id = 567;
case 31: carvlad = "ZR-350", id = 477;
case 32: carvlad = "PCJ-600", id = 461;
case 33: carvlad = "Freeway", id = 463;
case 34: carvlad = "Buccaneer", id = 518;
case 35: carvlad = "Sweeper", id = 574;
case 36: carvlad = "Wayfarer", id = 586;
case 37: carvlad = "Bus", id = 437;
case 38: carvlad = "Stallion", id = 439;
case 39: carvlad = "Landstalker", id = 400;
case 40: carvlad = "Seasparrow", id = 447;
case 41: carvlad = "Caddy", id = 457;
case 42: carvlad = "Solair", id = 458;
case 43: carvlad = "Remington", id = 534;
case 44: carvlad = "Feltzer", id = 533;
case 45: carvlad = "BF-400", id = 581;
case 46: carvlad = "DFT-30", id = 578;
}

format(string,sizeof(string),"{DEB887}%s {ADFF2F}взят за {1E90FF}15000$",carvlad); SendClientMessage(playerid,0x21DD00FF,string);
if(ta4katest[playerid] == 1)DestroyVehicle(ta4ka[playerid]);
ta4ka[playerid] = CreateVehicle(id,X,Y,Z,Angle,-1,-1,50000);
if(GetPlayerInterior(playerid)) LinkVehicleToInterior(ta4ka[playerid],GetPlayerInterior(playerid));
SetVehicleVirtualWorld(ta4ka[playerid],GetPlayerVirtualWorld(playerid));
PutPlayerInVehicle(playerid,ta4ka[playerid],0);
GivePlayerMoney(playerid, -15000);
PlayerPlaySound(playerid,1133,0.0,0.0,0.0);
ta4katest[playerid] = 1;
}
return 1;
}[/pwn]
давно заметил это дело, но внимая не подавал. Теперь же надоело, но сам не пойму в чем проблема...

Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Вопросы и ответы по GTA SAMP [от 19.03.2013]
Страница 92 из 152«129091929394151152»
Поиск:





 


 


 
Хостинг от uCoz SAMP-RUS.COM