- Регистрация
- 15 Июл 2014
- Сообщения
- 900
- Лучшие ответы
- 0
- Репутация
- 284
Всем привет, вот решил написать работу проститутки.
Ну что ж.. Начнем
Ну что ж.. Начнем
Добавляем к вашему основному енуму, обычно он pInfo
PHP:
pWhore, pAmountSex, bool:pDisease
PHP:
PlayerInfo[playerid][pWhore] = cache_get_field_content_int(0, "pWhore", connects);
PlayerInfo[playerid][pDisease] = bool:cache_get_field_content_int(0, "pDisease", connects);
PlayerInfo[playerid][pAmountSex] = cache_get_field_content_int(0, "pAmountSex", connects);
PHP:
SetPVarInt(playerid, #SexOffer, 999);
PHP:
CMD:sex(playerid, params[])
{
if(PlayerInfo[playerid][pWhore] != 1) return SCM(playerid, COLOR_WHITE, "Можно только проститутке");
if(GetPVarInt(playerid, "FloodWhore") > gettime()) return SCM(playerid, -1, "• {AC0000}[Ошибка] {ffffff}Использовать эту команду можно раз в 10 секунд.");
if(sscanf(params, "dd",params[0], params[1])) return SCM(playerid , -1, "• {FFC800}[Подсказка] {ffffff}Используйте /sex [id] [цена]");
if(!ProxDetectorS(2.0, playerid, params[0])) return SCM(playerid, COLOR_WHITE, "Вы слишком далеко!");
if(playerid == params[0]) return true;
new string[128];
format(string, 128, "%s[%d] предложил(-а) Вам заняться сексом за %i$. Вы согласны?", PlayerInfo[playerid][pNames], playerid, params[1]);
SPD(params[0], 9195, DIALOG_STYLE_MSGBOX, "{FF6F00}Интимное предложение", string, "Принять", "Отмена");
SetPVarInt(params[0], "SexOffer", playerid);
PlayerInfo[playerid][pCash] += params[1];
PlayerInfo[params[0]][pCash] -= params[1];
SetPVarInt(playerid, "FloodWhore",gettime()+10);
return 1;
}
PHP:
case 9195:
{
if(!response) return 1;
SCMF(GetPVarInt(playerid, "SexOffer"), COLOR_WHITE, "%s cогласился на секс с Вами.", PlayerInfo[GetPVarInt(playerid, "SexOffer")][pNames]);
ApplyAnimation(GetPVarInt(playerid, "SexOffer"),"SNM","SPANKINGW",4.1,0,0,0,0,0,1);
ApplyAnimation(playerid,"SNM","SPANKEDW",4.1,0,0,0,0,0,1);
PlayerInfo[GetPVarInt(playerid, "SexOffer")][pAmountSex] += 1;
UpdatePlayerData(GetPVarInt(playerid, "SexOffer"), "pAmountSex", PlayerInfo[GetPVarInt(playerid, "SexOffer")][pAmountSex]);
if(PlayerInfo[GetPVarInt(playerid, "SexOffer")][pAmountSex] >= 20) SendClientMessage(playerid, COLOR_ORANGE, "Вы занялись сексом с опытной девочкой."), SCMF(playerid, COLOR_ORANGE, "Вы заболели %s", (random(2)?("Сифилисом"):("Спидом"))), PlayerInfo[playerid][pDisease] = true, UpdatePlayerData(playerid, "pDisease", PlayerInfo[playerid][pDisease]);
else SendClientMessage(playerid, COLOR_ORANGE, "Вы занялись сексом с девушкой.");
}
PHP:
case 9232:
{
if(!response) return 1;
switch(listitem)
{
case 0:
{
if(PlayerInfo[playerid][pSex] == 1) return SCM(playerid, COLOR_WHITE, "{FFFFFF}Сутенёр: вали отсюда, еблан.");
SCM(playerid, COLOR_WHITE, "{FFFFFF}Сутенёр: оуу, какая хорошенькая. Мы берём тебя!");
SetActorChatBubble(Actor[0], "{FFFFFF}Сутенёр: оуу, какая хорошенькая. Мы берём тебя!", COLOR_WHITE, 10.0, 4);
ApplyActorAnimation(Actor[0],"PED","IDLE_CHAT",4.1,0,0,0,0,0);
SetTimerEx("AnimClearActor", 1500, 0, "d", Actor[0]);
PlayerInfo[playerid][pWhore] = 1;
UpdatePlayerData(playerid, "pWhore", PlayerInfo[playerid][pWhore]);//Надеюсь у всех есть, если будут ошибки пишите в коменты.
}
case 1:
{
ShowPlayerDialog(playerid, 9353, DIALOG_STYLE_LIST, "Выбор девочки", "Девочки онлайн\nЦена на девочку", "Выбрать", "Назад");
}
}
}
case 9353:
{
if(!response) return 1;
switch(listitem)
{
case 0:
{
new string[560];
foreach(new i: Player)
{
if(IsPlayerNPC(i) || !PlayerInfo[i][pWhore]) continue;
format(string, sizeof(string), "%sПроститутка %s [ID: {FF8C00}%d{FFFFFF}] Кол-во парней %d\n", string, PlayerInfo[i][pNames],i, PlayerInfo[i][pAmountSex]);
}
if(!strlen(string)) strcat(string, "{FFFFFF}Никого нет.");
SPD(playerid, 1019, DIALOG_STYLE_MSGBOX, "{26A0C9}Девочки онлайн:", string, "Окей", "");
}
case 1: return SCM(playerid, COLOR_WHITE, "Цена за одну девочку - 500 RUB");
}
}
PHP:
Actor[0] = CreateActor(249, 1210.8491,4.1315,1000.9219,179.6907); //BORDEL
ApplyActorAnimation(Actor[0], "DEALER","Dealer_idle", 4.1, 1, 0, 0, 1, 0);
CreateDynamic3DTextLabel("{ffffff}Взаимодействие: {ff6f00}''space''",COLOR_WHITE,1210.8491,4.1315,1000.9219,25.0);//BORDEL
CreateDynamic3DTextLabel("{ffffff}Сутенёр",COLOR_WHITE,1210.8491,4.1315,1000.9219+1,25.0);//BORDEL
PHP:
if(PRESSED(KEY_SPRINT))//BORDEL
{
if(IsPlayerInRangeOfPoint(playerid,2.5,1210.8491,4.1315,1000.9219))
{
SCM(playerid, COLOR_WHITE, "{FFFFFF}Сутенёр: эй, че тебе нужно?");
SetActorChatBubble(Actor[0], "Сутенёр: эй, че тебе нужно?", COLOR_WHITE, 10.0, 4);
ApplyActorAnimation(Actor[0],"PED","IDLE_CHAT",4.1,0,0,0,0,0);
SetTimerEx("AnimClearActor", 1500, 0, "d", Actor[0]);
SetTimerEx("dialogbordel",1500,false,"i",playerid);
}
}
PHP:
forward dialogbordel(playerid);
public dialogbordel(playerid)
{
ShowPlayerDialog(playerid, 9232, DIALOG_STYLE_LIST, "Выбирите свой ответ:", "Здравствуйте, я пришла на работу\nМне нужна девочка.", "Выбрать", "Назад");
return 1;
}
Создаем переменную.
PHP:
new pickupbordel[2];
PHP:
pickupbordel[0] = CreatePickup(1318, 23, 2070.6270,-1793.8417,13.5469);
pickupbordel[1] = CreatePickup(1318, 23, 1204.7283,-13.8523,1000.9219, 2);
PHP:
else if(pickupid == pickupbordel[0])
{
SetPlayerInterior(playerid,2);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerPos(playerid,1204.7283,-13.8523,1000.9219);
return 1;
}
else if(pickupid == pickupbordel[1])
{
SetPlayerInterior(playerid,0);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerPos(playerid,2070.6270,-1793.8417,13.5469);
return 1;
}
PHP:
forward AnimClearActor(actorka);
public AnimClearActor(actorka) return ApplyActorAnimation(actorka,"CARRY","crry_prtial",4.0,0,0,0,0,1);
Ко всем new
PHP:
enum actor_info
{
Text3D:ActorsText,
aTimer
}
new
Actor[1], ActorInfo[100][actor_info]
;
PHP:
stock SetActorChatBubble(actorid, text[], color, Float:drawdistance, expiretime)
{
new Float:aPos[3];
GetActorPos(actorid, aPos[0],aPos[1],aPos[2]);
Delete3DTextLabel(ActorInfo[actorid][ActorsText]), KillTimer(ActorInfo[actorid][aTimer]);
ActorInfo[actorid][ActorsText] = Create3DTextLabel(text, color, aPos[0],aPos[1],aPos[2]+1.1, drawdistance, 0);
ActorInfo[actorid][aTimer] = SetTimerEx("ClearActorChatBubble", expiretime * 1000, false, "d", actorid);
}
forward ClearActorChatBubble(actorid);
public ClearActorChatBubble(actorid) Delete3DTextLabel(ActorInfo[actorid][ActorsText]), KillTimer(ActorInfo[actorid][aTimer]);
PHP:
stock ProxDetectorS(Float:radi, playerid, targetid)
{
if(IsPlayerConnected(playerid) && IsPlayerConnected(targetid))
{
new Float:posx, Float:posy, Float:posz;
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
GetPlayerPos(targetid, posx, posy, posz);
tempposx = (oldposx -posx);
tempposy = (oldposy -posy);
tempposz = (oldposz -posz);
if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi))) return 1;
}
return 0;
}
Ну вот и все, о коде не задумывался так как писал для паблика и только что. Удачи всем!!
Будут проблемы пишите в коменты, помогу.
Последнее редактирование: