Sanek_Matvienko
Компетентный
Всем привет, вот решил выложить из своего мода систему PayDay для new.pwn
Ко всем define
Ко всем new:
Идем в public OnGameModeInit()
Добавляем туда:
Далее в конце мода создаем вот это:
Далее идем в SavePlayer, OnPlayerSpawn, OnPlayerRegister и добавляем туда это:
Вроде бы все, если есть ошибки или баги пишите
Ко всем define
PHP:
#define publics:%0(%1) forward %0(%1); public %0(%1)
PHP:
new Text3D:carom[MAX_VEHICLES];
Добавляем туда:
PHP:
SetTimer("update",1000*60,true);
PHP:
publics: update()
{
new hour,minute,second;
gettime(hour,minute,second);
if(minute == 0)
{
PayDay();
}
return true;
}
PHP:
stock UpdateLevel()
{
new UID;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
UID = Player[i][pLevel];
SetPlayerScore(i, UID);
}
}
return true;
}
PHP:
publics: PayDay()
{
for(new i = GetMaxPlayers() - 1; i != -1; i--)
{
if(IsPlayerConnected(i))
{
new exp = Player[i][pExp];
new nxtlevel = Player[i][pLevel]+1;
new expamount = nxtlevel*levelexp;
Player[i][pExp] ++;
if(exp == expamount)
{
Player[i][pLevel] += 1;
Player[i][pExp] = 0;
SendClientMessage(i,COLOR_BLUE,"Поздравляем! Ваш уровень повысился.");
UpdateLevel();
return true;
}
new string[256];
new workpay = 10000 + (250+random(50) + Player[i][pLevel]*50)*10;
GivePlayerMoney(i, workpay);
new str[50];
new hour,minute,second;
gettime(hour,minute,second);
format(str,sizeof(str),"{FFFFFF}Текущее время: {42aaff}%s%d:%s%d", (hour < 10) ? ("0") : (""), hour, (minute < 10) ? ("0") : (""), minute, (second < 10) ? ("0") : (""), second);
SendClientMessage(i, COLOR_WHITE,str);
SendClientMessage(i, COLOR_WHITE," БАНКОВСКИЙ ЧЕК");
SendClientMessage(i, COLOR_WHITE,"_____________________________");
format(str,sizeof(str),"{ffffff}Зарплата: {33aa33}$%d{ffffff}",workpay);
SendClientMessage(i, COLOR_WHITE,str);
SendClientMessage(i, COLOR_WHITE,"_____________________________");
Delete3DTextLabel(carom[i]);
format(string, sizeof(string), "~w~PayDay");
GameTextForPlayer(i, string, 5000, 1);
}
}
return true;
}
PHP:
UpdateLevel();
Далее идем в pInfo и добавляем туда это:
После в public OnPlayerConnect(playerid)
Вставляем:
Добавляем в stock OnPlayerRegister(playerid, password[])
После идем в public OnPlayerLogin(playerid,password[])
PHP:
pExp,
pLevel,
Вставляем:
PHP:
PlayerInfo[playerid][pLevel] = 0;
PlayerInfo[playerid][pExp] = 0;
PHP:
ini_setInteger(File,"Level",PlayerInfo[playerid][pLevel]);
ini_setInteger(File,"Exp",PlayerInfo[playerid][pExp]);
PHP:
ini_getInteger(File,"Level",PlayerInfo[playerid][pLevel]);
ini_getInteger(File,"Exp",PlayerInfo[playerid][pExp]);
Потом идем в stock SavePlayer(playerid) // Отвечает за сохранение аккаунта у вас она может по другому называться
PHP:
ini_setInteger(File,"Level",PlayerInfo[playerid][pLevel]);
ini_setInteger(File,"Exp",PlayerInfo[playerid][pExp]);
Идем в pInfo и добавляем туда:
Теперь в publics: LoginCallback(playerid, password[]) Отвечает за авторизацию у вас может называться по другому
Далее в stock SavePlayer(playerid) Отвечает за сохранение аккаунта, у вас может называться по другому
PHP:
pLevel,
pExp,
PHP:
Player[playerid][pExp] = cache_get_field_content_int(0,"exp");
PHP:
Player[playerid][pLevel] = cache_get_field_content_int(0,"level");
PHP:
Player[playerid][pLevel]
Player[playerid][pExp]
Вроде бы все, если есть ошибки или баги пишите
Последнее редактирование:
