- ВойтиАвторизация через uNet
- РегистрацияРегистрация на сайте через uNet
Текущая версия SA-MP: 0.3.7
IP: 77.220.180.96:7777
Новые сообщения · Поиск |
|
|
Модератор форума: KaTacTpOqpa |
Форум Помощь по скриптингу SA-MP Вопросы по скриптингу Сохранение очков убийств |
Сохранение очков убийств | ||||
|
BJIADOKC | Сообщение # 2 | 11:51:21 19 Апр 2011 |
Скриптеры
Сообщений: 601
Репутация: 161
|
если dini тогда: OnPlayerDeath (поставь это после прибавления фрага за убийство): Code new file[256], name[24]; GetPlayerName(killerid,name,24); format(file,256,"*Путь к папке с акками*/%d.ini",name); if(dini_Exists(file)) { if(!dini_Isset(file,"Score")) {dini_IntSet(file,"Score",GetPlayerScore(killerid));} else {dini_IntSet(file,"Score",GetPlayerScore(killerid));} } и сделай чтобы фраги загружались при заходе OnPlayerSpawn: Code new file[256], name[24]; GetPlayerName(playerid,name,24); format(file,256,"*Путь к папке с акками*/%d.ini,name); if(dini_Exists(file) && dini_Isset(file,"Score")) { SetPlayerScore(playerid,dini_Int(file,"Score")); } ну +ы не забываем только ставить by BJIADOKC тут больше не сижу... открыл свой проект |
DIZ_man | Сообщение # 3 | 18:05:04 19 Апр 2011 |
Пользователи
Сообщений: 27
Репутация: 0
|
О спс! на плюсик Добавлено (19.04.2011, 18:05) Code new file[256], name[24]; что эти цифры обозначают? 24 и 256. А тоя видел в некоторых случаях ставят 50, 48... как это понимать? |
BJIADOKC | Сообщение # 4 | 23:57:28 19 Апр 2011 |
Скриптеры
Сообщений: 601
Репутация: 161
|
Quote (DIZ_man) а вот ты написал... Code new file[256], name[24]; что эти цифры обозначают? 24 и 256. А тоя видел в некоторых случаях ставят 50, 48... как это понимать? ну поясню попроще, это "длина" переменной если переменная числовая (тоесть содержит число) то внутри квадратных скобок находится отдельная переменная (ну например есть переменная Freeze на заморозку... а нам нужно замарозить какого нить одного игрока... а если мы просто используем переменную, то заморозит всех) в таком случае используется Freeze[MAX_PLAYERS] (обычно MAX_PLAYERS = 500, тоесть макс. число слотов), тоесть из одной переменной получается уже 500 переменных, каждая для отдельного игрока. так же можно создать 2ю константу (например для заморозки машины игрока), тогда будет Freeze[MAX_PLAYERS][MAX_VEHICLES] (минус такого в том, что потом амх файл будет +1-3мб, с каждой такой переменной) ну тут уже отдельных переменных получится 500*2000.... другое дело когда работаешь с текстом. когда форматируешь текст (format) лучше всегда бери размер переменной 256, так как это самый максимальный размер для вывода в чат и на текстдрав (так же бери этот размер для strtok и dini_Get, так как неизвестно, сколько будем брать) для имени лучше всего брать 24, так как это макс. длина имени (1 байт (string[256] содержится 256 байт) примерно равен одному латинскому символу, а на русском одна буква принята за 3 байта) есть одно исключение, для диалогов ты можешь брать стринги до 5000 байт, так как это нормальный для диалога размер (для сообщения в чат это слишком перебор) З.Ы если хочешь сделать стрингу в чат/текстдрав не делай размер больше 256, иначе не выведет З.Ы.Ы а если юзаешь strtok или dini_Get бери ровно 256, не ошибешься тут больше не сижу... открыл свой проект Редактировано BJIADOKC - Среда, 20 Апр 2011, 00:00:17 |
DIZ_man | Сообщение # 5 | 20:54:53 20 Апр 2011 |
Пользователи
Сообщений: 27
Репутация: 0
|
ООоооо биг сэнкс! Ваще помог! Я это объяснение искал уже где то год ))) Всё.. владокс ты мой кумир |
BJIADOKC | Сообщение # 6 | 09:40:06 21 Апр 2011 |
Скриптеры
Сообщений: 601
Репутация: 161
|
Quote (DIZ_man) владокс ты мой кумир ok тут больше не сижу... открыл свой проект |
=TRAUSER= | Сообщение # 7 | 20:36:03 13 Май 2011 |
Пользователи
Сообщений: 132
Репутация: 2
|
а как сделать чтоб фраги сохр. были на нике |
BJIADOKC | Сообщение # 8 | 17:13:36 14 Май 2011 |
Скриптеры
Сообщений: 601
Репутация: 161
|
в public OnPlayerConnect(playerid) Code new stringa[128], Name[24]; GetPlayerName(playerid,Name,24); format(stringa,128,"%s.ini",Name); if(!dini_Exists(stringa)) {RegisterPlayer(playerid,stringa);} в самый конец: Code stock RegisterPlayer(playerid,way[]) { dini_Create(way); dini_IntSet(way,"Score",0); } и в OnPlayerDeath Code new stringa[128], Name[24]; GetPlayerName(killerid,Name,24); format(stringa,128,"%s.ini",Name); SetPlayerScore(killerid,dini_Int(stringa,"Score")+1); dini_IntSet(stringa,"Score",GetPlayerScore(killerid)); тут больше не сижу... открыл свой проект |
=TRAUSER= | Сообщение # 9 | 17:27:29 14 Май 2011 |
Пользователи
Сообщений: 132
Репутация: 2
|
Code C:\Documents and Settings\User\Рабочий стол\Новый pwn мода\lvdm.pwn(760) : warning 219: local variable "Name" shadows a variable at a preceding level C:\Documents and Settings\User\Рабочий стол\Новый pwn мода\lvdm.pwn(763) : error 017: undefined symbol "dini_Exists" C:\Documents and Settings\User\Рабочий стол\Новый pwn мода\lvdm.pwn(2694) : warning 219: local variable "Name" shadows a variable at a preceding level C:\Documents and Settings\User\Рабочий стол\Новый pwn мода\lvdm.pwn(2697) : error 017: undefined symbol "dini_Int" C:\Documents and Settings\User\Рабочий стол\Новый pwn мода\lvdm.pwn(2698) : error 017: undefined symbol "dini_IntSet" C:\Documents and Settings\User\Рабочий стол\Новый pwn мода\lvdm.pwn(7083) : error 017: undefined symbol "dini_Create" C:\Documents and Settings\User\Рабочий стол\Новый pwn мода\lvdm.pwn(7084) : error 017: undefined symbol "dini_IntSet" C:\Documents and Settings\User\Рабочий стол\Новый pwn мода\lvdm.pwn(7081) : warning 203: symbol is never used: "playerid" Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 5 Errors. |
Demetrius | Сообщение # 10 | 17:32:58 14 Май 2011 |
VIP-пользователи
Сообщений: 1192
Репутация: 158
|
=TRAUSER=, 1)найди в поиске "инклуд Dini" 2)засунь его в папку "папка_сервера\pawno\include" 3)добавь в самом начале: Code #include <Dini> Sweet >>> Armin >>> Demetrius SA:MP >> MTA:SA >> IRL |
BJIADOKC | Сообщение # 11 | 17:34:57 14 Май 2011 |
Скриптеры
Сообщений: 601
Репутация: 161
|
Quote (Armin) 2)засунь его в папку "папка_сервера\pawno\include" у меня компилятор в папке Program Files тут больше не сижу... открыл свой проект |
=TRAUSER= | Сообщение # 12 | 18:43:42 14 Май 2011 |
Пользователи
Сообщений: 132
Репутация: 2
|
Code C:\Documents and Settings\User\Рабочий стол\Новый pwn мода\lvdm.pwn(761) : warning 219: local variable "Name" shadows a variable at a preceding level C:\Documents and Settings\User\Рабочий стол\Новый pwn мода\lvdm.pwn(1120) : error 047: array sizes do not match, or destination array is too small C:\Documents and Settings\User\Рабочий стол\Новый pwn мода\lvdm.pwn(2695) : warning 219: local variable "Name" shadows a variable at a preceding level C:\Documents and Settings\User\Рабочий стол\Новый pwn мода\lvdm.pwn(6814) : error 021: symbol already defined: "strtok" C:\Documents and Settings\User\Рабочий стол\Новый pwn мода\lvdm.pwn(6829) : error 047: array sizes do not match, or destination array is too small C:\Documents and Settings\User\Рабочий стол\Новый pwn мода\lvdm.pwn(7082) : warning 203: symbol is never used: "playerid" Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase 3 Errors. |
BJIADOKC | Сообщение # 13 | 12:16:34 15 Май 2011 |
Скриптеры
Сообщений: 601
Репутация: 161
|
в скайп зайди, я тебе немного другой дини кину
тут больше не сижу... открыл свой проект |
=TRAUSER= | Сообщение # 14 | 12:20:54 15 Май 2011 |
Пользователи
Сообщений: 132
Репутация: 2
|
я в скайпе |
Rafo | Сообщение # 15 | 11:24:36 24 Сен 2011 |
Пользователи
Сообщений: 2
Репутация: 0
|
Всем привет.Хороший урок давно искала.Спасибо автору.Но вот у меня вот это получилось Code C:\Documents and Settings\User\Ðàáî÷èé ñòîë\Cragrer\Pawno 2\include\streamer.inc(435) : warning 202: number of arguments does not match definition C:\Documents and Settings\User\Ðàáî÷èé ñòîë\Cragrer\Pawno 2\include\streamer.inc(449) : warning 202: number of arguments does not match definition C:\Documents and Settings\User\Ðàáî÷èé ñòîë\modskript\SSN.pwn(3087) : error 037: invalid string (possibly non-terminated string) C:\Documents and Settings\User\Ðàáî÷èé ñòîë\modskript\SSN.pwn(3087 -- 3088) : error 001: expected token: ",", but found "if" C:\Documents and Settings\User\Ðàáî÷èé ñòîë\modskript\SSN.pwn(3269) : warning 203: symbol is never used: "strtok" Pawn compiler 3.0.3367 Copyright (c) 1997-2005, ITB CompuPhase 2 Errors. Как исправить помогите пожалуйста |
| |||
| |||