Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

[Мануал] Обокрасть человека для RLS

Статус
В этой теме нельзя размещать новые ответы.

Smoke...

Умник
Здравствуйте, пользователи Pawno-Info! Хочу вам представить команду /vor [id] для RLS.
Автор команды : CRAZy_Str.
Мод : Fortune-Rp.
​

Начнём :

Ко всем enum pInfo дописуем :
PHP:
pVorSkill,
В public OnPlayerRegister(playerid, password[]) дописуем :
PHP:
ini_setInteger(File,"pVorSkill",PlayerInfo[playerid][pVorSkill]);
В stock OnPlayerSave(playerid) дописуем :
PHP:
ini_setInteger(File,"pVorSkill",PlayerInfo[playerid][pVorSkill]);
В public OnPlayerLogin(playerid,password[]) дописуем :
PHP:
ini_getInteger(File,"pVorSkill",PlayerInfo[playerid][pVorSkill]);
В public OnPlayerCommandText(playerid, cmdtext[]) дописуем :
PHP:
	else if(strcmp(cmd,"/vor",true) == 0)
	    {
	        if(IsPlayerConnected(playerid))
	        {
				tmp = strtok(cmdtext, idx);
	  			if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_LIGHTBLUE, "{F74848}[Помощь]: /vor [id]");
	   			giveplayerid = ReturnUser(tmp);
	     		new shans[MAX_PLAYERS];
	      		new summa[MAX_PLAYERS];
				tmp = strtok(cmdtext, idx);
			  	shans[playerid] = random(10); // Это ваш шанс на удачу
			  	summa[playerid] = random(500)+10; // Приобретаемая сумма денег в случае удачной махинации
			  	GetPlayerName(playerid, sendername, sizeof(sendername));
			  	GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
				if(giveplayerid == playerid)  return SendClientMessage(playerid,COLOR_RED,"{F74848}[Ошибка]: Вы указали свой ID");
				if(AntiFlud[playerid] == 1) return SendClientMessage(playerid, COLOR_GREY, "{F74848}[Ошибка]: Вы уже воровали, попробуйте позже!");
	   			if(PlayerInfo[giveplayerid][pCash] < 1000) return SendClientMessage(playerid, COLOR_GREY, "{F74848}[Ошибка]: У него нечего воровать!");
	   			switch(PlayerInfo[playerid][pMember])
	   			{
	   			    case 0..11,14,16,19..22:
	   			    {
	   			        SendClientMessage(playerid, COLOR_GRAD1, "Вы не состоите в банде!");
	   			        return true;
					}
				}
			   	if(IsPlayerConnected(giveplayerid))
	     		{
	       			if(giveplayerid != INVALID_PLAYER_ID)
	          		{
	            		if (ProxDetectorS(1.0, playerid, giveplayerid))
	              		{
	                    	if(PlayerInfo[playerid][pVorSkill] >= 0 && shans[playerid] == 1 || PlayerInfo[playerid][pVorSkill] >= 20 && shans[playerid] <= 2 || PlayerInfo[playerid][pVorSkill] >= 40 && shans[playerid] <= 3 ||
	                      	PlayerInfo[playerid][pVorSkill] >= 60 && shans[playerid] <= 4 || PlayerInfo[playerid][pVorSkill] >= 80 && shans[playerid] <= 5 || PlayerInfo[playerid][pVorSkill] == 100 && shans[playerid] <= 6) // Если у вас скилл кражи выше, тем выше шанс удачной кражи. Всего 6 уровней скилла
	                        {
		       					AntiFlud[playerid] = 1; // Система антифлуда (об этом позже)
								SetTimerEx("ANTIFLUD", 120000,0,"d",playerid);// Антифлуд на 2 минуты
								PlayerInfo[giveplayerid][pCash] -= summa[playerid];
								PlayerInfo[playerid][pCash] += summa[playerid];
								PlayerInfo[playerid][pZakonp] -= 1;
								format(string, sizeof(string), "Вы успешно обворовали %s на сумму %d $.", giveplayer,summa[playerid]);
								SendClientMessage(playerid, 0x6AB1FFFF, string);
								GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
								format(string, sizeof(string), "Украл часть денег у %s",giveplayer);
								SetPlayerChatBubble(playerid,string,COLOR_PURPLE,30.0,10000);
		                        if(PlayerInfo[playerid][pVorSkill] < 100)
	                           	{
	                           		PlayerInfo[playerid][pVorSkill] += 1;
	                           		switch(PlayerInfo[playerid][pVorSkill])
	                           		{
	                           		    case 20: SendClientMessage(playerid, COLOR_YELLOW, "Ваш воровской новык теперь 2 уровня.Шанс удачной кражи - 20 процентов");
	                    				case 40: SendClientMessage(playerid, COLOR_YELLOW, "Ваш воровской новык теперь 3 уровня.Шанс удачной кражи - 30 процентов");
		                    			case 60: SendClientMessage(playerid, COLOR_YELLOW, "Ваш воровской новык теперь 4 уровня.Шанс удачной кражи - 40 процентов");
		                    			case 80: SendClientMessage(playerid, COLOR_YELLOW, "Ваш воровской новык теперь 5 уровня.Шанс удачной кражи - 50 процентов");
		                    			case 100: SendClientMessage(playerid, COLOR_YELLOW, "Ваш воровской новык теперь 6 уровня.Шанс удачной кражи - 60 процентов");
									}
	                               	return true;
	                           	}
	                        }
	                    	else
	                        {
	                        	SendClientMessage(playerid, COLOR_RED, "Воровство неудачно!");
	                        	return true;
							}

						}
	     				else
	         			{
	            			SendClientMessage(playerid, COLOR_GRAD1, "Вы слишком далеко!");
	               			return true;
	                  	}
	               	}
	         	}
	         	else
	         	{
					SendClientMessage(playerid, COLOR_GRAD1, "Человек не найден!");
					return true;
				}
			}
			return true;
		}
Вот и всё! :df:

А сейчас система Анти-Флуда, если у вас своя система анти-флуда просто замените.

Начнём :

Дописуем ко всем forward`am :
PHP:
forward ANTIFLUD(playerid);
Ко всем new дописуем :
PHP:
new AntiFlud[MAX_PLAYERS];
В public OnPlayerConnect(playerid) дописуем :
PHP:
AntiFlud[playerid] = 0;
В самый конец мода :
PHP:
public ANTIFLUD(playerid)
	{
		AntiFlud[playerid] = 0;
	}
С вами был Ракушka...
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу