Добро пожаловать на Pawno-Info.Ru - Портал о программировании №1

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям и ответы на все интересующие Вас вопросы. После регистрации Вы сможете создавать темы, публиковать ответы, влиять на репутацию пользователей форума, обмениваться личными сообщениями и многое другое. Это быстро и совершенно бесплатно, так чего же Вы ждете?
Доступ к архиву

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

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

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

Маппинг для сервера

Если вы хотите обновить Ваш сервер новыми доработками - то зайдите в наш раздел. Большой выбор готовых решений от наших пользователей

Моды для сервера

Огромный выбор различных модификаций для Вашего сервера. Пролистайте эти темы! Возможно именно там Вы найдете то, что искали уже давно.

Модификации SA

Хотите разнообразить свою игру в San Andreas? Смелее в наш раздел. Отличный сборник готовых решений. Играйте с удовольствием

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

Nowe4ok

Изучающий
Пользователь
Регистрация
14 Авг 2011
Сообщения
318
Лучшие ответы
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
 
Статус
В этой теме нельзя размещать новые ответы.
shape1
shape2
shape3
shape4
shape7
shape8
Сверху Снизу