Как Сделать Регистрацию в диалоговом окне
gta8679 Дата: Понедельник, 18.07.2011, 16:17:51 | Сообщение # 1
Группа: Пользователи
Сообщений: 73
Как Сделать Регистрацию в диалоговом окне
Сообщение Как Сделать Регистрацию в диалоговом окне Автор - gta8679 Дата добавления - 18.07.2011 в 16:17:51
Kubick_Rubick Дата: Понедельник, 18.07.2011, 18:09:25 | Сообщение # 2
Группа: Пользователи
Сообщений: 75
в каком моде?
Мод готов на 70%
Сообщение в каком моде? Автор - Kubick_Rubick Дата добавления - 18.07.2011 в 18:09:25
drifter-dron Дата: Понедельник, 18.07.2011, 18:53:32 | Сообщение # 3
Группа: Пользователи
Сообщений: 477
УРОК 1 ИЗ 2 Сначало качаем инклуд mxINI Code
http://depositfiles.com/files/4zj1dhp98
далее ниже всех new вставляем вот такой код: Code
enum pInfo: { Kills, Deaths, Money }
далее вставляем вверх: Code
new pStats[MAX_PLAYERS][pInfo];
далее вставляем в public OnPlayerConnect Code
new pConfig, pName[MAX_PLAYER_NAME], str[64]; GetPlayerName(playerid, pName, sizeof(pName)); format(str, sizeof(str), "%s.ini",pName); pConfig = ini_openFile (str); if(pConfig == INI_OK) { ini_getInteger(pConfig,"Kills", pStats[playerid][Kills]); ini_getInteger(pConfig,"Deaths", pStats[playerid][Deaths]); ini_getInteger(pConfig,"Money", pStats[playerid][Money]); ini_closeFile(pConfig); SendClientMessage(playerid, 0xFFFFFF, "[Сервер]: Файл найден."); } else { pConfig = ini_createFile(str); SendClientMessage(playerid, 0xFFFFFF, "[Сервер]: Файл отсуствует."); if (pConfig == INI_OK) { ini_setInteger(pConfig,"Kills", 0); ini_setInteger(pConfig,"Deaths", 0); ini_setInteger(pConfig,"Money", 0); ini_getInteger(pConfig,"Kills", pStats[playerid][Kills]); ini_getInteger(pConfig,"Deaths", pStats[playerid][Deaths]); ini_getInteger(pConfig,"Money", pStats[playerid][Money]); ini_closeFile(pConfig); SendClientMessage(playerid, 0xFFFFFF, "[Сервер]:Файл создан."); } else SendClientMessage(playerid, 0xFFFFFF, "[Сервер]: Неудаётся создать файл"); }
в public OnPlayerDisconnect Code
new pConfig, pName[MAX_PLAYER_NAME], str[64]; GetPlayerName(playerid, pName, sizeof(pName)); format(str, sizeof(str), "%s.ini",pName); pConfig = ini_openFile (str); if(pConfig == INI_OK) { ini_setInteger(pConfig,"Kills", pStats[playerid][Kills]); ini_setInteger(pConfig,"Deaths", pStats[playerid][Deaths]); ini_setInteger(pConfig,"Money", GetPlayerMoney(playerid)); ini_closeFile(pConfig); } else print("Ошибка при сохранений данных'"); return 1; }
Теперь в public OnPlayerDeath добавляем чтоб давались убийства и смерти: Code
pStats[killerid][Kills]++; pStats[playerid][Deaths]++;
ну и наконец добавляем в pubic OnPlayerCommandText команду /stats: Code
if (strcmp("/stats", cmdtext, true, 7) == 0) { new str[256]; format(str, sizeof(str), "[Сервер]: Убийств: %d, Смертей: %d, Денег: %d", pStats[playerid][Kills], pStats[playerid][Deaths], GetPlayerMoney(playerid)); SendClientMessage(playerid, 0xFFFFFF, str); return 1; }
Добавлено (18.07.2011, 18:53) ---------------------------------------------УРОК 2 ИЗ 2 создаём forwards:
Code
forward OnPlayerRegistered(playerid, password[]); /* Этот паблик нужен для создания аккаунта */ forward OnPlayerLogged(playerid, password[]); /* Этот паблик нужен для авторизации */ forward OnPlayerSave(playerid); /* Этот паблик нужен для сохранения данных при выходе игрока */ forward OnPlayerConnect2(playerid); /* Этот паблик нужен, чтобы показать диалоговое окно при подключении. */
Теперь создаём public-и Code
public OnPlayerLogged(playerid, password[]) { new string[255], PlayerName[40]; GetPlayerName(playerid, PlayerName, 40); format(string, 256, "%s.ini", PlayerName); new iniFile = ini_openFile (string); /* Открываем файл */ ini_getString(iniFile, "Password", string); /* Узнаём пароль аккаунта */ if(strcmp(string, password, true, 10) == 0) { /* Проверяем совпадает пароль или нет */ ini_getInteger(iniFile, "Admin", Player[playerid][pAdmin]); /* Если пароль совпадает узнаём переменную админ */ ini_getInteger(iniFile, "Money", Player[playerid][pMoney]); /* Узнаём кол-во денег */ GivePlayerMoney(playerid, Player[playerid][pMoney]); /* Выдаём деньги */ ini_closeFile(iniFile); /* Закрываем файл */ } else { /* Если пароль не верный выдаём опять диалоговое меню */ ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация.", "Введите Пароль в окошко чтобы войти", "Ок", "Отмена"); ini_closeFile(iniFile); /* Закрываем файл */ } return 1; }
public для регистрации Code
public OnPlayerRegistered(playerid, password[]) { new string[255], PlayerName[40]; GetPlayerName(playerid, PlayerName, 40); format(string, 256, "%s.ini", PlayerName); new iniFile = ini_createFile(string); /* Создаём файл */ if(iniFile < 0) iniFile = ini_openFile(string); /* Открываем файл */ ini_setString(iniFile, "Password", password); /* Записываем пароль в файл */ ini_setInteger(iniFile, "Admin", 0); /* Создаём переменную админа */ ini_setInteger(iniFile, "Money", 100); /* Создаём переменную денег */ ini_closeFile(iniFile); /* Закрываем файл */ OnPlayerLogged(playerid, password); return 1; }
public для сохранения Code
public OnPlayerSave(playerid){ Player[playerid][pMoney] = GetPlayerMoney(playerid); /* Узнаём кол-во денег */ new string[255], PlayerNames[40]; GetPlayerName(playerid, PlayerNames, 40); format(string, 256, "%s.ini", PlayerNames); new iniFile = ini_openFile (string); /* Открываем файл */ ini_setInteger(iniFile, "Money", Player[playerid][pMoney]); /* Сохраняем кол-во денег в файл */ ini_closeFile(iniFile); /* Закрываем файл */ return 1; }
Потом в public OnDialogResponce добовляем наш диалоговое меню Code
if(dialogid == 0){ if(response){ if(!strlen(inputtext)){ ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Регистрация!Введите пороль чтобы зарегестрироваться на сервере.", "Пароль", "Ок", "Отмена"); /* Если не ввёл текст выдаём окно заного */ return 1; } OnPlayerRegistered(playerid, inputtext); }else{ ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Регистрация!Введите пороль чтобы зарегестрироваться на сервере.", "Пароль", "Ок", "Отмена"); /* Если нажал отмена */ } return 1; } //------------------------------------------------------------------------------ if(dialogid == 1){ if(response){ if(!strlen(inputtext)){ ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация.", "Введите Пароль в окошко чтобы войти", "Ок", "Отмена"); /* Если не ввёл пароль для авторизации */ return 1; } OnPlayerLogged(playerid, inputtext); }else{ ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация.", "Введите Пароль в окошко чтобы войти", "Ок", "Отмена"); /* Если нажал отмена */ } return 1; } Примерно будет выглядить так public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){ //------------------------------------------------------------------------------ if(dialogid == 0){ if(response){ if(!strlen(inputtext)){ ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Регистрация!Введите пороль чтобы зарегестрироваться на сервере.", "Пароль", "Ок", "Отмена"); /* Если не ввёл текст выдаём окно заного */ return 1; } OnPlayerRegistered(playerid, inputtext); }else{ ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Регистрация!Введите пороль чтобы зарегестрироваться на сервере.", "Пароль", "Ок", "Отмена"); /* Если нажал отмена */ } return 1; } //------------------------------------------------------------------------------ if(dialogid == 1){ if(response){ if(!strlen(inputtext)){ ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация.", "Введите Пароль в окошко чтобы войти", "Ок", "Отмена"); /* Если не ввёл пароль для авторизации */ return 1; } OnPlayerLogged(playerid, inputtext); }else{ ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация.", "Введите Пароль в окошко чтобы войти", "Ок", "Отмена"); /* Если нажал отмена */ } return 1; } //------------------------------------------------------------------------------ return 1; }
Теперь создаём ещё один паблик чтобы при коннекте выдавался диалог с регистрацией или логином: Code
public OnPlayerConnect2(playerid) { new string[255], PlayerName[40]; GetPlayerName(playerid, PlayerName, 40); format(string, 256, "%s.ini", PlayerName); if(fexist(string)) /* Проверяем есть файл ( зарегистрирован ) или нет */ { ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация.", "Пароль", "Ок", "Отмена"); /* Если файл есть то даём окно авторизации */ } else { ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Регистрация.", "Пароль", "Ок", "Отмена"); /* Если он не зарегистрирован, даём окно регистрации */ } return 1; }
В public OnPlayerDisconnect добовляем Code
OnPlayerSave(playerid); /* Сохраняем данные при выходе из игры */
Уроки скопированы и сделаны Andrey_Kiryuhin
Пишу любые несложные скрипты)) Обращайтесь.. Цена: от 10 рублей))
Сообщение УРОК 1 ИЗ 2 Сначало качаем инклуд mxINI Code
http://depositfiles.com/files/4zj1dhp98
далее ниже всех new вставляем вот такой код: Code
enum pInfo: { Kills, Deaths, Money }
далее вставляем вверх: Code
new pStats[MAX_PLAYERS][pInfo];
далее вставляем в public OnPlayerConnect Code
new pConfig, pName[MAX_PLAYER_NAME], str[64]; GetPlayerName(playerid, pName, sizeof(pName)); format(str, sizeof(str), "%s.ini",pName); pConfig = ini_openFile (str); if(pConfig == INI_OK) { ini_getInteger(pConfig,"Kills", pStats[playerid][Kills]); ini_getInteger(pConfig,"Deaths", pStats[playerid][Deaths]); ini_getInteger(pConfig,"Money", pStats[playerid][Money]); ini_closeFile(pConfig); SendClientMessage(playerid, 0xFFFFFF, "[Сервер]: Файл найден."); } else { pConfig = ini_createFile(str); SendClientMessage(playerid, 0xFFFFFF, "[Сервер]: Файл отсуствует."); if (pConfig == INI_OK) { ini_setInteger(pConfig,"Kills", 0); ini_setInteger(pConfig,"Deaths", 0); ini_setInteger(pConfig,"Money", 0); ini_getInteger(pConfig,"Kills", pStats[playerid][Kills]); ini_getInteger(pConfig,"Deaths", pStats[playerid][Deaths]); ini_getInteger(pConfig,"Money", pStats[playerid][Money]); ini_closeFile(pConfig); SendClientMessage(playerid, 0xFFFFFF, "[Сервер]:Файл создан."); } else SendClientMessage(playerid, 0xFFFFFF, "[Сервер]: Неудаётся создать файл"); }
в public OnPlayerDisconnect Code
new pConfig, pName[MAX_PLAYER_NAME], str[64]; GetPlayerName(playerid, pName, sizeof(pName)); format(str, sizeof(str), "%s.ini",pName); pConfig = ini_openFile (str); if(pConfig == INI_OK) { ini_setInteger(pConfig,"Kills", pStats[playerid][Kills]); ini_setInteger(pConfig,"Deaths", pStats[playerid][Deaths]); ini_setInteger(pConfig,"Money", GetPlayerMoney(playerid)); ini_closeFile(pConfig); } else print("Ошибка при сохранений данных'"); return 1; }
Теперь в public OnPlayerDeath добавляем чтоб давались убийства и смерти: Code
pStats[killerid][Kills]++; pStats[playerid][Deaths]++;
ну и наконец добавляем в pubic OnPlayerCommandText команду /stats: Code
if (strcmp("/stats", cmdtext, true, 7) == 0) { new str[256]; format(str, sizeof(str), "[Сервер]: Убийств: %d, Смертей: %d, Денег: %d", pStats[playerid][Kills], pStats[playerid][Deaths], GetPlayerMoney(playerid)); SendClientMessage(playerid, 0xFFFFFF, str); return 1; }
Добавлено (18.07.2011, 18:53) ---------------------------------------------УРОК 2 ИЗ 2 создаём forwards:
Code
forward OnPlayerRegistered(playerid, password[]); /* Этот паблик нужен для создания аккаунта */ forward OnPlayerLogged(playerid, password[]); /* Этот паблик нужен для авторизации */ forward OnPlayerSave(playerid); /* Этот паблик нужен для сохранения данных при выходе игрока */ forward OnPlayerConnect2(playerid); /* Этот паблик нужен, чтобы показать диалоговое окно при подключении. */
Теперь создаём public-и Code
public OnPlayerLogged(playerid, password[]) { new string[255], PlayerName[40]; GetPlayerName(playerid, PlayerName, 40); format(string, 256, "%s.ini", PlayerName); new iniFile = ini_openFile (string); /* Открываем файл */ ini_getString(iniFile, "Password", string); /* Узнаём пароль аккаунта */ if(strcmp(string, password, true, 10) == 0) { /* Проверяем совпадает пароль или нет */ ini_getInteger(iniFile, "Admin", Player[playerid][pAdmin]); /* Если пароль совпадает узнаём переменную админ */ ini_getInteger(iniFile, "Money", Player[playerid][pMoney]); /* Узнаём кол-во денег */ GivePlayerMoney(playerid, Player[playerid][pMoney]); /* Выдаём деньги */ ini_closeFile(iniFile); /* Закрываем файл */ } else { /* Если пароль не верный выдаём опять диалоговое меню */ ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация.", "Введите Пароль в окошко чтобы войти", "Ок", "Отмена"); ini_closeFile(iniFile); /* Закрываем файл */ } return 1; }
public для регистрации Code
public OnPlayerRegistered(playerid, password[]) { new string[255], PlayerName[40]; GetPlayerName(playerid, PlayerName, 40); format(string, 256, "%s.ini", PlayerName); new iniFile = ini_createFile(string); /* Создаём файл */ if(iniFile < 0) iniFile = ini_openFile(string); /* Открываем файл */ ini_setString(iniFile, "Password", password); /* Записываем пароль в файл */ ini_setInteger(iniFile, "Admin", 0); /* Создаём переменную админа */ ini_setInteger(iniFile, "Money", 100); /* Создаём переменную денег */ ini_closeFile(iniFile); /* Закрываем файл */ OnPlayerLogged(playerid, password); return 1; }
public для сохранения Code
public OnPlayerSave(playerid){ Player[playerid][pMoney] = GetPlayerMoney(playerid); /* Узнаём кол-во денег */ new string[255], PlayerNames[40]; GetPlayerName(playerid, PlayerNames, 40); format(string, 256, "%s.ini", PlayerNames); new iniFile = ini_openFile (string); /* Открываем файл */ ini_setInteger(iniFile, "Money", Player[playerid][pMoney]); /* Сохраняем кол-во денег в файл */ ini_closeFile(iniFile); /* Закрываем файл */ return 1; }
Потом в public OnDialogResponce добовляем наш диалоговое меню Code
if(dialogid == 0){ if(response){ if(!strlen(inputtext)){ ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Регистрация!Введите пороль чтобы зарегестрироваться на сервере.", "Пароль", "Ок", "Отмена"); /* Если не ввёл текст выдаём окно заного */ return 1; } OnPlayerRegistered(playerid, inputtext); }else{ ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Регистрация!Введите пороль чтобы зарегестрироваться на сервере.", "Пароль", "Ок", "Отмена"); /* Если нажал отмена */ } return 1; } //------------------------------------------------------------------------------ if(dialogid == 1){ if(response){ if(!strlen(inputtext)){ ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация.", "Введите Пароль в окошко чтобы войти", "Ок", "Отмена"); /* Если не ввёл пароль для авторизации */ return 1; } OnPlayerLogged(playerid, inputtext); }else{ ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация.", "Введите Пароль в окошко чтобы войти", "Ок", "Отмена"); /* Если нажал отмена */ } return 1; } Примерно будет выглядить так public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){ //------------------------------------------------------------------------------ if(dialogid == 0){ if(response){ if(!strlen(inputtext)){ ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Регистрация!Введите пороль чтобы зарегестрироваться на сервере.", "Пароль", "Ок", "Отмена"); /* Если не ввёл текст выдаём окно заного */ return 1; } OnPlayerRegistered(playerid, inputtext); }else{ ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Регистрация!Введите пороль чтобы зарегестрироваться на сервере.", "Пароль", "Ок", "Отмена"); /* Если нажал отмена */ } return 1; } //------------------------------------------------------------------------------ if(dialogid == 1){ if(response){ if(!strlen(inputtext)){ ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация.", "Введите Пароль в окошко чтобы войти", "Ок", "Отмена"); /* Если не ввёл пароль для авторизации */ return 1; } OnPlayerLogged(playerid, inputtext); }else{ ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация.", "Введите Пароль в окошко чтобы войти", "Ок", "Отмена"); /* Если нажал отмена */ } return 1; } //------------------------------------------------------------------------------ return 1; }
Теперь создаём ещё один паблик чтобы при коннекте выдавался диалог с регистрацией или логином: Code
public OnPlayerConnect2(playerid) { new string[255], PlayerName[40]; GetPlayerName(playerid, PlayerName, 40); format(string, 256, "%s.ini", PlayerName); if(fexist(string)) /* Проверяем есть файл ( зарегистрирован ) или нет */ { ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация.", "Пароль", "Ок", "Отмена"); /* Если файл есть то даём окно авторизации */ } else { ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Регистрация.", "Пароль", "Ок", "Отмена"); /* Если он не зарегистрирован, даём окно регистрации */ } return 1; }
В public OnPlayerDisconnect добовляем Code
OnPlayerSave(playerid); /* Сохраняем данные при выходе из игры */
Уроки скопированы и сделаны Andrey_Kiryuhin Автор - drifter-dron Дата добавления - 18.07.2011 в 18:53:32
Shurick-war Дата: Вторник, 19.07.2011, 09:19:20 | Сообщение # 4
Группа: Пользователи
Сообщений: 56
Делал по 1 уроку 26 ошибок а по 2 вот что выдало Code
C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6781) : error 001: expected token: ";", but found "]" C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6781) : error 029: invalid expression, assumed zero C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6777) : error 017: undefined symbol "ini_openFile" C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6778) : error 017: undefined symbol "ini_getString" C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6781) : error 017: undefined symbol "ini_getInteger" C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6781) : fatal error 107: too many error messages on one line
NO FATE
Сообщение Делал по 1 уроку 26 ошибок а по 2 вот что выдало Code
C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6781) : error 001: expected token: ";", but found "]" C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6781) : error 029: invalid expression, assumed zero C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6777) : error 017: undefined symbol "ini_openFile" C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6778) : error 017: undefined symbol "ini_getString" C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6781) : error 017: undefined symbol "ini_getInteger" C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6781) : fatal error 107: too many error messages on one line
Автор - Shurick-war Дата добавления - 19.07.2011 в 09:19:20
drifter-dron Дата: Вторник, 19.07.2011, 09:33:53 | Сообщение # 5
Группа: Пользователи
Сообщений: 477
Shurick-war , а ты скачал mxINI ?
Пишу любые несложные скрипты)) Обращайтесь.. Цена: от 10 рублей))
Сообщение Shurick-war , а ты скачал mxINI ?Автор - drifter-dron Дата добавления - 19.07.2011 в 09:33:53
Shurick-war Дата: Вторник, 19.07.2011, 09:46:12 | Сообщение # 6
Группа: Пользователи
Сообщений: 56
Quote (drifter-dron )
Shurick-war, а ты скачал mxINI ?
Ну конечно скачал и вставил в папку include
NO FATE
Сообщение Quote (drifter-dron )
Shurick-war, а ты скачал mxINI ?
Ну конечно скачал и вставил в папку includeАвтор - Shurick-war Дата добавления - 19.07.2011 в 09:46:12
drifter-dron Дата: Вторник, 19.07.2011, 09:55:12 | Сообщение # 7
Группа: Пользователи
Сообщений: 477
pawno/includes а не /includes
Пишу любые несложные скрипты)) Обращайтесь.. Цена: от 10 рублей))
Сообщение pawno/includes а не /includesАвтор - drifter-dron Дата добавления - 19.07.2011 в 09:55:12
Shurick-war Дата: Вторник, 19.07.2011, 10:10:41 | Сообщение # 8
Группа: Пользователи
Сообщений: 56
Quote (drifter-dron )
pawno/includes а не /includes
Все добавил и все равно он выдает Code
C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6778) : error 017: undefined symbol "ini_openFile" C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6779) : error 017: undefined symbol "ini_getString" C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6782) : error 017: undefined symbol "ini_getInteger" C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6782) : error 001: expected token: ";", but found "]" C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6782) : error 029: invalid expression, assumed zero C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6782) : fatal error 107: too many error messages on one line
NO FATE
Сообщение Quote (drifter-dron )
pawno/includes а не /includes
Все добавил и все равно он выдает Code
C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6778) : error 017: undefined symbol "ini_openFile" C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6779) : error 017: undefined symbol "ini_getString" C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6782) : error 017: undefined symbol "ini_getInteger" C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6782) : error 001: expected token: ";", but found "]" C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6782) : error 029: invalid expression, assumed zero C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6782) : fatal error 107: too many error messages on one line
Автор - Shurick-war Дата добавления - 19.07.2011 в 10:10:41
drifter-dron Дата: Вторник, 19.07.2011, 10:11:42 | Сообщение # 9
Группа: Пользователи
Сообщений: 477
строки
Пишу любые несложные скрипты)) Обращайтесь.. Цена: от 10 рублей))
Сообщение строки Автор - drifter-dron Дата добавления - 19.07.2011 в 10:11:42
Shurick-war Дата: Вторник, 19.07.2011, 10:22:32 | Сообщение # 10
Группа: Пользователи
Сообщений: 56
вот заного попробывал вот что он выдал Code
C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6764) : error 017: undefined symbol "ini_openFile" C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6765) : error 017: undefined symbol "ini_getString" C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6768) : error 017: undefined symbol "ini_getInteger" C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6768) : warning 215: expression has no effect C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6768) : error 001: expected token: ";", but found "]" C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6768) : error 029: invalid expression, assumed zero C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6768) : fatal error 107: too many error messages on one line
6768 iniFile = ini_openFile(string); /* Открываем файл */ 6765 ini_getString(iniFile, "Password", string); /* Узнаём пароль аккаунта */ 6764 new iniFile = ini_openFile (string); /* Открываем файл */
NO FATE
Сообщение вот заного попробывал вот что он выдал Code
C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6764) : error 017: undefined symbol "ini_openFile" C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6765) : error 017: undefined symbol "ini_getString" C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6768) : error 017: undefined symbol "ini_getInteger" C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6768) : warning 215: expression has no effect C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6768) : error 001: expected token: ";", but found "]" C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6768) : error 029: invalid expression, assumed zero C:\Documents and Settings\Shurickwar\Рабочий стол\сервер SAMP 0.3c\gamemodes\LVG.pwn(6768) : fatal error 107: too many error messages on one line
6768 iniFile = ini_openFile(string); /* Открываем файл */ 6765 ini_getString(iniFile, "Password", string); /* Узнаём пароль аккаунта */ 6764 new iniFile = ini_openFile (string); /* Открываем файл */ Автор - Shurick-war Дата добавления - 19.07.2011 в 10:22:32
drifter-dron Дата: Вторник, 19.07.2011, 10:45:35 | Сообщение # 11
Группа: Пользователи
Сообщений: 477
в начало: Code
enum pInfo { pAdmin, pMoney } forward OnPlayerRegistered(playerid, password[]); /* Этот паблик нужен для создания аккаунта */ forward OnPlayerLogged(playerid, password[]); /* Этот паблик нужен для авторизации */ forward OnPlayerSave(playerid); /* Этот паблик нужен для сохранения данных при выходе игрока */ forward OnPlayerConnect2(playerid); /* Этот паблик нужен, чтобы показать диалоговое окно при подключении. */ new Player[MAX_PLAYERS][pInfo]; new RainbowError; new RainbowGradient[25] = { 0xFF0000FF, 0xFF2C00FF, 0xFF5000FF, 0xFF8700FF, 0xFFA700FF, 0xFFDC00FF, 0xFFFB00FF, 0xC4FF00FF, 0x7BFF00FF, 0x00FF00FF, 0x00FF1EFF, 0x00FF3BFF, 0x00FF7CFF, 0x00FFAEFF, 0x00FFD5FF, 0x00FFFFFF, 0x00CCFFFF, 0x00ACFFFF, 0x0083FFFF, 0x0054FFFF, 0x0000FFFF, 0x2C00FFFF, 0x5F00FFFF, 0x9B00FFFF, 0xCB00FFFF };
в public OnPlayerConnect(playerid): Code
new string[255], PlayerName[40]; GetPlayerName(playerid, PlayerName, 40); format(string, 256, "%s.ini", PlayerName); if(fexist(string)) /* Проверяем есть файл ( зарегистрирован ) или нет */ { ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация.", "Пароль", "Ок", "Отмена"); /* Если файл есть то даём окно авторизации */ } else { ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Регистрация.", "Пароль", "Ок", "Отмена"); /* Если он не зарегистрирован, даём окно регистрации */ } for(new i = GetMaxPlayers() - 1; i >= 0; --i) { if(i == sizeof(RainbowGradient)) RainbowError = 0; if(IsPlayerConnected(i)) { SetPlayerColor(i, RainbowGradient[i + RainbowError]); } else RainbowError -= 1; }
в public OnPlayerDisconnect(playerid, reason) Code
OnPlayerSave(playerid); for(new i = GetMaxPlayers() - 1; i >= 0; --i) { if(i == sizeof(RainbowGradient)) RainbowError = 0; if(IsPlayerConnected(i)) { SetPlayerColor(i, RainbowGradient[i - RainbowError]); } else RainbowError += 1; }
в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]): Code
if(dialogid == 0){ if(response){ if(!strlen(inputtext)){ ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Регистрация!Введите пароль чтобы зарегестрироваться на сервере.", "Пароль", "Ок", "Отмена"); /* Если не ввёл текст выдаём окно заного */ return 1; } OnPlayerRegistered(playerid, inputtext); }else{ ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Регистрация!Введите пароль чтобы зарегестрироваться на сервере.", "Пароль", "Ок", "Отмена"); /* Если нажал отмена */ } return 1; } //------------------------------------------------------------------------------ if(dialogid == 1){ if(response){ if(!strlen(inputtext)){ ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация.", "Привет \n Ты помнишь сво пароль? \n Введи его ", "Ок", "Отмена"); /* Если не ввёл пароль для авторизации */ return 1; } OnPlayerLogged(playerid, inputtext); }else{ ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация.", "Введите Пароль в окошко чтобы войти", "Ок", "Отмена"); /* Если нажал отмена */ } return 1; }
в самый низ: Code
public OnPlayerLogged(playerid, password[]) { new string[255], PlayerName[40]; GetPlayerName(playerid, PlayerName, 40); format(string, 256, "%s.ini", PlayerName); new iniFile = ini_openFile (string); /* Открываем файл */ ini_getString(iniFile, "Password", string); /* Узнаём пароль аккаунта */ if(strcmp(string, password, true, 10) == 0) { /* Проверяем совпадает пароль или нет */ ini_getInteger(iniFile, "Admin", Player[playerid][pAdmin]); /* Если пароль совпадает узнаём переменную админ */ ini_getInteger(iniFile, "Money", Player[playerid][pMoney]); /* Узнаём кол-во денег */ GivePlayerMoney(playerid, Player[playerid][pMoney]); /* Выдаём деньги */ ini_closeFile(iniFile); /* Закрываем файл */ } else { /* Если пароль не верный выдаём опять диалоговое меню */ ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация.", "Введите Пароль в окошко чтобы войти", "Ок", "Отмена"); ini_closeFile(iniFile); /* Закрываем файл */ } return 1; } public OnPlayerRegistered(playerid, password[]) { new string[255], PlayerName[40]; GetPlayerName(playerid, PlayerName, 40); format(string, 256, "%s.ini", PlayerName); new iniFile = ini_createFile(string); /* Создаём файл */ if(iniFile < 0) iniFile = ini_openFile(string); /* Открываем файл */ ini_setString(iniFile, "Password", password); /* Записываем пароль в файл */ ini_setInteger(iniFile, "Admin", 0); /* Создаём переменную админа */ ini_setInteger(iniFile, "Money", 100); /* Создаём переменную денег */ ini_closeFile(iniFile); /* Закрываем файл */ OnPlayerLogged(playerid, password); return 1; } public OnPlayerSave(playerid) { Player[playerid][pMoney] = GetPlayerMoney(playerid); /* Узнаём кол-во денег */ new string[255], PlayerNames[40]; GetPlayerName(playerid, PlayerNames, 40); format(string, 256, "%s.ini", PlayerNames); new iniFile = ini_openFile (string); /* Открываем файл */ ini_setInteger(iniFile, "Money", Player[playerid][pMoney]); /* Сохраняем кол-во денег в файл */ ini_closeFile(iniFile); /* Закрываем файл */ return 1; }
Пишу любые несложные скрипты)) Обращайтесь.. Цена: от 10 рублей))
Сообщение в начало: Code
enum pInfo { pAdmin, pMoney } forward OnPlayerRegistered(playerid, password[]); /* Этот паблик нужен для создания аккаунта */ forward OnPlayerLogged(playerid, password[]); /* Этот паблик нужен для авторизации */ forward OnPlayerSave(playerid); /* Этот паблик нужен для сохранения данных при выходе игрока */ forward OnPlayerConnect2(playerid); /* Этот паблик нужен, чтобы показать диалоговое окно при подключении. */ new Player[MAX_PLAYERS][pInfo]; new RainbowError; new RainbowGradient[25] = { 0xFF0000FF, 0xFF2C00FF, 0xFF5000FF, 0xFF8700FF, 0xFFA700FF, 0xFFDC00FF, 0xFFFB00FF, 0xC4FF00FF, 0x7BFF00FF, 0x00FF00FF, 0x00FF1EFF, 0x00FF3BFF, 0x00FF7CFF, 0x00FFAEFF, 0x00FFD5FF, 0x00FFFFFF, 0x00CCFFFF, 0x00ACFFFF, 0x0083FFFF, 0x0054FFFF, 0x0000FFFF, 0x2C00FFFF, 0x5F00FFFF, 0x9B00FFFF, 0xCB00FFFF };
в public OnPlayerConnect(playerid): Code
new string[255], PlayerName[40]; GetPlayerName(playerid, PlayerName, 40); format(string, 256, "%s.ini", PlayerName); if(fexist(string)) /* Проверяем есть файл ( зарегистрирован ) или нет */ { ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация.", "Пароль", "Ок", "Отмена"); /* Если файл есть то даём окно авторизации */ } else { ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Регистрация.", "Пароль", "Ок", "Отмена"); /* Если он не зарегистрирован, даём окно регистрации */ } for(new i = GetMaxPlayers() - 1; i >= 0; --i) { if(i == sizeof(RainbowGradient)) RainbowError = 0; if(IsPlayerConnected(i)) { SetPlayerColor(i, RainbowGradient[i + RainbowError]); } else RainbowError -= 1; }
в public OnPlayerDisconnect(playerid, reason) Code
OnPlayerSave(playerid); for(new i = GetMaxPlayers() - 1; i >= 0; --i) { if(i == sizeof(RainbowGradient)) RainbowError = 0; if(IsPlayerConnected(i)) { SetPlayerColor(i, RainbowGradient[i - RainbowError]); } else RainbowError += 1; }
в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]): Code
if(dialogid == 0){ if(response){ if(!strlen(inputtext)){ ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Регистрация!Введите пароль чтобы зарегестрироваться на сервере.", "Пароль", "Ок", "Отмена"); /* Если не ввёл текст выдаём окно заного */ return 1; } OnPlayerRegistered(playerid, inputtext); }else{ ShowPlayerDialog(playerid, 0, DIALOG_STYLE_INPUT, "Регистрация!Введите пароль чтобы зарегестрироваться на сервере.", "Пароль", "Ок", "Отмена"); /* Если нажал отмена */ } return 1; } //------------------------------------------------------------------------------ if(dialogid == 1){ if(response){ if(!strlen(inputtext)){ ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация.", "Привет \n Ты помнишь сво пароль? \n Введи его ", "Ок", "Отмена"); /* Если не ввёл пароль для авторизации */ return 1; } OnPlayerLogged(playerid, inputtext); }else{ ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация.", "Введите Пароль в окошко чтобы войти", "Ок", "Отмена"); /* Если нажал отмена */ } return 1; }
в самый низ: Code
public OnPlayerLogged(playerid, password[]) { new string[255], PlayerName[40]; GetPlayerName(playerid, PlayerName, 40); format(string, 256, "%s.ini", PlayerName); new iniFile = ini_openFile (string); /* Открываем файл */ ini_getString(iniFile, "Password", string); /* Узнаём пароль аккаунта */ if(strcmp(string, password, true, 10) == 0) { /* Проверяем совпадает пароль или нет */ ini_getInteger(iniFile, "Admin", Player[playerid][pAdmin]); /* Если пароль совпадает узнаём переменную админ */ ini_getInteger(iniFile, "Money", Player[playerid][pMoney]); /* Узнаём кол-во денег */ GivePlayerMoney(playerid, Player[playerid][pMoney]); /* Выдаём деньги */ ini_closeFile(iniFile); /* Закрываем файл */ } else { /* Если пароль не верный выдаём опять диалоговое меню */ ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Авторизация.", "Введите Пароль в окошко чтобы войти", "Ок", "Отмена"); ini_closeFile(iniFile); /* Закрываем файл */ } return 1; } public OnPlayerRegistered(playerid, password[]) { new string[255], PlayerName[40]; GetPlayerName(playerid, PlayerName, 40); format(string, 256, "%s.ini", PlayerName); new iniFile = ini_createFile(string); /* Создаём файл */ if(iniFile < 0) iniFile = ini_openFile(string); /* Открываем файл */ ini_setString(iniFile, "Password", password); /* Записываем пароль в файл */ ini_setInteger(iniFile, "Admin", 0); /* Создаём переменную админа */ ini_setInteger(iniFile, "Money", 100); /* Создаём переменную денег */ ini_closeFile(iniFile); /* Закрываем файл */ OnPlayerLogged(playerid, password); return 1; } public OnPlayerSave(playerid) { Player[playerid][pMoney] = GetPlayerMoney(playerid); /* Узнаём кол-во денег */ new string[255], PlayerNames[40]; GetPlayerName(playerid, PlayerNames, 40); format(string, 256, "%s.ini", PlayerNames); new iniFile = ini_openFile (string); /* Открываем файл */ ini_setInteger(iniFile, "Money", Player[playerid][pMoney]); /* Сохраняем кол-во денег в файл */ ini_closeFile(iniFile); /* Закрываем файл */ return 1; }
Автор - drifter-dron Дата добавления - 19.07.2011 в 10:45:35
Сообщение это какойто ппц!! 26 ошибок Автор - Shurick-war Дата добавления - 19.07.2011 в 10:54:40
drifter-dron Дата: Вторник, 19.07.2011, 12:04:42 | Сообщение # 13
Группа: Пользователи
Сообщений: 477
значит ищи где то скобки не хватает!!! я вырезал со своего мода, у меня ни одной ошибки!!!!!!!!!!!!!!!!!!!!!!!!!
Пишу любые несложные скрипты)) Обращайтесь.. Цена: от 10 рублей))
Сообщение отредактировал drifter-dron - Вторник, 19.07.2011, 12:08:46
Сообщение значит ищи где то скобки не хватает!!! я вырезал со своего мода, у меня ни одной ошибки!!!!!!!!!!!!!!!!!!!!!!!!! Автор - drifter-dron Дата добавления - 19.07.2011 в 12:04:42
____6oBo Дата: Вторник, 19.07.2011, 16:49:26 | Сообщение # 14
Группа: Пользователи
Сообщений: 96
ты вверх мода вписал Code
#include "../include/mxINI.inc"
Сообщение ты вверх мода вписал Code
#include "../include/mxINI.inc"
Автор - ____6oBo Дата добавления - 19.07.2011 в 16:49:26
drifter-dron Дата: Вторник, 19.07.2011, 16:58:55 | Сообщение # 15
Группа: Пользователи
Сообщений: 477
Пишу любые несложные скрипты)) Обращайтесь.. Цена: от 10 рублей))
Сообщение Автор - drifter-dron Дата добавления - 19.07.2011 в 16:58:55
Загрузка страницы, займет меньше минуты...
Статистика Форума
Последнии темы
Читаемые темы
Лучшие пользователи
Новые пользователи