/*----------------------------------------------------------------------------*- ============================ Name Color Changer Script ============================ Coded by Aqua_Marine プレーヤーの名前を変更することのできるScript。 56行目付近以降が色の種類を定義する配列。ここを弄れば いくらでも選択できる色を削除、追加できます。 ベータ版故にバグがある可能性がありますので、使用には 十分ご注意ください。 将来は選択できる色を自動的にリスト化、さらにその検索機能を 追加予定。 バージョン: 0.6 更新履歴: 2009/3/27: ver.0.6 名前の色を変えると他のプレーヤーのマーカーが見えなくなるバグを修正 2009/3/15: ver0.55 検索機能のバグを修正 2009/3/14: ver0.5 色の検索機能を実装 140色を追加 2009/2/24: ver0.15 致命的なバグを修正。リスト化機能を実装したものの、動作せずに断念。 2009/2/22: ver0.1 プロトタイプ完成。 既知のバグ: -見つからない色を指定すると黒くなる -*----------------------------------------------------------------------------*/ #include const COLOR_GREY = 0xAFAFAFAA; const COLOR_GREEN = 0x33AA33AA; const COLOR_RED = 0xFF0000AA; const COLOR_YELLOW = 0xFFFF00AA; const COLOR_WHITE = 0xFFFFFFAA; const COLOR_BLUE = 0x0000BBAA; const COLOR_LIGHTBLUE = 0x33CCFFAA; const COLOR_ORANGE = 0xFF9900AA; const COLOR_GRAY = 0xFFFF00AA; const COLOR_BLACK = 0x000000AA; const COLOR_LIME = 0xADFF2FAA; const COLOR_PINK = 0xFF69B4AA; const COLOR_PURPLE = 0x800080AA; enum _ColorInfo { COLOR_name[64], COLOR_cmd[32], COLOR_hex } new Colors[][_ColorInfo] = { {"White", "white", 0xffffffAA}, {"Snow", "snow", 0xfffafaAA}, {"GhostWhite", "ghostwhite", 0xf8f8ffAA}, {"FloralWhite", "floralwhite", 0xfffaf0AA}, {"Linen", "linen", 0xfaf0e6AA}, {"AntiqueWhite", "antiquewhite", 0xfaebd7AA}, {"PayayaWhip", "payayawhip", 0xffefd5AA}, {"BlanchedAlmond", "blanchedalmond", 0xffebcdAA}, {"Bisque", "bisque", 0xffe4c4AA}, {"Moccasin", "moccasin", 0xffe4b5AA}, {"NavajoWhite", "navajowhite", 0xffdeadAA}, {"PeachPuff", "peachpuff", 0xffdab9AA}, {"MistyRose", "mistyrose", 0xffe4e1AA}, {"LavenderBlush", "lavenderblush", 0xfff0f5AA}, {"Seashell", "seashell", 0xfff5eeAA}, {"OldLace", "oldLace", 0xfdf5e6AA}, {"Ivory", "ivory", 0xfffff0AA}, {"Honeydew" , "honeydew", 0xf0fff0AA}, {"MintCream", "mintcream", 0xf5fffaAA}, {"Azure", "azure", 0xf0ffffAA}, {"AliceBlue", "aliceblue", 0xf0f8ffAA}, {"Lavender", "lavender", 0xe6e6faAA}, {"Black", "black", 0x000000AA}, {"DarkSlateGray", "darkslategray", 0x2f4f4fAA}, {"DimGray", "dimgray", 0x696969AA}, {"Gray", "gray", 0x808080AA}, {"DarkGray", "darkgray", 0xa9a9a9AA}, {"Silver", "silver", 0xc0c0c0AA}, {"LightGray", "lightgray", 0xd3d3d3AA}, {"Gainsboro", "gainsboro", 0xdcdcdcAA}, {"LightSlateGray", "lightslategray", 0x778899AA}, {"SlateGray", "slategray", 0x708090AA}, {"LightSteelBlue", "lightsteelblue", 0xb0c4deAA}, {"SteelBlue", "steelblue", 0x4682b4AA}, {"RoyalBlue", "royalblue", 0x4169e1AA}, {"MidnightBlue", "midnightblue", 0x191970AA}, {"Navy", "navy", 0x000080AA}, {"DarkBlue", "darkblue", 0x00008bAA}, {"MediumBlue", "midiumblue", 0x0000cdAA}, {"Blue", "blue", 0x0000ffAA}, {"DodgerBlue", "dodgerblue", 0x1e90ffAA}, {"CornflowerBlue", "cornflowerblue", 0x6495edAA}, {"DeepSkyBlue", "deepskyblue", 0x00bfffAA}, {"LightSkyBlue", "lightskyblue", 0x87cefaAA}, {"SkyBlue", "skyblue", 0x87ceebAA}, {"LightBlue", "lightblue", 0xadd8e6AA}, {"PowderBlue", "powderblue", 0xb0e0e6AA}, {"PaleTurquoise", "paleturquoise", 0xafeeeeAA}, {"Cyan", "cyan", 0x00ffffAA}, {"Aqua", "aqua", 0x00ffffAA}, {"Turquoise", "turquoise", 0x40e0d0AA}, {"MediumTurquoise", "mediumturquoise", 0x48d1ccAA}, {"DarkTurquoise", "darkturquoise", 0x00ced1AA}, {"LightSeaGreen", "lightseagreen", 0x20b2aaAA}, {"CadetBlue", "cadetblue", 0x5f9ea0AA}, {"LightCyan", "lightcyan", 0xe0ffffAA}, {"DarkCyan", "darkcyan", 0x008b8bAA}, {"Teal", "teal", 0x008080AA}, {"SeaGreen", "seagreen", 0x2e8b57AA}, {"DarkOliveGreen", "darkolivegreen", 0x556b2fAA}, {"DarkGreen", "darkgreen", 0x006400AA}, {"Green", "green", 0x008000AA}, {"ForestGreen", "forestgreen", 0x228b22AA}, {"MediumSeaGreen", "mediumseagreen", 0x3cb371AA}, {"DarkSeaGreen", "darkseagreen", 0x8fbc8fAA}, {"MediumAquamarine", "mediumaquamarine", 0x66cdaaAA}, {"Aquamarine", "aquamarine", 0x7fffd4AA}, {"PaleGreen", "palegreen", 0x98fb98AA}, {"LightGreen", "lightgreen", 0x90ee90AA}, {"SpringGreen", "springgreen", 0x00ff7fAA}, {"MediumSpringGreen", "mediumspringgreen", 0x00fa9aAA}, {"LawnGreen", "lawngreen", 0x7cfc00AA}, {"Chartreuse", "chartreuse", 0x7fff00AA}, {"GreenYellow", "greenyellow", 0xadff2fAA}, {"Lime", "lime", 0x00ff00AA}, {"LimeGreen", "limegreen", 0x32cd32AA}, {"YellowGreen", "yellowgreen", 0x9acd32AA}, {"OliveDrab", "olivedrab", 0x6b8e23AA}, {"Olive", "olive", 0x808000AA}, {"DarkKhaki", "darkkhaki", 0xbdb76bAA}, {"PaleGoldenrod", "palegoldenrod", 0xeee8aaAA}, {"Cornsilk", "cornsilk", 0xfff8dcAA}, {"Beige", "beige", 0xf5f5dcAA}, {"LightYellow", "lightyellow", 0xffffe0AA}, {"Lightgoldenrodyellow","lightgoldenrodyellow", 0xfafad2AA}, {"LemonChiffon", "lemonchiffon", 0xfffacdAA}, {"Wheat", "wheat", 0xf5deb3AA}, {"Burlywood", "burlywood", 0xdeb887AA}, {"Tan", "tan", 0xd2b48cAA}, {"Khaki", "khaki", 0xf0e68cAA}, {"Yellow", "yellow", 0xffff00AA}, {"Gold", "gold", 0xffd700AA}, {"Orange", "orange", 0xffa500AA}, {"SandyBrown", "sandybrown", 0xf4a460AA}, {"DarkOrange", "darkorange", 0xff8c00AA}, {"Goldenrod", "goldenrod", 0xdaa520AA}, {"Peru", "peru", 0xcd863fAA}, {"DarkGoldenrod", "darkgoldenrod", 0xb8860bAA}, {"Chocolate", "chocolate", 0xd2691eAA}, {"Sienna", "sienna", 0xa0522dAA}, {"SaddleBrown", "saddlebrown", 0x8b4513AA}, {"Maroon", "maroon", 0x800000AA}, {"DarkRed", "darkred", 0x8b0000AA}, {"Brown", "brown", 0xa52a2aAA}, {"Firebrick", "firebrick", 0xb22222AA}, {"IndianRed", "indianred", 0xcd5c5cAA}, {"RosyBrown", "rosybrown", 0xbc8f8fAA}, {"DarkSalmon", "darksalmon", 0xe9967aAA}, {"LightCoral", "lightcoral", 0xf08080AA}, {"Salmon", "salmon", 0xfa8072AA}, {"LightSalmon", "lightsalmon", 0xffa07aAA}, {"Coral", "coral", 0xff7750AA}, {"Tomato", "tomato", 0xff6347AA}, {"OrangeRed", "orangered", 0xff4500AA}, {"Red", "red", 0xff0000AA}, {"Crimson", "crimson", 0xdc143cAA}, {"MediumVioletRed", "mediumvioletred", 0xc71585AA}, {"DeepPink", "deeppink", 0xff1493AA}, {"HotPink", "hotpink", 0xff69b4AA}, {"PaleVioletPink", "palevioletpink", 0xdb7093AA}, {"Pink", "pink", 0xffc0cbAA}, {"LightPink", "lightpink", 0xffb6c1AA}, {"Thistle", "thistle", 0xd8bfd8AA}, {"Magenda", "magenda", 0xff00ffAA}, {"Fuchsia", "fuchsia", 0xff00ffAA}, {"Violet", "violet", 0xee82eeAA}, {"Plum", "plum", 0xdda0ddAA}, {"Orchid", "orchid", 0xda70d6AA}, {"MediumOrchid", "mediumorchid", 0xba55d3AA}, {"DarkOrchid", "darkorchid", 0x9932ccAA}, {"DarkViolet", "darkviolet", 0x9400d3AA}, {"DarkMagenda", "darkmagenda", 0x8b008bAA}, {"Purple", "purple", 0x800080AA}, {"Indigo", "indigo", 0x4b0082AA}, {"DarkSlateBlue", "darkslateblue", 0x483d8bAA}, {"BlueViolet", "blueviolet", 0x8a2be2AA}, {"MediumPurple", "mediumpurple", 0x9370dbAA}, {"SlateBlue", "slateblue", 0x6a70dbAA}, {"MediumSlateBlue", "mediumslateblue", 0x7b68eeAA}, {"Brass", "brass", 0xb5a642AA}, {"CoolCopper", "coolcopper", 0xd98719AA}, {"Copper", "copper", 0xbf00dfAA}, {"CornFlower", "cornflower", 0xbfefdfAA}, {"DarkBrown", "darkbrown", 0xda0b00AA}, {"Feldsper", "feldsper", 0xfed0e0AA}, {"RichBlue", "richblue", 0x0cb0e0AA}, {"Mouse", "mouse", 0x999999AA} }; public OnFilterScriptExit(){ SendClientMessageToAll(0xFF00FFFF, "unloaded colors.amx."); return 1; } public OnPlayerCommandText(playerid, cmdtext[]){ new cmd[256]; new idx; cmd = strtok(cmdtext, idx); if (strcmp("/color", cmd, true) == 0){ cmd = strtok(cmdtext, idx); if(!strlen(cmd)){ SendClientMessage(playerid, COLOR_YELLOW, " 使い方: /color [カラー名]"); return 1; }else if(strlen(cmd)){ if (strcmp("help", cmd, true) == 0){ SendClientMessage(playerid, COLOR_ORANGE, "NameColorChanger Help:"); SendClientMessage(playerid, COLOR_GRAY, " /color find:選択できる色の検索"); SendClientMessage(playerid, COLOR_YELLOW, " /color [色の名前]:色の変更"); return 1; } if (strcmp("find", cmd, true) == 0){ cmd = strtok(cmdtext, idx); if(strlen(cmd)){ new found; new mess[50][64]; for(new i = 0; i < sizeof(Colors); ++i){ if(strfind(Colors[i][COLOR_cmd], cmd, true) != -1){ if(found < 30){ strcat(mess[found], "/color"); strcat(mess[found], " "); strcat(mess[found], Colors[i][COLOR_cmd]); } found++; } } if(found == 0){ SendClientMessage(playerid, COLOR_ORANGE, " 1色も見つかりませんでした."); }else if(found >= 30){ SendClientMessage(playerid, COLOR_RED, " 30色以上見つかりました."); SendClientMessage(playerid, COLOR_RED, " 検索ワードを長くして絞り込んでください"); }else{ SendClientMessage(playerid, COLOR_WHITE, " 以下の色が見つかりました."); for(new i = 0; i < found; i++) { SendClientMessage(playerid, Colors[i][COLOR_hex], mess[i]); } } return 1; } else { SendClientMessage(playerid, 0xFFAA00AA, " 使い方: /color find [検索ワード]"); return 1; } } for(new i = 0; i < sizeof(Colors); ++i) { if(!Colors[i][COLOR_cmd][0]) break; if(strcmp(Colors[i][COLOR_cmd], cmd, true) == 0) { Color(playerid, Colors[i][COLOR_hex], Colors[i][COLOR_name]); return 1; } } SendClientMessage(playerid, COLOR_YELLOW, " 指定された色は見つかりませんでした。"); SendClientMessage(playerid, COLOR_YELLOW, " /color findで色を検索してみてください。"); return 1; } return 1; } return 0; } static stock Color(playerid, color, const title[]){ new message[256]; strcat(message, " 名前の色を"); strcat(message, title); strcat(message, " に変更しました."); SendClientMessage(playerid, color, message); SetPlayerColor(playerid, color); return; } stock strtok(const string[], &index){ new length = strlen(string); while ((index < length) && (string[index] <= ' ')){ index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))){ result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; }