SA-MP Forums

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

Reply
 
Thread Tools Display Modes
Old 18/11/2018, 12:31 PM   #15821
jakebat
Big Clucker
 
Join Date: Aug 2013
Posts: 96
Reputation: 2
Default Re: Скриптинг курилка

А я хочу постараться реализовать, хочу сделать что-то с переменной зразу с функции
Может есть такая какая-то мыслишка?
jakebat is offline   Reply With Quote
Old 18/11/2018, 02:40 PM   #15822
OstGot
Gangsta
 
OstGot's Avatar
 
Join Date: Mar 2013
Location: Gomel, Belarus
Posts: 952
Reputation: 333
Default Re: Скриптинг курилка

Всё выше сказанное касательно отдельных функций это гораздо более эффективный и логичный вариант, но если есть чисто спортивный интерес это реализовать хоть каким-то путём, то...

Вариант с передачей строки:
PHP Code:
#define VALUE_GIVEN    1 //Вернёт 1, если прибавит значение
#define VALUE_SET      0 //Вернёт 0, если установит значение
#define VALUE_TAKEN   -1 //Вернёт -1, если отнимет значение

MakePlayerLevel(playerid, const level[])
{
    new 
lvl strval(level);
    if(
level[0] == '+')
    {
        
INFO[playerid][Level] += lvl;
        return 
VALUE_GIVEN;
    }
    else if(
level[0] == '-')
    {
        
INFO[playerid][Level] += lvl//Именно +, т.к. lvl уже будет иметь в себе отрицательное значение, возвращенное strval'ом
        
return VALUE_TAKEN;
    }
    
//else
    
INFO[playerid][Level] = lvl;
    return 
VALUE_SET;

Использование:
PHP Code:
MakePlayerLevel(playerid"+2"); //Добавит к level'у 2
MakePlayerLevel(playerid"-1"); //Отнимет от level'а 1
MakePlayerLevel(playerid"5"); //Установит level на 5 
__________________
aka Nexius
Don't want to always check for updates of my scripts?
Include it the last, after all others
Nexius's Update Checker
OstGot is offline   Reply With Quote
Old 18/11/2018, 03:20 PM   #15823
jakebat
Big Clucker
 
Join Date: Aug 2013
Posts: 96
Reputation: 2
Default Re: Скриптинг курилка

Ну, это понятно как-бы, но я хочу что-то более некостыльное, такое возможно?
без строк
jakebat is offline   Reply With Quote
Old 18/11/2018, 04:29 PM   #15824
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: Скриптинг курилка

pawn Code:
LevelPlayer(playerid, var = 0)
{
    if(!var) INFO[playerid][Level] = var;
    else INFO[playerid][Level] += var;
}

А чем тебя не устраивает этот вариант? Если параметра нет, то сбрасывается на дефолтное (в данном случае 0), если есть, то юзать можно в + и в -: LevelPlayer(playerid, 1) или LevelPlayer(playerid, -1)
__________________
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..."

Last edited by OKStyle; 19/11/2018 at 10:06 AM.
OKStyle is offline   Reply With Quote
Old 18/11/2018, 04:43 PM   #15825
jakebat
Big Clucker
 
Join Date: Aug 2013
Posts: 96
Reputation: 2
Default Re: Скриптинг курилка

Я так хочу, это реально сделать? Если нет, то можете ответить конструктивно, почему нет? Хочу узнать от Вас больше)
SetValue(playerid, +1)
{
Player[playerid][Int] += 1;
}
SetValue(playerid, -1)
{
Player[playerid][Int] -= 1;
}
SetValue(playerid, 1)
{
Player[playerid][Int] = 1;
}
jakebat is offline   Reply With Quote
Old 18/11/2018, 05:31 PM   #15826
WestSide56
Banned
 
Join Date: Jul 2017
Posts: 18
Reputation: 0
Default Re: Скриптинг курилка

PHP Code:
Player[playerid][Int] += 1;//Прибавить значение переменной
Player[playerid][Int] -= 1;//Убавить значение переменной
SetValue(playeridPlayer[playerid][Int]);//Установить значение из переменной 
Это ты хочешь?
WestSide56 is offline   Reply With Quote
Old 18/11/2018, 05:54 PM   #15827
TheMallard
Big Clucker
 
Join Date: Aug 2015
Location: Russia
Posts: 99
Reputation: 18
Default Re: Скриптинг курилка

Quote:
Originally Posted by jakebat View Post
Я так хочу, это реально сделать? Если нет, то можете ответить конструктивно, почему нет? Хочу узнать от Вас больше)
SetValue(playerid, +1)
{
Player[playerid][Int] += 1;
}
SetValue(playerid, -1)
{
Player[playerid][Int] -= 1;
}
SetValue(playerid, 1)
{
Player[playerid][Int] = 1;
}
Потому что ни один из существующих языков программирования так не позволяет) Функции могут принимать только переменные или значения.
__________________
U2MP Wiki: https://github.com/themallard/gtau2mp/wiki
TheMallard is offline   Reply With Quote
Old 18/11/2018, 06:09 PM   #15828
SCALOlaz
Little Clucker
 
SCALOlaz's Avatar
 
Join Date: Sep 2007
Posts: 36
Reputation: 4
Default Re: Скриптинг курилка

Что за жаришка в основном разделе?)
SCALOlaz is offline   Reply With Quote
Old 18/11/2018, 06:15 PM   #15829
DartfoL
Gangsta
 
DartfoL's Avatar
 
Join Date: Apr 2012
Posts: 770
Reputation: 75
Default Re: Скриптинг курилка

Quote:
Originally Posted by SCALOlaz View Post
Что за жаришка в основном разделе?)
калкор появился и начал постить
__________________
DartfoL is offline   Reply With Quote
Old 18/11/2018, 08:02 PM   #15830
jakebat
Big Clucker
 
Join Date: Aug 2013
Posts: 96
Reputation: 2
Default Re: Скриптинг курилка

Ух, там что твориться, прочел быстренько че да как, как триллер D
jakebat 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 02:09 PM.


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