SA-MP Forums Archive
Скриптинг курилка - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Скриптинг курилка (/showthread.php?tid=111279)



Re: Скриптинг курилка - sk47 - 01.12.2010

у меня вопрос
как проверить клавиши влево и вправо
в OnPlayerKeyStateChange


Re: Скриптинг курилка - Johnny_Xayc - 01.12.2010

никак,юзай GetPlayerKeys


Re: Скриптинг курилка - sk47 - 01.12.2010

я думал каткто можно я сувал в OnPlayerUpdate
я нажму кнопку он добавляет ~100 к переменой мне нужно 1


Re: Скриптинг курилка - toneysix - 01.12.2010

Делаи через таимер, делаи проvерки.. И да, и как сунул по самое не хочу? Еи понраvилось?


Re: Скриптинг курилка - sk47 - 01.12.2010

не удалась шутка


Re: Скриптинг курилка - MX_Master - 01.12.2010

toneysix
строки, например с паролями, записываются без проблем, а вот числовые значения иногда записывают обнулёнными. Поэтому не связано с заходами и выходами. Данные сохраняются не при выходе у меня, а по таймеру с условием что игрок не мертв, не выбирает скин и прочими проверками.


PlayerToPoint Нужна помощь - Kopr1zz - 01.12.2010

У меня проблема с PlayerToPoint
в OnPlayerCommandText:
HTML Code:
    if(strcmp(cmd,"/test",true)==0)
    {
    if(PlayerToPoint(3.0, playerid, 2254.6531,-1333.1337,23.9815))
    {
    SetPlayerPos(playerid, 2241.0315,-1340.9398,782.6426);
    }
    }
Выдает:
error 017: undefined symbol "PlayerToPoint"


Re: PlayerToPoint Нужна помощь - toneysix - 01.12.2010

Используи IsPlayerInRangeOfPoint(playerid, 3.0, 2254.6531, -1333.1337, 23.9815) место PlayerToPoint.


Re: PlayerToPoint Нужна помощь - Kopr1zz - 01.12.2010

toneysix, Благодарю!


Re: Скриптинг курилка - RAEN - 02.12.2010

Не у кого не было такой проблемы, когда убивают игрока, то некоторых игроков, которые на моемнт убийства стоят рядом, выкидывает из игры. Самого убийцу не выкидывает.


Re: Скриптинг курилка - Aleks10 - 11.12.2010

if имхо будет побыстрее switch
toneysix, я разве говорил что это я написал??
тем более уже подтвердили, что функция из dutils.inc

п.с. насчёт форума: я здесь лично, ради помощи другим, ну и чтобы брать разные интересные идеи и алгоритмы.


Re: Скриптинг курилка - MX_Master - 11.12.2010

Quote:
Originally Posted by ZiGGi
Посмотреть сообщение
MX_Master, почему ты использовал switch/case?( switch ( source[pos] ) { case '0'..'9' : ++count; } ). Если я не ошибаюсь, то в c++, php и пр., это работает как цикл, ведь не зря там есть break... А в павн работает по такому-же принципу или иначе?
в PAWN оператор switch работает иначе и, если в каком-то варианте что-то найдено, он не идет дальше по остальным вариантам снизу в любом случае, даже если не поставить break. И да, это тоже цикл. Но в моем примере это неважно (:


Quote:
Originally Posted by Aleks10
Посмотреть сообщение
if имхо будет побыстрее switch
toneysix, я разве говорил что это я написал??
тем более уже подтвердили, что функция из dutils.inc

п.с. насчёт форума: я здесь лично, ради помощи другим, ну и чтобы брать разные интересные идеи и алгоритмы.
ну ты протестируй два предложенных варианта и потом скажешь (:


а я тут на форуме, чтобы


Re: Скриптинг курилка - -Stranger- - 11.12.2010

ZiGGi, MX_Master, Спасибо за ответ, просто я думал есть функция вроде "strlen" )))


Re: Скриптинг курилка - MX_Master - 11.12.2010

Quote:
Originally Posted by -Stranger-
Посмотреть сообщение
ZiGGi, MX_Master, Спасибо за ответ, просто я думал есть функция вроде "strlen" )))
strlen это просто длина всей строки, я пока свои скрипты писал, стока всяких узкопрофильных текстовых функций налепил.. абалдеть, так что мой конёк в ПАВН это именно работа с текстом


Re: Скриптинг курилка - Radius - 11.12.2010

Quote:
Originally Posted by Aleks10
Посмотреть сообщение
п.с. насчёт форума: я здесь лично, ради помощи другим, ну и чтобы брать разные интересные идеи и алгоритмы.
мда уж.. превзошёл сам себя.
добавь еще 1 пункт


Re: Скриптинг курилка - -Stranger- - 11.12.2010

MX_Master, ну про strlen и т.д. я в вики почитал давно уже=)) просто думал что есть уже готовая в сервере.
За код спасибо, поставил, работает. ++


Re: Скриптинг курилка - Stepashka - 11.12.2010

Quote:
Originally Posted by Radius
Посмотреть сообщение
на счет собак - одно, на счет попытки публичного унижения, результатом которого является поднятие собственной репутации (дурной репутации) - другое. В виртуальном мире такие случаи никак нельзя решить (зависит от того кто на каком уровне в социуме (виртуальном социуме) и у кого какой словарный запас, а кто прав или виноват в той или иной ситуации зависит только от вышеуказанных показателей), а вот в реале всё обстоит проще - ярость и кулаки, и "собеседник", даже профессиональный тролль (http://ru.wikipedia.org/wiki/Троллинг) просто рот не откроет в следующий раз. Зачастую все те, кто выделуются в инете, в реальности из себя представляют червяков, которых топчат из-за их слов.. и так как они не могут реализовать себя в реальности, а только получают гимотомы под глазами, то собираются на форумах, через которые можно спокойно заливать других гноем
удивлю наверно, но ты себя описал.
Quote:
Originally Posted by Aleks10
Посмотреть сообщение
if имхо будет побыстрее switch
зависит от скорости условий
switch тупое "x = x"
а в if могут быть и функции и целые циклы


Re: Скриптинг курилка - MX_Master - 11.12.2010

сравнили мы тут с Тони (toneysix) ради пытливого интереса скорость работы вот этих двух функций

PHP код:
stock getNumCount1 source[] )
{
    new 
count;
    for ( new 
pos strlen(source) - 1pos >= 0; --pos )
    {
        switch ( 
source[pos] ) { case '0'..'9' : ++count; }
    }
    return 
count;

и

PHP код:
stock getNumCount2 source[] )
{
    new 
count;
    for ( new 
pos strlen(source) - 1pos >= 0; --pos )
    {
        if(
source[pos] >= '0' && source[pos] <= '9') ++count;
    }
    return 
count;

и как вы считаете, что же быстрее? желающие могут сравнить сами

после 10 сек моих раздумий над моей же функцией, я нашел самый быстрый вариант

PHP код:
stock getNumCount_tuned source[] )
{
    new 
count;
    for ( new 
pos; ; ++pos )
    {
        switch ( 
source[pos] )
        {
            case 
: break;
            case 
'0'..'9' : ++count;
        }
    }
    return 
count;

все протестировано и проверено, так что -Stranger- ставь вот этот последний самый быстрый вариант. Даже макрос не будет работать быстрее.


Re: Скриптинг курилка - Aleks10 - 11.12.2010

Quote:
Originally Posted by MX_Master
Посмотреть сообщение
Даже макрос не будет работать быстрее.
протестили? ))


Re: Скриптинг курилка - Maccer - 11.12.2010

Мне почему то кажется, цикл while(source[pos]) тут был бы уместней.