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

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

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

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

Слив бензина

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

Nowe4ok

Изучающий
Пользователь
Регистрация
14 Авг 2011
Сообщения
317
Лучшие ответы
0
Репутация
79
решил выложить еще один урок.
Поскольку такого урока на форуме еще не встречалось.
Итак.

ко всем new

PHP:
new PlayerSlivaet[MAX_PLAYERS];// сливаем ли бензин 
new PlayerSlivaetID[MAX_PLAYERS];//id тачки у которой сливаем бензин
ко всем forward

PHP:
forward SendActionMessage(playerid,Float:radius,message[]);
в public OnPlayerConnect

PHP:
PlayerSlivaet[playerid] = 0; 
PlayerSlivaetID[playerid] = 0;
в enum pInfo

PHP:
pKanistra,
в public SetPlayerUnJail

PHP:
if(PlayerSlivaet[i] > 0) 
 { 
 new Float:vX, Float:vY, Float:vZ; 
 GetVehiclePos(PlayerSlivaetID[i],vX,vY,vZ); 
 new carid = PlayerSlivaetID[i]; 
 if (PlayerToPoint(15,i,vX,vY,vZ)) 
 { 
 PlayerSlivaet[i] -=1; 
 Gas[carid] -=1; 
 PlayerInfo[i][pFuel] += 1; 
 } 
 else 
 { 
 SendClientMessage(i, COLOR_GRAD2, " Машина, с которой ты сливал бензин нет рядом с тобой!"); 
 PlayerSlivaet[i] = 0; 
 TogglePlayerControllable(i,1); 
 ClearAnimations(i); 
 return 1; 
 } 
 if(Gas[carid] == 0) 
 { 
 SendClientMessage(i,COLOR_WHITE," Ты слил весь бензин с машины!"); 
 TogglePlayerControllable(i,1); 
 PlayerSlivaet[i] = 0; 
 PlayerSlivaetID[i] = 0; 
 ClearAnimations(i); 
 return 1; 
 } 
 if(PlayerSlivaet[i] == 1) 
 { 
 SendClientMessage(i,COLOR_WHITE," Ты слил бензин с машины!"); 
 TogglePlayerControllable(i,1); 
 PlayerSlivaet[i] = 0; 
 PlayerSlivaetID[i] = 0; 
 ClearAnimations(i); 
 return 1; 
 } 
 }
в public OnPlayerComamndText

PHP:
if(strcmp(cmd, "/mergefuel", false) == 0)// слить бензин  
 { 
 if(IsPlayerConnected(playerid)) 
 { 
 if (PlayerSlivaet[playerid] != 0) 
 { 
 SendClientMessage(playerid, COLOR_GRAD2, " Ты уже сливаешь где то бензин!"); 
 return 1; 
 } 
 if (PlayerInfo[playerid][pKanistra] != 1) 
 { 
 SendClientMessage(playerid, COLOR_GRAD2, " Тебе не куда слить бензин!"); 
 return 1; 
 } 
 if(PlayerInfo[playerid][pFuel] >= 80) 
 { 
 SendClientMessage(playerid,COLOR_GREY,"В канистре много бензина,освободите чутка!"); 
 return 1; 
 } 
 if (IsPlayerInAnyVehicle(playerid)) 
 { 
 SendClientMessage(playerid,COLOR_GREY," Ты должен быть на ногах!"); 
 return 1; 
 } 
 new Float:vX, Float:vY, Float:vZ; 
 new towcar = 0; 
 new il = 1; 
 new found = 0; 
 for (; il <= CAR_AMOUNT; il++) 
 { 
 GetVehiclePos(il,vX,vY,vZ); 
 if (PlayerToPoint(10,playerid,vX,vY,vZ)) 
 { 
 towcar = il; 
 found = 1; 
 } 
 } 
 if(found == 0) 
 { 
 SendClientMessage(playerid, COLOR_GRAD2, " Рядом с тобой нет машины!"); 
 return 1; 
 } 
 if(Gas[towcar] == 0) 
 { 
 SendClientMessage(playerid,COLOR_GREY,"В этой машине нет бензина!"); 
 return 1; 
 } 
 GetPlayerName(playerid,sendername,sizeof(sendername)); 
 PlayerSlivaet[playerid] = 60; 
 SendClientMessage(playerid,COLOR_WHITE," Ты сливаешь бензин у этого автомобиля!"); 
 ApplyAnimation(playerid,"ROB_BANK","CAT_Safe_Rob",4.1,1,0,0,0,0); 
 SendActionMessage(playerid,30.0,"сливает бензин у автомобиля..."); 
 TogglePlayerControllable(playerid,0); 
 PlayerSlivaetID[playerid] = towcar; 
 } 
 return 1; 
 }
