1. PHP / Говнокод #2261

    +158.3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    function onbot($who) {
        $crime = 5;
        $crime_ar=array();
        for($i=0;$i<=$crime;$i++) {
            $crime_ar[$i]=$i;}
        for($i=$crime+1;$i<=100;$i++) {
            $crime_ar[$i]="empty";
        }
        $crime_numer=rand(0,100);
        $is_crime="0";
        for($i=0;$i<=100;$i++) {
            if($crime_numer==$crime_ar[$i]) {
                $is_crime="1";
            }
        }
        if($is_crime == 1) {
            $at = rand(1,4);
            if($at == 1) {$attacker = 'gorg1';}
            if($at == 2) {$attacker = 'gorg2';}
            if($at == 3) {$attacker = 'gorg3';}
            if($at == 4) {$attacker = 'gorg4';}
            attack($who,$attacker,'1');
            die();
        }
    }
    
    function attack($who,$attacker,$dif) {
        ..........................................
        if($attacker == "gorg1") {
            $prototype = "Рядовой Горг";
            $name = "Рядовой Горг";}
        if($attacker == "gorg2") {
            $prototype = "Горг-Лейтенант";
            $name = "Горг-Лейтенант";}
        if($attacker == "gorg3") {
            $prototype = "Горг-Капитан";
            $name = "Горг-Капитан";}
        if($attacker == "gorg4") {
            $prototype = "Горг Подполковник";
            $name = "Горг Подполковник";}
        $mine_id=$db["id"];
        // далее идет заполнение таблиц, для "блоя"
        }
    }

    Разбираюсь в онлайн игре. Архитектура самой игры на высшем уровне!

    dicos, 11 Декабря 2009

    Комментарии (1)
  2. PHP / Говнокод #2260

    +152.1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    <?php
    
    /*========================ПРОВЕРКА НА ПОЛУЧЕНИЕ АПА/ЛЕВЕЛА=======*/
    
    function testUp($who) {
    
        $data=mysql_fetch_array(mysql_query("SELECT level,exp,next_up,ups,money FROM users WHERE login='$who'"));
        $player_exp=$data["exp"];
        $level=$data["level"];
        $exp_table=array();
        $exp_table[0]="20";
        $exp_table[1]="75";
        $exp_table[2]="190";
        $exp_table[3]="390";
    .........................................................
        $exp_table[95]="37872105";
        $exp_table[96]="65916370";
        $exp_table[97]="121680315";
        $exp_table[98]="232883620";
        $exp_table[99]="454965645";
        $exp_table[100]="454965645";
    
        $stat_table=array();
        $stat_table[0]="4";
        $stat_table[1]="4";
        $stat_table[2]="4";
    ..........................................................
        $stat_table[98]="4";
        $stat_table[99]="4";
        $stat_table[100]="4";
    
        $money_table=array();
        $money_table[0]="2";
        $money_table[1]="2";
        $money_table[2]="6";
        $money_table[3]="12";
    .........................................................
        $money_table[97]="243864";
        $money_table[98]="478660";
        $money_table[99]="946412";
        $money_table[100]="1000000";
    
        $level_table=array();
        $level_table[0]="0";
        $level_table[1]=$exp_table[0];
        $level_table[2]=$exp_table[1];
        $level_table[3]=$exp_table[2];
        $level_table[4]=$exp_table[3];
        $level_table[5]=$exp_table[4];
    ......................................................
        $level_table[98]=$exp_table[97];
        $level_table[99]=$exp_table[98];
        $level_table[100]=$exp_table[99];
        $level_table[101]=$exp_table[100];
    // дальше идет малопонятный код
    ?>

    Делаю доработку браузерной игры от одного умельца.

    dicos, 11 Декабря 2009

    Комментарии (2)
  3. C# / Говнокод #2259

    +100.5

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    if (Files[i].NeedCompression)
     {
           CompressFile(Files[i], Files[i].FileNameWithPath);
    }
           else
    {
           CompressFile(Files[i], Files[i].FileNameWithPath);
    }

    Если файл нужно сжать, сжимаем, или сжимаем :D
    ps:// 3 года назад писал подобие архиватора, за компрессию отвечала библиотека zlib.net

    nolka4, 11 Декабря 2009

    Комментарии (5)
  4. PHP / Говнокод #2258

    +159.6

    1. 1
    2. 2
    <p>Всего сообщений: <?=$msg->{0}[0]['count']?></p>
    <p>Новых: <?=$msg->{0}[0]['countNew']?></p>

    Вот честнейшее слово, именно так. Пока загадка, почему и откуда. как будет время — разберусь. Как будет время настроение — разберусь. Если кто-то наткнётся — прошу прощения.

    Shock, 10 Декабря 2009

    Комментарии (7)
  5. SQL / Говнокод #2257

    −161.4

    1. 1
    SELECT result=1 WHERE 1=0

    Тестируем что-то... Но что?

    bolkhovsky, 10 Декабря 2009

    Комментарии (5)
  6. Java / Говнокод #2256

    +73.4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    String tempFileName = "someFileName";
    URL url = SomeClass.class.getClassLoader().getResource(".");
    File currentFolder = new File(url.getFile());
    if(currentFolder.isDirectory()){
       File parentFolder = currentFolder.getParentFile();
       for (String file:parentFolder.list()) {
          if(file.equals("temp")){
             File targetFolder = new File(parentFolder.getAbsolutePath()+"\\"+file+"\\"+tempFileName);
             if(!targetFolder.exists()) {
    	targetFolder.mkdir();
             }
             this.pathToTempFile = parentFolder.getAbsolutePath()+"\\"+file+"\\"+tempFileName;
          }
       }
    }

    Поиск директории для создания временных файлов вместо использования File.createTempFile(prefix, suffix)

    eroese, 10 Декабря 2009

    Комментарии (3)
  7. C# / Говнокод #2255

    +135

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    private string GetDefaultPolicyNameFromRegistry()
        {
            string registryControlCenterKeyName;
            RegistryKey key;
            try
            {
                if (System.Runtime.InteropServices.Marshal.SizeOf(typeof(IntPtr)) == 8)
                    registryControlCenterKeyName = "SOFTWARE\\Wow6432Node\\xxx\\ControlCenter\\";
                else
                    registryControlCenterKeyName = "SOFTWARE\\xxx\\ControlCenter\\";
    
                key = Registry.LocalMachine.OpenSubKey(registryControlCenterKeyName); ;
    
            }
            catch (Exception ex)
            {
                throw new ArgumentException("Registry open 'ControlCenter' key error: " + ex.Message);
            }
    
           return (string)key.GetValue("DefaultPolicy");
        }

    Замечательно проверили на возможность исключений в ветке реестра с помощью try catch.. И также замечательно вынесли получение нужного значения из try catch
    Как результат - после обновления не открываются две страницы, на которых можно было бы создать, просмотреть и етк нужное значение в реестре. Нормальная работа приложения гарантировано заблокирована.

    Проверка битности системы тоже хорошая)

    eiskalt, 10 Декабря 2009

    Комментарии (0)
  8. Куча / Говнокод #2254

    +101.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    if formnaam='UBI_LABELS'
    	do sqlcode with 'exec sp_kaartbak_overzicht ?mloginid, ?formnaam, ?mfilter0, ?mfilter1, ?mfilter2, ?mfilter3, ?mfilter4, ?mfilter5, ?mfilter6, ;
    	?mfilter7,?mfilter8,?vnaam,?tnaam, ?vpartijnr, ?tpartijnr, ?vlokatie,?tlokatie,?vdatum, ?tdatum, ?mkg, ?moptie1','novzkrt1', 'ovzkaartbak.prg'
    else
    	do sqlcode with 'exec sp_kaartbak_overzicht ?mloginid, ?formnaam, ?mfilter0, ?mfilter1, ?mfilter2, ?mfilter3, ?mfilter4, ?mfilter5, ?mfilter6, ;
    	?mfilter7,?mfilter8,?vnaam,?tnaam, ?vpartijnr, ?tpartijnr, ?vlokatie,?tlokatie,?vdatum, ?tdatum, ?mkg, ?moptie1','novzkrt1', 'ovzkaartbak.prg'
    endif

    Visual FoxPro. Иллюзия выбора.

    bolkhovsky, 10 Декабря 2009

    Комментарии (6)
  9. PHP / Говнокод #2253

    +152.6

    1. 1
    2. 2
    3. 3
    <?php
       unset($_SESSION['ticket']); 
       $_SESSION['ticket'] = $ticket;

    масло маслянное... ну прям как в анекдоте про два джампа...

    nicolay-punin, 09 Декабря 2009

    Комментарии (9)
  10. Assembler / Говнокод #2252

    +243.6

    1. 001
    2. 002
    3. 003
    4. 004
    5. 005
    6. 006
    7. 007
    8. 008
    9. 009
    10. 010
    11. 011
    12. 012
    13. 013
    14. 014
    15. 015
    16. 016
    17. 017
    18. 018
    19. 019
    20. 020
    21. 021
    22. 022
    23. 023
    24. 024
    25. 025
    26. 026
    27. 027
    28. 028
    29. 029
    30. 030
    31. 031
    32. 032
    33. 033
    34. 034
    35. 035
    36. 036
    37. 037
    38. 038
    39. 039
    40. 040
    41. 041
    42. 042
    43. 043
    44. 044
    45. 045
    46. 046
    47. 047
    48. 048
    49. 049
    50. 050
    51. 051
    52. 052
    53. 053
    54. 054
    55. 055
    56. 056
    57. 057
    58. 058
    59. 059
    60. 060
    61. 061
    62. 062
    63. 063
    64. 064
    65. 065
    66. 066
    67. 067
    68. 068
    69. 069
    70. 070
    71. 071
    72. 072
    73. 073
    74. 074
    75. 075
    76. 076
    77. 077
    78. 078
    79. 079
    80. 080
    81. 081
    82. 082
    83. 083
    84. 084
    85. 085
    86. 086
    87. 087
    88. 088
    89. 089
    90. 090
    91. 091
    92. 092
    93. 093
    94. 094
    95. 095
    96. 096
    97. 097
    98. 098
    99. 099
    100. 100
    format ELF
    
    
    include 'macros.inc'
    
    
    public main
    
    
    extrn printf
    extrn puts
    extrn exit
    extrn strtok
    extrn getenv
    extrn strcmp
    extrn strtol
    extrn strcpy
    ; Функции для общения с БД
    extrn get_version ; ремейк на mysql_get_client_info()
    extrn get_product_by_single_name_ex
    
    CGI_HEADER db "Content-Type: text/html", 13,10, "X-Powered-by: FASM (Flat Assembler 1.68)",13,10,0
    QUERY_STRING db ?
    REQUEST_METHOD db ?
    
    	query_str_env_req	db	"QUERY_STRING", 0
    	request_method_env_req	db	"REQUEST_METHOD", 0	
    	RM_GET db "GET", 0
    	RM_POST db "POST",0
    
    NO_ACTION_ERROR_MSG db "No action", 0
    
    
    
    q_token db "="
    r_token db "&"
    
    
    ; Константы ACTION
    	AC_VERSION equ 0; Инфа о версии и копирайте
    
    	AC_PRODUCT_ID_BY_SINGLE_NAME equ 1; ID продукта по полному совпадению имени
    	
    
    section '.text' executable
    _start:
    
    	main:
    	ccall puts, CGI_HEADER
    	ccall getenv, request_method_env_req
    	push eax
    	;c
    	xor eax, eax
    	pop eax
    	ccall strcmp, eax, RM_GET ; TODO: ЗМЕНИТЬ НА POST!!!1111
    	cmp eax, 0
    	jne quit
    	
    	;Что прислали в Action. ( ТОЛЬКО GET )
    	
    	ccall getenv, query_str_env_req
    	ccall strcpy, QUERY_STRING, eax
    	ccall strtok, QUERY_STRING, q_token
    	push eax
    	ccall strcmp, eax, "act"
    	cmp eax, 0
    	jne no_act
    	je act
    no_act:
    	ccall puts, NO_ACTION_ERROR_MSG
    	jmp quit
    act:
    	
    	
    	; Узнаём, что за опция в act
    	pop eax;
    	ccall strtok, 0, q_token
    	ccall strtol, eax, 0, 10
    	cmp eax, AC_VERSION
    	je version_put
    	cmp eax, AC_PRODUCT_ID_BY_SINGLE_NAME
    	je product_id_by_single_name
    	jne quit
    
    version_put:
    	; версия - из mysql
    	ccall puts, "Web kernel v0.1. (c) 2009 by Sergei V. Adoniew ( [email protected] ) with MySQL: "
    	ccall get_version
    	ccall puts, eax
    	jmp quit
    
    product_id_by_single_name:
    
    	
    	;НА Входе: name=%docname%
    	;НА Выходе id
    	
    	; дробим строку на a=b разделителем &
     	ccall getenv, "QUERY_STRING"
    	;у нас в eax вся строка

    Собственный пьяный высер на фасме ( FASM ).

    Обратить внимание на ветвление:)

    AlDjabad, 09 Декабря 2009

    Комментарии (60)