Blasium

achievements snippet

Jun 29th, 2011
268
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 4.00 KB | None | 0 0
  1.  
  2. forward showachiv(playerid);
  3. public showachiv(playerid)
  4. {
  5.     new ids[256],ffield[256];
  6.     GetPlayerName(playerid,player_name[playerid],16);
  7.     format(mysqlquery[playerid],256,"SELECT achievements FROM achievements WHERE name = '%s'",player_name[playerid]);
  8.     mysql_query(mysqlquery[playerid]);
  9.     mysql_store_result();
  10.     if(mysql_num_rows() == 0)
  11.     {
  12.         mysql_free_result();
  13.         for(new gor=1;gor<=200;gor++) format(ids,256,"%s0",ids);
  14.         mysql_free_result();
  15.         format(mysqlquery[playerid],256,"INSERT INTO achievements (name,achievements) VALUES ('%s','%s')",player_name[playerid],ids);
  16.         mysql_query(mysqlquery[playerid]);
  17.     }
  18.     else mysql_fetch_field("achievements",ids);
  19.     mysql_free_result();
  20.  
  21.     new mid[128],pos[2],endstring[2048];
  22.     for(new i=1;i<=200;i++)
  23.     {
  24.         pos[0] = i-1;
  25.         pos[1] = i;
  26.         strmid(mid,ids,pos[0],pos[1]);
  27.         format(mysqlquery[playerid],256,"SELECT * FROM achiev_strings WHERE nummer = '%d' AND server='2'",i);
  28.         mysql_query(mysqlquery[playerid]);
  29.         mysql_store_result();
  30.         if(mysql_num_rows() == 0)
  31.         {
  32.             mysql_free_result();
  33.             continue;
  34.         }
  35.         mysql_fetch_field("titel",ffield);
  36.         mysql_free_result();
  37.         if(strval(mid) == 0) format(endstring,2048,"{FF0000}%s\n%s",ffield,endstring);
  38.         else format(endstring,2048,"{33FF00}%s\n%s",ffield,endstring);
  39.     }
  40.     ShowPlayerDialog(playerid,911,2,"Auszeichnungen",endstring,"Bedingungen","Schließen");
  41.     return 1;
  42. }
  43.  
  44. forward countachiv(playerid);
  45. public countachiv(playerid)
  46. {
  47.     GetPlayerName(playerid,player_name[playerid],16);
  48.     format(mysqlquery[playerid],256,"SELECT achievements FROM achievements WHERE name = '%s'",player_name[playerid]);
  49.     mysql_query(mysqlquery[playerid]);
  50.     mysql_store_result();
  51.     new ids[256];
  52.     mysql_fetch_field("achievements",ids);
  53.     mysql_free_result();
  54.     new mid[128],pos[2],gesa;
  55.     for(new i=1;i<=200;i++)
  56.     {
  57.         pos[0] = i-1;
  58.         pos[1] = i;
  59.         strmid(mid,ids,pos[0],pos[1]);
  60.         if(strval(mid)==1) gesa+=1;
  61.     }
  62.     return gesa;
  63. }
  64.  
  65. forward triggerachiv(playerid,idi);
  66. public triggerachiv(playerid,idi)
  67. {
  68.     if(IsPlayerNPC(playerid)) return 1;
  69.     new tlong[512];
  70.     new ids[256],ffield[256];
  71.    
  72.     GetPlayerName(playerid,player_name[playerid],16);
  73.     format(mysqlquery[playerid],256,"SELECT achievements FROM achievements WHERE name = '%s'",player_name[playerid]);
  74.     mysql_query(mysqlquery[playerid]);
  75.     mysql_store_result();
  76.     if(mysql_num_rows() == 0)
  77.     {
  78.         mysql_free_result();
  79.         for(new gor=1;gor<=200;gor++) format(ids,256,"%s0",ids);
  80.         mysql_free_result();
  81.         format(tlong,512,"INSERT INTO achievements (name,achievements) VALUES ('%s','%s')",player_name[playerid],ids);
  82.         mysql_query(tlong);
  83.     }
  84.     else mysql_fetch_field("achievements",ids);
  85.     mysql_free_result();
  86.  
  87.     new mid[128],pos[2];
  88.     for(new i=1;i<=200;i++)
  89.     {
  90.         pos[0] = i-1;
  91.         pos[1] = i;
  92.         strmid(mid,ids,pos[0],pos[1]);
  93.         if(i == idi)
  94.         {
  95.             if(strval(mid) == 1) return 1;
  96.             GetPlayerName(playerid,player_name[playerid],16);
  97.             format(mysqlquery[playerid],256,"UPDATE login SET rlmoney=rlmoney+1 WHERE name = '%s'",player_name[playerid]);
  98.             mysql_query(mysqlquery[playerid]);
  99.             getrlmoney(playerid);
  100.            
  101.             format(mysqlquery[playerid],256,"SELECT * FROM achiev_strings WHERE nummer = '%d'",i);
  102.             mysql_query(mysqlquery[playerid]);
  103.             mysql_store_result();
  104.             new tit[128];
  105.             mysql_fetch_field("string",ffield);
  106.             mysql_fetch_field("titel",tit);
  107.             format(ffield,256,"~r~AUSZEICHNUNG ERHALTEN~n~~n~~g~%s~n~~w~%s",tit,ffield);
  108.             mysql_free_result();
  109.             GameTextForPlayer(playerid,ffield,5000,3);
  110.             strdel(ids,pos[0],pos[1]);
  111.             strins(ids,"1",pos[0]);
  112.             format(mysqlquery[playerid],256,"UPDATE achievements SET lastachv = '%s' WHERE name = '%s'",tit,player_name[playerid]);
  113.             mysql_query(mysqlquery[playerid]);
  114.            
  115.             format(ffield,256,"%s hat die Auszeichnung '%s' erhalten",player_name[playerid],tit);
  116.             SendClientMessageToAll(COLOR_GREEN,ffield);
  117.             break;
  118.         }
  119.     }
  120.     format(tlong,512,"UPDATE achievements SET achievements = '%s' WHERE name = '%s'",ids,player_name[playerid]);
  121.     mysql_query(tlong);
  122.  
  123.     return 1;
  124. }
Advertisement
Add Comment
Please, Sign In to add comment