Üdv van nekem GameStar Által írt chat botom:
http://pastebin.com/sFuaiEDz
#include <a_samp>
// bot szkriptm készítette Gamestar
// a botnak nincs egyedi színe, mivel a GetPlayerColor() hibás.
// ez a filterszkript nem volt tesztelve!
// az admin felület még fejlesztés alatt áll!
#define BOTNAME \"Szerverbot\" // a bot neve
#define SpeakGeneral 1 // általános beszéd
#define SpeakTime 30000 // 30 másodpercenként fog általános dumát mondani
#define ConnectMode 1 // köszönés (0=kikapcsolás)
#define DisconnectMode 1 // elköszönés (0=kikapcsolás)
#define WarningMode 1 // figyelmeztetés káromkodás esetén (0=kikapcsolás)
#define AdminMode 0 // adminisztrálhatóság bekapcsolása. (0=kikapcsolás)
#if AdminMode==1
#include <zcmd>
#endif
main() {
print(\".:: Serverbot bY Gamestar ::.\");
}
new BotConnectMessages[][]={
{\"hello\"},
{\"szia\"},
{\"üdv\"}
//stb.
};
new BotDisonnectMessages[][]={
{\"viszlát\"},
{\"reméljük visszagyüssz\"}
//stb.
};
new BotGeneralMessages[][]={
{\"hogy vagytok?\"},
{\"valamit mondanom kell...\"},
{\"unatkozom,és Ti?\"}
//stb.
};
new BotWarningMessages[][]={
{\"vigyázz magadra fiam!\"},
{\"vigyázz, mit beszélsz!\"}
//stb.
};
new BlockedWords[][]={
{\"buzi\"},
{\"fasz\"},
{\"köcsög\"},
{\"kurva\"}
//stb.
};
new SpeakTimer;
new WarnTimer;
public OnFilterScriptInit(){
#if SpeakGeneral==1
SpeakTimer=SetTimer(\"SpeakingBot\",SpeakTime,1);
#endif
return 1;
}
public OnFilterScriptExit(){
KillTimer(SpeakTimer);
return 1;
}
public SpeakingBot();
public SpeakingBot()return SpeakBot(2);
//ezzel a függvénnyel beszéltethetjük
stock SpeakBot(type)
{
new x;
for(x=0; x<GetMaxPlayers(); x++) if(IsPlayerConnected(x)) break;
switch(type) {
case 0: { // köszönés
SpeakBotEx(BotConnectMessages[random(sizeof BotConnectMessages)][0]);
}
case 1: { // elköszönés
SpeakBotEx(BotDisonnectMessages[random(sizeof BotDisonnectMessages)][0]);
}
case 2: { // általános beszólogatások
SpeakBotEx(BotGeneralMessages[random(sizeof BotGeneralMessages)][0]);
}
case 3: { // figyelmeztetés
SpeakBotEx(BotWarningMessages[random(sizeof BotWarningMessages)][0]);
}
}
return 1;
}
// ezzel bármilyen szöveg elküldhetõ...
stock SpeakBotEx(message[]) {
new x;
for(x=0; x<GetMaxPlayers(); x++) if(IsPlayerConnected(x))break;
new name[MAX_PLAYER_NAME];
GetPlayerName(x,name,sizeof(name));
SetPlayerName(x,BOTNAME);
SendPlayerMessageToAll(x,message);
SetPlayerName(x,name);
return 1;
}
public OnPlayerConnect(playerid) {
#if ConnectMode==1
SpeakBot(0);
#endif
return 1;
}
public OnPlayerDisconnect(playerid, reason) {
#pragma unused reason
#if DisconnectMode==1
SpeakBot(1);
#endif
return 1;
}
public OnPlayerText(playerid,text[]) {
#if WarningMode==1
for(new x=0; x<sizeof(BlockedWords); x++) if(!strfind(text,BlockedWords
- [0])) if(!WarnTimer) WarnTimer=SetTimer(\"SpeakWarningToPlayer\",2000,0);
#endif
return 1;
}
public SpeakWarningToPlayer();
public SpeakWarningToPlayer() {
WarnTimer=-1;
return SpeakBot(3);
}
Ezzel az a bug áll fent hogy PL : van fent 2 player és annak a nevét adja a másik playernak aki elöször csatlakozott fel
Más látja az igazi nevem de nekem annak a playernak a nevét írja ki aki elösször fent volt...
Ezt a bugot valaki kijavítaná??