Advertisement
Guest User

Bot script

a guest
Apr 24th, 2010
640
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.41 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. // bot szkriptm készítette Gamestar
  4. // a botnak nincs egyedi színe, mivel a GetPlayerColor() hibás.
  5. // ez a filterszkript nem volt tesztelve!
  6. // az admin felület még fejlesztés alatt áll!
  7.  
  8. #define BOTNAME "Szerverbot" // a bot neve
  9.  
  10. #define SpeakGeneral 1 // általános beszéd
  11. #define SpeakTime 30000 // 30 másodpercenként fog általános dumát mondani
  12. #define ConnectMode 1 // köszönés (0=kikapcsolás)
  13. #define DisconnectMode 1 // elköszönés (0=kikapcsolás)
  14. #define WarningMode 1 // figyelmeztetés káromkodás esetén (0=kikapcsolás)
  15. #define AdminMode 0 // adminisztrálhatóság bekapcsolása. (0=kikapcsolás)
  16. #define Answer 1 // kérdés-felelet mód
  17.  
  18. #if AdminMode==1
  19. #include <zcmd>
  20. #endif
  21.  
  22. main() {
  23.     print(".:: Serverbot bY Gamestar ::.");
  24. }
  25.  
  26. new BotConnectMessages[][]={
  27. {"hello"},
  28. {"szia"},
  29. {"üdv"}
  30. //stb.
  31. };
  32.  
  33. new BotDisonnectMessages[][]={
  34. {"viszlát"},
  35. {"reméljük visszagyüssz"}
  36. //stb.
  37. };
  38.  
  39. new BotGeneralMessages[][]={
  40. {"hogy vagytok?"},
  41. {"valamit mondanom kell..."},
  42. {"unatkozom,és Ti?"}
  43. //stb.
  44. };
  45.  
  46. new BotWarningMessages[][]={
  47. {"vigyázz magadra fiam!"},
  48. {"vigyázz, mit beszélsz!"}
  49. //stb.
  50. };
  51.  
  52. new BlockedWords[][]={
  53. {"buzi"},
  54. {"fasz"},
  55. {"köcsög"},
  56. {"kurva"}
  57. //stb.
  58. };
  59.  
  60. new Answers[][]={
  61. //szöveg,mit válaszoljon rá
  62. {"ki vagy?",BOTNAME},
  63. {"hol laksz?","tanyán!"},
  64. {"asd","értelmes hozzászólás..."}
  65. };
  66.  
  67. new SpeakTimer;
  68. new WarnTimer;
  69.  
  70. public OnFilterScriptInit(){
  71.     #if SpeakGeneral==1
  72.     SpeakTimer=SetTimer("SpeakingBot",SpeakTime,1);
  73.     #endif
  74.     return 1;
  75. }
  76.  
  77. public OnFilterScriptExit(){
  78.     KillTimer(SpeakTimer);
  79.     return 1;
  80. }
  81.  
  82. public SpeakingBot();
  83. public SpeakingBot()return SpeakBot(2);
  84.  
  85. stock SpeakAnswer(text[])
  86. {
  87.     for(new x=0; x<sizeof(Answers); x++) if(strfind(text,Answers[x][0])) {
  88.         SpeakBotEx(Answers[x][1]);
  89.         break;
  90.     }
  91.     return 1;
  92. }
  93.  
  94. //ezzel a függvénnyel beszéltethetjük
  95. stock SpeakBot(type)
  96. {
  97.     new x;
  98.     for(x=0; x<GetMaxPlayers(); x++) if(IsPlayerConnected(x)) break;
  99.     switch(type) {
  100.         case 0: { // köszönés   
  101.             SpeakBotEx(BotConnectMessages[random(sizeof BotConnectMessages)][0]);
  102.         }
  103.         case 1: { // elköszönés
  104.             SpeakBotEx(BotDisonnectMessages[random(sizeof BotDisonnectMessages)][0]);
  105.         }
  106.         case 2: { // általános beszólogatások
  107.             SpeakBotEx(BotGeneralMessages[random(sizeof BotGeneralMessages)][0]);
  108.         }
  109.         case 3: { // figyelmeztetés
  110.             SpeakBotEx(BotWarningMessages[random(sizeof BotWarningMessages)][0]);
  111.         }  
  112.     }
  113.     return 1;
  114. }
  115.  
  116. // ezzel bármilyen szöveg elküldhető...
  117. stock SpeakBotEx(message[]) {
  118.     new x;
  119.     for(x=0; x<GetMaxPlayers(); x++) if(IsPlayerConnected(x))break;
  120.     new name[MAX_PLAYER_NAME];
  121.     GetPlayerName(x,name,sizeof(name));
  122.     SetPlayerName(x,BOTNAME);
  123.     SendPlayerMessageToAll(x,message);
  124.     SetPlayerName(x,name);
  125.     return 1;
  126. }
  127.  
  128. public OnPlayerConnect(playerid) {
  129.     #if ConnectMode==1
  130.     SpeakBot(0);
  131.     #endif
  132.     return 1;
  133. }
  134.  
  135. public OnPlayerDisconnect(playerid, reason) {
  136.     #pragma unused reason
  137.     #if DisconnectMode==1
  138.     SpeakBot(1);
  139.     #endif
  140.     return 1;
  141. }
  142.  
  143. public OnPlayerText(playerid,text[]) {
  144.     #if Answer==1
  145.     SpeakAnswer(text);
  146.     #endif
  147.     #if WarningMode==1
  148.     for(new x=0; x<sizeof(BlockedWords); x++) if(!strfind(text,BlockedWords[x][0])) if(!WarnTimer) WarnTimer=SetTimer("SpeakWarningToPlayer",2000,0);
  149.     #endif
  150.     return 1;
  151. }
  152.  
  153. public SpeakWarningToPlayer();
  154. public SpeakWarningToPlayer() {
  155.     WarnTimer=-1;
  156.     return SpeakBot(3);
  157. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement