Перейти к содержанию
Авторизация  
vladislavkapalkin

Возврат денег

Рекомендуемые сообщения

vladislavkapalkin

я добавил новую работу но заработаные деньги снимаются обратно у игрока .как сделать что бы не снимались ? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

Скорей всего мешает анти-чит. Поправь функцию выдачи денег и снятия.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vladislavkapalkin

@Wеb,не подскажите как это можно сделать ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
hteppl

Покажите код работы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vladislavkapalkin

,

new francjobodej,francdrevlog;
new francdrev1,francdrev2,francdrev3;
new franclesorub[MAX_PLAYERS];
new francderevo[MAX_PLAYERS];
new francbrevnozp[MAX_PLAYERS];//_____________________________if(dialogid == 125)
{
if(response)
{
SetPlayerSkin(playerid,16);
franclesorub[playerid] = 1;
SendClientMessage(playerid,COLOR_WHITE,"Вы начали рабочий день лесоруба. {A41C1C}Отправляйтесь за брёвнами!");
return true;
}
else
{
return true;
}
}
if(dialogid == 126)
{
if(response)
{
new strings[256];
new string[256];
new stri[256];
francderevo[playerid] = 0;
franclesorub[playerid] = 0;
RemovePlayerAttachedObject(playerid, 4);
ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.0, 0, 0, 0, 0, 1);
if(PlayerInfo[playerid][pMember] >= 1 || PlayerInfo[playerid][pLeader] >= 1)
{
SetPlayerSkin(playerid,PlayerInfo[playerid][pChar]);
}
if(PlayerInfo[playerid][pMember] == 0 || PlayerInfo[playerid][pLeader] == 0)
{
SetPlayerSkin(playerid,PlayerInfo[playerid][pChar]);
}
format(string, sizeof(string), "Вы закончили работу. Ваш заработок: {00FF00}$%d", francbrevnozp[playerid]*50);
SendClientMessage(playerid, COLOR_WHITE, string);
format(stri, sizeof(stri), "Вы принесли {A41C1C}%d{FFFFFF}свзок брёвен ",francbrevnozp[playerid]);
PlayerInfo[playerid][pCash] +=francbrevnozp[playerid]*50;
SendClientMessage(playerid, COLOR_WHITE, stri);
francbrevnozp[playerid] = 0;
GivePlayerMoney(playerid, 100);
format(strings, sizeof(strings), "~r~Pay", francbrevnozp[playerid]*50);
GameTextForPlayer(playerid,strings,3000,1);
return true;
}
else
{
}}

 francdrevlog = CreatePickup(3798,23,2736,-1621.80005,22.6);
    francjobodej = CreatePickup(1275,23,2750.69995,-1585.30005,22.3);
    francdrev1 = CreatePickup(19197,23,2751.8999,-1572.90002,20.9);
    francdrev2 = CreatePickup(19197,23,2741.8999,-1563.30005,20.6);
    francdrev3 = CreatePickup(19197,23,2725.30005,-1569.90002,22.4);
    CreateObject(4214,2749.6001000,-1586.3000500,22.3000000,0.0000000,0.0000000,355.0000000); //object(lanitewin3_lan) (1)    CreateObject(9160,2743.8999000,-1622.0000000,22.5000000,0.0000000,0.0000000,184.9990000); //object(lodaseroad143) (1)

