SA-MP Forums

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

Reply
 
Thread Tools Display Modes
Old 12/04/2014, 03:47 PM   #11431
Jon_De
High-roller
 
Join Date: Mar 2011
Location: ru
Posts: 1,246
Reputation: 21
Default Re: Скриптинг курилка

Quote:
enum furniture_data
{
fName[30],
fID
}
new FurnitureInfo[][furniture_data] = {
{"Диван", 111},
{"Стол", 1488},
{"Стул", 2222}
};
добавляй/меняй сколько хочешь 1 строкой
Jon_De is offline   Reply With Quote
Old 13/04/2014, 02:38 PM   #11432
OstGot
Gangsta
 
OstGot's Avatar
 
Join Date: Mar 2013
Location: Gomel, Belarus
Posts: 953
Reputation: 333
Default Re: Скриптинг курилка

Привет, ребята.
У меня такая проблема: мне нужно было написать разницу в позициях. Лучшим вариантом реализации для меня была функция VectorSize. Сделал как в примере в вики.
Но когда я решил протестировать это, я с начала вообще ничего не понял - VectorSize возвращал NaN (Как я прочитал позже, NaN - Not-a-Number). То есть, как я понял, числа нет О_о

Помогите, пожалуйста) Мб что-то сделал не так... В любом случае, вот код, который выдаёт данную проблему:

Quote:
new
float: ppos[3][MAX_PLAYERS],
float:lastppos[3][MAX_PLAYERS],
float:vect;

public OnPlayerUpdate(playerid)
{
GetPlayerPos(playerid, ppos[0][playerid], ppos[1][playerid], ppos[2][playerid]);
vect = VectorSize(lastppos[0][playerid]-ppos[0][playerid], lastppos[1][playerid]-ppos[1][playerid], lastppos[2][playerid]-ppos[2][playerid]);

new string[128];
format(string, sizeof(string), "Разница в позициях: %0.2f", vect);
SendClientMessageToAll(-1, string);

lastppos[0][playerid] = ppos[0][playerid],
lastppos[1][playerid] = ppos[1][playerid],
lastppos[2][playerid] = ppos[2][playerid];
return 1;
}
__________________
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 13/04/2014, 03:13 PM   #11433
DrumYum
Big Clucker
 
Join Date: Oct 2011
Location: Russia
Posts: 186
Reputation: 2
Default Re: Скриптинг курилка

OstGot, float на Float замените, для начала.
DrumYum is offline   Reply With Quote
Old 13/04/2014, 03:20 PM   #11434
stabker
High-roller
 
Join Date: Mar 2012
Posts: 1,311
Reputation: 86
Default Re: Скриптинг курилка

OstGot, NaN так же бывает, когда игрок далеко за пределами мира. И еще, посмотрите функцию GetPlayerDistanceFromPoint.
stabker is offline   Reply With Quote
Old 13/04/2014, 04:55 PM   #11435
OstGot
Gangsta
 
OstGot's Avatar
 
Join Date: Mar 2013
Location: Gomel, Belarus
Posts: 953
Reputation: 333
Default Re: Скриптинг курилка

Quote:
Originally Posted by DrumYum View Post
OstGot, float на Float замените, для начала.
А я-то думал, раз "float" pawno выделяет, значит с маленькой нужно
Теперь всё работает отлично, огромное спасибо!

Quote:
Originally Posted by stabker View Post
OstGot, NaN так же бывает, когда игрок далеко за пределами мира. И еще, посмотрите функцию GetPlayerDistanceFromPoint.
Спасибо, буду знать. Но функцию GetPlayerDistanceFromPoint я заведомо использовать не хотел, т.к. для моей ситуации наилучшим решением служит именно VectorSize.
OstGot is offline   Reply With Quote
Old 14/04/2014, 05:54 AM   #11436
Hawkins
Big Clucker
 
Hawkins's Avatar
 
Join Date: Oct 2011
Location: Russia
Posts: 167
Reputation: 0
Default Re: Скриптинг курилка

PHP Code:
COMMAND:colorgz(playeridparams[])
{
    if(
PlayerInfo[playerid][pAdmin] < 10) return 1;
    new 
string[128];
    if(
sscanf(params"s[11]"params[0])) return SendClientMessage(playeridCOLOR_WHITE"Введите: /colorgz [цвет зоны Пример: 0xFF0000AA ]");
    for(new 
0MAX_GZONESi++)
    {
        if(
PlayerToKvadrat(playerid,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3]))
        {
            
GangZoneHideForAll(GZInfo[i][gID]);
            
format(string128"[DEBUG] %s"params[0]);
            
SendClientMessageToAll(-1string);
            
GangZoneShowForAll(GZInfo[i][gID],params[0]);
        }
    }
    return 
1;

гангзону скрывает, но не показывает.
GangZoneShowForAll(GZInfo[i][gID],params[0]); видимо я тут что то не правильно передаю
Hawkins is offline   Reply With Quote
Old 14/04/2014, 08:24 AM   #11437
Eims
Huge Clucker
 
Eims's Avatar
 
Join Date: May 2013
Location: Восточный Мордор
Posts: 475
Reputation: 19
Default Re: Скриптинг курилка

Цвет - число, а не строка. Число в шестнадцатеричной системе счисления.
Не проверял, но попробуй

PHP Code:
COMMAND:colorgz(playeridparams[])
{
    if(
PlayerInfo[playerid][pAdmin] < 10) return 1;
    new 
string[22];
    if(
sscanf(params"s[11]"params[0])) return SendClientMessage(playeridCOLOR_WHITE"Введите: /colorgz [цвет зоны Пример: 0xFF0000AA ]");
    for(new 
0MAX_GZONESi++)
    {
        if(
PlayerToKvadrat(playerid,GZInfo[i][gCoords][0], GZInfo[i][gCoords][1],GZInfo[i][gCoords][2],GZInfo[i][gCoords][3]))
        {
            
GangZoneHideForAll(GZInfo[i][gID]);
            
format(stringsizeof(string), "[DEBUG] %s"params[0]);
            
SendClientMessageToAll(-1string);
            
GangZoneShowForAll(GZInfo[i][gID],StrToHex(params[0]));
        }
    }
    return 
1;
}

StrToHex(strings[])
{
    new 
hex;
    
sscanf(strings"x"hex);
    
hex <<= 8;
    
hex |= 255;
    return 
hex;

Eims is offline   Reply With Quote
Old 14/04/2014, 11:13 AM   #11438
Hawkins
Big Clucker
 
Hawkins's Avatar
 
Join Date: Oct 2011
Location: Russia
Posts: 167
Reputation: 0
Default Re: Скриптинг курилка

Спасибо работает. Сначало конечно недопонимал. Принимает цвета как 0xFF0000, FF0000
А вот как добавить прозрачность? 0xFF0000AA ??
Hawkins is offline   Reply With Quote
Old 14/04/2014, 11:46 AM   #11439
sk47
Big Clucker
 
Join Date: Sep 2010
Posts: 85
Reputation: 3
Default Re: Скриптинг курилка

if(sscanf(params, "x", params[0]))
sk47 is offline   Reply With Quote
Old 14/04/2014, 11:58 AM   #11440
Hawkins
Big Clucker
 
Hawkins's Avatar
 
Join Date: Oct 2011
Location: Russia
Posts: 167
Reputation: 0
Default Re: Скриптинг курилка

Quote:
Originally Posted by sk47 View Post
if(sscanf(params, "x", params[0]))
Спасибо, работает!
Hawkins 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 04:06 PM.


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