Перейти к содержанию
×
×
  • Создать...

Вопрос по exp опыту


Перейти к решению Решено SCRIPTMAN,

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

Привет сеньёры, вопрос по exp опыту.

Пишу мод с 0 режим rpg, возникла проблема с exp опытом не могу определиться(во общем понять до конца).

Вот сама таблица.

Спойлер

                     (1)Уровень
                          1
                          2
                          3
                          4
                          5
                          6
                          7
                          8
                          9
                          10
                          11
                          12
                          13
                          14
                          15
                          16
                          17
                          18
                          19
                          20
                          21
                          22
                          23
                          24
                          25
                          26
                          27
                          28
                          29
                          30
                          31
                          32
                          33
                          34
                          35
                          36
                          37
                          38
                          39
                          40
                          41
                          42
                          43
                          44
                          45
                          46
                          47
                          48
                          49
                          50
                          51
                          52
                          53
                          54
                          55
                          56
                          57
                          58
                          59
                          60
                          61
                          62
                          63
                          64
                          65
                          66
                          67
                          68
                          69
                          70
                          71
                          72
                          73
                          74
                          75
                          76
                          77
                          78
                          79
                          80
                          81
                          82
                          83
                          84
                          85
                          86
                          87
                          88
                          89
                          90
                          91
                          92
                          93
                          94
                          95
                          96
                          97
                          98
                          99
                          100
                          101
                          102
                          103
                          104
                          105
                          106
                          107
                          108
                          109
                          110
                          111
                          112
                          113
                          114
                          115
                          116
                          117
                          118
                          119
                          120
                          121
                          122
                          123
                          124
                          125
                          126
                          127
                          128
                          129
                          130
                          131
                          132
                          133
                          134
                          135
                          136
                          137
                          138
                          139
                          140
                          141
                          142
                          143
                          144
                          145
                          146
                          147
                          148
                          149
                          150
                          151
                          152
                          153
                          154
                          155
                          156
                          157
                          158
                          159
                          160
                          161
                          162
                          163
                          164
                          165
                          166
                          167
                          168
                          169
                          170
                          171
                          172
                          173
                          174
                          175
                          176
                          177
                          178
                          179
                          180
                          181
                          182
                          183
                          184
                          185
                          186
                          187
                          188
                          189
                          190
                          191
                          192
                          193
                          194
                          195
                          196
                          197
                          198
                          199
                          200
                          201
                          202
                          203
                          204
                          205
                          206
                          207
                          208
                          209
                          210
                          211
                          212
                          213
                          214
                          215
                          216
                          217
                          218
                          219
                          220
                          221
                          222
                          223
                          224
                          225
                          226
                          227
                          228
                          229
                          230
                          231
                          232
                          233
                          234
                          235
                          236
                          237
                          238
                          239
                          240
                          241
                          242
                          243
                          244
                          245
                          246
                          247
                          248
                          249
                          250
                          251
                          252
                          253
                          254
                          255
                          256
                          257
                          258
                          259
                          260
                          261
                          262
                          263
                          264
                          265
                          266
                          267
                          268
                          269
                          270
                          271
                          272
                          273
                          274
                          275
                          276
                          277
                          278
                          279
                          280
                          281
                          282
                          283
                          284
                          285
                          286
                          287
                          288
                          289
                          290
                          291
                          292
                          293
                          294
                          295
                          296
                          297
                          298
                          299
                          300
                          301
                          302
                          303
                          304
                          305
                          306
                          307
                          308
                          309
                          310
                          311
                          312
                          313
                          314
                          315
                          316
                          317
                          318
                          319
                          320
                          321
                          322
                          323
                          324
                          325
                          326
                          327
                          328
                          329
                          330
                          331
                          332
                          333
                          334
                          335
                          336
                          337
                          338
                          339
                          340
                          341
                          342
                          343
                          344
                          345
                          346
                          347
                          348
                          349
                          350
                          351
                          352
                          353
                          354
                          355
                          356
                          357
                          358
                          359
                          360
                          361
                          362
                          363
                          364
                          365
                          366
                          367
                          368
                          369
                          370
                          371
                          372
                          373
                          374
                          375
                          376
                          377
                          378
                          379
                          380
                          381
                          382
                          383
                          384
                          385
                          386
                          387
                          388
                          389
                          390
                          391
                          392
                          393
                          394
                          395
                          396
                          397
                          398
                          399
                          400
                          401
                          402
                          403
                          404
                          405
                          406
                          407
                          408
                          409
                          410
                          411
                          412
                          413
                          414
                          415
                          416
                          417
                          418
                          419
                          420
                          421
                          422
                          423
                          424
                          425
                          426
                          427
                          428
                          429
                          430
                          431
                          432
                          433
                          434
                          435
                          436
                          437
                          438
                          439
                          440
                          441
                          442
                          443
                          444
                          445
                          446
                          447
                          448
                          449
                          450
                          451
                          452
                          453
                          454
                          455
                          456
                          457
                          458
                          459
                          460
                          461
                          462
                          463
                          464
                          465
                          466
                          467
                          468
                          469
                          470
                          471
                          472
                          473
                          474
                          475
                          476
                          477
                          478
                          479
                          480
                          481
                          482
                          483
                          484
                          485
                          486
                          487
                          488
                          489
                          490
                          491
                          492
                          493
                          494
                          495
                          496
                          497
                          498
                          499

 

 

 

Спойлер

			(2)Количество Опыта
                  4
                  6
                  8
                  10
                  12
                  14
                  16
                  18
                  20
                  23
                  26
                  29
                  32
                  35
                  38
                  41
                  44
                  47
                  50
                  54
                  58
                  62
                  66
                  70
                  74
                  78
                  82
                  86
                  90
                  95
                  100
                  105
                  110
                  115
                  120
                  125
                  130
                  135
                  140
                  146
                  152
                  158
                  164
                  170
                  176
                  182
                  188
                  194
                  200
                  207
                  214
                  221
                  228
                  235
                  242
                  249
                  256
                  263
                  270
                  278
                  286
                  294
                  302
                  310
                  318
                  326
                  334
                  342
                  350
                  359
                  368
                  377
                  386
                  395
                  404
                  413
                  422
                  431
                  440
                  450
                  460
                  470
                  480
                  490
                  500
                  510
                  520
                  530
                  540
                  551
                  562
                  573
                  584
                  595
                  606
                  617
                  628
                  639
                  650
                  662
                  674
                  686
                  698
                  710
                  722
                  734
                  746
                  758
                  770
                  783
                  796
                  809
                  822
                  835
                  848
                  861
                  874
                  887
                  900
                  914
                  928
                  942
                  956
                  970
                  984
                  998
                  1012
                  1026
                  1040
                  1055
                  1070
                  1085
                  1100
                  1115
                  1130
                  1145
                  1160
                  1175
                  1190
                  1206
                  1222
                  1238
                  1254
                  1270
                  1286
                  1302
                  1318
                  1334
                  1350
                  1367
                  1384
                  1401
                  1418
                  1435
                  1452
                  1469
                  1486
                  1503
                  1520
                  1538
                  1556
                  1574
                  1592
                  1610
                  1628
                  1646
                  1664
                  1682
                  1700
                  1719
                  1738
                  1757
                  1776
                  1795
                  1814
                  1833
                  1852
                  1871
                  1890
                  1910
                  1930
                  1950
                  1970
                  1990
                  2010
                  2030
                  2050
                  2070
                  2090
                  2111
                  2132
                  2153
                  2174
                  2195
                  2216
                  2237
                  2258
                  2279
                  2300
                  2322
                  2344
                  2366
                  2388
                  2410
                  2432
                  2454
                  2476
                  2498
                  2520
                  2543
                  2566
                  2589
                  2612
                  2635
                  2658
                  2681
                  2704
                  2727
                  2750
                  2774
                  2798
                  2822
                  2846
                  2870
                  2894
                  2918
                  2942
                  2966
                  2990
                  3015
                  3040
                  3065
                  3090
                  3115
                  3140
                  3165
                  3190
                  3215
                  3240
                  3266
                  3292
                  3318
                  3344
                  3370
                  3396
                  3422
                  3448
                  3474
                  3500
                  3527
                  3554
                  3581
                  3608
                  3635
                  3662
                  3689
                  3716
                  3743
                  3770
                  3798
                  3826
                  3854
                  3882
                  3910
                  3938
                  3966
                  3994
                  4022
                  4050
                  4079
                  4108
                  4137
                  4166
                  4195
                  4224
                  4253
                  4282
                  4311
                  4340
                  4370
                  4400
                  4430
                  4460
                  4490
                  4520
                  4550
                  4580
                  4610
                  4640
                  4671
                  4702
                  4733
                  4764
                  4795
                  4826
                  4857
                  4888
                  4919
                  4950
                  4982
                  5014
                  5046
                  5078
                  5110
                  5142
                  5174
                  5206
                  5238
                  5270
                  5303
                  5336
                  5369
                  5402
                  5435
                  5468
                  5501
                  5534
                  5567
                  5600
                  5634
                  5668
                  5702
                  5736
                  5770
                  5804
                  5838
                  5872
                  5906
                  5940
                  5975
                  6010
                  6045
                  6080
                  6115
                  6150
                  6185
                  6220
                  6255
                  6290
                  6326
                  6362
                  6398
                  6434
                  6470
                  6506
                  6542
                  6578
                  6614
                  6650
                  6687
                  6724
                  6761
                  6798
                  6835
                  6872
                  6909
                  6946
                  6983
                  7020
                  7058
                  7096
                  7134
                  7172
                  7210
                  7248
                  7286
                  7324
                  7362
                  7400
                  7439
                  7478
                  7517
                  7556
                  7595
                  7634
                  7673
                  7712
                  7751
                  7790
                  7830
                  7870
                  7910
                  7950
                  7990
                  8030
                  8070
                  8110
                  8150
                  8190
                  8231
                  8272
                  8313
                  8354
                  8395
                  8436
                  8477
                  8518
                  8559
                  8600
                  8642
                  8684
                  8726
                  8768
                  8810
                  8852
                  8894
                  8936
                  8978
                  9020
                  9063
                  9106
                  9149
                  9192
                  9235
                  9278
                  9321
                  9364
                  9407
                  9450
                  9494
                  9538
                  9582
                  9626
                  9670
                  9714
                  9758
                  9802
                  9846
                  9890
                  9935
                  9980
                  10025
                  10070
                  10115
                  10160
                  10205
                  10250
                  10295
                  10340
                  10386
                  10432
                  10478
                  10524
                  10570
                  10616
                  10662
                  10708
                  10754
                  10800
                  10847
                  10894
                  10941
                  10988
                  11035
                  11082
                  11129
                  11176
                  11223
                  11270
                  11318
                  11366
                  11414
                  11462
                  11510
                  11558
                  11606
                  11654
                  11702
                  11750
                  11799
                  11848
                  11897
                  11946
                  11995
                  12044
                  12093
                  12142
                  12191
                  12240
                  12290
                  12340
                  12390
                  12440
                  12490
                  12540
                  12590
                  12640
                  12690
                  12740
                  12791
                  12842
                  12893
                  12944
                  12995
                  13046
                  13097
                  13148
                  13199
                  13250

 

 