if(pickupid == francjobodej)
{
if(PlayerInfo[playerid][pMember] != 0 || PlayerInfo[playerid][pLeader] != 0) return true;
if(franclesorub[playerid] == 0) ShowPlayerDialog(playerid,125,DIALOG_STYLE_MSGBOX,"Раздевалка лесорубов","Хотите начать?","Да","Нет");
else ShowPlayerDialog(playerid,126,DIALOG_STYLE_MSGBOX,"Раздевалка лесорубов","Хотите завершить работу?","Да","Нет");
}
if(pickupid == francdrev1)
{
if(franclesorub[playerid] == 1)
{
if(francderevo[playerid] == 0)
{
francderevo[playerid] = 1;
ApplyAnimation(playerid, "CARRY", "liftup", 4.0, 0, 0, 0, 1, 1);
SetTimerEx("ClearAnimText2", 1000, false, "d", playerid);
SetPlayerAttachedObject(playerid, 4, 1463, 1, 0.184699, 0.426247, 0.000000, 259.531341, 80.949592, 0.000000, 0.476124, 0.468181, 0.470769);
return true;
}
else
{
SendClientMessage(playerid,COLOR_GREY,"У вас уже есть брёвна!");
}
}
else
{
SendClientMessage(playerid,COLOR_GREY,"Вы не можете взять брёвна, для начала работы переоденьтесь в одежду {00FFFF}лесоруба.");
}
}
if(pickupid == francdrev2)
{
if(franclesorub[playerid] == 1)
{
if(francderevo[playerid] == 0)
{
francderevo[playerid] = 1;
ApplyAnimation(playerid, "CARRY", "liftup", 4.0, 0, 0, 0, 1, 1);
SetTimerEx("ClearAnimText2", 1000, false, "d", playerid);
SetPlayerAttachedObject(playerid, 4, 1463, 1, 0.184699, 0.426247, 0.000000, 259.531341, 80.949592, 0.000000, 0.476124, 0.468181, 0.470769);
return true;
}
else
{
SendClientMessage(playerid,COLOR_GREY,"У вас уже есть брёвна!");
}
}
else
{
SendClientMessage(playerid,COLOR_GREY,"Вы не можете взять брёвна, для начала работы переоденьтесь в одежду {00FFFF}лесоруба.");
}
}
if(pickupid == francdrev3)
{
if(franclesorub[playerid] == 1)
{
if(francderevo[playerid] == 0)
{
francderevo[playerid] = 1;
ApplyAnimation(playerid, "CARRY", "liftup", 4.0, 0, 0, 0, 1, 1);
SetTimerEx("ClearAnimText2", 1000, false, "d", playerid);
SetPlayerAttachedObject(playerid, 4, 1463, 1, 0.184699, 0.426247, 0.000000, 259.531341, 80.949592, 0.000000, 0.876124, 0.868181, 0.870769);
return true;
}
else
{
SendClientMessage(playerid,COLOR_GREY,"У вас уже есть бревна!");
}
}
else
{
SendClientMessage(playerid,COLOR_GREY,"Вы не можете взять бревна, для начала работы переоденьтесь в одежду {00FFFF}лесоруба.");
}
}
if(pickupid == francdrevlog)
{
if(francderevo[playerid] == 0)
{
SendClientMessage(playerid,COLOR_GREY,"У вас нет брёвен!");
return true;
}
else
{
if(francderevo[playerid] == 1)
{
francderevo[playerid] = 0;
RemovePlayerAttachedObject(playerid, 4);
ApplyAnimation(playerid,"CARRY","putdwn",4.1,0,1,1,1,1);
SendClientMessage(playerid,COLOR_WHITE,"Вы принесли брёвна");
SetTimerEx("ClearAnimText", 1400, false, "d", playerid);
francbrevnozp[playerid]++;


}
}}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

И код /pay в моде тоже скинь

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
vladislavkapalkin

 

 


/pay
if(strcmp(cmd, "/pay", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(PlayerInfo[playerid][pLevel] < 2) return SCM(playerid, COLOR_GRAD1, "Передавать деньги можно со 2 уровня.");
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_GRAD1, "Подсказка: /pay [playerid/PartOfName] [amount]");
return 1;
}
//giveplayerid = strval(tmp);
giveplayerid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SCM(playerid, COLOR_GRAD1, "Подсказка: /pay [playerid/PartOfName] [amount]");
return 1;
}
moneys = strval(tmp);
if(moneys > 100000 && PlayerInfo[playerid][pLevel] < 3)
{
SCM(playerid, COLOR_GRAD1, "Больше 10000 только с 3 лвл!");
return 1;
}
if(moneys < 1 || moneys > 999999)
{
SCM(playerid, COLOR_GRAD1, "Минимум 1, максимум 100000.");
return 1;
}
if (IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
if(PlayerInfo[giveplayerid][pLocal] == 106)
{
SCM(playerid, COLOR_GRAD1, "Command not allowed in this location");
return 1;
}
if (ProxDetectorS(5.0, playerid, giveplayerid))
{
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
playermoney = GetPlayerMoney(playerid);
if (moneys > 0 && playermoney >= moneys)
{
ConsumingMoney[giveplayerid] = 1;
GiveMoneyAntiCheat(playerid, (0 - moneys));
GiveMoneyAntiCheat(giveplayerid, moneys);
        format(string, sizeof(string), "Вы передали игроку %s, R%d.", giveplayer, moneys);
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
SCM(playerid, COLOR_GRAD1, string);
format(string, sizeof(string), "Вы получили R%d от %s.", moneys, sendername);
SCM(giveplayerid, COLOR_GRAD1, string);
/*format(string, sizeof(string), "%s заплатил %dp к %s", sendername, moneys, giveplayer);*/
if(moneys >= 1000000)
{
ABroadCast(COLOR_YELLOW,string,1);
}
PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0);
format(string, sizeof(string), "* %s вынимает некоторые наличные деньги, и отдаёт их %s.", sendername ,giveplayer);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
ApplyAnimation(playerid,"DEALER","shop_pay",4.1,0,0,0,0,0);
}
else
{
SCM(playerid, COLOR_GRAD1, "   У тебя нет столько денег! .");
}
}
else
{
SCM(playerid, COLOR_GRAD1, "   Этот игрок слишком далёко от вас! .");
}
}
}
else
{
format(string, sizeof(string), "   %d игрок не в игре.", giveplayerid);
SCM(playerid, COLOR_GRAD1, string);
}
}
return 1;
}
//______________________________________________________________________________

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

На форуме для этого есть код. Я оказался прав и надо заменить GivePlayerMoney на GiveMoneyAntiCheat. Только вот у тебя FS, по этому тебе надо код из него перетащить в мод и заменить функцию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Vegos

Здравствуйте, причина данной проблемы это Anti-Cheat. Проверьте выдачу денег и снятия их. 

 

Kawasaki желает вам удачной работы в Pawno

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.