Форум Pawn.Wiki - Воплоти мечту в реальность!: Система аренди скутеров - Форум Pawn.Wiki - Воплоти мечту в реальность!

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Scr ][ All ]
Система аренди скутеров
Оценка: *---- 1 Голосов

#1
Пользователь офлайн   Vladiik222 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
Сначала нужно скачать dc_cmd(командный процессор) и streamer
Ссылка: https://drive.google...tpG?usp=sharing


Когда скачали нужно перенести папку plugins в plugins і include в pawn(подтвердить замену)
Теперь нужно подключить плагины(открываем server.cfg и в строку плагины вставляем dc_cmd streamer,если строки нет создайте ее plugins dc_cmd streamer)

Открываем pawn и вставляем в начало мода
#include <streamer>
#include <dc_cmd>


Это к define
#define MAX_TIMER 10

#define SCM SendClientMessage

#define forwards%0(%1) forward%0(%1); public%0(%1)


Это к enum
enum temp
{
	ARENDA,
	ARENDATIME
}
new temp_info[MAX_PLAYERS][temp];

temp_info можно использовать взамен на pvar(быстрее работает)

Это к new

new arendactor[1],arendcar[1],Text3D:botText,PlayerText:ARENDA_PTD[MAX_PLAYERS][1];

new timer[MAX_PLAYERS][MAX_TIMER];


Это в OnGameModeInit
arendactor[0] = CreateActor(179, 1930.1693,1351.7257,9.9688,274.0184);//Поменять на свои координаты
 //AddPlayerClass(0,1930.1693,1351.7257,9.9688,274.0184,0,0,0,0,0,0);Скин, наши координаты(1930.1693,1351.7257,9.9688,274.0184),нули не нужны


Это в OnPlayerConnect
	
        timer[playerid][0] = SetTimerEx("UpdatePlayer",2000,true,"d",playerid);
	ARENDA_PTD[playerid][0] = CreatePlayerTextDraw(playerid, 287.9168, 393.7778, "60_sec");
	PlayerTextDrawLetterSize(playerid, ARENDA_PTD[playerid][0], 0.4000, 1.6000);
	PlayerTextDrawAlignment(playerid, ARENDA_PTD[playerid][0], 1);
	PlayerTextDrawColor(playerid, ARENDA_PTD[playerid][0], -16776961);
	PlayerTextDrawBackgroundColor(playerid, ARENDA_PTD[playerid][0], 255);
	PlayerTextDrawFont(playerid, ARENDA_PTD[playerid][0], 2);
	PlayerTextDrawSetProportional(playerid, ARENDA_PTD[playerid][0], 1);
	PlayerTextDrawSetShadow(playerid, ARENDA_PTD[playerid][0], 0);


Это в OnPlayerDisconnect
	
        KillTimer(timer[playerid][0]);
	if(temp_info[playerid][ARENDA] != 0)
	{
		KillTimer(timer[playerid][1]);
		DestroyVehicle(arendcar[0]);
		temp_info[playerid][ARENDA]=0;
		temp_info[playerid][ARENDATIME]=0;
		PlayerTextDrawHide(playerid, ARENDA_PTD[playerid][0]);
	}


Это в OnPlayerEnterVehicle
	
        new veh = GetPlayerVehicleID(playerid);
	if(GetVehicleModel(veh) == 581 && temp_info[playerid][ARENDA] != 0)
	{
	    PlayerTextDrawHide(playerid,ARENDA_PTD[playerid][0]);
		KillTimer(timer[playerid][1]);
		temp_info[playerid][ARENDATIME]=0;
	}


Это в OnPlayerExitVehicle
	
        if(temp_info[playerid][ARENDA] > 0)
	{
		timer[playerid][1] = SetTimerEx("UpdatePlayerARENDA",60000,false,"d",playerid);
		SCM(playerid,-1,"Скутер пропадет через 60 секунд");
		temp_info[playerid][ARENDATIME]=60;
		PlayerTextDrawShow(playerid, ARENDA_PTD[playerid][0]);
	}