Суть значит такая, когда набирается определенное количество опыта exp, повышается игровой уровень.

Например набралось 6 опыта игроку повышение в уровне итд, весь опыт из списка нужно как то провести.

 

Я в свою очередь сделал так.

Не совсем уверен в этом коде будет ли оно вообще работать.

Прошу вас сеньёры подсказать мне джуниуру что-то либо меня поправить в коде.

 

Код:

new expmultiply = 499;

stock GiveExp(playerid, exp)
{
	new string[30];
    PlayerInfo[playerid][pExp] += exp;
    new needexp = (PlayerInfo[playerid][pLevel]+1)*expmultiply;
    new storage = PlayerInfo[playerid][pExp]-needexp;
    if(PlayerInfo[playerid][pExp] >= needexp)
    {
        PlayerInfo[playerid][pExp] = 0;
        if(storage > 0) PlayerInfo[playerid][pExp] += storage;
        PlayerInfo[playerid][pLevel]++;
        format(string, sizeof(string), "Игровой уровень достигнут до %d уровня.", PlayerInfo[playerid][pLevel]);
		SendClientMessage(playerid, -1, string);
	}
}

 

 

 

Ссылка на сообщение

Так.. Давай по порядку, я не совсем понял твой код.

1. storage - как я понимаю, она хранит разницу в опыте, я бы её не делал, так как, при достижении определенного exp сразу повышение, максимум +1, а зачем? Лишнее действие серверу.

2. needexp, смотри.. Даже если подставить числа, они не равны твоей таблице, то есть, для достижения второго уровня нужно не 12350(или сколько у тебя, я уже не помню), а 499*2 = 998

Ссылка на сообщение

Сейчас уже в голову пришло совсем другой вариант, на это конечно у меня уйдет где-то час.

Что если я перечислю по порядку каждый опыт exp .

 

Например так:

new exp = PlayerInfo[playerid][pExp];
new level = PlayerInfo[playerid][pLevel]
if(exp >= 6) {
	level = 2;
	PlayerInfo[playerid][pLevel] += level;
	SendClientMessage(playerid, -1, "Игровой уровень достигнут до %d уровня", level);
	PlayerInfo[playerid][pExp] = 0; }
if(exp >= 8) {
	level = 3;
	PlayerInfo[playerid][pLevel] += level;
	SendClientMessage(playerid, -1, "Игровой уровень достигнут до %d уровня", level);
	PlayerInfo[playerid][pExp] = 0; }
if(exp >= 10) {
	level = 4;
	PlayerInfo[playerid][pLevel] += level;
	SendClientMessage(playerid, -1, "Игровой уровень достигнут до %d уровня", level);
	PlayerInfo[playerid][pExp] = 0; }
if(exp >= 12) {
	level = 5;
	PlayerInfo[playerid][pLevel] += level;
	SendClientMessage(playerid, -1, "Игровой уровень достигнут до %d уровня", level);
	PlayerInfo[playerid][pExp] = 0; }
	

 

Ну итд, стабильная работа гарантирована?

Можно конечно будет вывести его как отдельную pwn библиотеку.

#include     "exp/exp.pwn"

 

Данный вариант мне пришел в голову что-бы не заморачиваться с первым вариантом, который я опубликовал изначально.

Ссылка на сообщение

Ах да и еще забыл про проверку на повторною выдачу того же уровня, если у игрока наберется те же 6 очков опыта.

 

Можно это сделать так:

if(exp >= 6) {
  	if(PlayerInfo[playerid][pTaken] == 1) {
	level = 2;
	PlayerInfo[playerid][pLevel] += level;
	SendClientMessage(playerid, -1, "Игровой уровень достигнут до %d уровня", level);
	PlayerInfo[playerid][pExp] = 0; 
    	PlayerInfo[playerid][pTaken]++; } }

 

Переменная pTaken работает значит так, когда игрок повторно набирает те же 6 очков опыта, эта переменная глушит выдачу 2 левела итд

 

При регистрации я указываю значение переменной 

PlayerInfo[playerid][pTaken] = 1;

 

Ссылка на сообщение

Значит оставляю первую дефолтную 

 

Значение множителю ставлю 4 значит 

 

new expmultiply = 4;

stock GiveExp(playerid, exp)
{
	new string[30];
    PlayerInfo[playerid][pExp] += exp;
    new needexp = (PlayerInfo[playerid][pLevel]+1)*expmultiply;
    new storage = PlayerInfo[playerid][pExp]-needexp;
    if(PlayerInfo[playerid][pExp] >= needexp)
    {
        PlayerInfo[playerid][pExp] = 0;
        if(storage > 0) PlayerInfo[playerid][pExp] += storage;
        PlayerInfo[playerid][pLevel]++;
        format(string, sizeof(string), "Игровой уровень достигнут до %d уровня.", PlayerInfo[playerid][pLevel]);
        SendClientMessage(playerid, -1, string);
    }
}

 

Ссылка на сообщение

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

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

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