Скриптинг курилка
#61

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

никак,юзай GetPlayerKeys
Reply
#63

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

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

не удалась шутка
Reply
#66

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

У меня проблема с 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"
Reply
#68

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

toneysix, Благодарю!
Reply
#70

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

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

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

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

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


а я тут на форуме, чтобы
  • устраивать иногда холивары
  • помогать тем, кто умеет задавать правильно вопросы
  • не забыть сам язык pawn
  • и пытаюсь сделать так, чтобы это всё не было, к примеру, сэмп.рус"ом, а было куда интереснее и глубже
Reply
#73

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

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

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

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

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

сравнили мы тут с Тони (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- ставь вот этот последний самый быстрый вариант. Даже макрос не будет работать быстрее.
Reply
#79

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

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


Forum Jump:


Users browsing this thread: 33 Guest(s)