ищем команду "/give"
и в неё вставляем

PHP:
else if(strcmp(x_nr,"канистра",true) == 0) 
 { 
 if(PlayerInfo[playerid][pAptechka] == 0) 
 { 
 SendClientMessage(playerid, COLOR_GRAD1, " У тебя нет канистры!"); 
 return 1; 
 } 
 tmp = strtok(cmdtext, idx); 
 if(!strlen(tmp)) 
 { 
 SendClientMessage(playerid, COLOR_GRAD1, " Подсказка: /give канистра [IDигрока]"); 
 return 1; 
 } 
 giveplayerid = ReturnUser(tmp); 
 if(IsPlayerConnected(giveplayerid)) 
 { 
 if(giveplayerid != INVALID_PLAYER_ID) 
 { 
 if(ProxDetectorS(5, playerid, giveplayerid)) 
 { 
 if(PlayerInfo[giveplayerid][pKanistra] == 1) 
 { 
 SendClientMessage(playerid, COLOR_GREY, " У игрока уже есть канистра !"); 
 return 1; 
 } 
 PlayerInfo[playerid][pKanistra] = 0; 
 PlayerInfo[giveplayerid][pKanistra] = 1; 
 SendTwoAction(playerid,giveplayerid,30.0,"дал свою канистру"); 
 } 
 else 
 { 
 SendClientMessage(playerid, COLOR_GREY, " Игрок не рядом с тобой !"); 
 return 1; 
 } 
 } 
 } 
 }
в 24/7 добавить
Канистра(50$)\n
и

PHP:
else if(listitem == 15) 
 { 
 if(MRP_GetValPlayerMoney(playerid) < 50) 
 { 
 SendClientMessage(playerid,COLOR_GREY,"У вас не хватает денег!"); 
 return 1; 
 } 
 PlayerInfo[playerid][pKanistra] = 1; 
 PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0); 
 SendClientMessage(playerid, COLOR_WHITE, " Канистра бензина куплена, вы можете либо слить бензин с машины(/mergefuel),либо наполнить её на заправке."); 
 GameTextForPlayer(playerid, "~r~-$500", 5000, 1); 
 MRP_GivePlayerMoney(playerid, -50); 
 return 1; 
 }
и добавьте ещё одну команду (если есть то не надо )

PHP:
if(strcmp(cmd, "/fillcar", true) == 0) 
 { 
 if(IsPlayerConnected(playerid)) 
 { 
 new vehid = GetPlayerVehicleID(playerid); 
 if(PlayerInfo[playerid][pFuel] < 1) 
 { 
 SendClientMessage(playerid, COLOR_GREY, "В канистре нет топлива. Для начала наполните её."); 
 return 1; 
 } 
 if(!IsPlayerInAnyVehicle(playerid)) 
 { 
 SendClientMessage(playerid,COLOR_GREY," Вы должны быть в авто!"); 
 return 1; 
 } 
 if(Gas[vehid] < 81) 
 { 
 SendClientMessage(playerid, COLOR_WHITE, " Ты заправил свою машину на 20 процентов из своей канистры."); 
 Gas[vehid] += 20; 
 PlayerInfo[playerid][pFuel] -= 20; 
 } 
 else 
 { 
 SendClientMessage(playerid, COLOR_GREY, " У тебя в машине еще достаточно бензина !"); 
 } 
 } 
 return 1; 
 }
Автор: Mr.Dave
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу