iEnemY | Дата: Суббота, 04.09.2010, 00:47 | Сообщение # 1 |
^666^
Группа: ADMIN
Сообщений: 222
Репутация: 30
Статус: Offline
134942 iEnemY1
| Code if(strcmp(cmd, "/stealcash", true) == 0) // пример команды - /stealcash 3 200 (я краду 200 баксов, у игрока с ID 3 (его имя - Nick), у него 300 баксов. { tmp = strtok(cmdtext, idx); // не спрашивай что ето - сам не знаю... if(!strlen(tmp)) // если ты нечего неввел вместо id игрока... { SendClientMessage(playerid, 0xFF0000CC, "ЮЗАЙ: Вы неввели ID игрока!"); // отправляем соопщение SendClientMessage(playerid, 0xFF0000CC, "ЮЗАЙ: /stealcash [ID игрока] [сколько]"); // отправляем соопщение return 1; // прекращаем выполнение команды } new giveplayerid; // переменная, равна нулю new cash; // тож самое new string[256]; // текстовая переменная giveplayerid = strval(tmp); // назначаем значение ID "жертвы" значение после ПРОБЕЛА (/stealcash(ПРОБЕЛ)3), тоесть giveplayerid = 3; tmp = strtok(cmdtext, idx); // тож самое, разделитель if(!strlen(tmp)) // если неввели сумму... { SendClientMessage(playerid, 0xFF0000CC, "ЮЗАЙ: Вы неввели сумму!"); // отправляем соопщение SendClientMessage(playerid, 0xFF0000CC, "ЮЗАЙ: /stealcash [ID игрока] [сколько]"); // отправляем соопщение return 1; // прекращаем выполнение команды } cash = strval(tmp); // присваиваем сумме значение 200, как и в случае с ID new hismoney = GetPlayerMoney(giveplayerid); // переменная, её значение - определяет значение денег игрока ID 3 (получаем 300) if(hismoney < cash) // если у него МЕНЬШЕ денег, чем мы краден, то пишем следующее... { format(string,256,"У него нету стоко. У него всеголиш %d%", hismoney); // задаем переменной string значение "У него нету стоко. У него всеголиш 300" SendClientMessage(playerid, 0xFF0000CC, string); // отсылаем соопщение "У него нету стоко. У него всеголиш 300" красным цветом return 1; // прекращаем выполнение команды } if(IsPlayerConnected(giveplayerid)) // если игрок с ID 3 есть на сервере { if(giveplayerid != INVALID_PLAYER_ID) // если ты ввел ккойто левый ID))) { new myname[MAX_PLAYER_NAME]; // текстовая переменная, размер 64. вместо 64 пишу MAX_PLAYER_NAME. почему? нелюблю быдлокод new hisname[MAX_PLAYER_NAME]; // текстовая переменная, тож самое что и первое...
GetPlayerName(playerid,myname,sizeof(myname)); // сохраняем в эту (myname) переменную myname твой ник. после етого myname = kenwoodiii GetPlayerName(giveplayerid,hisname,sizeof(hisname)); // сохраняем в эту (hisname) переменную hisname его ник (Nick). после етого hisname = Nick
GivePlayerMoney(playerid, cash); // даем тебе сумму, кторую ты указал (200$) GivePlayerMoney(giveplayerd, -cash); // отнимаем у него 200$
hismoney = GetPlayerMoney(giveplayerid); // обновляем значение hismoney (теперь оно равно новой сумме) new mymoney = GetPlayerMoney(playerid); // создаем переменную, её значение - твои деньги. было 100, украли 200, стало 300
format(string,256,"Вы украли у %s деньги (%d$). У него осталось - %d$, у вас теперь - %d$", hisname, cash, hismoney, mymoney); /* форматируем переменную string. после етого она равна "Вы украли у Nick деньги (200$). У него осталось - 100$, у вас теперь - 300$", */ SendClientMessage(playerid, 0x00FF00CC, string); // отсылаем зеленым цветом переменнуб string (то что выше ^ ^ ^)
format(string,256,"У вас украл %s деньги (%d$). У вас осталось - %d$", myname, cash, hismoney); /* форматируем переменную string (угу, снова) после етого она равна "У вас украл kenwoodiii деньги (200$). У вас осталось - 100$", */ SendClientMessage(giveplayerid, 0x00FF00CC, string); // отсылаем... } else { SendClientMessage(playerid,0xFF0000CC,"Вы ввели неверный ID!"); // ну если неверный айди, говорим об этом } } else { SendClientMessage(playerid, COLOR_GRAD1, "Игрока с этим ID нету на сервере!"); // если этот игрок не на сервере... } return 1; // ну на этом все. команда на 95% рабочая. изучай! все до*** понятно. }
|
|
| |