Advertisement
Guest User

SA:MP Experience

a guest
Aug 29th, 2013
274
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 2.81 KB | None | 0 0
  1. /* by Vincent Petritz / TutNichts */
  2.  
  3. #define FILTERSCRIPT
  4.  
  5. #include <a_samp>
  6. #include <sync_http>
  7.  
  8. #define  VERSION\
  9.             "1.0.0"
  10.  
  11. #define  URL\
  12.             "localhost/Testing/Experience/addExperience.php"
  13.            
  14. #define  AUTH_CODE\
  15.             "woeqeji21MD"
  16.            
  17. new      available_events[1000];
  18.  
  19. stock web_error(error_text[]) {
  20.     new error_type[200];
  21.     format(error_type, sizeof error_type, "[ EXP: ERROR ] Webserver: %s", error_text);
  22.     printf(error_type);
  23.     return 1;
  24. }
  25.  
  26. stock game_error(error_text[]) {
  27.     new error_type[200];
  28.     format(error_type, sizeof error_type, "[ EXP: ERROR ] FilterScript: %s", error_text);
  29.     printf(error_type);
  30.     return 1;
  31. }
  32.  
  33. stock no_error_answer(answer_text[], status_code) {
  34.     return ((strfind("Missing data:", answer_text, true) && status_code == 200) ? (true) : (false));
  35. }
  36.  
  37. stock event_exists(name[]) {
  38.     return strfind(available_events, name, true);
  39. }
  40.  
  41. stock add_event(name[], event_string[], event_title[]) {
  42.     new website_request[750],
  43.         website[500];
  44.     format(website_request, sizeof website_request, "action=create_event&event_name=%s&event_string=%s&event_title=%s&auth_code=%s", name, event_string, event_title, AUTH_CODE);
  45.     status_code = SynchronizedHTTP(URL, website_request, website, sizeof website, HTTP_POST);
  46.     if(!no_error_answer(website, status_code)) {
  47.         web_error(website);
  48.         return 0;
  49.     }
  50.     return 1;
  51. }
  52.  
  53. stock add_experience_to_player(id, name[], additional_data[]) {
  54.     if(!IsPlayerConnected(id))
  55.         return game_error("Player is not available!");
  56.     if(event_exists(name) == -1)
  57.         return game_error("This event does not exists in FilterScript - you have to create it first!");
  58.     new player_name[24],
  59.         status_code = 0,
  60.         website[500],
  61.         website_request[500];
  62.     GetPlayerName(id, player_name, 24);
  63.     printf("[ EXP: INFO ] FilterScript: Sending request 'add_experience_to_player' (event: %s) for player: %s", name, player_name);
  64.     format(website_request, sizeof website_request, "action=add_exp&user_name=%s&event_name=%s&add_data=%s&auth_code=%s", player_name, name, additional_data, AUTH_CODE);
  65.     status_code = SynchronizedHTTP(URL, website_request, website, sizeof website, HTTP_POST);
  66.     if(!no_error_answer(website, status_code)) {
  67.         web_error(website);
  68.         return 0;
  69.     }
  70.     return 1;
  71. }
  72.            
  73. public OnFilterScriptInit()
  74. {
  75.     printf(" [ EXP: INFO ] STARTING FILTERSCRIPT (%s)!", VERSION);
  76.     new website[1000],
  77.         status_code = SynchronizedHTTP(URL, "action=start&auth_code="AUTH_CODE"", website, sizeof website, HTTP_POST);
  78.     if(!no_error_answer(website, status_code)) {
  79.         web_error(website);
  80.     }
  81.     else {
  82.         format(available_events, sizeof website, website);
  83.     }
  84.     return 1;
  85. }
  86.  
  87. public OnPlayerConnect(playerid) {
  88.     add_experience_to_player(playerid, "test.license", "");
  89.     return 1;
  90. }
  91.  
  92. public OnFilterScriptExit()
  93. {
  94.     printf(" [ EXP: INFO ] STOPPING FILTERSCRIPT (%s)!", VERSION);
  95.     return 1;
  96. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement