Guest User

Vertrag System (c) by Kaliber

a guest
Jul 31st, 2012
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.85 KB | None | 0 0
  1. /* SA-MP Filterscript Vertrag System
  2. *
  3. * (c) Copyright 2012, by Kaliber
  4. *
  5. */
  6. #include <a_samp>
  7. #pragma tabsize 0
  8. /******************************************************************************/
  9. #define rot 0xFF6347AA
  10. #define blau 0x33CCFFAA
  11. /******************************************************************************/
  12. new vertrag[MAX_PLAYERS], zeit[MAX_PLAYERS];
  13. /******************************************************************************/
  14. public OnFilterScriptInit() { return 1; }
  15. public OnFilterScriptExit() { return 1; }
  16. public OnPlayerConnect(playerid) { vertrag[playerid] = 999; return 1; }
  17. public OnPlayerDisconnect(playerid) { if(vertrag[playerid] != 999) { vertrag[playerid] = 999; } return 1; }
  18. /******************************************************************************/
  19. public OnPlayerCommandText(playerid, cmdtext[])
  20. {
  21. new cmd[128], tmp[128], idx, pID, string[128];
  22. cmd = strtok(cmdtext, idx);
  23. if(strcmp(cmd, "/vertrag", true) == 0)
  24. {
  25. if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid,rot,"Du musst dich erst einloggen !");
  26. tmp = strtok(cmdtext, idx);
  27. if(!strlen(tmp)) return SendClientMessage(playerid,rot,"Verwendung: /Vertrag [spielerid]");
  28. pID = strval(tmp);
  29. if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,rot,"Dieser Spieler ist nicht online !");
  30. format(string, sizeof string,"Spieler %s hat dir einen Vertrag angeboten, du bekommst in 2 Tagen 40.000$ ! {FF0000}Tippe: /accept Vertrag",PlayerName(playerid));
  31. SendClientMessage(pID,blau,string);
  32. format(string, sizeof string,"Du hast Spieler %s einen Vertrag angeboten !",PlayerName(pID));
  33. SendClientMessage(playerid,blau,string);
  34. vertrag[pID] = playerid;
  35. return 1;
  36. }
  37. if(strcmp(cmd, "/accept", true) == 0)
  38. {
  39. new nm[128];
  40. nm = strtok(cmdtext, idx);
  41. if(!strlen(nm)) {
  42. SendClientMessage(playerid, rot, "Verwendung: /accept [name]");
  43. SendClientMessage(playerid, rot, "Verfügbare Namen: Vertrag");
  44. return 1;
  45. }
  46. if(strcmp(nm,"Vertrag",true) == 0)
  47. {
  48. if(zeit[playerid] != 0) return SendClientMessage(playerid,rot,"Du hast bereits einen Vertrag !");
  49. if(vertrag[playerid] == 999) return SendClientMessage(playerid,rot,"Dier hat niemand einen Vertrag angeboten !");
  50. if(!IsPlayerConnected(vertrag[playerid])) return SendClientMessage(playerid,rot,"Der Spieler der dir den Vertrag angeboten hat, ist nicht mehr online !");
  51. format(string, sizeof string,"Spieler %s hat deinen Vertrag angenommen !",PlayerName(playerid));
  52. SendClientMessage(vertrag[playerid],blau,string);
  53. format(string, sizeof string,"Du hast den Vertrag von %s angenommen und bekommst in 2 Tagen 40.000$ !",PlayerName(vertrag[playerid]));
  54. SendClientMessage(playerid,blau,string);
  55. zeit[playerid] = (1000*60*60*24*2);
  56. SetTimerEx("Fertig1", 1000, 0, "i", playerid);
  57. vertrag[playerid] = 999;
  58. }
  59. return 1;
  60. }
  61. return 0;
  62. }
  63.  
  64. forward Fertig1(playerid);
  65. public Fertig1(playerid)
  66. {
  67. zeit[playerid] -= 1;
  68. if(zeit[playerid] == 0)
  69. {
  70. Fertig(playerid);
  71. }
  72. return 1;
  73. }
  74.  
  75. forward Fertig(playerid);
  76. public Fertig(playerid)
  77. {
  78. SendClientMessage(playerid,blau,"Du hast deinen Vertrag erfolgreich erfüllt !");
  79. GivePlayerMoney(playerid, 40000);
  80. zeit[playerid] = 0;
  81. return 1;
  82. }
  83. /******************************************************************************/
  84. strtok(const string[], &index)
  85. {
  86. new length = strlen(string);
  87. while ((index < length) && (string[index] <= ' '))
  88. {
  89. index++;
  90. }
  91.  
  92. new offset = index;
  93. new result[20];
  94. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  95. {
  96. result[index - offset] = string[index];
  97. index++;
  98. }
  99. result[index - offset] = EOS;
  100. return result;
  101. }
  102. stock PlayerName(playerid)
  103. {
  104. new name[24];
  105. GetPlayerName(playerid, name, 24);
  106. return name;
  107. }
Advertisement
Add Comment
Please, Sign In to add comment