Beiträge von Indec

    Ich habe ein Problem, und zwar das ein Befehl im Script irgendwie immer kommt, auch wenn man /f eingibt.

    if(!strcmp(cmdtext, "/s", 2, true))
    {
    if(IstSpielerInFraktion(playerid, 1))
    {
    if(!strlen(cmdtext[2])) return SendClientMessage(playerid, 0xFF0000FF, "Benutze: /s [Text]");
    else
    {
    if(cmdtext[2] == ' ')
    {
    if(!strlen(cmdtext[3])) return SendClientMessage(playerid, 0xFF0000FF, "Benutze: /s [Text]");
    else
    {
    new str[128];
    GetPlayerName(playerid, str, sizeof(str));
    format(str, sizeof(str), "%s schreit: %s", str, cmdtext[3]);
    return SendClientMessageToAll(COLOR_YELLOW, str);
    }
    }
    }
    }
    }
    if(!strcmp(cmdtext, "/a", 2, true))
    {
    if(IstSpielerAdmin(playerid, 1))
    {
    if(!strlen(cmdtext[2])) return SendClientMessage(playerid, 0xFF0000FF, "Benutze: /a [Adminchat]");
    else
    {
    if(cmdtext[2] == ' ')
    {
    if(!strlen(cmdtext[3])) return SendClientMessage(playerid, 0xFF0000FF, "Benutze: /a [Adminchat]");
    else
    {
    new adminname2[64];
    switch(sSpieler[playerid][Adminlevel])
    {
    case 1:{adminname2="Supporter";}
    case 2:{adminname2="Probe-Moderator";}
    case 3:{adminname2="Moderator";}
    case 4:{adminname2="Super-Moderator";}
    case 5:{adminname2="Administrator";}
    case 6:{adminname2="Full Admin";}
    case 7:{adminname2="Head-Admin";}
    case 8:{adminname2="Serverleitung";}
    }
    new str[128];
    GetPlayerName(playerid, str, sizeof(str));
    format(str, sizeof(str), "*%s %s: %s",adminname2,str, cmdtext[3]);
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IstSpielerAdmin(i, 1))
    {
    SendClientMessage(i,0xFFC800FF, str);
    }
    }
    }
    return 1;
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid, 0xFF0000FF, "Du bist kein Teammitglied!");
    return 1;
    }
    }
    if(!strcmp(cmdtext, "/f", 2, true))
    {
    if(IsACop(playerid))
    {
    if(!strlen(cmdtext[2])) return SendClientMessage(playerid, 0xFF0000FF, "Verwendung: /f(unk) [Nachricht]");
    else
    {
    if(cmdtext[2] == ' ')
    {
    if(!strlen(cmdtext[3])) return SendClientMessage(playerid, 0xFF0000FF, "Verwendung: /f(unk) [Nachricht]");
    else
    {
    new coprang[64];
    switch(sSpieler[playerid][Rang])
    {
    case 1:{coprang="Police Cadet";}
    case 2:{coprang="Police Officer";}
    case 3:{coprang="Police Seargent";}
    case 4:{coprang="Police Lieutenant";}
    case 5:{coprang="Police Commander";}
    case 6:{coprang="Police Chief";}
    }
    new str[128];
    GetPlayerName(playerid, str, sizeof(str));
    format(str, sizeof(str), "~> SF %s %s(Funk): %s",coprang,str, cmdtext[3]);
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsACop(i))
    {
    SendClientMessage(i,0x01FCFFC8, str);
    }
    }
    }
    return 1;
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid, 0xFF0000FF, "Du bist kein Teammitglied!");
    return 1;
    }
    }




    Das Problem: Es kommt immer das Adminchat? Was soll ich machen?



    /edit egal ob ich /i /o oder so eingebe es kommt immer Adminchat :thumbdown:

    Bitte für cmdtext.



    Habe das versucht, aber da kommt wenn man alles richtig macht nichts.

    if (strcmp("/adminprison", cmdtext, true, 10) == 0)
    {
    if(!IstSpielerAdmin(playerid,1)) return SendClientMessage(playerid,COLOR_RED,"Zugriff verweigert! Du benötigst mindestens den Adminrang: {00A500}Supporter ");
    new pID,Grund[28],zeit,string[128],string2[128];
    if(sscanf(cmdtext,"ui",pID,zeit,Grund)) return SendClientMessage(playerid,COLOR_RED,"Benutzung: /adminprision [playerid] [Zeit] [Grund]");
    SetPlayerPos(pID,1218.4226,2552.8484,10.8203);
    new admin[MAX_PLAYER_NAME+1];
    GetPlayerName(playerid, admin, sizeof(admin));
    format(string, sizeof(string), "*Du wurdest von %s für %d Minuten ins Adminprison teleportiert, Grund: %s ", admin,zeit,Grund);
    SendClientMessage(pID, COLOR_RED, string);


    return 1;
    }

    Hallo, liebe Com, wie mache ich
    das man bei /adminprison einen Grund angeben kann?


    Eigentlich weiß ich wie man mit sccanf arbeitet, aber in diesem CMD ist alles durcheinander. :(

    if(!strcmp("/adminprison", cmd, true))
    {
    if(!IstSpielerAdmin(playerid, 1)) return SendClientMessage(playerid,COLOR_RED,"Zugriff verweigert! Du benötigst mindestens den Adminrang: {00A500}Supporter ");
    tmp = strtok(cmdtext,idx);
    if(!tmp[0]) return SendClientMessage(playerid,ADMINFS_MESSAGE_COLOR,"Benutze: /adminprison [ID] [Zeit]");
    new id = strval(tmp);
    if(!IsPlayerConnected(id)) return SendClientMessage(playerid,COLOR_RED,"~> Spieler nicht gefunden.");
    tmp = strtok(cmdtext,idx);
    new zeit = strval(tmp);
    if(zeit < 0 || zeit > 300) return SendClientMessage(playerid,COLOR_WHITE," Zeit nur zwischen 0 und 300 Minuten!");
    //gMessage = strrest(cmdtext,idx); //WAS DAS?!
    sSpieler[id][Adminprison] = zeit; //Hier das was Gesetzt werden soll (Funktioniert nicht!)
    SetPlayerPos(id,1218.4226,2552.8484,10.8203);
    SetTimerEx("ajailtimer", 10, 1, "i", id); //Den Timer evtl überarbeiten
    //SetTimer("ajailtimer", 10, 0);
    new admin[MAX_PLAYER_NAME+1], string[120+MAX_PLAYER_NAME+1];
    GetPlayerName(playerid, admin, sizeof(admin));
    new adminprisontime = sSpieler[playerid][Adminprison];
    format(string, sizeof(string), "*Du wurdest von %s für %d Minuten ins Adminprison teleportiert, Grund: (Hier der Grund) ", admin,adminprisontime);
    SendClientMessage(id, COLOR_RED, string);
    SendClientMessage(playerid,COLOR_GREEN,"~> Spieler wurde ins Adminprison teleportiert!");
    return 1;
    }



    Danke im Voraus :)


    Du musst es noch anpassen und die Errors kann ich nichr riechen musst sie schon Posten.


    C:\Users\Luci\Desktop\Selfmade by DirectX\Script\gamemodes\rp.pwn(5275) : error 017: undefined symbol "max_players"
    C:\Users\Luci\Desktop\Selfmade by DirectX\Script\gamemodes\rp.pwn(5290) : error 017: undefined symbol "id"







    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.


    Funktioniert nicht, bekomme jetzt auch Fehler mit .dini

    Guten Abend, ich habe versucht ein Kopfgeld - System zu Scripten, und das funktionierte auch, doch dann ist irgendeine Klammer oder ein return falsch, und jetzt Stehen überall Fehler mit undefined...


    public OnPlayerDeath(playerid, killerid, reason)
    {
    SpielerSpeichern(playerid);
    if(killerid != INVALID_PLAYER_ID) // [Anti-SDM]
    {
    if(sSpieler[playerid][Contracted] == 0)
    {
    ShowPlayerDialog(killerid,DIALOG_ANTISDM,DIALOG_STYLE_INPUT,"Mordgrund [Anti-SDM]","Du hast einen Spieler getötet! Bitte gebe den Grund dafür an! \n Falls der Mord nur SDM war, kommst du ins Adminprison!","Senden","Prison");
    new Name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Name,MAX_PLAYER_NAME);
    new killername[MAX_PLAYER_NAME];
    GetPlayerName(killerid,killername,MAX_PLAYER_NAME);
    new string[180];
    format(string,sizeof(string),"~>[Anti-SDM] {FFFFFF}Spieler %s hat den Spieler %s getötet!",killername,Name);
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IstSpielerAdmin(playerid, 1))
    {
    SendClientMessage(i, COLOR_RED, string);
    //SendClientMessage(i,COLOR_RED,"~>[Anti-SDM] {FFFFFF}...Warte auf Mordgrund...");
    }
    }
    }
    else
    {
    GameTextForPlayer(id,"~r~DU HATTEST KOPFGELD!",4000,3);
    SendClientMessage(playerid,COLOR_RED,"[CONTRACT] {FFFFFF}Du wurdest getötet, und hattest einen Contract!");
    SendClientMessage(playerid,COLOR_RED,"[CONTRACT] {FFFFFF}Der Mörder wird nicht ins Adminprison kommen!");
    GivePlayerMoney(killerid, sSpieler[playerid][Kopfgeld]);
    new string[190];
    format(string, sizeof(string), "~r~Auftrag erfüllt");
    GameTextForPlayer(killerid, string, 5000, 1);
    return 1;
    }
    }
    }

    Hallo, ich habe einen Fehler bei /m



    Wenn ich egal was zum Beispiel /mwggw eingebe dann kommt dort


    Direct(Megaphone)wggw



    Wie kann ich das verändern?



    if(!strcmp(cmdtext, "/m", true, 2))
    {
    if(IstSpielerInFraktion(playerid, 1))
    {
    if(!cmdtext[2])return SendClientMessage(playerid, COLOR_BLUE, "Benutze: /m [Aufforderung]");
    new str[128];
    GetPlayerName(playerid, str, sizeof(str));
    format(str, sizeof(str), "%s(Megaphone): %s", str, cmdtext[3]);
    SendClientMessageToAll(COLOR_YELLOW, str);
    return 1;
    }
    }

    Hi, Com ich habe eine Frage.


    Bei OnPlayerSpawn soll der Spieler wenn er gebannt ist, nicht in der Basis spawnen aber irgendwie tut er es doch?
    Ist eine Klammer falsch gesetzt oder was habe ich falsch gemacht?


    public OnPlayerSpawn(playerid)
    {
    SetPlayerScore(playerid, sSpieler[playerid][Adminlevel]);
    ResetPlayerMoney(playerid);
    ResetPlayerWeapons(playerid);
    StopAudioStreamForPlayer(playerid); // Stop the audio stream
    SpielerLaden(playerid);
    TextDrawHideForPlayer(playerid, NGRSERVER);
    if(sSpieler[playerid][Banned] == 1)
    {
    SetTimerEx("rekick",60,0,"i",playerid);
    SetPlayerInterior(playerid,0);
    SetPlayerCameraPos(playerid, -2281.7173,82.0833,74.7330);
    SetPlayerCameraLookAt(playerid, -2299.2324,119.7863,74.7330);
    TogglePlayerControllable(playerid,0);
    TextDrawShowForPlayer(playerid,BANNED);
    TextDrawHideForPlayer(playerid, NEULING);
    new IDName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,IDName,sizeof(IDName));
    new Pfad[60];
    format(Pfad,60,"/Spieler/%s.txt",IDName);
    //dini_Get(Pfad,"Bangrund"));
    new str[900];
    format(str,sizeof(str),"{FFFFFF}Du wurdest von {FF9933}%s{FFFFFF} gebannt, Grund: {FF9933}%s{FFFFFF}\n\nWenn du dich ungerecht behandelt fühlst,\noder du gar nichts gemacht hast, bitten wir dich im Forum\neinen Entbannantrag zu schreiben!\n\n{FF0000}>>Im Falle das du gehackt hast, besteht keine Chance auf einen Entbann!\n\n{FFFFFF}Forum: {FF9933}ngr.epicmine.eu",dini_Get(Pfad,"Gebanntvon"),dini_Get(Pfad,"Bangrund"));
    ShowPlayerDialog(playerid, DIALOG_GEBANNT, DIALOG_STYLE_MSGBOX, "Du wurdest gebannt!",str,"OK","");

    }
    if(sSpieler[playerid][Banned] == 2)
    {
    ShowPlayerDialog(playerid, DIALOG_GEBANNT, DIALOG_STYLE_MSGBOX, "Fehlermeldung", "{FFFFFF}Dein Benutzeraccount wurde automatisch vom {FF9933}Server{FFFFFF} gesperrt!\n\nDies kann Gründe haben, das du unerlaubte Modifikationen benutzt hast!\n\nWenn dich die Server-Guard ungerecht gebannt hat\nbitten wir dich im Forum\neinen Entbannantrag zu schreiben!\n\nIm Falle das du wirlich gehackt hast, besteht keine Chance auf einen Entbann!\n\nForum: {FF9933}ngr.epicmine.eu","OK","");
    //SetTimer("publicBan", 100, 0);
    SetTimerEx("reban",100,0,"i",playerid);


    }
    else
    {
    if(sSpieler[playerid][Fraktion] == 0)
    {
    SetPlayerColor(playerid, 0xFFFFFF00); //Normal/Weiss
    SetPlayerPos(playerid,-2764.9133,375.7186,6.3426);
    //SendClientMessage(playerid,COLOR_GREEN,"[Spawn] {FFFFFF}Du bist am Zivilistenspawn gespawnt!");
    SetPlayerArmour(playerid, 100);
    //SetPlayerSkin(playerid, 26);
    SetPlayerSkin(playerid, sSpieler[playerid][Skin]); //26
    SetPlayerFacingAngle( playerid, 267.25 ); //Player faces north
    SetPlayerInterior(playerid,0);
    if(sSpieler[playerid][Tutorial] == 0)
    {
    //PlayAudioStreamForPlayer(playerid, "");
    //SendClientMessage(playerid,COLOR_WHITE,"---------------------------------------------------------------------------------------");
    //SendClientMessage(playerid,NGR,"Wikommen auf New Generation Roleplay!");
    //SendClientMessage(playerid,NGR,"Um anzufangen, mache bitte erst einmal das Tutorial!");
    //SendClientMessage(playerid,NGR,"Dazu laufe einfach in den roten Checkpoint!");
    //SendClientMessage(playerid,NGR,"Falls du wärend des Tutorials fragen hast, kannst du diese mit /sup stellen!");
    //SendClientMessage(playerid,NGR,"Dazu laufe einfach in den roten Checkpoint!");
    //SetPlayerCheckpoint(playerid, -2716.2625,376.1808,4.3737, 4.0);
    SendClientMessage(playerid,NGR,"Wikommen auf New Generation Roleplay!");
    SendClientMessage(playerid,COLOR_YELLOW,"Es folgt ein kleines Tutorial!");
    SendClientMessage(playerid,COLOR_WHITE," ");
    SendClientMessage(playerid,COLOR_WHITE," ");
    ClearPlayerChat(playerid);
    TogglePlayerControllable(playerid,0);
    new name[MAX_PLAYER_NAME+1], string[219+MAX_PLAYER_NAME+1];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string), "Wilkommen, {0087FF}%s{FFFFFF} schön das du auf unseren Roleplay-Server gekommen bist!", name);
    SendClientMessage(playerid,COLOR_WHITE,string);
    SendClientMessage(playerid,COLOR_WHITE,"Es werden dir nun die Grundsachen erklärt!");
    GameTextForPlayer(playerid, "~w~Wikommen in San Fierro!", 4000, 3);
    TogglePlayerSpectating(playerid, 1);
    format(string, sizeof(string), "~g~Garcia");
    GameTextForPlayer(playerid, string, 5000, 1);
    //InterpolateCameraLookAt(playerid, -2514.7705,-135.6561,100.6361, -2118.6309,790.5685,173.9065, 40000, CAMERA_MOVE);
    InterpolateCameraPos(playerid, -2514.7705,-135.6561,100.6361, -2118.6309,790.5685,173.9065, 10000, CAMERA_MOVE);
    ImTutorial[playerid] = 1;
    //TogglePlayerControllable(playerid,0);
    SetTimerEx("TutSkip1",10000,0,"i",playerid);
    }
    return 1;
    }
    //return 1;
    }
    {
    if(sSpieler[playerid][Fraktion] == 1)
    {
    SetPlayerPos(playerid,227.1842,121.8995,1010.2188);
    //SendClientMessage(playerid,COLOR_GREEN,"[Spawn] {FFFFFF}Du bist im SFPD gespawnt!");
    SetPlayerFacingAngle(playerid,273.0);
    SetPlayerArmour(playerid, 100);
    SetPlayerSkin(playerid, sSpieler[playerid][Skin]); //280
    SetPlayerInterior(playerid,10);
    return 1;
    }
    if(sSpieler[playerid][Fraktion] == 2)
    {
    SetPlayerPos(playerid,1491.6820,1307.1128,1093.2891);
    SendClientMessage(playerid,COLOR_GREEN,"[Spawn] {FFFFFF}Du bist im Ordnungsamt gespawnt!");
    //SetPlayerFacingAngle(playerid,273.0);
    SetPlayerArmour(playerid, 100);
    SetPlayerSkin(playerid, sSpieler[playerid][Skin]); //71
    SetPlayerInterior(playerid,3);
    return 1;
    }
    if(sSpieler[playerid][Fraktion] == 3)
    {
    SetPlayerPos(playerid,1491.6820,1307.1128,1093.2891);
    SendClientMessage(playerid,COLOR_GREEN,"[Spawn] {FFFFFF}Du bist in der Fahrschule gespawnt!");
    //SetPlayerFacingAngle(playerid,273.0);
    SetPlayerArmour(playerid, 100);
    SetPlayerSkin(playerid, sSpieler[playerid][Skin]);
    SetPlayerInterior(playerid,3);
    }
    if(sSpieler[playerid][Fraktion] ==4)
    {
    SetPlayerPos(playerid,1491.6820,1307.1128,1093.2891);
    SendClientMessage(playerid,COLOR_GREEN,"[Spawn] {FFFFFF}Du bist in San Treafik!");
    //SetPlayerFacingAngle(playerid,273.0);
    SetPlayerArmour(playerid, 100);
    SetPlayerSkin(playerid, sSpieler[playerid][Skin]);
    SetPlayerInterior(playerid,3);
    }
    if(sSpieler[playerid][Fraktion] == 5)
    {
    SetPlayerPos(playerid,-2530.7756,-701.0938,139.3203);
    SendClientMessage(playerid,COLOR_GREEN,"[Spawn] {FFFFFF}Du bist in der Nachrichtenzentrale gespawnt!");
    //SetPlayerFacingAngle(playerid,273.0);
    SetPlayerSkin(playerid, sSpieler[playerid][Skin]);
    SetPlayerInterior(playerid,0);
    //return 1;
    }
    if(sSpieler[playerid][Fraktion] == 7)
    {
    SetPlayerPos(playerid,-2159.8193,646.1214,1057.5861);
    SendClientMessage(playerid,COLOR_GREEN,"[Spawn] {FFFFFF}Du bist in der YAK gespawnt!");
    //SetPlayerFacingAngle(playerid,273.0);
    SetPlayerSkin(playerid, sSpieler[playerid][Skin]);
    SetPlayerInterior(playerid,1);
    //return 1;
    }
    if(sSpieler[playerid][Adminprison] >= 1)
    {
    new knastmessage[128];
    SendClientMessage(playerid,0xFF8200FF,"-------------------------------------------------[Adminprison]-------------------------------------------------");
    new jailtime = sSpieler[playerid][Adminprison];
    format(knastmessage, sizeof(knastmessage), "[Adminprison] {FFFFFF}Du bist noch für %d Minute(n) im {FF0000}Adminprison!",jailtime);
    SendClientMessage(playerid, 0xFF8200FF,knastmessage);
    SetPlayerPos(playerid,-2302.9690,1926.7751,7.0480);
    //SetTimer("ajailtimer", 10, 0);
    SetTimerEx("ajailtimer",10,0,"i",playerid);
    }
    if(sSpieler[playerid][Jailtime] >= 1)
    {
    new knastmessage[128];
    SendClientMessage(playerid,0xFF8200FF,"-------------------------------------------------[Alcatraz]-------------------------------------------------");
    new jailtime = sSpieler[playerid][Jailtime];
    format(knastmessage, sizeof(knastmessage), "[KNAST] {FFFFFF}Du bist noch für %d Minute(n) im {FF0000}Staatsgefängnis {0087FF}San Andreas!",jailtime);
    SendClientMessage(playerid, 0xFF8200FF,knastmessage);
    SetPlayerPos(playerid,-2302.9690,1926.7751,7.0480);
    //SetTimer("jailtimer", 10, 0);
    SetTimerEx("jailtimer",10,0,"i",playerid);
    //SetTimer("alcatimer", 10, 0);
    //SetTimer("startalcatimer", 1000, 0);
    SetTimerEx("startalcatimer",1000,0,"i",playerid);
    }
    if(sSpieler[playerid][Gangjail] == 1)
    {
    new knastmessage[128];
    SendClientMessage(playerid,0xFF8200FF,"-------------------------------------------------[Gangjail]-------------------------------------------------");
    format(knastmessage, sizeof(knastmessage), "[GANGJAIL] {FFFFFF}Du bist noch im Gangjail!");
    SendClientMessage(playerid, 0xFF8200FF,knastmessage);
    SetPlayerPos(playerid,-1103.1908,-601.8248,32.0078);
    SetPlayerInterior(playerid, 0);
    }
    } //return 1;
    }



    Danke im Voraus :)

    Eine simpele Methode ist es auch einfach abzufragen ob der Spieler das Level, das er für die Waffe braucht hat.
    Das ist die Simpelste Methode 95% aller Waffenhacker rauszufiltern. Sonst halt mit Variable.