Advertisement
Guest User

Exp Sistemi // ßy XpDeviL

a guest
Aug 30th, 2011
487
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 5.14 KB | None | 0 0
  1. /*
  2. Bu sistem XpDeviL tarafından yazılmıştır.
  3. Güle güle kullanın.
  4. */
  5.  
  6. #include <a_samp>
  7. #include <dini>
  8.  
  9. //------------[ Variable'lar ]----------
  10. new
  11.     exp[MAX_PLAYERS],
  12.     seviye[MAX_PLAYERS],
  13.     guncellemetimer[MAX_PLAYERS]
  14. ;
  15. //------------[ Textdraw'lar ]----------
  16. new
  17.     Text:ArkaP,
  18.     Text:Bslk,
  19.     Text:bilgi[MAX_PLAYERS]
  20. ;
  21. //------------[ Filterscript ]----------
  22.  
  23. public OnFilterScriptInit()
  24. {
  25.     print("\n* * * * * * * * * * * * * * * * * * *");
  26.     print("Exp Sistemi [ Yuklendi ] {by XpDeviL}");
  27.     print("* * * * * * * * * * * * * * * * * * *\n");
  28.    
  29.     ArkaP = TextDrawCreate(512.000000, 348.000000, ".");
  30.     TextDrawBackgroundColor(ArkaP, 255);
  31.     TextDrawFont(ArkaP, 1);
  32.     TextDrawLetterSize(ArkaP, 0.500000, 5.800000);
  33.     TextDrawColor(ArkaP, 100);
  34.     TextDrawSetOutline(ArkaP, 0);
  35.     TextDrawSetProportional(ArkaP, 1);
  36.     TextDrawSetShadow(ArkaP, 0);
  37.     TextDrawUseBox(ArkaP, 1);
  38.     TextDrawBoxColor(ArkaP, 100);
  39.     TextDrawTextSize(ArkaP, 630.000000, 21.000000);
  40.  
  41.     Bslk = TextDrawCreate(511.000000, 336.000000, "Istatistikleriniz");
  42.     TextDrawBackgroundColor(Bslk, 255);
  43.     TextDrawFont(Bslk, 0);
  44.     TextDrawLetterSize(Bslk, 0.500000, 1.600000);
  45.     TextDrawColor(Bslk, -1);
  46.     TextDrawSetOutline(Bslk, 1);
  47.     TextDrawSetProportional(Bslk, 1);
  48.  
  49.     for(new i; i<MAX_PLAYERS; i++){
  50.     bilgi[i] = TextDrawCreate(513.000000, 361.000000, "~w~Exp: ~g~15~w~/~b~100~n~~n~~w~Seviye: ~g~5");
  51.     TextDrawBackgroundColor(bilgi[i], 255);
  52.     TextDrawFont(bilgi[i], 1);
  53.     TextDrawLetterSize(bilgi[i], 0.340000, 1.000000);
  54.     TextDrawColor(bilgi[i], -1);
  55.     TextDrawSetOutline(bilgi[i], 1);
  56.     TextDrawSetProportional(bilgi[i], 1);}
  57.     return 1;
  58. }
  59.  
  60. public OnFilterScriptExit()
  61. {
  62.     print("\n* * * * * * * * * * * * * * * * * * * *");
  63.     print(" Exp Sistemi [ Kapatildi ] {by XpDeviL}");
  64.     print("* * * * * * * * * * * * * * * * * * * *\n");
  65.     return 1;
  66. }
  67.  
  68. public OnPlayerConnect(playerid)
  69. {
  70.     new dosya[50], isim[24];
  71.     GetPlayerName(playerid, isim, sizeof(isim));
  72.     format(dosya, sizeof(dosya), "ExpSistemi/%s.cnr", isim);
  73.    
  74.     if(!dini_Exists(dosya)) seviye[playerid]=1, dini_Create(dosya);
  75.     else BilgiYukle(playerid);
  76.     guncellemetimer[playerid] = SetTimerEx("BilgiYenile", 10000, true, "d", playerid);
  77.     return 1;
  78. }
  79.  
  80. public OnPlayerSpawn(playerid)
  81. {
  82.     TextDrawShowForPlayer(playerid, ArkaP);
  83.     TextDrawShowForPlayer(playerid, Bslk);
  84.     TextDrawShowForPlayer(playerid, bilgi[playerid]);
  85.     return 1;
  86. }
  87.  
  88. public OnPlayerDisconnect(playerid, reason)
  89. {
  90.     BilgiYenile(playerid);
  91.     KillTimer(guncellemetimer[playerid]);
  92.     return 1;
  93. }
  94.  
  95. public OnPlayerDeath(playerid, killerid, reason)
  96. {
  97.     ExpVer(killerid);
  98.     return 1;
  99. }
  100.  
  101. public OnPlayerUpdate(playerid)
  102. {
  103.     new str[64];
  104.     format(str, sizeof(str), "~w~Exp: ~g~%d~w~/~b~100~n~~n~~w~Seviye: ~g~%d", exp[playerid], seviye[playerid]);
  105.     TextDrawSetString(bilgi[playerid], str);
  106.     return 1;
  107. }
  108.  
  109. stock BilgiYenile(playerid)
  110. {
  111. new SPL[256], is[24];
  112. GetPlayerName(playerid,is,sizeof(is));
  113. format(SPL,sizeof(SPL),"ExpSistemi/%s.cnr", is);
  114.  
  115. dini_IntSet(SPL, "Exp", exp[playerid]);
  116. dini_IntSet(SPL, "Level", seviye[playerid]);
  117. dini_IntSet(SPL, "Para", GetPlayerMoney(playerid));
  118. dini_IntSet(SPL, "Skor", GetPlayerScore(playerid));
  119. return 1;}
  120.  
  121. stock BilgiYukle(playerid)
  122. {
  123. new SPL[256], is[24];
  124. GetPlayerName(playerid,is,sizeof(is));
  125. format(SPL,sizeof(SPL),"ExpSistemi/%s.cnr", is);
  126.  
  127. exp[playerid] = dini_Int(SPL, "Exp");
  128. seviye[playerid] = dini_Int(SPL, "Level");
  129. SetPlayerMoney(playerid, dini_Int(SPL, "Para"));
  130. SetPlayerScore(playerid, dini_Int(SPL, "Skor"));
  131. return 1;}
  132.  
  133. stock ExpVer(playerid){
  134.     if(seviye[playerid] == 1){
  135.     exp[playerid]=exp[playerid]+20;
  136.     }else if(seviye[playerid] == 2){
  137.     exp[playerid]=exp[playerid]+18;
  138.     }else if(seviye[playerid] == 3){
  139.     exp[playerid]=exp[playerid]+18;
  140.     }else if(seviye[playerid] == 4){
  141.     exp[playerid]=exp[playerid]+16;
  142.     }else if(seviye[playerid] == 5){
  143.     exp[playerid]=exp[playerid]+14;
  144.     }else if(seviye[playerid] == 6){
  145.     exp[playerid]=exp[playerid]+12;
  146.     }else if(seviye[playerid] == 7){
  147.     exp[playerid]=exp[playerid]+10;
  148.     }else if(seviye[playerid] == 8){
  149.     exp[playerid]=exp[playerid]+8;
  150.     }else if(seviye[playerid] == 9){
  151.     exp[playerid]=exp[playerid]+6;
  152.     }else if(seviye[playerid] == 10){
  153.     exp[playerid]=exp[playerid]+4;
  154.     }else if(seviye[playerid] == 11){
  155.     exp[playerid]=exp[playerid]+4;
  156.     }else if(seviye[playerid] == 12){
  157.     exp[playerid]=exp[playerid]+3;
  158.     }else if(seviye[playerid] == 13){
  159.     exp[playerid]=exp[playerid]+3;
  160.     }else if(seviye[playerid] == 14){
  161.     exp[playerid]=exp[playerid]+2;
  162.     }else if(seviye[playerid] == 15){
  163.     exp[playerid]=exp[playerid]+2;
  164.     }else if(seviye[playerid] == 16){
  165.     exp[playerid]=exp[playerid]+2;
  166.     }else if(seviye[playerid] == 17){
  167.     exp[playerid]=exp[playerid]+1;
  168.     }else if(seviye[playerid] == 18){
  169.     exp[playerid]=exp[playerid]+1;
  170.     }else if(seviye[playerid] == 19){
  171.     exp[playerid]=exp[playerid]+1;
  172.     }
  173.  
  174.     if(exp[playerid] >= 100){
  175.     if(seviye[playerid] < 20){
  176.     new isim[24], str[128];
  177.     GetPlayerName(playerid, isim, sizeof(isim));
  178.     seviye[playerid]++;
  179.     exp[playerid]=0;
  180.     format(str, sizeof(str), "{00FF00}%s {FFFFFF}adlı kişi seviye atlayarak {FF0000}%d. Seviye{FFFFFF}ye ulaştı!", isim, seviye[playerid]);
  181.     SendClientMessageToAll(0xFFFFFF, str);
  182.     }}
  183.     return 1;
  184. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement