Коллекция функций / макросов

Quote:
Originally Posted by AirKite
Посмотреть сообщение
Уже заметил, невнимательно посмотрел твой код. Но исходя из входящего массива как аргумент, т.е. animList[] мыслил по своей логике, т.е. передавать в каждой ячейке именно ID а не строку. (сообщение отредактировал)
у тебя в коде ошибка, цикл пройден, ничего не найдено, что вернет?
Reply

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
Странно, вот:
pawn Код:
IsPlayerOnTheGround(playerid) {
    new Float:vl, Float:fv;
    GetPlayerVelocity(playerid, fv, fv, vl);
    return !floatcmp(vl, 0.0);
}
Зачем 2 аргумента? При заполнении данных запишутся последние:
pawn Код:
stock IsPlayerOnTheGround(playerid)
{
    new Float:vl;
    GetPlayerVelocity(playerid, vl, vl, vl);
    return !floatcmp(vl, 0.0);
}
Reply

А тестировать будешь после каждого обновления?
Reply

Павн машина одна. плюс в мане по языку написано, что по порядку
Reply

pawn Код:
SomeFunction(&x, &y, &z) {
z = 4;
y = 5;
x = 5;
}
не доверяю, не доверял и доверять не стану.
Reply

Чет я не понял, что ты хотел показать этим примером?
Reply

pawn Код:
IsPlayerApplyAnimation(const playerid, const anims[], count = sizeof anims)
{
    new anim = GetPlayerAnimationIndex(playerid);
    while(-- count > -1) if(anims[count] == anim) return anim;
    return -1;
}


UPD: можно еще так, но первый вариант более функциональный

pawn Код:
bool: IsPlayerApplyAnimation(const playerid, const anims[], count = sizeof anims)
{
    new anim = GetPlayerAnimationIndex(playerid);
    while(-- count > -1) if(anims[count] == anim) return true;
    return false;
}
Reply

Странно, надеялся здесь найти, но не нашел, пришлось быстро набросать:
pawn Код:
stock AgeCalc(age)
{
    age%=100;
    if (age > 19)
        age%=10;
    new str[8];
    switch(age)
    {
        case 1:
            str="год";
        case 2,3,4:
            str="года";
        default:
            str="лет";
    }
    return str;
}
Объяснять думаю не нужно.
Reply

Можно без доп переменной.
Reply

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
Можно без доп переменной.
return "год"; - вешает компилятор, поэтому нельзя.
Reply

Как инициировать переменные без лишней строки я научился подсмотрев код у разработчиков гугл))
pawn Код:
AgeCalc(age, str[5] = "") {
    switch (age) {
        case 1: str = "год";
        case 2,3,4: str = "года";
        default: str = "лет";
    }
    return str;
}
Reply

gettime() религия не позволяет использовать?
Reply

Quote:
Originally Posted by therainycat
View Post
gettime() религия не позволяет использовать?
поясняю для выскочек: функция склоняет слова, а не возвращает дату, т.е.:
Quote:

Мне 26 лет, а не 1 год. А моему племяннику 3 года.

Reply

eakwarp, универсальнее и быстрее: http://forum.sa-mp.com/showpost.php?...&postcount=431
Reply

Quote:
Originally Posted by -Stranger-
Посмотреть сообщение
eakwarp, универсальнее и быстрее: http://forum.sa-mp.com/showpost.php?...&postcount=431
не быстрее.
Reply

Quote:
Originally Posted by Stepashka
Посмотреть сообщение
Как инициировать переменные без лишней строки я научился подсмотрев код у разработчиков гугл))
pawn Код:
AgeCalc(age, str[5] = "") {
    switch (age) {
        case 1: str = "год";
        case 2,3,4: str = "года";
        default: str = "лет";
    }
    return str;
}
Мне кажется, каждый знает, как внести в хедер аргументы) можно еще строку ссылкой сделать и не ретурнить ее.
Reply

Quote:
Originally Posted by Stepashka
View Post
Цитата:
Сообщение от therainycat Посмотреть сообщение
gettime() религия не позволяет использовать?
поясняю для выскочек: функция склоняет слова, а не возвращает дату, т.е.:
Цитата:
Мне 26 лет, а не 1 год. А моему племяннику 3 года.
Quote:
Originally Posted by Serafim_sd
View Post
Возвращает UNIX-timestamp, необходимая вещь для создания веб-статистик и всего веб-прочего.
Code:
stock mktime(uhour,uminute,usecond,uday,umonth,uyear) {
	new timestamp2;

	timestamp2 = usecond + (uminute * 60) + (uhour * 3600);

	new days_of_month[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };

	if ( ((uyear % 4 == 0) && (uyear % 100 != 0)) || (uyear % 400 == 0) ) {
			days_of_month[1] = 29;
		} else {
			days_of_month[1] = 28;
		}
	
	new days_this_year = 0;
	days_this_year = --uday;
	if(umonth > 1) {
		for(new i=0; i<umonth-1;i++) {
			days_this_year += days_of_month[i];
		}
	}
	timestamp2 += days_this_year * 86400;

	for(new j=1970;j<uyear;j++) {
		timestamp2 += 31536000;
		if ( ((j % 4 == 0) && (j % 100 != 0)) || (j % 400 == 0) ) timestamp2 += 86400;
	}
	return timestamp2;
}
ЗЫ нинада драца, давайте травите что у вас там есть)

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

Я бы не стал с вашей стороны бросаться громкими словами, и еще не понятно, кто из нас выскочка. В следующий раз придержите свое мнение и хорошенько проанализируйте ситуацию.
Reply

Quote:
Originally Posted by therainycat
View Post
Мой ответ был по поводу этого сообщения.
Во-первых, это чистой воды велосипед.
Во-вторых, на форуме нет порядка, никакого.
В-третьих, как я заметил, уровень "знаний" скриптинга здесь измеряется количеством сообщений и звездочками.

Я бы не стал с вашей стороны бросаться громкими словами, и еще не понятно, кто из нас выскочка. В следующий раз придержите свое мнение и хорошенько проанализируйте ситуацию.
Научитесь тогда цитировать, что бы было понятно кому вы отвечаете.
А уж когда научитесь пользоваться форумом - начнем говорить о скриптинге.
Reply

Quote:
Originally Posted by Stepashka
View Post
Научитесь тогда цитировать, что бы было понятно кому вы отвечаете.
А уж когда научитесь пользоваться форумом - начнем говорить о скриптинге.
Спасибо огромное, что учите меня жить. Но увы, я настолько безнадежен, что не смогу освоить эту систему.
Обещаю исправиться, и простите, что не учел тот момент, что вы воспринимаете любое внимание на свой счет.
Reply

Delete. Написал сам.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)