Beiträge von luckyguy

    Ich habe mit gTeam Fraktionen gemacht. Es ist so, ich habe das problem, dass man zwischen den Fraktionen Switchen kann. gTeam und Skin werden bei mir Abgespeichert. Es ladet auch alles, doch wenn ich F4 Tippe und dann sterbe komm ich zum Request Class und kann mir einen anderen Skin aussuchen und bin dann bei dieser Fraktion. Kann ich i-wie machen, dass dann da steht z. B. "Du bist nicht bei dieser Fraktion". Und das nur Admins dich in eine Fraktion switchen können.


    gTeam wird bei mir so definiert:
    gClass[playerid] = classid;


    if(classid == 0) //wenn der Spieler den ersten Skin auswählt
    {
    gTeam[playerid] = TEAM_COPS;
    GameTextForPlayer(playerid,"~b~Cop",3000,6);
    }
    if(classid == 1) //wenn der Spieler den zweiten Skin auswählt
    {
    gTeam[playerid] = TEAM_COPS;
    GameTextForPlayer(playerid,"~b~Cop",3000,6);
    }
    if(classid == 2) //wenn der Spieler den dritten Skin auswählt
    {
    gTeam[playerid] = TEAM_COPS;
    GameTextForPlayer(playerid,"~b~Cop",3000,6);
    }
    if(classid == 3) //wenn der Spieler den dritten Skin auswählt
    {
    gTeam[playerid] = TEAM_COPS;
    GameTextForPlayer(playerid,"~b~Cop",3000,6);
    }
    //..... und so weiter


    Und das Adminsystem sieht etwa so aus:
    // z. B. der Befehl /tv bei mir mit dcmd unter onplayercommandtext


    dcmd(tv,2,cmdtext);


    dcmd_tv(playerid,params[])
    {
    new pID;
    if(sscanf(params,"u",pID))
    {
    return SendClientMessage(playerid,GREY,"Benutzung: /tv [ID]");
    }
    if(SpielerInfo[playerid][alvl]<1)
    {
    return SendClientMessage(playerid,GREY,"Du bist nicht Admin!");
    }
    else
    {
    if(SpielerInfo[playerid][alvl]
    {
    return SendClientMessage(playerid,GREY,"Du kannst diesen Befehl, nicht an einem höherrangiertem Admin ausführen!");
    }
    else
    {
    //----------Admin Nachricht----------//
    new name[MAX_PLAYER_NAME], string[256];
    GetPlayerName(pID, name, sizeof(name));
    format(string, sizeof(string), "Du beobachtest gerade %s", name );
    SendClientMessage(playerid, Orange, string);
    //das soll passieren
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, pID);
    SetPlayerInterior(playerid,GetPlayerInterior(pID));
    TogglePlayerControllable(playerid, 0);
    }
    }
    return 1;
    }


    Nun zum 2. ten Problem


    Ich habe eine Art Autohaus (Script folgt unten), und man kann sich die Autos kaufen, doch das Problem ist nur, ich kann die Autos kaufen, jedoch weiss ich nicht, wie man das abspeichern soll.


    Hier mein "Autokaufsys":

    // Ein GUI zum kaufen
    if (strcmp("/autokaufen", cmdtext, true) == 0)
    {
    if(PlayerToPoint(2, playerid, -1655.1520,1209.3284,7.2500))
    {
    new listitems[] = "Bullet\t\t1'000'000$\nAlpha\t\t500'000$\nBuffalo\t\t450'000$\nCheetah\t600'000$\nClub\t\t100'000$\nEuros\t\t350'000$\nInfernus\t650'000$\nJester\t\t200'000$\nPhoenix\t400'000$\nSuper GT\t450'000$\nTurismo\t750'000$";
    ShowPlayerDialog(playerid,21,DIALOG_STYLE_LIST,"Sportwagen:",listitems,"Kaufen","Verlassen");
    }
    else if(PlayerToPoint(2, playerid, -1660.5886,1209.2505,7.2500))
    {
    new listitems[] = "Bullet\t\t1'000'000$\nAlpha\t\t500'000$\nBuffalo\t\t450'000$\nCheetah\t600'000$\nClub\t\t100'000$\nEuros\t\t350'000$\nInfernus\t650'000$\nJester\t\t200'000$\nPhoenix\t400'000$\nSuper GT\t450'000$\nTurismo\t750'000$";
    ShowPlayerDialog(playerid,21,DIALOG_STYLE_LIST,"Sportwagen:",listitems,"Kaufen","Verlassen");
    }
    else
    {
    SendClientMessage(playerid, GREY,"Du bist nicht beim Sportwagen Autohaus!");
    SendClientMessage(playerid, GREY,"Soll ein Checkpoint gesetzt werden?");
    new listitems[] = "Ja\nNein";
    ShowPlayerDialog(playerid,22,DIALOG_STYLE_LIST,"Soll ein Checkpoint gesetzt werden?",listitems,"Auswählen","Abbrechen");
    }
    }


    //Wenn man das GUI wählt:


    if(dialogid == sportwagen)
    {
    if(listitem == 0)
    {
    if(GetPlayerMoney(playerid)<1000000)
    {
    SCM(playerid,GREY,"Du hast nicht genügend Geld!");
    }
    else
    {
    SCM(playerid,GREEN,"Du hast einen Bullet gekauft!");
    CreateVehicle(541,-1641.5223,1198.1002,6.8125,268.7027,60,1,0);
    GivePlayerMoney(playerid,-1000000);
    }
    }
    if(listitem == 1)
    {
    if(GetPlayerMoney(playerid)<500000)
    {
    SCM(playerid,GREY,"Du hast nicht genügend Geld!");
    }
    else
    {
    SCM(playerid,GREEN,"Du hast einen Alpha gekauft!");
    CreateVehicle(602,-1640.9813,1197.9481,6.9930,269.2044,75,77,0);
    GivePlayerMoney(playerid,-500000);
    }
    }
    if(listitem == 2)
    {
    if(GetPlayerMoney(playerid)<450000)
    {
    SCM(playerid,GREY,"Du hast nicht genügend Geld!");
    }
    else
    {
    SCM(playerid,GREEN,"Du hast einen Buffalo gekauft!");
    CreateVehicle(402,-1640.6342,1198.0740,7.0206,270.7130,30,30,0);
    GivePlayerMoney(playerid,-450000);
    }
    }
    if(listitem == 3)
    {
    if(GetPlayerMoney(playerid)<600000)
    {
    SCM(playerid,GREY,"Du hast nicht genügend Geld!");
    }
    else
    {
    SCM(playerid,GREEN,"Du hast einen Cheetah gekauft!");
    CreateVehicle(415,-1640.8995,1197.9735,6.9588,270.1981,36,1,0);
    GivePlayerMoney(playerid,-600000);
    }
    }
    //und so weiter.


    Jetzt noch wie mein Anmeldungsys funktioniert:
    enum SInfo
    {
    Passwort[256],
    Wanteds,
    Geld,
    alvl,
    Tode,
    Kills,
    Spawn,
    Jailtime,
    Banned,
    Skin,
    Car,
    gTeam,
    Reason[256],
    }


    if(dini_Exists(Spielerdatei))
    {
    new aname[MAX_PLAYER_NAME], string[256];
    GetPlayerName(playerid, aname, sizeof(aname));
    format(string, sizeof(string), "Test Server by luckyguy\nName: %s\nPasswort:", aname);
    ShowPlayerDialog(playerid, login, DIALOG_STYLE_INPUT, "LoggIn",string, "Login", "Kickme");
    }
    else if(!dini_Exists(Spielerdatei))
    {
    new aname[MAX_PLAYER_NAME], string2[256];
    GetPlayerName(playerid, aname, sizeof(aname));
    format(string2, sizeof(string2), "Test Server by luckyguy\nDein Name ist %s\nGib ein Passwort ein:", aname);
    ShowPlayerDialog(playerid, regis, DIALOG_STYLE_INPUT, "Registrierformular",string2, "Registrieren", "Kickme");
    }


    //Das zum registrieren und login GUI


    if(dialogid == login)
    {
    if(response == 1)
    {
    new Spielerdatei[256];
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Spielerdatei,sizeof(Spielerdatei),"/madAd/Users/%s.ini",SpielerName);
    passwort = dini_Get(Spielerdatei,"Passwort");
    if(strcmp(inputtext,passwort,false) == 0)
    {
    Anmelden(playerid);
    }
    else
    {
    FalschesPasswort[playerid] += 1;
    PasswortFalsch(playerid);
    }
    }
    }


    if(dialogid == regis)
    {
    if(response == 1)
    {
    new Spielerdatei[256];
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Spielerdatei,sizeof(Spielerdatei),"/madAd/Users/%s.ini",SpielerName);
    dini_Create(Spielerdatei);
    dini_Set(Spielerdatei,"Passwort",inputtext);
    dini_IntSet(Spielerdatei,"Wanteds",SpielerInfo[playerid][Wanteds]);
    dini_IntSet(Spielerdatei,"Geld",SpielerInfo[playerid][Geld]);
    dini_IntSet(Spielerdatei,"AdminLevel",SpielerInfo[playerid][alvl]);
    dini_IntSet(Spielerdatei,"gTeam",SpielerInfo[playerid][gTeam]);
    new GlueckWunschText[256];
    format(GlueckWunschText,sizeof(GlueckWunschText),"Du hast dich erfolgreich mit den Name : %s und dem Passwort : %s registriert",SpielerName,inputtext);
    SendClientMessage(playerid,Rot,GlueckWunschText);
    Anmelden(playerid);
    SendClientMessage(playerid,Rot,"Du wurdest automatisch eingloggt!");
    }
    }


    //und das Anmelden bei login ist ein public


    public Anmelden(playerid)
    {
    new Spielerdatei[256];
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Spielerdatei,sizeof(Spielerdatei),"/madAd/Users/%s.ini",SpielerName);
    SpielerInfo[playerid][Geld] = dini_Int(Spielerdatei,"Geld");
    SpielerInfo[playerid][Wanteds] = dini_Int(Spielerdatei,"Wanteds");
    SpielerInfo[playerid][alvl] = dini_Int(Spielerdatei,"AdminLevel");
    SpielerInfo[playerid][gTeam] = dini_Int(Spielerdatei,"gTeam");
    new plw = SpielerInfo[playerid][Wanteds];
    new plg = SpielerInfo[playerid][Geld];
    SetPlayerMoney(playerid,plg);
    SetPlayerWantedLevel(playerid,plw);
    SendClientMessage(playerid,Rot,"Willkommen!");
    Eingeloggt[playerid] = 1;
    new skin = dini_Int(Spielerdatei,"Skin");
    SetPlayerSkin(playerid,skin);
    SpawnPlayer(playerid);

    if(SpielerInfo[playerid][alvl] > 0)
    {
    new lgnshwscr = SpielerInfo[playerid][alvl];
    new AdminLevelShow[256];
    format(AdminLevelShow,sizeof(AdminLevelShow),"Dein Account besitzt Admin-Rechte Level %d!",lgnshwscr);
    SendClientMessage(playerid, Rot, AdminLevelShow);
    }

    return 1;
    }


    Bitte hilft mir

    Ich habe in meinem Selfmade Script ein Admin sys und habe den DCMD Befehl mit /tv zu machen, wodurch der Admin hinter dem Spieler sieht, welchen er angegeben hat, und kann z. B. wenn er sich dann portet bannen. Einfach der /tv Befehl soll den Admins helfen, die Cheater zu finden. So habe ich es mal probiert:
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    dcmd(tv,2,cmdtext);


    if(strcmp("/tvaus",cmdtext,true) == 0)
    {
    if(SpielerInfo[playerid][alvl]<1)
    {
    return SendClientMessage(playerid,GREY,"Du bist kein Admin!");


    }
    else
    {
    TogglePlayerControllable(playerid, 1);
    SetCameraBehindPlayer(playerid);
    }
    }
    }
    dcmd_tv(playerid,params[])
    {
    new pID;
    if(sscanf(params,"u",pID))
    {
    return SendClientMessage(playerid,GREY,"Benutzung: /tv [ID]");
    }
    if(SpielerInfo[playerid][alvl]<1) //alvl = Admin Level
    {
    return SendClientMessage(playerid,GREY,"Du bist nicht Admin!");
    }
    else
    {
    if(SpielerInfo[playerid][alvl]<SpielerInfo[pID][alvl])
    {
    return SendClientMessage(playerid,GREY,"Du kannst diesen Befehl, nicht an einem höherrangiertem Admin ausführen!");
    }
    else
    {
    //----------Admin Nachricht----------//
    new name[MAX_PLAYER_NAME], string[256];
    GetPlayerName(pID, name, sizeof(name));
    format(string, sizeof(string), "Du beobachtest gerade %s", name );
    SendClientMessage(playerid, Orange, string);
    //das soll passieren
    SetCameraBehindPlayer(pID);
    TogglePlayerControllable(playerid, 0);
    }
    }
    return 1;
    }


    Das Problem nur, wenn ich diesen Befehl mache funz nur SendClientMessage und das freezen. Der Rest funzt i-wie nicht

    Das geht leider nicht. Ich habs mal so:


    Das ist wenn man sich anmeldet:
    if(dialogid == login)
    {
    if(response == 1)
    {
    new Spielerdatei[256];
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Spielerdatei,sizeof(Spielerdatei),"/Spieler/%s.ini",SpielerName);
    passwort = dini_Get(Spielerdatei,"Passwort");
    if(strcmp(inputtext,passwort,false) == 0)
    {
    Anmelden(playerid);
    }
    else
    {
    FalschesPasswort[playerid] += 1;
    PasswortFalsch(playerid);
    }
    }
    }


    Hier das Anmelden(playerid); :
    public Anmelden(playerid)
    {
    new Spielerdatei[256];
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,SpielerName,sizeof(SpielerName));
    format(Spielerdatei,sizeof(Spielerdatei),"/Spieler/%s.ini",SpielerName);
    SpielerInfo[playerid][Geld] = dini_Int(Spielerdatei,"Geld");
    SpielerInfo[playerid][Wanteds] = dini_Int(Spielerdatei,"Wanteds");
    SpielerInfo[playerid][alvl] = dini_Int(Spielerdatei,"AdminLevel");
    new plw = SpielerInfo[playerid][Wanteds];
    new plg = SpielerInfo[playerid][Geld];
    SetPlayerMoney(playerid,plg);
    SetPlayerWantedLevel(playerid,plw);
    SendClientMessage(playerid,Rot,"Willkommen!");
    Eingeloggt[playerid] = 1;
    new skin = dini_Int(Spielerdatei,"Skin");
    SetPlayerSkin(playerid,skin);
    SpawnPlayer(playerid);
    }


    Pls. Help

    Ich habe ein Problem. Ich habe ein Login system mit GUI. Wenn ich das Passwort richtig eingebe, will ich eigentlich spawnen, sprich der Skin soll abgespeichert werden und danach auch geladen. Das ist kein Problem, jedoch wenn ich jetzt mein PW richtig eingegeben habe, komm ich immer zum RequestClass, also diesem "Menü", wo man den Skin wählen kann. Kann ich das umgehen??


    Pls Help

    Ich habe in meinem Selfmade Script ein Admin sys und habe den DCMD Befehl mit /tv zu machen, wodurch der Admin hinter dem Spieler sieht, welchen er angegeben hat, und kann z. B. wenn er sich dann portet bannen. Einfach der /tv Befehl soll den Admins helfen, die Cheater zu finden. So habe ich es mal probiert:
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    dcmd(tv,2,cmdtext);


    if(strcmp("/tvaus",cmdtext,true) == 0)
    {
    if(SpielerInfo[playerid][alvl]<1)
    {
    return SendClientMessage(playerid,GREY,"Du bist kein Admin!");


    }
    else
    {
    TogglePlayerControllable(playerid, 1);
    SetCameraBehindPlayer(playerid);
    }
    }
    }
    dcmd_tv(playerid,params[])
    {
    new pID;
    if(sscanf(params,"u",pID))
    {
    return SendClientMessage(playerid,GREY,"Benutzung: /tv [ID]");
    }
    if(SpielerInfo[playerid][alvl]<1) //alvl = Admin Level
    {
    return SendClientMessage(playerid,GREY,"Du bist nicht Admin!");
    }
    else
    {
    if(SpielerInfo[playerid][alvl]<SpielerInfo[pID][alvl])
    {
    return SendClientMessage(playerid,GREY,"Du kannst diesen Befehl, nicht an einem höherrangiertem Admin ausführen!");
    }
    else
    {
    //----------Admin Nachricht----------//
    new name[MAX_PLAYER_NAME], string[256];
    GetPlayerName(pID, name, sizeof(name));
    format(string, sizeof(string), "Du beobachtest gerade %s", name );
    SendClientMessage(playerid, Orange, string);
    //das soll passieren
    SetCameraBehindPlayer(pID);
    TogglePlayerControllable(playerid, 0);
    }
    }
    return 1;
    }


    Das Problem nur, wenn ich diesen Befehl mache funz nur SendClientMessage und das freezen. Der Rest funzt i-wie nicht. Pls help

    Ich habe für die Cops den Befehl /duty schon gemacht, doch ich will, dass sie nur in den Copfahrzeugen on duty können und auch off duty. Ich möchte am liebsten z. B. wie "if(IsPlayerInVehicle...)" einfach in if(IsPlayerInModel) oder sowas, wenn sowas existiert. Und kann ich auch, dass man wenn man schon on duty ist, und nochmals /duty macht, dass dann die waffen weggehen und nicht nochmals die Waffen bekommen. Momentaner Script zu Duty:


    if(strcmp("/duty", cmdtext, true) == 0)
    {
    if(gTeam[playerid] == TEAM_ARMY)
    {
    new name[MAX_PLAYER_NAME], string[48];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), "Soldat %s ist im Dienst.", name );
    SendDistancedClientMessage(playerid, 40,string, 0x800080AA,0x800080AA,0x800080AA,0x800080AA,0x800080AA);
    SetPlayerColor(playerid, 0x33AA33AA);
    SetPlayerArmour(playerid, 100.0);
    GivePlayerWeapon(playerid, 16, 10);
    GivePlayerWeapon(playerid, 29, 500);
    GivePlayerWeapon(playerid, 31, 500);
    }
    else if(gTeam[playerid] == TEAM_COPS)
    {
    new name[MAX_PLAYER_NAME], string[48];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), "Polizist %s ist im Dienst.", name );
    SendDistancedClientMessage(playerid, 40,string, 0x800080AA,0x800080AA,0x800080AA,0x800080AA,0x800080AA);
    SetPlayerColor(playerid, BLUE);
    SetPlayerArmour(playerid, 100.0);
    GivePlayerWeapon(playerid, 24, 100);
    GivePlayerWeapon(playerid, 41, 500);
    GivePlayerWeapon(playerid,3, 1);
    }
    else if(gTeam[playerid] == TEAM_SWAT)
    {
    new name[MAX_PLAYER_NAME], string[48];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), "SWAT Mitglied %s ist im Dienst.", name );
    SendDistancedClientMessage(playerid, 40,string, 0x800080AA,0x800080AA,0x800080AA,0x800080AA,0x800080AA);
    SetPlayerColor(playerid,COLOUR_BLUE);
    SetPlayerArmour(playerid, 100.0);
    GivePlayerWeapon(playerid, 29, 200);
    GivePlayerWeapon(playerid, 30, 200);
    GivePlayerWeapon(playerid,31, 100);
    GivePlayerWeapon(playerid,34, 50);
    }
    else
    {
    GameTextForPlayer(playerid,"Du bist kein Soldat/Cop/S.W.A.T. Mitglied!",1000,1);
    }
    }


    Momentaner Script zu Off Duty:


    if(strcmp("/offduty",cmdtext,true) == 0)
    {
    if(gTeam[playerid] == TEAM_ARMY)
    {
    new name[MAX_PLAYER_NAME], string[48];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), "Soldat %s macht Feierabend.", name );
    SendDistancedClientMessage(playerid, 40,string, 0x800080AA,0x800080AA,0x800080AA,0x800080AA,0x800080AA);
    SetPlayerArmour(playerid,0);
    SetPlayerColor(playerid,COLOR_WHITE);
    ResetPlayerWeapons(playerid);
    }
    else if(gTeam[playerid] == TEAM_COPS)
    {
    new name[MAX_PLAYER_NAME], string[48];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), "Polizist %s macht Feierabend.", name );
    SendDistancedClientMessage(playerid, 40,string, 0x800080AA,0x800080AA,0x800080AA,0x800080AA,0x800080AA);
    SetPlayerArmour(playerid,0);
    SetPlayerColor(playerid,COLOR_WHITE);
    ResetPlayerWeapons(playerid);
    }
    else if(gTeam[playerid] == TEAM_SWAT)
    {
    new name[MAX_PLAYER_NAME], string[48];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), "SWAT Mitglied %s macht Feierabend.", name );
    SendDistancedClientMessage(playerid, 40,string, 0x800080AA,0x800080AA,0x800080AA,0x800080AA,0x800080AA);
    SetPlayerArmour(playerid,0);
    SetPlayerColor(playerid,COLOR_WHITE);
    ResetPlayerWeapons(playerid);
    }
    else
    {
    GameTextForPlayer(playerid,"Du bist kein Soldat/Polizist/S.W.A.T. Mitglied!",3000,1);
    }
    }


    Bitte helft mir

    Wie muss das hin kommen??


    Ich habs mal probiert:
    public OnPlayerText(playerid, text[])
    {
    warns[playerid] ++;
    if(warns == 4) // Zeile 829
    {
    Ban(playerid),
    return 0;
    }
    for(new i=0;i<sizeof(SchimpfWort);i++)
    {
    if(strfind(text,SchimpfWort[i],true) != -1)
    {
    new name[MAX_PLAYER_NAME], string[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), "Swiss-Reallife: Kicke %s, Grund: Beleidigen", name );
    SendClientMessageToAll(RED, string);
    GameTextForPlayer(playerid,"~r~Du hast beleidigt und wurdest gekickt!",99999999,4);
    Kick(playerid);
    }
    return 1;
    }
    return 1;
    }


    bekomme aber folgende Errors:


    C:\DOCUME~1\ADMINI~1\Desktop\gta.sa\Script\Windows\GAMEMO~1\REGIST~1.PWN(829) : error 033: array must be indexed (variable "warns")
    C:\DOCUME~1\ADMINI~1\Desktop\gta.sa\Script\Windows\GAMEMO~1\REGIST~1.PWN(831) : error 017: undefined symbol "kick"
    C:\DOCUME~1\ADMINI~1\Desktop\gta.sa\Script\Windows\GAMEMO~1\REGIST~1.PWN(831 -- 832) : error 029: invalid expression, assumed zero
    C:\DOCUME~1\ADMINI~1\Desktop\gta.sa\Script\Windows\GAMEMO~1\REGIST~1.PWN(832) : warning 215: expression has no effect
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Errors.


    Danach mal so probiert:


    public OnPlayerText(playerid, text[])
    {
    for(new i=0;i<sizeof(SchimpfWort);i++)
    {
    if(strfind(text,SchimpfWort[i],true) != -1)
    {
    new name[MAX_PLAYER_NAME], string[256];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), "Swiss-Reallife: Kicke %s, Grund: Beleidigen", name );
    SendClientMessageToAll(RED, string);
    GameTextForPlayer(playerid,"~r~Du hast beleidigt und wurdest gekickt!",99999999,4);
    Kick(playerid);
    warns[playerid] ++;
    if(warns == 4) // Zeile 839
    {
    Ban(playerid),
    return 0;
    }
    }
    return 1;
    }
    }


    Dazu folgende Errors:


    C:\DOCUME~1\ADMINI~1\Desktop\gta.sa\Script\Windows\GAMEMO~1\REGIST~1.PWN(839) : error 033: array must be indexed (variable "warns")
    C:\DOCUME~1\ADMINI~1\Desktop\gta.sa\Script\Windows\GAMEMO~1\REGIST~1.PWN(841 -- 842) : error 029: invalid expression, assumed zero
    C:\DOCUME~1\ADMINI~1\Desktop\gta.sa\Script\Windows\GAMEMO~1\REGIST~1.PWN(842) : warning 215: expression has no effect
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.


    Pls Help

    (playerid, Float:radi, string[],col1,col2,col3,col4,col5);


    sorry mein Fehler. Hab es jetzt dementsprechend umgeändert. Ich teste es mal.


    Danke @ all nochmals


    //Edit: Es bugt 8D. Hier die Zeilen nochmals korrigiert:
    public OnPlayerText(playerid, text[])
    {
    if (Umgebungschat)
    {
    new msg[256];
    new aname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, aname, sizeof(aname));
    format(msg, sizeof(msg), "%s sagt: %s", aname, msg);
    SendDistancedClientMessage(playerid,20.0,msg,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,GREY,GREY);
    }
    return 1;
    }


    Und habe noch Screen wie es ingame aussieht:


    Danke @ all. Ich werde es Testen.


    @ 8D: Ich bekomme folgenden Warn:
    C:\DOCUME~1\ADMINI~1\Desktop\gta.sa\Script\Windows\GAMEMO~1\REGIST~1.PWN(811) : warning 213: tag mismatch
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.


    Ich habe da nur für mich entsprechend umgeändert. Hier die Zeilen:
    public OnPlayerText(playerid, text[])
    {
    if (Umgebungschat)
    {
    new msg[256];
    new aname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, aname, sizeof(aname));
    format(msg, sizeof(msg), "((%s: %s))", aname, msg);
    SendDistancedClientMessage(20.0, playerid, msg,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE,COLOR_WHITE); //Zeile 811
    }
    return 1;
    }


    Bei mir ging ProxDetector nicht, also habe ich dieses Incl runtergeladen und es mit SendDistancedClientMessage ersetzt.

    Leider hilft mir das was du gepostet hast nix BlackFox UD. Es sendet die Nachricht nur an sich selber und nicht an Alle ADAC Member. Ich habs mal mit DCMD probiert:


    dcmd(f,1,cmdtext); // unter OnPlayerCommandText


    dcmd_f(playerid,params[])
    {
    new fmsg[256];
    if(sscanf(params,"s",fmsg))
    {
    return SCM(playerid,GREY,"Benutzung: /f [Text]");
    }
    else
    {
    if(gTeam[playerid] == TEAM_ADAC)
    {
    new format_me[128],name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof name);
    format(format_me,sizeof format_me,"Mechaniker %s: %s",name,fmsg);
    SendClientMessage(playerid,0x33CCFFAA,format_me);
    }
    }
    }


    Diese Nachricht sendet nur für diesen Spieler und ist daher für mich unbrauchlich.


    Pls jmd. Help.

    Danke vielmals, doch es hat noch Errors i-wie.


    C:\DOCUME~1\ADMINI~1\Desktop\gta.sa\Script\Windows\GAMEMO~1\REGIST~1.PWN(825) : error 035: argument type mismatch (argument 2)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    Die dazugehörnde Zeilen:
    public OnPlayerText(playerid, text[])
    {
    if(strlen(text))
    {
    if(text[0]=='f') //wenn ein Spieler f vor dem Text benutzt
    {
    if(gTeam[playerid] == TEAM_ADAC)
    {
    SendClientMessage(0x33CCFFAA,"ADAC Member %s: %s",PlayerName[playerid],text[1]); //Zeile 825
    return 0;
    }
    }
    }
    return 1;
    }
    Und wäre das dann "/f [text]" oder "f [text]"??


    Und zum andern: Ich habe das mit O (OOC) Chat mit dcmd hinbekommen, doch wenn ich einfach schreibe, also z. b. "hallo", dann sehen dass alle und es soll so sein, "Hallo" soll man sehen im Radius von 50 und "/o hallo" sieht jeder. /o habe ich bereits hinbekommen, doch wie nehme ich das andere Raus? Und wo muss ich das mit

    Zitat

    "SendDistancedClientMessage"

    einfügen??


    Gruss
    luckyguy

    Ich habe jetzt in meinem normalen Script ein Autokaufsys reingebracht, doch wird nicht abgespeichert. Ist ja logisch, weil ich dazu noch kein Script reingetan habe. Kann mir mal einer dazu helfen??


    Also hier mein Autokaufsys:


    #define sportwagen 21



    //Das ganze unter OnPlayerCommandText
    if (strcmp("/autokaufen", cmdtext, true) == 0)
    {
    if(PlayerToPoint(2, playerid, -1655.1520,1209.3284,7.2500))
    {
    new listitems[] = "Bullet\t1'000'000$\nAlpha\t500'000$\nBuffalo\t450'000$\nCheetah\t600'000$\nClub\t100'000$\nEuros\t350'000$\nInfernus\t650'000$\nJester\t200'000$\nPhoenix\t400'000$\nSuper GT\t450'000$\nTurismo\t750'000$";
    ShowPlayerDialog(playerid,21,DIALOG_STYLE_LIST,"Sportwagen:",listitems,"Kaufen","Verlassen");
    }
    else if(PlayerToPoint(2, playerid, -1660.5886,1209.2505,7.2500))
    {
    new listitems[] = "Bullet\t1'000'000$\nAlpha\t 500'000$\nBuffalo\t450'000$\nCheetah\t600'000$\nClub\t100'000$\nEuros\t350'000$\nInfernus\t650'000$\nJester\t200'000$\nPhoenix\t400'000$\nSuper GT\t450'000$\nTurismo\t750'000$";
    ShowPlayerDialog(playerid,21,DIALOG_STYLE_LIST,"Sportwagen:",listitems,"Kaufen","Verlassen");
    }
    else
    {
    SendClientMessage(playerid, GREY,"Du bist nicht beim Sportwagen Autohaus!");
    SendClientMessage(playerid, GREY,"Soll ein Checkpoint gesetzt werden?");
    new listitems[] = "Ja\nNein";
    ShowPlayerDialog(playerid,22,DIALOG_STYLE_LIST,"Soll ein Checkpoint gesetzt werden?",listitems,"Auswählen","Abbrechen");
    }
    }



    // Das ganze utner public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    if(dialogid == sportwagen)
    {
    if(listitem == 0)
    {
    if(GetPlayerMoney(playerid)<1000000)
    {
    SCM(playerid,GREY,"Du hast nicht genügend Geld!");
    }
    else
    {
    SCM(playerid,GREEN,"Du hast einen Bullet gekauft!");
    CreateVehicle(541,-1641.5223,1198.1002,6.8125,268.7027,60,1,0);
    }
    }
    if(listitem == 1)
    {
    if(GetPlayerMoney(playerid)<500000)
    {
    SCM(playerid,GREY,"Du hast nicht genügend Geld!");
    }
    else
    {
    SCM(playerid,GREEN,"Du hast einen Alpha gekauft!");
    CreateVehicle(602,-1640.9813,1197.9481,6.9930,269.2044,75,77,0);
    }
    }
    if(listitem == 2)
    {
    if(GetPlayerMoney(playerid)<450000)
    {
    SCM(playerid,GREY,"Du hast nicht genügend Geld!");
    }
    else
    {
    SCM(playerid,GREEN,"Du hast einen Buffalo gekauft!");
    CreateVehicle(402,-1640.6342,1198.0740,7.0206,270.7130,30,30,0);
    }
    }
    if(listitem == 3)
    {
    if(GetPlayerMoney(playerid)<600000)
    {
    SCM(playerid,GREY,"Du hast nicht genügend Geld!");
    }
    else
    {
    SCM(playerid,GREEN,"Du hast einen Cheetah gekauft!");
    CreateVehicle(415,-1640.8995,1197.9735,6.9588,270.1981,36,1,0);
    }
    }
    if(listitem == 4)
    {
    if(GetPlayerMoney(playerid)<100000)
    {
    SCM(playerid,GREY,"Du hast nicht genügend Geld!");
    }
    else
    {
    SCM(playerid,GREEN,"Du hast einen Club gekauft!");
    CreateVehicle(589,-1641.5243,1197.6931,6.8456,271.9315,23,23,0);
    }
    }
    if(listitem == 5)
    {
    if(GetPlayerMoney(playerid)<350000)
    {
    SCM(playerid,GREY,"Du hast nicht genügend Geld!");
    }
    else
    {
    SCM(playerid,GREEN,"Du hast einen Euros gekauft!");
    CreateVehicle(587,-1641.0221,1198.0316,6.9142,271.7734,43,1,0);
    }
    }
    if(listitem == 6)
    {
    if(GetPlayerMoney(playerid)<650000)
    {
    SCM(playerid,GREY,"Du hast nicht genügend Geld!");
    }
    else
    {
    //..... und so weiter



    Kann ich es jetzt so machen, dass es abgespeichert wird???, oder muss das ganze ins madAd Admin sys rein??


    //Edit: Kann ich es auch machen, dass der Skin abgespeichert wird???

    Zu 1: Versuchs mal mit MTA, dort kannst du alles auf der San Andreas Welt gleich drauf mappen.


    Zu 2: Wenn du MTA bentzt, werden alle Daten in einem Ordner gespeichert. (-> Meistens unter: C:\Program Files\MTA San Andreas\mods\map_editor\maps) Mach den Map, den du gemappt hast mit Editor auf und kopiere alles und füge alles anschliessend unter http://convertffs.com/objects/ ein. Dann auf Covert my Objects , dann bekommst du alles in CreateObject(modelid,x,y,z,rotx,roty,rotz);//
    Jetzt einfach alles in dein Script unter OnGameModeInit einfügen.


    Zu 3: Alles sollte dann bei dem gewünschten Platz erscheinen. ;)


    Bei Fragen, antworte ich gerne noch PN's.


    Gruss
    luckyguy

    Ich bin ein Selfmade Scripter und scripte jetzt eine kleine Weile. Ich habe Fraktionen mit gTeam erstellt. Meine Fragen:


    1. Wie kann ich ein Fraktionschat machen, also mit /r, /d oder /f??


    2. Wenn ich einfach schreibe, dann können das alle lesen. Ich möchte, dass nur z. B. im Radius von 30 es lesen können und die im Radius von 50 noch in Grau lesen können. Und noch damit doch jeder mit dem anderen Komunizieren kann einen OOC Chat.


    pls Help.


    Gruss
    luckyguy