SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Русский/Russian

Reply
 
Thread Tools Display Modes
Old 12/03/2014, 07:32 AM   #11201
OKStyle
High-roller
 
OKStyle's Avatar
 
Join Date: May 2008
Location: Russia, Orenburg Money: GTA$ 999,999,999
Posts: 3,125
Reputation: 142
Default Re: Скриптинг курилка

%.n например.
__________________
O.K.Style™ Laboratory
Kalcor: "... it's makes the game look like it's not GTA. This mod is called San Andreas Multiplayer. It's not a custom game engine which you can script..."
OKStyle is offline   Reply With Quote
Old 12/03/2014, 08:37 AM   #11202
Stepashka
Godfather
 
Stepashka's Avatar
 
Join Date: Jul 2008
Location: near PC
Posts: 5,763
Reputation: 142
Default Re: Скриптинг курилка

Quote:
Originally Posted by OKStyle View Post
%.n например.
умножать и делить явно проще чем строки туда сюда парсить.
__________________
Клятва Страуструпа: "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделяемой памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет." © Куч
M&M GM
Status: ON HOLD

Stepashka is offline   Reply With Quote
Old 12/03/2014, 10:47 AM   #11203
Makar93
Gangsta
 
Makar93's Avatar
 
Join Date: Sep 2009
Posts: 541
Reputation: 9
Default Re: MySQL (F.A.Q.)

Quote:
Originally Posted by lost13 View Post
А как лучше тогда? Просто при дисконнекте например может слететь аккаунт просто напросто, а мне нужно сохранять позицию жизни, ДейЗ же) онлайн в подписи можно видеть. Но я делаю еще один игровой режим и решил сделать его на mySQL и если сохранять pCash только, то все норм а если так то не пашет:
pawn Code:
"UPDATE `Accounts` SET \
`Cash` = '%d', \
`Vip` = '%d', \
`VipExpires` = '%d', \
`Faction` = '%d', \
`Rang` = '%d', \
`Cuffed` = '%d', \
`CuffKey` = '%d', \
`Skin` = '%d', \
`Jailed` = '%d', \
`Cell` = '%d', \
`Number` = '%d', \
`Ball` = '%d', \
`Health` = '%.2f', \
`Shlem` = '%d', \
`HouseKey` = '%d',%s WHERE `Name` = '%e'"
Вот твой запрос без лишних надписей явно же видно 2 проблемы:
1. Запятая
2. Синтаксис

Включи дебаг мускула или выведи в консоль запрос перед его выполнением и увидишь ошибку.

Да и кстати, почему бы в одном "формате" весь запрос не запилить?
__________________
Makar93 is offline   Reply With Quote
Old 12/03/2014, 02:22 PM   #11204
Gameyer
Huge Clucker
 
Gameyer's Avatar
 
Join Date: Jun 2010
Posts: 258
Reputation: 2
Default Re: Скриптинг курилка

Stepashka и OKStyle, было бы все так просто. Вот пример если число имеет конец, и я знаю что конец этот - тысячная доля.
PHP Code:
new 0.125;
floatround(10.0) / 100.0// a = 0.13 
А что делать если неопределимо значение после точки, например пи?
Gameyer is offline   Reply With Quote
Old 12/03/2014, 02:33 PM   #11205
White_116
High-roller
 
Join Date: Sep 2010
Location: Russia/116
Posts: 1,495
Reputation: 69
Default Re: Скриптинг курилка

PHP Code:
new Float:a=2.225;
a=floatdiv(floatround(floatmul(a10.0), floatround_floor), 10.0); 
И нечего тут думать. Твой код не работоспособен.
__________________
White_116 is offline   Reply With Quote
Old 12/03/2014, 03:05 PM   #11206
Makar93
Gangsta
 
Makar93's Avatar
 
Join Date: Sep 2009
Posts: 541
Reputation: 9
Default Re: Скриптинг курилка

Quote:
Originally Posted by Gameyer View Post
Stepashka и OKStyle, было бы все так просто. Вот пример если число имеет конец, и я знаю что конец этот - тысячная доля.
PHP Code:
new 0.125;
floatround(10.0) / 100.0// a = 0.13 
А что делать если неопределимо значение после точки, например пи?
Округлять надо переменные типа Float, а в твоем случае a - целочисленная переменная. Выше уже описали как да что.
__________________
Makar93 is offline   Reply With Quote
Old 12/03/2014, 03:30 PM   #11207
Stepashka
Godfather
 
Stepashka's Avatar
 
Join Date: Jul 2008
Location: near PC
Posts: 5,763
Reputation: 142
Default Re: Скриптинг курилка

Quote:
Originally Posted by Gameyer View Post
Stepashka и OKStyle, было бы все так просто. Вот пример если число имеет конец, и я знаю что конец этот - тысячная доля.
PHP Code:
new 0.125;
floatround(10.0) / 100.0// a = 0.13 
А что делать если неопределимо значение после точки, например пи?
А вы не находите что пофиг или вам учебник математики за 5 класс найти?
Quote:
Originally Posted by White_116 View Post
PHP Code:
new Float:a=2.225;
a=floatdiv(floatround(floatmul(a10.0), floatround_floor), 10.0); 
И нечего тут думать. Твой код не работоспособен.
Я бы сделал функцию:
pawn Code:
Float:round(Float:value, level) {
    new Float:internalLevel = floatpower(10.0, Float:level);
    return floatdiv(floatround(floatmul(a, internalLevel)), internalLevel);
}
__________________
Клятва Страуструпа: "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделяемой памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет." © Куч
M&M GM
Status: ON HOLD

Stepashka is offline   Reply With Quote
Old 12/03/2014, 06:05 PM   #11208
GameMan
Huge Clucker
 
GameMan's Avatar
 
Join Date: Mar 2011
Location: Russia
Posts: 370
Reputation: 19
Default Re: Скриптинг курилка

Есть define, enum и массив:
pawn Code:
#define MAX_SUBCAT_NAME 32
enum gpsSubcatsEnum {
    catID,
    subcatName[MAX_SUBCAT_NAME]
}

new gpsSubcats[][gpsSubcatsEnum] = {
    {0, "Общественные места"}
};

При компиляции выдает ошибку и предупреждение:
Quote:
C:\Users\Nikita\Dropbox\SA-MP Server\gamemodes\roleplay.pwn(251) : warning 228: length of initialler exceeds size of the enum field
C:\Users\Nikita\Dropbox\SA-MP Server\gamemodes\roleplay.pwn(251) : error 018: initialization data exceeds declared size
Если увеличить MAX_SUBCAT_NAME в 2 раза, то всё компилируется без проблем. Не могу уловить логики такого странного поведения, не знаю как это исправить. Надеюсь на вашу помощь.

Update: Решено. Проблема была в кодировке...

Last edited by GameMan; 12/03/2014 at 06:20 PM. Reason: Решил проблему
GameMan is offline   Reply With Quote
Old 12/03/2014, 06:25 PM   #11209
Gameyer
Huge Clucker
 
Gameyer's Avatar
 
Join Date: Jun 2010
Posts: 258
Reputation: 2
Default Re: Скриптинг курилка

Quote:
Originally Posted by Stepashka View Post
А вы не находите что пофиг или вам учебник математики за 5 класс найти?
Я бы сделал функцию:
pawn Code:
Float:round(Float:value, level) {
    new Float:internalLevel = floatpower(10.0, Float:level);
    return floatdiv(floatround(floatmul(a, internalLevel)), internalLevel);
}
Что пофиг то, товарищ? Вы проверяли работоспособность своей функции? вам может решебник поискать?
P.S. Float:a
Gameyer is offline   Reply With Quote
Old 12/03/2014, 06:30 PM   #11210
Stepashka
Godfather
 
Stepashka's Avatar
 
Join Date: Jul 2008
Location: near PC
Posts: 5,763
Reputation: 142
Default Re: Скриптинг курилка

Quote:
Originally Posted by Gameyer View Post
Что пофиг то, товарищ? вам может решебник поискать?
P.S. Float:a
Вы наверно ещё школьник, раз не знаете что у любого числа после запятой идет бесконечное число знаков. У целых чисел это нули. И даже если вы не знаете сколько у вас знаков после запятой, то люди придумавшие компьютер знали что там бесконечное число нулей, и сделали так что любая ваша арифметическая операция всегда будет верно истолкована и обработана.

А решебник я вам рекомендую выкинуть, будете им пользоваться отупеете. Головой все решать надо, только не черепом, а мозгами в голове!

PS я тебе не товарищ.
__________________
Клятва Страуструпа: "Я обязуюсь прилежно комментировать свой код, не использовать goto и следить за состоянием своих потоков и выделяемой памяти. Я обязуюсь не оставлять мусора в системе и избегать однобуквенных переменных. Ресет." © Куч
M&M GM
Status: ON HOLD

Stepashka is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
IRC-канал по скриптингу: #sa-mp.scripting.RU Zeex Русский/Russian 9 22/05/2015 03:24 AM
как понять кто убил и того кого убили? fooxid Русский/Russian 5 11/07/2010 06:21 PM
как разбить длинную строку? KPECTak Русский/Russian 14 08/06/2010 04:23 AM
Рускоязычные порталы по PAWN скриптингу isan Русский/Russian 15 21/03/2010 08:10 PM


All times are GMT. The time now is 03:58 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.