Форум Pawn.Wiki - Воплоти мечту в реальность!: Система кредитов - Форум Pawn.Wiki - Воплоти мечту в реальность!

Перейти к содержимому

  • (2 Страниц) +
  • 1
  • 2
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

[ Scr ][ All ]
Система кредитов
Оценка: -----

#1
Пользователь офлайн   Cris_Pro 

  • Хочу создать серверок..
  • Вставить ник
  • Раскрыть информацию
в enum pInfo вставить

pCashCredit, 
 pCredit,  
 pCreditTime,  


в public OnPlayerConnect вставить

PlayerInfo[playerid][pCashCredit] = 0; 
 PlayerInfo[playerid][pCredit] = 0; 
 PlayerInfo[playerid][pCreditTime] = 0;  


в public PayDay

if(PlayerInfo[i][pCashCredit] != 0) 
 { 
 if(PlayerInfo[i][pCreditTime] == 0) 
 { 
 new newcar = -1; 
 new sendername[MAX_PLAYER_NAME]; 
 GetPlayerName(i,sendername,sizeof(sendername)); 
 for(new cars = 1; cars < CAR_AMOUNT; cars ++) 
 { 
 if(IsAOwnableVehicle(cars) && newcar == -1) 
 { 
 if(!strcmp(CarInfo[cars-SIMPLECARS-1][cOwner],sendername,true)) 
 { 
 newcar = cars-SIMPLECARS-1; 
 strmid(CarInfo[newcar][cOwner], "The State", 0, strlen("The State"), 999); 
 SendClientMessage(i, COLOR_YELLOW, "Ты не погасил кредит в банке, у тебя отобрали машину"); 
 PlayerInfo[i][pCredit] = 0; 
 PlayerInfo[i][pCashCredit] = 0; 
 PlayerInfo[i][pCreditTime] = 0; 
 OnPropUpdate(); 
 SavePlayer(i); 
 } 
 } 
 } 
 if(newcar == -1) 
 { 
 SendClientMessage(i, COLOR_YELLOW, "Ты не погасил кредит в банке, ты в долгах"); 
 ServerGivePlayerMoney(i,-PlayerInfo[i][pCashCredit]); 
 PlayerInfo[i][pCredit] = 0; 
 PlayerInfo[i][pCashCredit] = 0; 
 PlayerInfo[i][pCreditTime] = 0; 
 OnPropUpdate(); 
 SavePlayer(i); 
 } 
 } 
 } 
 else 
 { 
 PlayerInfo[i][pCreditTime] -=1; 
 format(string, sizeof(string), "У тебя осталось %d дней, чтобы погасить кредит в банке", PlayerInfo[i][pCreditTime]); 
 SendClientMessage(i, COLOR_YELLOW, string); 
 } 
 }  

в public OnPlayerLogin

if( strcmp( key , "CashCredit" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCashCredit] = strval( val ); } 
if( strcmp( key , "Credit" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCredit] = strval( val ); } 
if( strcmp( key , "CreditTime" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCreditTime] = strval( val ); }  


в public OnPlayerCommandText

if(strcmp(cmd, "/givecredit", true) == 0) 
 { 
 if(IsPlayerConnected(playerid)) 
 { 
 if(PlayerInfo[playerid][pLocal] == 103 || PlayerToPoint(1.5, playerid, 1346.5016,-1758.7649,13.5156) || PlayerToPoint(1.5, playerid, 1592.7152,-2335.3748,13.5400) || PlayerToPoint(1.5, playerid, 2308.4612,-1634.4176,14.8270) || PlayerToPoint(1.5, playerid, 2865.9014,-1415.4203,11.0061) || PlayerToPoint(1.5, playerid, 2404.5913,-1229.8973,23.8301) || PlayerToPoint(1.5, playerid, 1172.5912,-1328.4365,15.4034)) 
 { 
 if(PlayerInfo[playerid][pLevel] < 3) 
 { 
 SendClientMessage(playerid, COLOR_GRAD2, "Тебе нужно быть хотя бы 3 уровня, чтобы использовать эту команду"); 
 return 1; 
 } 
 if(PlayerInfo[playerid][pCredit] == 5) 
 { 
 SendClientMessage(playerid, COLOR_YELLOW, "Ты уже взял максимально доступную сумму кредита"); 
 return 1; 
 } 
 GivePlayerMoney(playerid); 
 PlayerInfo[playerid][pCashCredit] += 13520; 
 PlayerInfo[playerid][pCredit] += 1; 
 if(PlayerInfo[playerid][pCredit] == 1) 
 { 
 PlayerInfo[playerid][pCreditTime] = 30; 
 } 
 SendClientMessage(playerid, COLOR_YELLOW, "Ты взял кредит в банке на сумму $10000"); 
 format(string, sizeof(string), "Всего вместе с процентами ты должен банку $%d", PlayerInfo[playerid][pCashCredit]); 
 SendClientMessage(playerid, COLOR_YELLOW, string); 
 SavePlayer(playerid); 
 return 1; 
 } 
 else 
 { 
 SendClientMessage(playerid, COLOR_GREY, "Ты не в банке"); 
 return 1; 
 } 
 } 
 return 1; 
 } 
 if(strcmp(cmd, "/takecredit", true) == 0) 
 { 
 if(IsPlayerConnected(playerid)) 
 { 
 if(PlayerInfo[playerid][pLocal] == 103 || PlayerToPoint(1.5, playerid, 1346.5016,-1758.7649,13.5156) || PlayerToPoint(1.5, playerid, 1592.7152,-2335.3748,13.5400) || PlayerToPoint(1.5, playerid, 2308.4612,-1634.4176,14.8270) || PlayerToPoint(1.5, playerid, 2865.9014,-1415.4203,11.0061) || PlayerToPoint(1.5, playerid, 2404.5913,-1229.8973,23.8301) || PlayerToPoint(1.5, playerid, 1172.5912,-1328.4365,15.4034)) 
 { 
 if(PlayerInfo[playerid][pLevel] < 2) 
 { 
 SendClientMessage(playerid, COLOR_GRAD2, " Тебе нужно быть хотя бы 2 уровня, чтобы использовать эту команду"); 
 return 1; 
 } 
 if(PlayerInfo[playerid][pCredit] == 0) 
 { 
 SendClientMessage(playerid, COLOR_YELLOW, " Ты ничего не должен банку!"); 
 return 1; 
 } 

 if(PlayerInfo[playerid][pCash] < PlayerInfo[playerid][pCashCredit]) 
 { 
 format(string, sizeof(string), " За тобой числится кредит на сумму $%d , у тебя нет таких денег", PlayerInfo[playerid][pCashCredit]); 
 SendClientMessage(playerid, COLOR_YELLOW, string); 
 return 1; 
 } 
 ServerGivePlayerMoney(playerid,-PlayerInfo[playerid][pCashCredit]); 
 PlayerInfo[playerid][pCashCredit] = 0; 
 PlayerInfo[playerid][pCredit] = 0; 
 PlayerInfo[playerid][pCreditTime] = 0; 
 SendClientMessage(playerid, COLOR_YELLOW, " Ты погасил свой кредит"); 
 SavePlayer(playerid); 
 return 1; 
 } 
 else 
 { 
 SendClientMessage(playerid, COLOR_GREY, "Ты не в банке"); 
 return 1; 
 } 
 } 
 return 1; 
 }  

Надеюсь урок был полезен для вас.
Урок от автора: Mr.Dave
5

#2
Пользователь офлайн   Cris_Pro 

  • Хочу создать серверок..
  • Вставить ник
  • Раскрыть информацию
Для рп серверов.!!
0

#3
Пользователь офлайн   СаНо 

  • Новичок
  • Вставить ник
  • Раскрыть информацию
тут как минимум нужны скрины.
1

#4
Пользователь офлайн   thedog1999 

  • Снова в деле
  • Вставить ник
  • Раскрыть информацию
Назначение неправельное!
Это для RolePlay серверов, GF по крайней мере...
0

#5
Пользователь офлайн   GurmaN 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(3299) : warning 219: local variable "sendername" shadows a variable at a preceding level
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(6806) : warning 219: local variable "newcar" shadows a variable at a preceding level
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11020) : error 010: invalid function or declaration
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11022) : error 010: invalid function or declaration
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11026) : error 021: symbol already defined: "GetPlayerName"
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11027) : error 010: invalid function or declaration
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11029) : error 010: invalid function or declaration
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11031) : error 010: invalid function or declaration
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11041) : error 054: unmatched closing brace ("}")
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11044) : error 010: invalid function or declaration
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11047) : warning 215: expression has no effect
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11047) : error 001: expected token: ";", but found ")"
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11053) : error 054: unmatched closing brace ("}")
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11056) : error 010: invalid function or declaration
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11667) : warning 219: local variable "sendername" shadows a variable at a preceding level
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(12056) : error 010: invalid function or declaration
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(12057) : error 010: invalid function or declaration
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(12058) : error 010: invalid function or declaration
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(12112) : warning 219: local variable "sendername" shadows a variable at a preceding level
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(12155) : warning 202: number of arguments does not match definition
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(12165) : error 004: function "SavePlayer" is not implemented
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(12193) : error 017: undefined symbol "pCash"
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(12199) : warning 202: number of arguments does not match definition
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(12204) : error 004: function "SavePlayer" is not implemented
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(34465) : warning 219: local variable "newcar" shadows a variable at a preceding level
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(35611) : warning 219: local variable "sendername" shadows a variable at a preceding level
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(36393) : warning 219: local variable "sendername" shadows a variable at a preceding level
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(41547) : warning 219: local variable "sendername" shadows a variable at a preceding level
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(43360) : warning 219: local variable "sendername" shadows a variable at a preceding level
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(45125) : warning 203: symbol is never used: "newcar"
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(45125) : warning 203: symbol is never used: "sendername"

Как решить?
0

#6
Пользователь офлайн   iRusel 

  • Профессионал
  • Вставить ник
  • Раскрыть информацию
Случайно скобку нигде не пропустил?

Но точно где-то не правильно закрыл видимо.
Строчки давай.
0

#7
Пользователь офлайн   Luppy 

  • Потерявшийся.
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияGurmaN (16 сентября 2013 - 19:43) писал:

C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(3299) : warning 219: local variable "sendername" shadows a variable at a preceding level
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(6806) : warning 219: local variable "newcar" shadows a variable at a preceding level
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11020) : error 010: invalid function or declaration
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11022) : error 010: invalid function or declaration
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11026) : error 021: symbol already defined: "GetPlayerName"
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11027) : error 010: invalid function or declaration
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11029) : error 010: invalid function or declaration
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11031) : error 010: invalid function or declaration
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11041) : error 054: unmatched closing brace ("}")
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11044) : error 010: invalid function or declaration
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11047) : warning 215: expression has no effect
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11047) : error 001: expected token: ";", but found ")"
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11053) : error 054: unmatched closing brace ("}")
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11056) : error 010: invalid function or declaration
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(11667) : warning 219: local variable "sendername" shadows a variable at a preceding level
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(12056) : error 010: invalid function or declaration
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(12057) : error 010: invalid function or declaration
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(12058) : error 010: invalid function or declaration
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(12112) : warning 219: local variable "sendername" shadows a variable at a preceding level
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(12155) : warning 202: number of arguments does not match definition
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(12165) : error 004: function "SavePlayer" is not implemented
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(12193) : error 017: undefined symbol "pCash"
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(12199) : warning 202: number of arguments does not match definition
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(12204) : error 004: function "SavePlayer" is not implemented
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(34465) : warning 219: local variable "newcar" shadows a variable at a preceding level
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(35611) : warning 219: local variable "sendername" shadows a variable at a preceding level
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(36393) : warning 219: local variable "sendername" shadows a variable at a preceding level
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(41547) : warning 219: local variable "sendername" shadows a variable at a preceding level
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(43360) : warning 219: local variable "sendername" shadows a variable at a preceding level
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(45125) : warning 203: symbol is never used: "newcar"
C:\Users\Kaka\Desktop\UniversaL\gamemodes\samp.pwn(45125) : warning 203: symbol is never used: "sendername"

Как решить?


Оу. Одни из ошибок:

warning 219: local variable "sendername" shadows a variable at a preceding level - переименуй название "sendername" и там,где использовалась эта переменная на то,которое переименовал.

error 004: function "SavePlayer" is not implemented - добавь forward SavePlayer();

error 017: undefined symbol "pCash" - к енуму добавь pCash. И в загрузку,сохранение,регистрацию тоже.

Всё остальное-как минимум нужно смотреть код.
0

#8
Пользователь офлайн   FastKiLL 

  • Илья
  • Вставить ник
  • Раскрыть информацию

Просмотр сообщенияLuppy (16 сентября 2013 - 19:51) писал:

error 004: function "SavePlayer" is not implemented - добавь forward SavePlayer();

error 017: undefined symbol "pCash" - к енуму добавь pCash. И в загрузку,сохранение,регистрацию тоже.

Всё остальное-как минимум нужно смотреть код.

Твои ответы максимум маскируют их, но работать то правильно ничего не будет.
У него скорее функция не SavePlayer, а что то другое и не pCash, а pMoney.
Ну или скобочку потерял.

Сообщение отредактировал FastKiLL: 17 сентября 2013 - 02:19

0

#9
Пользователь офлайн   lexa88896 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
Классно. Поставил себе. Нормально работает. Могу помочь в скайпе: lexa88896. [Бесплатно]
0

#10
Пользователь офлайн   Danil807 

  • Прохожий
  • Вставить ник
  • Раскрыть информацию
Молодец) хорошая система. Сделал бы ещё, что часть кредита оплачивается автоматически, как игрок получает ЗП)
0

Поделиться темой:


  • (2 Страниц) +
  • 1
  • 2
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

1 человек читают эту тему
0 пользователей, 1 гостей, 0 скрытых пользователей


Яндекс.Метрика