Всем доброго времени суток,как я и писал в соседнем топике,что могу написать FAQ на тему "покупка оружия в диалоговом окне" по просьбе пользователей форума. Так вот,меня попросили раписать,пожалуй начну.
Первое,что нам понадобится - это переменная которая будет отвечать за это дело
Code
enum pWeapon { Name[MAX_STRING], Cost, Ammo, ID, }; new Weapons[17][pWeapon];
P.S 17 - это количество оружия,загружаемое из файла.
Далее нам придётся сделать callback загрузки данных о оружие из файла.
Делаем...
Code
forward LoadWeapons(); public LoadWeapons() { new arrCoords[4][512]; new strFromFile2[256]; new File: file = fopen("other\\weapons.cfg", io_read); if (file) { new idx; while (idx < sizeof(Weapons)) { fread(file, strFromFile2); split(strFromFile2, arrCoords, '|'); strmid(Weapons[idx][Name], arrCoords[0], 0, strlen(arrCoords[0]), 255);//Название Weapons[idx][Cost] = strval(arrCoords[1]);//Цена Weapons[idx][Ammo] = strval(arrCoords[2]);//Количество патронов Weapons[idx][ID] = strval(arrCoords[3]);//ИД оружия idx++; } fclose(file); printf("Weapons for sell:%d",idx); } return 1; }
Далее нам придётся это оружие загружать,ах да,забыл сказать,что "other\\weapons.cfg" это пусть к файлу с данными о нашем оружии. То-есть у нас будет это выглядить следущим образом scriptfiles\other\weapons.cfg.
Далее...
в public OnGameModeInit() добавляем следущий код..
Code
LoadWeapons();
Далее мы перейдём к самой команде,которая служит нам вызовом диалогового окна с данными о нашем оружии.
Тсссс, тссс, отключите снисходительный тон. Помните: вас уже лишали права слова на этом форуме. Прошу прощения у всех кого я заебал или оскорбил (Кроме икварпа и чеза - вы ибланы). Великс ты красава.
Вот на этой строчке ругается format(string,sizeof(string),"* Вы купили оружие \"%s\" по цене %d$",Weapons[i][Name],Weapons[i][Cost]); D:\Софт\Серверg\gamemodes\gf.pwn(26887) : error 017: undefined symbol "string" D:\Софт\Серверg\gamemodes\gf.pwn(26887) : error 017: undefined symbol "string" D:\Софт\Серверg\gamemodes\gf.pwn(26887) : error 029: invalid expression, assumed zero D:\Софт\Серверg\gamemodes\gf.pwn(26887) : fatal error 107: too many error messages on one line
И в OnGameModeInit() На этой: LoadWeapons(); D:\Софт\Серверg\gamemodes\gf.pwn(6940) : error 004: function "LoadWeapons" is not implemented
Тсссс, тссс, отключите снисходительный тон. Помните: вас уже лишали права слова на этом форуме. Прошу прощения у всех кого я заебал или оскорбил (Кроме икварпа и чеза - вы ибланы). Великс ты красава.