-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathLWT-1.0.0.pwn
21671 lines (18899 loc) · 912 KB
/
LWT-1.0.0.pwn
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
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
// Make sure you don't get warnings about tabsize
#pragma tabsize 0
// ********************************************************************************************************************
// Set default gamemode name
// ********************************************************************************************************************
#define HostName "» Initial Gaming™ - Long Way Trucking «"
#define GameModeName "Turkiye » LWT v1.0.0 «"
#define Website "."
#define MapName "Turkiye » TR «"
#define ROOT_PASS "#=S2K_1B0_XD=#"
#define FUCK_PASS "=<1n1t14l>=<s1kt1>="
// ********************************************************************************************************************
// Limit the amount of cops with a value greater than 0
// Setting this to "3" would mean:
// - having 3 normal players (non-cop players) before the first cop can join the server
// - having 6 normal players before 2 cops can be active
// - having 9 normal players before the third cop can join and so on
// Leaving this at 0 disables the police-limitation, so anyone can choose the police class anytime
// ********************************************************************************************************************
new PlayersBeforePolice = 0;
// ********************************************************************************************************************
// ********************************************************************************************************************
// Include default files
#include <a_samp>
#include <zcmd>
#include <sscanf2>
#include <streamer>
#include <foreach>
// Spanel
#define DIALOG_SPANEL_LOGIN 1500
#define DIALOG_SPANEL_HOME 1501
// KGelistirme
#define DIALOG_KPANEL 1600
#define DIALOG_KGELISTIRME 1601
// Market
#define DIALOG_MARKET 1700
// ************************************************************************************************************************************************************
// Only function from dutils.inc
// ************************************************************************************************************************************************************
stock StripNewLine(string[])
{
new len = strlen(string);
if (string[0]==0) return ;
if ((string[len - 1] == '\n') || (string[len - 1] == '\r')) {
string[len - 1] = 0;
if (string[0]==0) return ;
if ((string[len - 2] == '\n') || (string[len - 2] == '\r')) string[len - 2] = 0;
}
}
// PPC-includes merged into one single file follow here
// ************************************************************************************************************************************************************
// PPC_DefTexts
// ************************************************************************************************************************************************************
// Debug messages
#define TXT_DebugInfo "Sunucu Bilgileri"
#define TXT_HousesFixed "Tamir edilen ev sayisi: %i"
#define TXT_LastVehicleID "Son arac ID: %i"
#define TXT_LastObjectID "Son obje ID: %i"
#define TXT_TotalHouses "%i ev yuklendi"
#define TXT_TotalBusiness "%i isyeri yuklendi"
#define TXT_TotalSpeedCameras "%i hiz kamerasi yuklendi"
// Define the message that's sent to all players when a player joins the server
#define TXT_PlayerJoinedServer "'{FFFF00}%s{0000FF}' (ID: {FFFF00}%i{0000FF}) sunucuya giriþ yaptý."
#define TXT_PlayerLeftServer "'{FFFF00}%s{0000FF}' (ID: {FFFF00}%i{0000FF}) sunucudan ayrýldý."
// Banned texts (also kick messages)
#define TXT_StillBanned "{FF0000}Ban cezanýz daha bitmemiþ!" // Define the text that the player sees when he's still banned when trying to login
#define TXT_BannedDuration "{FF0000}Kalan: %i gün, %i saat, %i dakika, %i saniye" // Define the remaining ban-time text
#define TXT_KickSpeedHack "{FF0000}Hýz hilesi veya air-breaking kullandýðýnýz için kick yediniz"
#define TXT_KickJetPackHack "{FF0000}Jetpack hilesi kullandýðýnýz için kick yediniz"
#define TXT_KickHealthHack "{FF0000}HP hilesi kullandýðýnýz için kick yediniz"
// Dialog buttons
#define TXT_DialogButtonCancel "Iptal" // Define the text on the "Cancel"-button for dialogs
#define TXT_DialogButtonBuy "Satýn Al" // Define the text on the "Buy"-button for dialogs
#define TXT_DialogButtonSpawn "Oluþtur"
#define TXT_DialogButtonSelect "Seç"
#define TXT_DialogButtonYes "Evet"
#define TXT_DialogButtonNo "Hayýr"
// Dialog entries
#define TXT_DialogEntryNext "Sonraki..."
// The register dialog
#define TXT_DialogRegisterTitle "Hoþ Geldiniz" // Define the title-message on top of the register-dialog
#define TXT_DialogRegisterMsg "Þifrenizi girerek kayýt olunuz:" // Define the actual message in the register-dialog
#define TXT_DialogRegisterButton1 "Kayýt" // Define the text on the "register" button for the register-dialog
#define TXT_AccountRegistered "{00FF00}Baþarýyla hesabýnýzý kayýt ettiniz"
#define TXT_RegisterEnterValidPassword "Kayýt olmak için geçerli bir þifre girin:"
#define TXT_PlayerMustRegister "{FF0000}Oyuna baþlamak için kayýt olmalýsýnýz, yoksa kickleneceksiniz!"
// The login dialog
#define TXT_DialogLoginTitle "Hoþ Geldiniz" // Define the title-message on top of the login-dialog
#define TXT_DialogLoginMsg "Lütfen þifrenizi girerek hesabýnýza giriþ yapýn:" // Define the actual message in the login-dialog
#define TXT_DialogLoginButton1 "Giriþ" // Define the text on the "login" button for the login-dialog
#define TXT_LoggedIn "{00FF00}Giriþ yaptýnýz, sunucumuza tekrardan hoþ geldiniz"
#define TXT_WrongPassword "{FF0000}Yanlýþ þifre girdiðiniz için kicklendiniz"
#define TXT_LoginEnterValidPassword "Lütfen þifrenizi girin:"
#define TXT_PlayerMustLogin "{FF0000}Oyuna girmek için giriþ yapmalýsýnýz, yoksa kickleneceksiniz!"
#define TXT_FailedLoginProperly "{FF0000}Düzgün giriþ yapamadýnýz, bu yüzden kicklendiniz!"
// The license dialog
#define TXT_DialogLicenseTitle "Ehliyet Seçin:" // Define the title-message on top of the licenses-dialog
#define TXT_DialogLicenseList "Kamyon Ehliyeti ($50.000, 100 skor)\r\nOtobüs Ehliyeti ($25.000, 50 skor)" // Define the licenses and their price
#define TXT_PickupText "Ehliyet Al" // Defines the text that's shown above the pickup for buying licenses
#define TXT_TruckerLicenseBought "{00FF00}Kamyon ehliyeti aldýnýz"
#define TXT_TruckerLicenseNotEnoughMoney "{FF0000}Kamyon ehliyeti alabilmek için $50.000 ve 100 skora ihtiyacýnýz var!"
#define TXT_TruckerLicenseOwned "{FF0000}Zaten kamyon ehliyetiniz var"
#define TXT_TruckerLicenseWrongClass "{FF0000}Kamyon ehliyeti almak için kamyoncu olmanýz gerekiyor"
#define TXT_BusLicenseBought "{00FF00}Otobüs ehliyeti aldýnýz"
#define TXT_BusLicenseNotEnoughMoney "{FF0000}Otobüs ehliyeti alabilmek için $25.000 ve 50 skora ihtiyacýnýz var!"
#define TXT_BusLicenseOwned "{FF0000}Zaten otobüs ehliyetiniz var"
#define TXT_BusLicenseWrongClass "{FF0000}Otobüs ehliyeti almak için otobüsçü olmanýz gerekiyor"
// Dialog related for /car, /plane, ...
#define TXT_DialogCarTitle "Bir Araç Seçin (sayfa %i):"
#define TXT_DialogPlaneTitle "Bir Hava Aracý Seçin (sayfa %i):"
#define TXT_DialogTrailerTitle "Bir Trailer Seçin (sayfa %i):"
#define TXT_PlayerSpawnedVehicle "{00FF00}%s %i ID'li araç indirdi (Model-ID = %i) Koordinatlar: x=%4.2f, y=%4.2f, z=%4.2f"
#define TXT_ChangedWeather "{00FF00}Hava durumunu deðiþtirdiniz"
#define TXT_DialogCommandTitle "Komut Listesi (sayfa %i):"
// Trucker related
#define TXT_PlayerCompletedTruckJob "{FFFFFF}Kamyoncu {FF00FF}%s{FFFFFF} baþarýyla {0000FF}%s{FFFFFF} taþýdý."
#define TXT_PlayerCompletedTruckJobInfo "{00FF00}%s{FFFFFF}'dan {00FF00}%s{FFFFFF}'a"
#define TXT_TruckerBonusOverloaded "{00FF00}Aþýrý Yükleme Bonusu: $%i"
#define TXT_TruckerBonusMafiaLoad "{00FF00}Mafya Yükü Bonusu: $%i"
#define TXT_TruckerBonusOwnVehicle "{00FF00}Kendi Aracýný Kullanma Bonusu: $%i"
#define TXT_TruckerMustEnterVehicle "{FF0000}Bir kamyona binmeniz veya kamyona kasa takmanýz gerekiyor!"
#define TXT_TruckerOverloaded "{FF0000}Aþýrý yükleme yaptýnýz! Polislerden kaçýnýn!"
#define TXT_TruckerMafiaInterested "~r~Mafya Sizin Yukunuzle Ilgileniyor~w~"
#define TXT_TruckerDialogSelectLoad "Yük Seçin:"
#define TXT_TruckerDialogSelectStartLoc "Yükleme Noktasý Seçin:"
#define TXT_TruckerDialogSelectEndLoc "Boþaltma Noktasý Seçin:"
#define TXT_NeedVehicleToProceed "{FF0000}Görevi gerçekleþtirebilmek için araçta olmalýsýnýz!"
#define TXT_NeedTrailerToProceed "{FF0000}Görevi gerçekleþtirebilmek için týrýnýzýn kasasý takýlý olmalý!"
#define TXT_NeedOnFootToProceed "{FF0000}Görevi gerçekleþtirebilmek için ayakta olmalýsýnýz!"
// Busdriver related
#define TXT_PlayerCompletedBusLine "{FFFFFF}Otobüsçü {FF00FF}%s{FFFFFF} baþarýyla {0000FF}%i{FFFFFF} nolu rotada sefer tamamladý."
#define TXT_BusDriverMissionPassed "Gorev Bitti" // Define the game-text that shows when the player passed a busdriver mission
#define TXT_BusDriverJobInfo "~w~Durak ~y~%i~w~ (~g~%s~w~): ~b~%i~w~ Otobuste"
#define TXT_BusDriverBusStopInfo "~w~Durak ~y~%i~w~ (~g~%s~w~): ~b~%i~w~ Otobuste, ~b~%i~w~ Durakta"
#define TXT_BusDriverReward "~g~Kazanciniz: $%i~w~"
#define TXT_BusDriverMustEnterBus "{FF0000}Otobüsünüze binmeniz gerekiyor"
#define TXT_SelectBusRoute "Rota Seçin:"
#define TXT_BusdriverAlreadyDoingJob "{FF0000}Þuan zaten görevdesin!"
// Mafia related
#define TXT_PlayerCompletedMafiaJob "{FFFFFF}Mafya {FF00FF}%s{FFFFFF} baþarýyla {0000FF}%s{FFFFFF} taþýdý."
#define TXT_PlayerCompletedMafiaJobInfo "{00FF00}%s{FFFFFF}'dan {00FF00}%s{FFFFFF}'a"
#define TXT_MafiaMustEnterVehicle "{FF0000}Araca binmelisiniz"
#define TXT_MafiaDeliverStolenLoad "~b~calinti yuku~w~ getirmeniz gereken yer ~r~mafya siginagi~w~"
#define TXT_MafiaDeliveredStolenLoad "{00FF00}Çalýntý yükü buraya getirdiniz. Kazancýnýz : $5000"
// Police related
#define TXT_PoliceWarnPlayer "~r~Polis! Saga Cek!~w~"
#define TXT_PoliceFinedPlayerReward "{00FF00}%s'dan $%i ceza kestiniz"
#define TXT_PlayerGotFinedByPolice "{FF0000}Polis %s tarafýndan yakalandýnýz ve $%i ceza ödediniz"
#define TXT_PoliceFinedPlayer "{00FF00}Polis %s, %s'a ceza kesti"
#define TXT_PoliceJailedPlayerReward "{00FF00}%s'ý hapse attýnýz ve $%i kazandýnýz"
#define TXT_PlayerGotJailedByPolice "{FF0000}Polis %s tarafýndan %i dakika hapse atýldýnýz"
#define TXT_PoliceJailedPlayer "{00FF00}Polis %s, %s'ý %i dakika hapse attý"
// Pilot related
#define TXT_PlayerCompletedPilotJob "{FFFFFF}Pilot {FF00FF}%s{FFFFFF} baþarýyla {0000FF}%s{FFFFFF} taþýdý"
#define TXT_PlayerCompletedPilotJobInfo "{00FF00}%s{FFFFFF}'dan {00FF00}%s{FFFFFF}'a"
// Courier related
#define TXT_CourierMustEnterVehicle "{FF0000}You must enter your vehicle"
#define TXT_PlayerCompletedCourierJob "{FFFFFF}Courier {FF00FF}%s{FFFFFF} succesfully delivered {0000FF}%i{FFFFFF} packages"
#define TXT_PackageDeliveredGameText "Package delivered"
#define TXT_PackageDeliveredMessage "{00FF00}Package delivered"
// Roadworker related
#define TXT_RepairSpeedcamera "~r~bozuk~w~ hiz kamerasini tamir et"
#define TXT_TowBrokenVehicle "~w~yakindaki ~r~bozuk arac~w~ ~b~%s~w~i hurdaliga cek"
#define TXT_DeliverBrokenVehicle "~w~Yakindaki bozuk arac ~b~%s~w~i ~r~hurdalig~w~a cek"
#define TXT_RoadworkerMustEnterVehicle "{FF0000}Araca binmelisiniz veya kasayý çýkarmalýsýnýz"
#define TXT_RoadworkerMissionPassed "Gorev Bitti" // Define the game-text that shows when the player passed a roadworker mission
// Job related, for all classes
#define TXT_RewardJob "{00FF00}Görevi bitirdiniz ve $%i kazandýnýz"
#define TXT_FailedMission "~w~Görevini ~r~yapamadýn. ~w~Bu yuzden ~y~$1000~w~ kaybettin." // Define game-text when player fails a mission
// Class related
#define TXT_ClassTrucker "Kamyon Sofuru" // Define the game-text that shows when the player is choosing classes (this one = trucker)
#define TXT_ClassBusDriver "Otobus Soforu" // Define the game-text that shows when the player is choosing classes (this one = bus-driver)
#define TXT_ClassPilot "Pilot" // Define the game-text that shows when the player is choosing classes (this one = pilot)
#define TXT_ClassPolice "Polis" // Define the game-text that shows when the player is choosing classes (this one = police)
#define TXT_ClassMafia "Mafya" // Define the game-text that shows when the player is choosing classes (this one = mafia)
#define TXT_ClassCourier "Kurye" // Define the game-text that shows when the player is choosing classes (this one = courier)
#define TXT_ClassAssistance "Tamirci" // Define the game-text that shows when the player is choosing classes (this one = assistance)
#define TXT_ClassRoadWorker "Yol Iscisi" // Define the game-text that shows when the player is choosing classes (this one = roadworker)
// No-job texts for all classes
#define Trucker_NoJobText "\"~y~/work~w~\" yazarak gorev baslatin"
#define BusDriver_NoJobText "\"~y~/work~w~\" yazarak gorev baslatin"
#define Pilot_NoJobText "\"~y~/work~w~\" yazarak gorev baslatin"
#define Police_NoJobText "~w~Ceza kesmek icin ~r~'Sag Tus' ~w~(ayakta), oyuncuyu uyarmak icin ~r~'Sol CTRL' ~w~(aracta)"
#define Mafia_NoJobText "~r~Haritada isaretli arac~w~'i calin veya gorev baslatmak icin \"~y~/work~w~\" yazin"
#define Courier_NoJobText "No job at the moment. Enter \"~y~/work~w~\" to start a job"
#define Assistance_NoJobText "~w~Tamir etmek/benzin doldurmak icin ~r~'Sag Tus'~w~ (ayakta), kendi aracinizi tamir etmek icin ~r~'Sol CTRL'~w~"
#define RoadWorker_NoJobText "\"~y~/work~w~\" yazarak gorev baslatin"
// Command related
#define TXT_PlayerRescued "{0000FF}Kurtarýldýnýz. $200 ücret ödediniz. ( VIP iseniz ödemezsiniz )"
// Fuel related
#define TXT_Refuelling "~g~Benzin Dolduruluyor..." // Define the game-text that shows when you're refuelling your vehicle
#define TXT_PickupRefuel "Benzin almak için\nkornaya basýn"
#define TXT_RefuelledVehicle "{00FF00}Aracýnýzýn deposunu $%i'a doldurdunuz"
#define TXT_CannotRefuelVehicle "{FF0000}Aracýnýza benzin almak için yeterli paranýz yok"
// Gametexts for loading/unloading
#define TXT_LoadingGoods "~r~Yukleniyor %s... ~w~Lutfen Bekleyin"
#define TXT_UnloadingGoods "~r~Bosaltiliyor %s... ~w~Lutfen Bekleyin"
#define TXT_TruckerLoadingGoods "~r~Kamyonunuz Yukleniyor... ~w~Lutfen Bekleyin"
#define TXT_TruckerUnloadingGoods "~r~Kamyonunuz Bosaltiliyor... ~w~Lutfen Bekleyin"
#define TXT_TransportingFromToPickup "~b~%s~w~'u ~r~%s~w~'dan %s'a tasiyorsunuz"
#define TXT_TransportingFromToDeliver "~b~%s~w~'u %s'dan ~r~%s~w~'a tasiyorsunuz"
#define TXT_HaulingCargoFromToPickup "~b~%s~w~'u ~r~%s~w~'dan %s'a tasiyorsunuz"
#define TXT_HaulingCargoFromToDeliver "~b~%s~w~'u %s'dan ~r~%s~w~'a tasiyorsunuz"
#define TXT_PickupCargoAt "{00FF00}%s'dan %s'a taþýyýn"
#define TXT_DeliverCargoTo "{00FF00}%s'dan %s'a taþýyýn"
// Cardealer related
#define TXT_PickupCarDealer "Araç kiralamak için\n\"/arabakirala\" yazýn"
#define TXT_BuyRentCarEmptyList "{FF0000}Bu liste boþ, yönetici bu mesleðiniz için bu araçlarý engellemiþ olabilir."
#define TXT_RentBike "Bisiklet Kirala:"
#define TXT_RentBoat "Tekne Kirala:"
#define TXT_RentConvertible "Üstü Açýk Araba Kirala:"
#define TXT_RentHelicopter "Helikopter Kirala:"
#define TXT_RentIndustrial "Endüstriyel Araç Kirala:"
#define TXT_RentLowRider "Lowrider Kirala:"
#define TXT_RentOffRoad "Off-Road Aracý Kirala:"
#define TXT_RentPlane "Ucak Kirala:"
#define TXT_RentPublicService "Halka Hizmet Aracý Kirala:"
#define TXT_RentRC "RC Araç Kirala:"
#define TXT_RentSaloon "Sedan Araba Kirala:"
#define TXT_RentSport "Spor Araba Kirala:"
#define TXT_RentStationWagon "Station Wagon Araba Kirala:"
#define TXT_RentTrailer "Kasa Kirala:"
#define TXT_RentUnique "Özel Araç Kirala:"
#define TXT_AlreadyRentedVehicle "{FF0000}Zaten daha önce bir araç kiralamýþsýn, fakat bu yeni kiraladýðýnýzla yer deðiþtirdi"
#define TXT_PlayerRentsVehicle "{00FF00}Bir {FFFF00}%s{00FF00} kiraladýnýz. Ücret: ${FFFF00}%i{00FF00} (VIP'lere Ücretsiz)"
#define TXT_RentingTooExpensive "{FF0000}Bu aracý kiralayacak paranýz yok"
#define TXT_BuyBike "Bisiklet Al:"
#define TXT_BuyBoat "Tekne Al:"
#define TXT_BuyConvertible "Üstü Açýk Araba Al:"
#define TXT_BuyHelicopter "Helikopter Al:"
#define TXT_BuyIndustrial "Endüstriyel Araç Al:"
#define TXT_BuyLowRider "Lowrider Al:"
#define TXT_BuyOffRoad "Off-Road Aracý Al:"
#define TXT_BuyPlane "Uçak Al:"
#define TXT_BuyPublicService "Halka Hizmet Aracý Al:"
#define TXT_BuyRC "RC Araç Al:"
#define TXT_BuySaloon "Sedan Al:"
#define TXT_BuySport "Spor Araba Al:"
#define TXT_BuyStationWagon "Station Wagon Araba Al:"
#define TXT_BuyTrailer "Kasa Al:"
#define TXT_BuyUnique "Özel Araç Al:"
// Jail related
#define TXT_JailTimer "~r~%i ~w~Saniye Kaldi"
// Speedometer related
#define TXT_SpeedometerSpeed "~w~Hiz: ~b~%i~w~ km/h"
#define TXT_SpeedometerFuel "~w~Yakit: %s"
#define TXT_SpeedometerCannotUseVehicle "{FF0000}Bu aracý kullanamazsýnýz, bu aracýn sahibi: \"{FFFF00}%s{FF0000}\""
#define TXT_SpeedometerClampedVehicle "{FF0000}Bu araç kelepçelenmiþ, bu aracý kullanamazsýnýz"
#define TXT_SpeedometerClampedVehicle2 "{FF0000}Aracý kelepçeden {FFFF00}/kelepcekaldir yazarak kurtarabilirsiniz"
#define TXT_PlayerCaughtSpeeding "{FF0000}Hýz kamerasýna yakalandýnýz, yavaþlayýn!"
// Toll-gate related
#define TXT_PlayerPaysToll "Giseye $%i odediniz"
// Convoy related
#define TXT_PlayerStartsConvoy "Oyuncu {00FF00}%s{FFFFFF} bir {00FF00}konvoy{FFFFFF} baþlatmak istiyor, \"/konvoy\" yazarak ona katýlýn"
#define TXT_PlayerJoinedConvoy "Oyuncu {00FF00}%s{FFFFFF} konvoya katýldý"
#define TXT_YouJoinedConvoy "{00FF00}Konvoya katýldýnýz"
#define TXT_WaitingLeaderJob "Konvoy liderinin gorevi baslatmasini bekleyin"
#define TXT_WaitingMembersToLoadCargo "Konvoy uyelerinin yukleme yapmasini bekleyin"
#define TXT_WaitingMembersToUnLoadCargo "Konvoy uyelerinin bosaltma yapmasini bekleyin"
#define TXT_ConvoyFull "{FF0000}Konvoy dolu"
#define TXT_ConvoyEnRoute "Konvoy þuan görevde, konvoya katýlamazsýnýz"
#define TXT_LeaderCancelledConvoy "{FF0000}Konvoy lideri görevi iptal etti"
#define TXT_MeetOtherConvoyMembers "{00FF00}Diðer konvoy üyeleriyle yükleme noktasýnda buluþun"
#define TXT_ConvoyDistanceForLeader "{00FF00}Herkes size en fazla 500m uzaklýkta olmalý"
#define TXT_ConvoyDistanceForMember "{00FF00}Konvoy liderinin en fazla 500m uzaðýnda olmalýsýnýz"
#define TXT_MemberNeedsCargoTrailer "Kargo kasasina ihtiyaciniz var"
#define TXT_MemberNeedsOreTrailer "Maden kasasina ihtiyaciniz var"
#define TXT_MemberNeedsFluidsTrailer "Sivi tankerine ihtiyaciniz var"
#define TXT_AllMembersSameTrailer "{00FF00}Bütün konvoy üyeleri ayný kasayý taktý, konvoy yola çýkmaya hazýr"
#define TXT_AllMembersNotSameTrailer "{FF0000}Bütün konvoy üyeleri ayný kasayý takmamýþ, konvoy yola çýkmak için hazýr deðil"
#define TXT_AllMembersLoadedCargo "{00FF00}Bütün konvoy üyeleri araçlarýný yükledi, konvoy boþaltma noktasýna gitmek için hazýr"
#define TXT_MemberKickedByDistance "{FF0000}Konvoy liderine yakýn durmadýðýnýz için konvoydan atýldýnýz"
#define TXT_MemberFellBehind "Oyuncu {00FF00}%s{FFFFFF} geride kaldý ve konvoydan atýldý"
#define TXT_FinishedConvoy "{00FF00}Konvoy görevini bitirdiniz ve $%i kazandýnýz"
#define TXT_LeaderInfoBar "Uye Sayisi: ~g~%i~w~, En Uzaktaki Uye: ~g~%s~w~, Mesafe: ~r~%3.1f~w~"
#define TXT_MemberInfoBar "Lider: ~r~%s~w~, Mesafe: ~r~%3.1f~w~, Uye Sayisi: ~r~%i~w~"
#define TXT_CannotJoinJobStarted "{FF0000}Þuan konvoy görevindesiniz, konvoy kuramazsýnýz veya bir konvoya katýlamazsýnýz"
#define TXT_ConvoyAllreadyJoined "{FF0000}Zaten bir konvoya katýlmýþsýnýz"
#define TXT_ConvoyNeedsTruckerClass "{FF0000}Konvoya katýlmak veya konvoy oluþturmak için kamyoncu olmalýsýnýz"
// Timed messages
#define TXT_TimedRefuel "{808080}Aracýnýza benzin almak mý istiyorsun? Benzinlik önünde korna çal"
#define TXT_TimedConvoy "{808080}Bir konvoy baþlatmak mý istiyorsun? \"/konvoy\" yazarak baþlatýn veya birine katýlýn"
#define TXT_TimedGohome "{808080}Evine ýþýnlanmak mý istiyorsun? \"/evegit\" yazarak evine ýþýnlan"
#define TXT_TimedRentCar "{808080}Araç kiralamak mý istiyorsun? San Fierro'da Doherty'de Wang Cars'e git"
#define TXT_TimedLicense "{808080}Rastgele kamyon/otobüs görevlerinden býktýn mý? Doherty'deki sürücü kursuna git ve ehliyet al"
#define TXT_TimedSpeedTraps "{808080}Hýz limitleri ( Þehir Ýçi: 60 km/h, Þehir Dýþý: 90 km/h, Otoban: 120 km/h )"
#define TXT_TimedGoBusiness "{808080}Ýþyerine ýþýnlanmak mý istiyorsun? \"/isyerinegit\" yazarak iþyerine ýþýnlan"
// House-related
#define TXT_DefaultHouseName "%s'nýn Evi"
#define TXT_PlayerBoughtHouse "{33FF33}Evi ${FFCC33}%i{33FF33}'a satýn aldýnýz."
#define TXT_PlayerOwnsMaxHouses "{FF0000}Oyuncu baþýna alýnabilecek en fazla eve sahipsiniz"
#define TXT_ExitHouseReloadEnv "Objelerin yuklenmesini bekleyin"
#define TXT_PickupHouseOwned "%s\nSahip: %s\nEv Seviyesi: %i\n/gir"
#define TXT_PickupHouseForSale "Ev Satýlýk, Ücreti:\n$%i\nMax Ev Seviyesi: %i\n/eval"
#define TXT_DialogOldHouseName "Evin Eski Ýsmi: %s"
#define TXT_DialogEnterNewHouseName "Evinize yeni bir isim verin"
#define TXT_DialogSelectHouseUpgrade "Geliþtirme seçin:"
#define TXT_HouseReachedMaxLevel "{FF0000}Eviniz son seviyeye ulaþtý, daha fazla geliþtiremezsiniz"
#define TXT_DialogBuyCarSelectClass "Araç Sýnýfý Seçin:"
#define TXT_HouseHasMaxVehicles "{FF0000}Bu eve alabileceðiniz en fazla aracý almýþsýnýz"
#define TXT_AlreadyBoughtRecentVehicle "{FF0000}Az önce bir araba almýþsýnýz, \"/getcar\" ve \"/park\" kullanarak yeni araç almadan önce aracýnýzý park edin"
#define TXT_EmptyCarSlot "%s{FFFFFF}Boþ Araç Slotu{FFFFFF}\n"
#define TXT_SelectVehicleToSell "Satmak için Araç Seçin:"
#define TXT_SelectVehicleToGet "Çekmek Ýstediðiniz Aracý Seçin:"
#define TXT_NoHouseVehicles "{FF0000}Bu evde araç bulunmamakta"
#define TXT_SureSellHouse "Evini $%i'a satmak istediðinizden emin misiniz?"
#define TXT_AreYouSure "Emin misiniz?"
#define TXT_CannotSellHouseWithCars "{FF0000}Arabasý bulunan evi satamazsýnýz, önce araçlarýnýzý satýn."
#define TXT_PlayerUpgradedHouse "{00FF00}Evinizi %i seviyesine getirdiniz. Ücret: $%i"
#define TXT_CannotAffordUpgrade "{FF0000}Bu geliþtirmeyi yapabilmek için paranýz yok"
#define TXT_NoHouseInSlot "{FF0000}Bu slotta eviniz yok"
#define TXT_ChangedHouseName "{00FF00}Evinizin ismini deðiþtirdiniz"
#define TXT_PlayerBoughtVehicle "{00FF00}Bir {FFFF00}%s{00FF00} satýn aldýnýz. Fiyat: ${FFFF00}%i{00FF00}"
#define TXT_PlayerMustUseGetcarAndPark "{00FF00}Dýþarý çýkýn ve \"{FFFF00}/getcar{00FF00}\" yazarak aracý yanýnýza çekin, ve sonra \"{FFFF00}/park{00FF00}\" yazarak aracýnýzý evinizin yanýna park edin."
#define TXT_PlayerMustUsePark "{00FF00}Aracýnýzý yanýnýza çektiniz, þimdi \"{FFFF00}/park{00FF00}\" yazarak aracýnýzý evinizin yanýna park edin"
#define TXT_CannotAffordVehicle "{FF0000}Bu aracý alacak paranýz yok"
#define TXT_PlayerSoldHouse "{00FF00}Evinizi sattýnýz"
#define TXT_PlayerSoldVehicle "{00FF00}Aracýnýz olan {FFFF00}%s{00FF00}'ý ${FFFF00}%i{00FF00}'a sattýnýz."
#define TXT_NoVehicleInSlot "{FF0000}Bu slotta aracýnýz bulunmamakta"
#define TXT_DialogTitleBuyInsurance "Sigorta satýn almak istiyor musunuz?"
#define TXT_DialogBuyInsurance "Evinizdeki araçlarý $%i'a sigortalattýrmak istediðinize emin misiniz?"
#define TXT_HouseAlreadyHasInsurance "{FF0000}Bu evde zaten araçlarýnýzý sigortalattýrmýþsýnýz"
#define TXT_PlayerBoughtInsurance "{00FF00}Evinizdeki bütün araçlarý $%i'a sigortalattýrdýnýz"
#define TXT_CannotAffordInsurance "{FF0000}Araç sigortasý için yeterli paranýz yok"
// Business related
#define TXT_PickupBusinessOwned "%s\nSahip: %s\nÝþyeri Seviyesi: %i\n/gir"
#define TXT_PickupBusinessForSale "%s\nSatýlýk Ýþyeri\n$%i\nGelir: $%i\n/isyerial\n/gir"
#define TXT_DefaultBusinessName "%s'nýn Yeri"
#define TXT_PlayerBoughtBusiness "{33FF33}Bu iþyerini ${FFCC33}%i{33FF33}'a satýn aldýnýz"
#define TXT_PlayerOwnsMaxBusinesses "{FF0000}Oyuncu baþýna alýnabilecek en fazla iþyerine sahipsiniz"
#define TXT_NoBusinessInSlot "{FF0000}Bu slotta iþyeriniz yok"
#define TXT_DialogOldBusinessName "Eski iþyeri isminiz: %s"
#define TXT_DialogEnterNewBusinessName "Ýþyerinize yeni bir isim verin"
#define TXT_ChangedBusinessName "{00FF00}Ýþyerinizin ismini deðiþtirdiniz"
#define TXT_BusinessReachedMaxLevel "{FF0000}Ýþyeriniz son seviyeye ulaþtý, daha fazla geliþtiremezsiniz"
#define TXT_SureSellBusiness "Ýþyerinizi $%i' satmak istediðinize emin misiniz?"
#define TXT_PlayerSoldBusiness "{00FF00}Ýþyerinizi sattýnýz"
// ************************************************************************************************************************************************************
// PPC_ServerSettings
// ************************************************************************************************************************************************************
// Default max number of players is set to 500, re-define it to 50
#undef MAX_PLAYERS
#define MAX_PLAYERS 100
// Bank system
new bool:IntrestEnabled = true; // The intrest has been enabled (or disabled when false)
new Float:BankIntrest = 0.001; // The intrest a player receives every hour is by default 0.1% (0.001 means 0.1%)
// Setting this to 1.0 would mean 100%, that would double the player's bank account every hour)
// Oyuncu 3D Text
new Text3D:Oyuncu3D[MAX_PLAYERS];
new Oyuncu3DTimer[MAX_PLAYERS];
// Set timer-delay for exiting houses (this timer freezes a player when he exits a house, this allows the game to load the environment
// before the player starts to fall, also the player's vehicles assigned to the house he exits from, are respawned by this timer)
new ExitHouseTimer = 1000;
new ExitBusinessTimer = 1000;
// This allows you to toggle the red houses on the map (bought houses appear on the map as red house icons when this is set to "true")
new bool:ShowBoughtHouses = true;
// Define maximum fuel amount (default: 5000) and maximum price for a complete refuel (default: 1000)
// Changing MaxFuel changes how fast a vehicle will run without fuel
// (setting it to 2500 for example, let's vehicles run out of fuel twice as fast)
// RefuelMaxPrice is the price you pay for a total refuel (when the vehicle has no more fuel), the price to pay is calculated
// by the amount of fuel to refuel (pay 50% of RefuelMaxPrice when vehicle has half a fuel-tank left)
new MaxFuel = 1250;
new RefuelMaxPrice = 1000;
// Define housing parameters
#define MAX_HOUSES 2000 // Defines the maximum number of houses that can be created
#define MAX_HOUSESPERPLAYER 20 // Defines the maximum number of houses that any player can own
#define HouseUpgradePercent 100 // Defines the percentage for upgrading a house (house of 10m can be upgraded for 5m when set to 50)
#define ParkRange 150.0 // Defines the range for parking the vehicle around the house (default = 150m)
// Define business parameters
#define MAX_BUSINESS 1000 // Defines the maximum number of businesses that can be created
#define MAX_BUSINESSPERPLAYER 20 // Defines the maximum number of businesses that any player can own
// Defines for the toll-system
#define MAX_TOLLGATES 20
// Defines for spikestrips
#define MAX_SPIKESTRIPS 10 // Defines a maximum of 10 spikestrips
// Defines for the speedcameras
#define MAX_CAMERAS 120
// Defines for police
new bool:PoliceGetsWeapons = true;
// These are the weapons that a police player will get when "PoliceGetsWeapons = true"
// 5 = Baseball Bat
// 24 = Desert Eagle
// 25 = Shotgun
// 28 = Micro SMG
// 30 = AK-47
// 34 = Sniper Rifle
// 38 = Minigun - 35 = Rocket Launcher
// 39 = Satchel Charge
// 41 = Spraycan
// 10 = Purple Dildo
// 46 = Parachute
// 40 = Detonator
new APoliceWeapons[4] = {2, 25, 22, 28};
new PoliceWeaponsAmmo = 5000;
// Jailing system variables
new DefaultJailTime = 120; // Set default jailtime to 2 minutes
new DefaultFinePerStar = 1000; // Set the fine for each wanted level (star)
new DefaultWarnTimeBeforeJail = 60; // Allow the wanted player 60 seconds to pull over (always set this value to multiples of 5: 5, 10, 15, 20, ...)
// Courier variables
new Float:CourierJobRange = 1000.0;
new PaymentPerPackage = 500;
// Unclamp price per vehicle
new UnclampPricePerVehicle = 20000;
// ************************************************************************************************************************************************************
// PPC_Defines
// ************************************************************************************************************************************************************
// Define path to player's account-files
#define PlayerFile "ServerData/Players/_%s.ini"
#define HouseFile "ServerData/Houses/House%i.ini"
#define CameraFile "ServerData/Cameras/Camera%i.ini"
#define BusinessFile "ServerData/Business/Business%i.ini"
#define BankFile "ServerData/Bank/_%s.ini"
// Define vehicles
#define VehicleFlatbed 455 // Truck: Flatbed
#define VehicleDFT30 578 // Truck: DFT-30
#define VehicleCementTruck 524 // Truck: Cementtruck
#define VehicleLineRunner 403 // Truck: LineRunner
#define VehicleTanker 514 // Truck: Tanker
#define VehicleRoadTrain 515 // Truck: RoadTrain
#define VehicleTrailerCargo 435 // Trailer: cargo
#define VehicleTrailerCargo2 591 // Trailer: cargo
#define VehicleTrailerOre 450 // Trailer: Ore
#define VehicleTrailerFluids 584 // Trailer: Fluids
#define VehicleCoach 437 // Bus
#define VehicleShamal 519 // Plane: Shamal
#define VehicleNevada 553 // Plane: Nevada
#define VehicleStuntPlane 513 // Plane: Stuntplane
#define VehicleDodo 593 // Plane: Dodo
#define VehicleMaverick 487 // Helicopter: Maverick
#define VehicleCargobob 548 // Helicopter: Cargobob
#define VehiclePoliceLSPD 596 // Police Car Los Santos Police Department
#define VehiclePoliceSFPD 597 // Police Car San Fierro Police Department
#define VehiclePoliceLVPD 598 // Police Car Las Venturas Police Department
#define VehicleHPV1000 523 // Police motorcycle
#define VehiclePoliceRanger 599 // Police Ranger
#define VehicleSandKing 495 // Mafia-van: Sandking
#define VehicleMoonbeam 418 // Mafia-van: Moonbeam
#define VehicleBike 509 // Bike: Bike
#define VehicleBMX 481 // Bike: BMX
#define VehicleMountainBike 510 // Bike: Mountain Bike
#define VehicleFaggio 462 // Bike: Faggio
#define VehiclePizzaBoy 448 // Bike: Pizzaboy
#define VehicleBF400 581 // Bike: BF-400
#define VehicleNRG500 522 // Bike: NRG-500
#define VehiclePCJ600 461 // Bike: PCJ-600
#define VehicleFCR900 521 // Bike: FCR-900
#define VehicleFreeway 463 // Bike: Freeway
#define VehicleWayfarer 586 // Bike: Wayfarer
#define VehicleSanchez 468 // Bike: Sanchez
#define VehicleQuad 471 // Bike: Quad
#define VehicleCoastguard 472 // Boat: Coastguard
#define VehicleDinghy 473 // Boat: Dinghy
#define VehicleJetmax 493 // Boat: Jetmax
#define VehicleLaunch 595 // Boat: Launch
#define VehicleMarquis 484 // Boat: Marquis
#define VehiclePredator 430 // Boat: Predator
#define VehicleReefer 453 // Boat: Reefer
#define VehicleSpeeder 452 // Boat: Speeder
#define VehicleSquallo 446 // Boat: Squallo
#define VehicleTropic 454 // Boat: Tropic
#define VehicleRhino 432 // Tank: Rhino
#define VehiclePatriot 470 // Jeep: Patriot
#define VehicleTowTruck 525 // Towtruck
#define VehicleBurrito 482 // Van: Burrito
#define VehicleFaggio 462 // Bike: Faggio
#define VehicleBenson 499 // Truck: Benson
#define VehicleDozer 486 // Dozer
#define VehicleUtilityVan 552 // Utility Van
#define VehicleUtilityTrailer 611 // Utility trailer
// Define player-class AND vehicle statements to use for missions (PCV = PlayerClass and Vehicle)
#define PCV_TruckerOreTrailer 1
#define PCV_TruckerFluidsTrailer 2
#define PCV_TruckerCargoTrailer 3
#define PCV_TruckerCementTruck 4
#define PCV_TruckerNoTrailer 5
#define PCV_PilotPlane 6
#define PCV_PilotHelicopter 7
#define PCV_MafiaVan 8
// Define classes
#define ClassTruckDriver 1
#define ClassBusDriver 2
#define ClassPilot 3
#define ClassPolice 4
#define ClassMafia 5
#define ClassCourier 6
#define ClassAssistance 7
#define ClassRoadWorker 8
// Defines for all classes
#define Job_TimeToFailMission 60
// Define class-colors
#define ColorClassTruckDriver 0xFF8000FF // Orange
#define ColorClassBusDriver 0x80FFFFFF // Light blue
#define ColorClassPilot 0x008080FF // Dark blue
#define ColorClassPolice 0x0000FFFF // Blue
#define ColorClassMafia 0x8000FFFF // Purple
#define ColorClassCourier 0xFF0080FF // Pink
#define ColorClassAssistance 0x80FF00FF // Dark green
#define ColorClassRoadWorker 0xFFFF80FF // Light yellow
// Define Dialogs
#define DialogRegister 1
#define DialogLogin 2
#define DialogStats 3
#define DialogStatsOtherPlayer 4
#define DialogRules 5
#define DialogReports 6
#define DialogStatsHouse 7
#define DialogStatsGoHouse 8
#define DialogStatsGoBusiness 9
#define DialogRescue 11
#define DialogBuyLicenses 12
#define DialogTruckerJobMethod 21
#define DialogTruckerSelectLoad 22
#define DialogTruckerStartLoc 23
#define DialogTruckerEndLoc 24
#define DialogBusJobMethod 31
#define DialogBusSelectRoute 32
#define DialogCourierSelectQuant 41
#define DialogBike 101
#define DialogCar 102
#define DialogPlane 103
#define DialogTrailer 104
#define DialogRentCarClass 105
#define DialogRentCar 106
#define DialogBoat 107
#define DialogNeon 108
#define DialogWeather 201
#define DialogCarOption 202
#define DialogSelectConvoy 401
#define DialogConvoyMembers 402
#define DialogPlayerCommands 501
#define DialogPrimaryCarColor 502
#define DialogSedundaryCarColor 503
#define DialogPlayerCommands2 504
#define DialogHouseMenu 601
#define DialogUpgradeHouse 602
#define DialogGoHome 603
#define DialogHouseNameChange 604
#define DialogSellHouse 605
#define DialogBuyCarClass 606
#define DialogBuyCar 607
#define DialogSellCar 608
#define DialogBuyInsurance 609
#define DialogGetCarSelectHouse 610
#define DialogGetCarSelectCar 611
#define DialogUnclampVehicles 612
#define DialogCreateBusSelType 701
#define DialogBusinessMenu 702
#define DialogGoBusiness 703
#define DialogBusinessNameChange 704
#define DialogSellBusiness 705
#define DialogBankPasswordRegister 801
#define DialogBankPasswordLogin 802
#define DialogBankOptions 803
#define DialogBankDeposit 804
#define DialogBankWithdraw 805
#define DialogBankTransferMoney 806
#define DialogBankTransferName 807
#define DialogBankCancel 808
#define DialogHelpItemChosen 901
#define DialogHelpItem 902
#define DialogOldPassword 1001
#define DialogNewPassword 1002
#define DialogConfirmPassword 1003
#define DialogNoResponse 25000
// Define the maximum amount of convoys at the same time
#define MAX_CONVOYS 5
#define CONVOY_MAX_MEMBERS 25
#define CONVOY_EMPTY 0
#define CONVOY_OPEN 1
#define CONVOY_FULL 2
#define CONVOY_CLOSED 3
// Define messagecolors
#define ColorRed 0xFF0000FF
#define ColorGreen 0x00FF00FF
#define ColorBlue 0x0000FFFF
// Define Virtual Worlds
#define WORLD_JAIL 10254
// Define options for admins
#define AutoKickAfterWarn 1 // Define if the player gets kicked after a certain amount of warnings
#define AutoKickWarnings 3 // Define the amount of warnings before a player is kicked automatically
// Define spectate modes
#define ADMIN_SPEC_TYPE_NONE 0
#define ADMIN_SPEC_TYPE_PLAYER 1
#define ADMIN_SPEC_TYPE_VEHICLE 2
// Create some global variables that are used to display large dialogs
new DialogMsg5000[5000];
// These variables are only used during the GameModeInit, they are used for debugging purposes
// A variable to hold the ID of every vehicle (used to record the last ID of a vehicle, for debugging)
new LastVehicleID;
// A variable to hold the ID of every object (used to record the last ID of an object, for debugging)
new LastObjectID;
// A variable to hold the total amount of houses that are loaded
new TotalHouses;
// A variable that holds the last speedcam-id
new TotalCameras;
// A variable that holds the total amount of businesses loaded
new TotalBusiness;
// Will hold the remaining time (in minutes) for a server-restart
new RestartTime;
// This variable holds the number of the last TimedMessage that was sent to all players
new LastTimedMessage;
// This array holds all timed messages that will be sent every few minutes
new ATimedMessages[][128] =
{
{TXT_TimedRefuel},
{TXT_TimedConvoy},
{TXT_TimedGohome},
{TXT_TimedRentCar},
{TXT_TimedLicense},
{TXT_TimedSpeedTraps},
{TXT_TimedGoBusiness}
// {"{808080}Message"}
// {"{808080}Message"}
// {"{808080}Message"}
// {"{808080}Message"}
// {"{808080}Message"}
// {"{808080}Message"}
};
// Holds the data about the random bonus mission
enum TRandomBonusMission
{
RandomLoad, // Holds the random LoadID
RandomStartLoc, // Holds the random StartLocation ID
RandomEndLoc, // Holds the random EndLocation ID
bool:MissionFinished // Holds true if the bonus mission has been completed by someone, a new random mission will be chosen next
}
// Create one random bonus mission
new RandomBonusMission[TRandomBonusMission];
// Holds the admin-levelnames
new AdminLevelName[11][24] =
{
{"Oyuncu"},
{"Deneme Oyun Gorevlisi"},
{"Deneme Oyun Gorevlisi"},
{"Oyun Gorevlisi"},
{"Oyun Gorevlisi"},
{"Oyun Gorevlisi"},
{"Yetkili Yonetici"},
{"Yetkili Yonetici"},
{"Yetkili Yonetici"},
{"Vekil"},
{"Proje Sahibi"}
};
// Anti Flood Sistemi
new SonMesajTick[MAX_PLAYERS];
new SonKomutTick[MAX_PLAYERS],
YazilanKomut[MAX_PLAYERS];
new SonDurumTick[MAX_PLAYERS],
DegisenDurum[MAX_PLAYERS];
new SonOlumTick[MAX_PLAYERS],
OlumSayisi[MAX_PLAYERS];
new SonDialogTick[MAX_PLAYERS],
DialogSayisi[MAX_PLAYERS];
new SonSpawnTick[MAX_PLAYERS],
SpawnSayisi[MAX_PLAYERS];
// Animasyon Sistemi
new ALP[MAX_PLAYERS];
// Holds the reference to the pickup that can reward you with a trucker/busdriver license
new Pickup_License;
// Setup a custom type that holds the data of pickups
enum TPickupData
{
Float:pux,
Float:puy,
Float:puz,
PickupID
}
// Holds the data for pickups for refuelling (maximum 50 refuel-pickups)
new ARefuelPickups[50][TPickupData];
// Holds the data for pickups for 3 cardealers
new ACarDealerPickups[3][TPickupData];
// Setup a custom type that holds all data about toll-boots
enum TTollGate
{
GateID, // Holds the object-id of the gate
TollPrice, // Holds the price for passing the gate
GateStatus, // Holds the status of the gate (open = 1, closed = 0)
Float:OpenX, // Holds the coordinates when the gate is opened
Float:OpenY, // Holds the coordinates when the gate is opened
Float:OpenZ, // Holds the coordinates when the gate is opened
Float:CloseX, // Holds the coordinates when the gate is closed
Float:CloseY, // Holds the coordinates when the gate is closed
Float:CloseZ // Holds the coordinates when the gate is closed
}
new ATollGates[MAX_TOLLGATES][TTollGate];
// Setup a custom type that holds all data about spikestrips
enum TSpikeStrip
{
SpikeTime, // This holds the time left when the spikestrip automatically disappears
SpikeTimer, // This holds the reference to the timer for spikestrips
SpikeObject, // This holds the ObjectID of the spikestrip object
Float:SpikeX, // This holds the X coordinates of the spikestrip
Float:SpikeY, // This holds the Y coordinates of the spikestrip
Float:SpikeZ // This holds the Z coordinates of the spikestrip
}
new ASpikeStrips[MAX_SPIKESTRIPS][TSpikeStrip];
// Setup a custom type that holds all data about a speedcamera
enum TSpeedCamera
{
Float:CamX, // Holds the X-coordinate of the camera
Float:CamY, // Holds the Y-coordinate of the camera
Float:CamZ, // Holds the Z-coordinate of the camera
Float:CamAngle, // Holds the Angle of the camera
CamSpeed, // Holds the maximum speed allowed to pass this camera without being caught
CamObj1, // Holds the reference to the first camera object
CamObj2 // Holds the reference to the second camera object
}
new ACameras[MAX_CAMERAS][TSpeedCamera];
// Setup a custom type to hold all data about a convoy
enum TConvoyData
{
Members[CONVOY_MAX_MEMBERS], // This array holds the playerid's of all members (at index 0, the leader is stored), so a convoy can hold 1 leader and 9 members
LoadID, // Holds the ID of the load
Location1, // Holds the location-id of the start-location
Location2, // Holds the location-id of the end-location
Status, // Holds the status of the convoy (1 = open, 2 = full, 3 = closed, 0 = empty)
ConvoyStep, // Holds the jobstep for the entire convoy
TrailerModel, // Holds the trailer-model required by the convoy
bool:LeaderInformedTrailers, // Is used to inform the leader ONCE if all members failed to have the same trailer
Text:ConvoyTextLeader, // This is the textdraw for the leader of the convoy
Text:ConvoyTextMember, // This is the textdraw for all members of the convoy
ConvoyTimer // This convoy-timer checks everything for the whole convoy
}
// Setup an array which holds all data for every convoy
new AConvoys[MAX_CONVOYS][TConvoyData];
// Setup a custom type to hold all data about a vehicle
enum TVehicleData
{
bool:MafiaLoad, // Holds True if the vehicle (or trailer) is carrying a mafia-wanted load
Fuel, // Holds the amount of fuel for this vehicle
BelongsToHouse, // Holds the HouseID to which this vehicle belongs
bool:StaticVehicle, // Holds true if this is a static vehicle
bool:Owned, // Holds true if the vehicle is owned by somebody
Owner[24], // Holds the name of the owned of the vehicle
Model, // Holds the vehicle-model of this vehicle
PaintJob, // Holds the ID of the paintjob applied to the vehicle
Components[14], // Holds all Component-ID's for all components on the vehicle
Color1, // Holds the primary color for this vehicle
Color2, // Holds the secundairy color for this vehicle
NeonLeft, // Holds the neon-object on the left side
NeonRight, // Holds the neon-object on the right side
NeonObjectModel, // Holds the object-model of the neons applied to the vehicle
Float:SpawnX, // Holds the X-coordinate of the parking spot for this vehicle
Float:SpawnY, // Holds the Y-coordinate of the parking spot for this vehicle
Float:SpawnZ, // Holds the Z-coordinate of the parking spot for this vehicle
Float:SpawnRot, // Holds the rotation of the parking spot for this vehicle
Text3D:VehicleText, // holds a reference to the 3D text label on an owned vehicle
bool:Clamped // Holds "true" if the vehicle is clamped by an admin
}
// Setup an array which holds all data for every vehicleid, max 2000 vehicles (server limit)
new AVehicleData[2000][TVehicleData];
// Setup a custom type that holds all data for businesses
enum TBusinessData
{
PickupID, // Holds the pickup-id that is linked to this business
Text3D:DoorText, // Holds the reference to the 3DText above the business's pickup
MapIconID, // Holds the ID of the mapicon for the business
BusinessName[100], // Holds the name of the business (this will be displayed above the pickup near the business when it's owned)
Float:BusinessX, // Holds the X-coordinate of the pickup for the Business
Float:BusinessY, // Holds the Y-coordinate of the pickup for the Business
Float:BusinessZ, // Holds the Z-coordinate of the pickup for the Business
BusinessType, // Holds the type of business (well stacked pizza, burger shot, ...), this defines which icon and interior to use
BusinessLevel, // Holds the level of upgrades the business has
LastTransaction, // Holds the amount of minutes when the last transaction took place (buying the business or retrieving the money by the owner)
AutoEvictDays, // Holds the amount of days where the player last logged in
bool:Owned, // Holds true if the Business is owned by somebody
Owner[24] // Holds the name of the owner of the Business
}
// Holds the data for all houses
new ABusinessData[MAX_BUSINESS][TBusinessData];
// This variable holds the business-time (this value is increased every hour and is used to calculate the amount of money a business
// has generated after the last transaction of the business)
new BusinessTransactionTime;
// Setup a custom type that holds all data for houses
enum THouseData
{
PickupID, // Holds the pickup-id that is linked to this house
Text3D:DoorText, // Holds the reference to the 3DText above the house's pickup
MapIconID, // Holds the ID of the mapicon for the house
HouseName[100], // Holds the name of the house (this will be displayed above the pickup near the house when it's owned)
Insurance, // Holds "1" if the house has an insurance for the vehicles belonging to this house
Float:HouseX, // Holds the X-coordinate of the pickup for the house
Float:HouseY, // Holds the Y-coordinate of the pickup for the house
Float:HouseZ, // Holds the Z-coordinate of the pickup for the house
HouseLevel, // Holds the level of upgrades the house has (also defines how many vehicles can currently be added to the house)
HouseMaxLevel, // Holds the maximum level this house can be upgraded to
HousePrice, // Holds the price for buying the house, the same price applies when upgrading a house per level
AutoEvictDays, // Holds the amount of days where the player last logged in
bool:Owned, // Holds true if the house is owned by somebody
Owner[24], // Holds the name of the owner of the house
bool:HouseOpened, // Holds true if the house is open to the public (anyone can enter), false means: only the owner can enter it
VehicleIDs[10] // Holds the vehicle-id's of the vehicles linked to this house
}
// Holds the data for all houses
new AHouseData[MAX_HOUSES][THouseData];
// Setup a custom type that holds all data about a house-interior (selected when entering a house, based on the house-level)
enum THouseInterior
{
InteriorName[50], // Holds the name of the interior
InteriorID, // Holds the interior-id
Float:IntX, // Holds the X-coordinate of the spawn-location where you enter the house
Float:IntY, // Holds the Y-coordinate of the spawn-location where you enter the house
Float:IntZ // Holds the Z-coordinate of the spawn-location where you enter the house
}
// Holds the data for all interiors for houses
new AHouseInteriors[][THouseInterior] =
{
{"Dummy", 0, 0.0, 0.0, 0.0}, // Dummy interior (Level 0), as the house-level starts at 1
{"Kucuk otel odasi", 10, 2262.83, -1137.71, 1050.63}, // Level 1
{"Kucuk ev", 2, 2467.36, -1698.38, 1013.51}, // Level 2
{"Kucuk ev 2", 1, 223.00, 1289.26, 1082.20}, // Level 3
{"Orta ev", 10, 2260.76, -1210.45, 1049.02}, // Level 4
{"Orta ev 2", 8, 2365.42, -1131.85, 1050.88}, // Level 5
{"Dublex ev", 12, 2324.33, -1144.79, 1050.71}, // Level 6
{"Buyuk ev", 15, 295.14, 1474.47, 1080.52}, // Level 7
{"Buyuk dublex ev", 3, 235.50, 1189.17, 1080.34}, // Level 8
{"Genis ev", 7, 225.63, 1022.48, 1084.07}, // Level 9
{"Malikane", 5, 1299.14, -794.77, 1084.00} // Level 10
};
// Setup a custom type that holds all data about a business
enum TBusinessType
{
InteriorName[50], // Holds the name of the interior
InteriorID, // Holds the interior-id
Float:IntX, // Holds the X-coordinate of the spawn-location where you enter the business
Float:IntY, // Holds the Y-coordinate of the spawn-location where you enter the business
Float:IntZ, // Holds the Z-coordinate of the spawn-location where you enter the business
BusPrice, // Holds the price for the business
BusEarnings, // Holds the earnings for this type of business
IconID // Holds the icon-id which represents the business
}
// Holds the data for all interiors for businesses
new ABusinessInteriors[][TBusinessType] =
{
{"Dummy", 0, 0.0, 0.0, 0.0, 0, 0, 0}, // Dummy business (Type 0)
{"24/7 (Kucuk)", 6, -26.75, -55.75, 1003.6, 500000, 50, 52}, // Type 1 (earnings per day: $1200)
{"24/7 (Orta)", 18, -31.0, -89.5, 1003.6, 750000, 75, 52}, // Type 2 (earnings per day: $1800)
{"Bar", 11, 502.25, -69.75, 998.8, 350000, 35, 49}, // Type 3 (earnings per day: $840)
{"Berber (Kucuk)", 2, 411.5, -21.25, 1001.8, 300000, 30, 7}, // Type 4 (earnings per day: $720)
{"Berber (Orta)", 3, 418.75, -82.5, 1001.8, 350000, 35, 7}, // Type 5 (earnings per day: $840)
{"At Yarisi Dukkani", 3, 833.25, 7.0, 1004.2, 1500000, 150, 52}, // Type 6 (earnings per day: $3600)
{"Burger Shot", 10, 363.5, -74.5, 1001.5, 750000, 75, 10}, // Type 7 (earnings per day: $1800)
{"Gazino (4 Dragons)", 10, 2017.25, 1017.75, 996.9, 2500000, 250, 44}, // Type 8 (earnings per day: $6000)
{"Gazino (Caligula's)", 1, 2234.0, 1710.75, 1011.3, 2500000, 250, 25}, // Type 9 (earnings per day: $6000)
{"Gazino (Kucuk)", 12, 1133.0, -9.5, 1000.7, 2000000, 200, 43}, // Type 10 (earnings per day: $4800)
{"Kiyafet Magazasi (Binco)", 15, 207.75, -109.0, 1005.2, 850000, 85, 45}, // Type 11 (earnings per day: $2040)
{"Kiyafet Magazasi (Pro)", 3, 207.0, -138.75, 1003.5, 850000, 85, 45}, // Type 12 (earnings per day: $2040)
{"Kiyafet Magazasi (Urban)", 1, 203.75, -48.5, 1001.8, 850000, 85, 45}, // Type 13 (earnings per day: $2040)
{"Kiyafet Magazasi (Victim)", 5, 226.25, -7.5, 1002.3, 850000, 85, 45}, // Type 14 (earnings per day: $2040)
{"Kiyafet Magazasi (ZIP)", 18, 161.5, -92.25, 1001.8, 850000, 85, 45}, // Type 15 (earnings per day: $2040)
{"Cluckin' Bell", 9, 365.75, -10.75, 1001.9, 750000, 75, 14}, // Type 16 (earnings per day: $1800)
{"Disko (Kucuk)", 17, 492.75, -22.0, 1000.7, 1000000, 100, 48}, // Type 17 (earnings per day: $2400)
{"Disko (Buyuk)", 3, -2642.0, 1406.5, 906.5, 1200000, 120, 48}, // Type 18 (earnings per day: $2880)
{"Gym (LS)", 5, 772.0, -3.0, 1000.8, 500000, 50, 54}, // Type 19 (earnings per day: $1200)
{"Gym (SF)", 6, 774.25, -49.0, 1000.6, 500000, 50, 54}, // Type 20 (earnings per day: $1200)
{"Gym (LV)", 7, 774.25, -74.0, 1000.7, 500000, 50, 54}, // Type 21 (earnings per day: $1200)
{"Motel", 15, 2216.25, -1150.5, 1025.8, 1000000, 100, 37}, // Type 22 (earnings per day: $2400)
{"RC Dukkani", 6, -2238.75, 131.0, 1035.5, 600000, 60, 46}, // Type 23 (earnings per day: $1440)
{"Sex-shop", 3, -100.25, -22.75, 1000.8, 800000, 80, 38}, // Type 24 (earnings per day: $1920)
{"Mezbaha", 1, 933.75, 2151.0, 1011.1, 500000, 50, 50}, // Type 25 (earnings per day: $1200)
{"Stadyum (Bloodbowl)", 15, -1394.25, 987.5, 1024.0, 1750000, 175, 33}, // Type 26 (earnings per day: $4200)
{"Stadyum (Kickstart)", 14, -1410.75, 1591.25, 1052.6, 1750000, 175, 33}, // Type 27 (earnings per day: $4200)
{"Stadyum (8-Track)", 7, -1396.0, -208.25, 1051.2, 1750000, 175, 33}, // Type 28 (earnings per day: $4200)
{"Stadyum (Dirt Bike)", 4, -1425.0, -664.5, 1059.9, 1750000, 175, 33}, // Type 29 (earnings per day: $4200)
{"Striptiz Kulubu (Kucuk)", 3, 1212.75, -30.0, 1001.0, 750000, 75, 48}, // Type 30 (earnings per day: $1800)
{"Striptiz Kulubu (Buyuk)", 2, 1204.75, -12.5, 1001.0, 900000, 90, 48}, // Type 31 (earnings per day: $2160)
{"LS Dovmeci", 16, -203.0, -24.25, 1002.3, 500000, 50, 39}, // Type 32 (earnings per day: $1200)
{"Well Stacked Pizza", 5, 372.25, -131.50, 1001.5, 650000, 65, 29} // Type 33 (earnings per day: $1560)
};
// This holds all data about a report
enum TReport
{
bool:ReportUsed, // Holds true if this report-spot has been used
ReportName[24], // Holds the name of the offender
ReportReason[128] // Holds the reason why he's been reported
}
// This array holds all data about the recent 50 reports that have been reported
new AReports[50][TReport];
new ReportList[5000]; // Setup an array to holds the reports for the report-dialog
// Setup all the fields required for the player data (Speedometer TextDraw, current job, ...)
enum TPlayerData
{