Beiträge von The Sensei

    Ja ist doch richtig danke dafür.
    Ich habe 2 Textdraws wie zeige ich diese an...
    Textdraw0 = TextDrawCreate(487.333435, 399.881744, "Antiterror");
    TextDrawLetterSize(Textdraw0, 0.814999, 1.828148);
    TextDrawAlignment(Textdraw0, 1);
    TextDrawColor(Textdraw0, -1);
    TextDrawSetShadow(Textdraw0, 0);
    TextDrawSetOutline(Textdraw0, 0);
    TextDrawBackgroundColor(Textdraw0, 51);
    TextDrawFont(Textdraw0, 0);
    TextDrawSetProportional(Textdraw0, 1);
    TextDrawSetSelectable(Textdraw0, true);


    Textdraw1 = TextDrawCreate(325.666656, 398.222229, "Terror");
    TextDrawLetterSize(Textdraw1, 0.664999, 1.765926);
    TextDrawAlignment(Textdraw1, 1);
    TextDrawColor(Textdraw1, -1);
    TextDrawSetShadow(Textdraw1, 0);
    TextDrawSetOutline(Textdraw1, 0);
    TextDrawBackgroundColor(Textdraw1, 51);
    TextDrawFont(Textdraw1, 0);
    TextDrawSetProportional(Textdraw1, 1);
    TextDrawSetSelectable(Textdraw1, true);


    So hab ich die erstellt und ich will die anzeigen lassen halt.

    In der Zeile ist immer noch ein Fehler
    Jeffry:



    Aktuelle Fehlercodes:

    Code
    C:\Users\Patrick\Desktop\IRP-City\gamemodes\Deathmatch.pwn(1100) : warning 202: number of arguments does not match definition
    C:\Users\Patrick\Desktop\IRP-City\gamemodes\Deathmatch.pwn(1100) : warning 213: tag mismatch
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    2 Warnings.


    Aktueller Code:
    ocmd:wettkampfinfo(playerid)
    {
    new Spieler[128],pID,string[452];
    format(Spieler,sizeof Spieler,"/Accounts/%s.txt",NamePlayer(pID));
    printf("/Accounts/%s.txt",NamePlayer(pID));
    format(string,sizeof(string),"Sie wurden gerade vom Wettkampf-Modus ausgeschlossen\nBitte lesen Sie erneut das Regelwerk damit soetwas nicht erneut passiert.\nWenn Sie denken das die Sperre zu unrecht verhangen wurde melden Sie sich bei dem Ausführendem Admin.\n\nInformationen:\n\nBan-Grund: %s\nAusführerender Admin: %s\nDauer der Sperre: %d Minuten",dini_Get(Spieler,"wettkampfsperregrund"),dini_Get(Spieler,"wettkampfsperreadmin"),((dini_Int(Spieler,"wettkampfsperre")-gettime())/60) +1 );
    ShowPlayerDialog(playerid,DIALOG_WETTKAMPF,DIALOG_STYLE_MSGBOX,"Wettkampfsperre",string,"Okay","");
    return 1;
    }


    ocmd:wettkampf(playerid)
    {
    if(!GetPVarInt(playerid)>=1)return SendClientMessage(playerid,ROT,"Du hast noch eine Wettkampfsperre. Weitere Informationen unter /wettkampfinfo.");
    SetPlayerInterior(playerid,6);
    SetPlayerPos(playerid,346.870025,309.259033,999.155700);
    return 1;
    }

    Ich hab ein Problem mit meinem Wettkampf Modus,
    Wenn er eine Sperre hat soll er nicht reinkommen ansonsten sollen maximal 10 reinkommen können außer Admins die können Immer rein.
    Wie mache ich das.


    Aktueller Code:
    ocmd:wettkampf(playerid)
    {
    if(!GetPVarInt(playerid)>=1)return SendClientMessage(playerid,ROT,"Du hast noch für %s Minuten eine Wettkampfsperre. Weitere Informationen unter /wettkampf.",GetPVarInt(playerid,"wettkampfsperre"));//Zeile 1090
    SetPlayerInterior(playerid,6);
    SetPlayerPos(playerid,346.870025,309.259033,999.155700);
    return 1;
    }


    Code
    C:\Users\Patrick\Desktop\IRP-City\gamemodes\Deathmatch.pwn(1090) : warning 202: number of arguments does not match definition
    C:\Users\Patrick\Desktop\IRP-City\gamemodes\Deathmatch.pwn(1090) : warning 213: tag mismatch
    C:\Users\Patrick\Desktop\IRP-City\gamemodes\Deathmatch.pwn(1090) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    3 Warnings.

    Guten Tag,
    ich brauche 2 Textdraws diese sollen anklickbar sein wie mache ich das!?
    Fehlercode:

    Code
    C:\Users\Patrick\Desktop\IRP-City\gamemodes\Deathmatch.pwn(305) : error 017: undefined symbol "TextDrawSetSelectable"
    C:\Users\Patrick\Desktop\IRP-City\gamemodes\Deathmatch.pwn(316) : error 017: undefined symbol "TextDrawSetSelectable"
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    2 Errors.


    PWN code:
    Textdraw0 = TextDrawCreate(487.333435, 399.881744, "Antiterror");
    TextDrawLetterSize(Textdraw0, 0.814999, 1.828148);
    TextDrawAlignment(Textdraw0, 1);
    TextDrawColor(Textdraw0, -1);
    TextDrawSetShadow(Textdraw0, 0);
    TextDrawSetOutline(Textdraw0, 0);
    TextDrawBackgroundColor(Textdraw0, 51);
    TextDrawFont(Textdraw0, 0);
    TextDrawSetProportional(Textdraw0, 1);
    TextDrawSetSelectable(Textdraw0, true);


    Textdraw1 = TextDrawCreate(325.666656, 398.222229, "Terror");
    TextDrawLetterSize(Textdraw1, 0.664999, 1.765926);
    TextDrawAlignment(Textdraw1, 1);
    TextDrawColor(Textdraw1, -1);
    TextDrawSetShadow(Textdraw1, 0);
    TextDrawSetOutline(Textdraw1, 0);
    TextDrawBackgroundColor(Textdraw1, 51);
    TextDrawFont(Textdraw1, 0);
    TextDrawSetProportional(Textdraw1, 1);
    TextDrawSetSelectable(Textdraw1, true);
    return 1;
    }


    Hat jemand dann auch noch den Stock dazu ?!
    Also wenn er raufklickt was dann passiert...
    Jeffry:
    ICy.:
    Kaliber:

    Jeffry:
    Hab 2 bei "Dauer" eingegeben aber es kommt das (siehe anhang)


    Weißt du woran es liegen kann?

    Codes
    ocmd:tban(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du hast kein Admin Level 2.");
    new pID,time,grund[64],wert,string[144];
    if(sscanf(params,"dds",pID,time,grund))return SendClientMessage(playerid,-1,"Tippe: /tban [id] [Dauer] [Grund]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Spieler ist nicht online!");
    if(time > 0 && time < 1000)
    {
    format(string,sizeof string,"%s wurde von %s für %d gebannt. Grund: %s",NamePlayer(pID),NamePlayer(playerid),time,grund);
    SendClientMessageToAll(ROT,string);
    wert = gettime() + (60*time);
    SetPVarInt(pID,"timeban",wert);
    SetTimerEx("WarnTimer2",250,false,"d",pID);
    SetPVarInt(playerid,"Banned1",GetPVarInt(playerid,"Banned1")+1);
    format(string,sizeof string,"Du hast den Spieler %s erfolgreich gesperrt.",NamePlayer(pID));
    SendClientMessage(playerid,-1,string);
    new Spieler[128];
    printf("Account suche beginnt!");
    format(Spieler,sizeof Spieler,"/Accounts/%s.txt",NamePlayer(pID));
    printf("Spieler: %s -> %d",Spieler,dini_Exists(Spieler));
    printf("reason: %s",grund);
    dini_Set(Spieler,"tbangrund",grund);
    dini_Set(Spieler,"tbanadmin",NamePlayer(playerid));
    dini_IntSet(Spieler,"timeban",wert);
    printf("Dini Bearbeitung");
    SetTimerEx("Gebannt",200,false,"d",pID);
    Log("TimeBanLog",string);
    format(string,sizeof string,"Du wurdest von %s für %d gebannt. Grund: %s",NamePlayer(playerid),time,grund);
    BanExWithMessage(pID,ROT,string,grund);
    return 1;
    }
    return SendClientMessage(playerid,ROT,"Ungültige Zeit!");
    } else
    {
    new accstring[150];
    format(accstring,sizeof(accstring),"/Accounts/%s.txt",NamePlayer(playerid));
    if(gettime()<dini_Int(accstring,"timeban"))
    {
    dini_Get(accstring,"tbangrund");
    dini_Get(accstring,"tbanadmin");
    dini_Get(accstring,"timeban");
    {
    new string[384],accname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,accname,sizeof(accname));
    format(string,sizeof(string),"Ihr Account ist temporär gesperrt, mit ihm kann nicht weiter gespielt werden.\n\nWenn das nicht Ihr Account ist, verwenden Sie einen anderen Nicknamen.\nWenn Sie zu Unrecht gesperrt wurden, dann melden Sie sich bitte bei einem Admin.\n\nInformationen:\nBan-Grund: %s\nAusführerender Admin: %s\nDauer der Sperre: %s",dini_Get(accstring,"tbangrund"),dini_Get(accstring,"tbanadmin"),dini_Get(accstring,"timeban"));
    ShowPlayerDialog(playerid,DIALOG_TIMEBAN,DIALOG_STYLE_MSGBOX,"Spielausschluss",string,"Okay","");
    SetTimer("Gebannt",1450,false);
    return 0;
    }
    }
    }
    return 1;

    Jeffry:
    Hab vergessen den Wert zu speichern nun will ich das machen bekomme aber 2 Errors und 1 Warning:

    Code
    C:\Users\Patrick\Desktop\IRP-City\gamemodes\Deathmatch.pwn(1316) : error 035: argument type mismatch (argument 3)C:\Users\Patrick\Desktop\IRP-City\gamemodes\Deathmatch.pwn(1316) : error 029: invalid expression, assumed zeroC:\Users\Patrick\Desktop\IRP-City\gamemodes\Deathmatch.pwn(1316) : warning 215: expression has no effectPawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase2 Errors.


    ScriptCode
    ocmd:tban(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du hast kein Admin Level 2.");
    new pID,time,grund[64],wert,string[144];
    if(sscanf(params,"dds",pID,time,grund))return SendClientMessage(playerid,-1,"Tippe: /tban [id] [Dauer] [Grund]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Spieler ist nicht online!");
    if(time > 0 && time < 1000)
    {
    format(string,sizeof string,"%s wurde von %s für %d gebannt. Grund: %s",NamePlayer(pID),NamePlayer(playerid),time,grund);
    SendClientMessageToAll(ROT,string);
    wert = gettime() + (60*time);
    SetPVarInt(pID,"timeban",wert);
    SetTimerEx("WarnTimer2",250,false,"d",pID);
    SetPVarInt(playerid,"Banned1",GetPVarInt(playerid,"Banned1")+1);
    format(string,sizeof string,"Du hast den Spieler %s erfolgreich gesperrt.",NamePlayer(pID));
    SendClientMessage(playerid,-1,string);
    new Spieler[128];
    printf("Account suche beginnt!");
    format(Spieler,sizeof Spieler,"/Accounts/%s.txt",NamePlayer(pID));
    printf("Spieler: %s -> %d",Spieler,dini_Exists(Spieler));
    printf("reason: %s",grund);
    dini_Set(Spieler,"tbangrund",grund);
    dini_Set(Spieler,"tbanadmin",NamePlayer(playerid));
    dini_Set(Spieler,"timeban",wert));//FEHLERZEILE
    printf("Dini Bearbeitung");
    SetTimerEx("Gebannt",200,false,"d",pID);
    Log("TimeBanLog",string);
    format(string,sizeof string,"Du wurdest von %s für %d gebannt. Grund: %s",NamePlayer(playerid),time,grund);
    BanExWithMessage(pID,ROT,string,grund);
    return 1;
    }
    return SendClientMessage(playerid,ROT,"Ungültige Zeit!");
    }

    Funktion:
    stock sscanf(sstring[], format[], {Float,_}:...)
    {
    #if defined isnull
    if (isnull(sstring))
    #else
    if (sstring[0] == 0 || (sstring[0] == 1 && sstring[1] == 0))
    #endif
    {
    return format[0];
    }
    #pragma tabsize 4
    new
    formatPos = 0,
    sstringPos = 0,
    paramPos = 2,
    paramCount = numargs(),
    delim = ' ';
    while (sstring[sstringPos] && sstring[sstringPos] <= ' ')
    {
    sstringPos++;
    }
    while (paramPos < paramCount && sstring[sstringPos])
    {
    switch (format[formatPos++])
    {
    case '\0':
    {
    return 0;
    }
    case 'i', 'd':
    {
    new
    neg = 1,
    num = 0,
    ch = sstring[sstringPos];
    if (ch == '-')
    {
    neg = -1;
    ch = sstring[++sstringPos];
    }
    do
    {
    sstringPos++;
    if ('0' <= ch <= '9')
    {
    num = (num * 10) + (ch - '0');
    }
    else
    {
    return -1;
    }
    }
    while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num * neg);
    }
    case 'h', 'x':
    {
    new
    num = 0,
    ch = sstring[sstringPos];
    do
    {
    sstringPos++;
    switch (ch)
    {
    case 'x', 'X':
    {
    num = 0;
    continue;
    }
    case '0' .. '9':
    {
    num = (num << 4) | (ch - '0');
    }
    case 'a' .. 'f':
    {
    num = (num << 4) | (ch - ('a' - 10));
    }
    case 'A' .. 'F':
    {
    num = (num << 4) | (ch - ('A' - 10));
    }
    default:
    {
    return -1;
    }
    }
    }
    while ((ch = sstring[sstringPos]) > ' ' && ch != delim);
    setarg(paramPos, 0, num);
    }
    case 'c':
    {
    setarg(paramPos, 0, sstring[sstringPos++]);
    }
    case 'f':
    {


    new changestr[16], changepos = 0, strpos = sstringPos;
    while(changepos < 16 && sstring[strpos] && sstring[strpos] != delim)
    {
    changestr[changepos++] = sstring[strpos++];
    }
    changestr[changepos] = '\0';
    setarg(paramPos,0,_:floatstr(changestr));
    }
    case 'p':
    {
    delim = format[formatPos++];
    continue;
    }
    case '\'':
    {
    new
    end = formatPos - 1,
    ch;
    while ((ch = format[++end]) && ch != '\'') {}
    if (!ch)
    {
    return -1;
    }
    format[end] = '\0';
    if ((ch = strfind(sstring, format[formatPos], false, sstringPos)) == -1)
    {
    if (format[end + 1])
    {
    return -1;
    }
    return 0;
    }
    format[end] = '\'';
    sstringPos = ch + (end - formatPos);
    formatPos = end + 1;
    }
    case 'u':
    {
    new
    end = sstringPos - 1,
    id = 0,
    bool:num = true,
    ch;
    while ((ch = sstring[++end]) && ch != delim)
    {
    if (num)
    {
    if ('0' <= ch <= '9')
    {
    id = (id * 10) + (ch - '0');
    }
    else
    {
    num = false;
    }
    }
    }
    if (num && IsPlayerConnected(id))
    {
    setarg(paramPos, 0, id);
    }
    else
    {
    #if !defined foreach
    #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
    #define __SSCANF_FOREACH__
    #endif
    sstring[end] = '\0';
    num = false;
    new
    name[MAX_PLAYER_NAME];
    id = end - sstringPos;
    foreach (Player, playerid)
    {
    GetPlayerName(playerid, name, sizeof (name));
    if (!strcmp(name, sstring[sstringPos], true, id))
    {
    setarg(paramPos, 0, playerid);
    num = true;
    break;
    }
    }
    if (!num)
    {
    setarg(paramPos, 0, INVALID_PLAYER_ID);
    }
    sstring[end] = ch;
    #if defined __SSCANF_FOREACH__
    #undef foreach
    #undef __SSCANF_FOREACH__
    #endif
    }
    sstringPos = end;
    }
    case 's', 'z':
    {
    new
    i = 0,
    ch;
    if (format[formatPos])
    {
    while ((ch = sstring[sstringPos++]) && ch != delim)
    {
    setarg(paramPos, i++, ch);
    }
    if (!i)
    {
    return -1;
    }
    }
    else
    {
    while ((ch = sstring[sstringPos++]))
    {
    setarg(paramPos, i++, ch);
    }
    }
    sstringPos--;
    setarg(paramPos, i, '\0');
    }
    default:
    {
    continue;
    }
    }
    while (sstring[sstringPos] && sstring[sstringPos] != delim && sstring[sstringPos] > ' ')
    {
    sstringPos++;
    }
    while (sstring[sstringPos] && (sstring[sstringPos] == delim || sstring[sstringPos] <= ' '))
    {
    sstringPos++;
    }
    paramPos++;
    }
    do
    {
    if ((delim = format[formatPos++]) > ' ')
    {
    if (delim == '\'')
    {
    while ((delim = format[formatPos++]) && delim != '\'') {}
    }
    else if (delim != 'z')
    {
    return delim;
    }
    }
    }
    while (delim > ' ');
    return 0;
    }


    Jeffry:

    Jeffry:
    ICy.:


    Ingame gebe ich "/tban 0 2 test" ein aber es kommt immer diese Nachricht mit "/tban [id] [dauer] [grund]


    Bitte um hilfe.
    Aktueller Code:
    ocmd:tban(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Du hast kein Admin Level 2.");
    new pID,time,grund[64],wert,string[144];
    if(sscanf(params,"uds[64]",pID,time,grund))return SendClientMessage(playerid,-1,"Tippe: /tban [id] [Dauer] [Grund]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Spieler ist nicht online!");
    if(time > 0 && time < 1000)
    {
    format(string,sizeof string,"%s wurde von %s für %d gebannt. Grund: %s",NamePlayer(pID),NamePlayer(playerid),time,grund);
    SendClientMessageToAll(ROT,string);
    wert = gettime() + (60*time);
    SetPVarInt(pID,"timeban",wert);
    SetTimerEx("WarnTimer2",250,false,"d",pID);
    SetPVarInt(playerid,"Banned1",GetPVarInt(playerid,"Banned1")+1);
    format(string,sizeof string,"Du hast den Spieler %s erfolgreich gesperrt.",NamePlayer(pID));
    SendClientMessage(playerid,-1,string);
    new Spieler[128];
    printf("Account suche beginnt!");
    format(Spieler,sizeof Spieler,"/Accounts/%s.txt",NamePlayer(pID));
    printf("Spieler: %s -> %d",Spieler,dini_Exists(Spieler));
    printf("reason: %s",grund);
    dini_Set(Spieler,"tbangrund,",grund);
    dini_Set(Spieler,"tbanadmin",NamePlayer(playerid));
    printf("Dini Bearbeitung");
    SetTimerEx("Gebannt",200,false,"d",pID);
    Log("TimeBanLog",string);
    format(string,sizeof string,"Du wurdest von %s für %d gebannt. Grund: %s",NamePlayer(playerid),time,grund);
    BanExWithMessage(pID,ROT,string,grund);
    return 1;
    }
    return SendClientMessage(playerid,ROT,"Ungültige Zeit!");
    }