Это в OnPlayerKeyStateChange
	
        if(newkeys == 1024)
 	{
			if(IsPlayerInRangeOfPoint(playerid,5.0,1930.1693,1351.7257,9.9688))
			{
				if(temp_info[playerid][ARENDA] > 0)return true;
				arendcar[0] = CreateVehicle(581, 1932.7852,1345.3999,9.9688,266.0400, -1, -1, 600000);
				PutPlayerInVehicle(playerid, arendcar[0], 0);
                                temp_info[playerid][ARENDA]=1;
			}
	}


Это команда
CMD:urnet(playerid)//Команду можно поменять CMD:своя команда(playerid)
{
	if(temp_info[playerid][ARENDA] == 0)return SCM(playerid,-1,"У вас нет арендованного транспорта");
	PlayerTextDrawHide(playerid,ARENDA_PTD[playerid][0]);
	KillTimer(timer[playerid][1]);
	DestroyVehicle(arendcar[0]);
	temp_info[playerid][ARENDA]=0;
	temp_info[playerid][ARENDATIME]=0;
	SCM(playerid,-1,"Вы отменили аренду скутера");
	return true;
}


Это в конец мода
forwards UpdatePlayer(playerid)
{
	if(temp_info[playerid][ARENDATIME] != 0)
	{
	 	new string[144];
	 	PlayerTextDrawHide(playerid, ARENDA_PTD[playerid][0]);
	 	PlayerTextDrawShow(playerid, ARENDA_PTD[playerid][0]);
	        temp_info[playerid][ARENDATIME]-=2;
		format(string,sizeof(string),"%d sec",temp_info[playerid][ARENDATIME]);
		PlayerTextDrawSetString(playerid,  ARENDA_PTD[playerid][0], string);
	}
	if(IsPlayerInRangeOfPoint(playerid,1.0,1930.1693,1351.7257,9.9688))//Заменить на свои координаты(playerid,5.0,X,Y,Z)
	{
 		new string[144];
		new name[MAX_PLAYER_NAME];
		GetPlayerName(playerid,name,MAX_PLAYER_NAME);
	        if(temp_info[playerid][ARENDA] == 0)format(string,sizeof(string),"Эй %s,тебе нужен скутер?,тогда подойди ко мне и нажми [ALT]",name);
		else format(string,sizeof(string),"Эй %s,У тебя уже есть скутер,чтобы остановить аренду(/urnet)",name);
		botText = Create3DTextLabel(string, 0x00ff00AA, 1930.1693,1351.7257,9.9688, 5.0, -1, 1);//Ставим такие самые координаты как у проверки,только z + 500
	}
	else Delete3DTextLabel(botText);
}
forwards UpdatePlayerARENDA(playerid)
{
	new vehicleid = GetPlayerVehicleID(playerid);
	if(GetVehicleModel(vehicleid) != 581)
	{
	        PlayerTextDrawHide(playerid, ARENDA_PTD[playerid][0]);
		DestroyVehicle(arendcar[0]);
		temp_info[playerid][ARENDA]=0;
		SCM(playerid,-1,"Аренда отменена");
	}
	else temp_info[playerid][ARENDATIME] = 0;
}


public и forward можете поменять на forwards
1

#2
Пользователь офлайн   sinvays 

  • Пользователь
  • Вставить ник
  • Раскрыть информацию
было-бы проще, уже использовать с мода SGL... Это какой-то быдло код можно сказать. :blink:
1

#3
Пользователь офлайн   seleznew 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
C:\Users\KennySlev\Desktop\cfrp\gamemodes\California.pwn(67) : warning 217: loose indentation
C:\Users\KennySlev\Desktop\cfrp\gamemodes\California.pwn(81) : warning 217: loose indentation
C:\Users\KennySlev\Desktop\cfrp\gamemodes\California.pwn(111) : error 029: invalid expression, assumed zero
C:\Users\KennySlev\Desktop\cfrp\gamemodes\California.pwn(111) : error 017: undefined symbol "cmd_urnet"
C:\Users\KennySlev\Desktop\cfrp\gamemodes\California.pwn(111) : error 029: invalid expression, assumed zero
C:\Users\KennySlev\Desktop\cfrp\gamemodes\California.pwn(111) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.

0

#4
Пользователь офлайн   Asminov 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
нажимаю alt но нечего не происходит

Сообщение отредактировал Asminov: 01 октября 2024 - 13:32

0

Поделиться темой:


Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика