Arena Problem

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • 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.
  • 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;
    }

  • Laut deinem obigen Befehl müsste es so aussehen:
    ocmd:wettkampf(playerid)
    {
    if((((dini_Int(Spieler,"wettkampfsperre")-gettime())/60) +1) >=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;
    }

  • Entweder wie oben gesagt mit der Variable, oder, wenn dir das zu umständlich ist mit der ganzen Zurücksetzerei würde es auch so gehen:


    new world = 99, inside;
    CHECKAGAIN:
    world++;
    inside = 0;
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i) && GetPlayerVirtualWorld(i) == world) inside++;
    if(inside >= 10) goto CHECKAGAIN;
    SetPlayerVirtualWorld(playerid, world);


    Würde ab Welt 100 anfangen zu prüfen.

  • 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.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Jeffry:
    hab den Command nun so aber es passiert nichts.


    Also schon doch die TextDraws werden nicht angezeigt.
    ocmd:wettkampf(playerid)
    {
    new Spieler[128];
    format(Spieler,sizeof Spieler,"/Accounts/%s.txt",NamePlayer(playerid));
    if((((dini_Int(Spieler,"wettkampfsperre")-gettime())/60) +1) >=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);
    TextDrawShowForPlayer(playerid,Textdraw0);
    TextDrawShowForPlayer(playerid,Textdraw1);
    new world = 99, inside;
    CHECKAGAIN:
    world++;
    inside = 0;
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i) && GetPlayerVirtualWorld(i) == world) inside++;
    if(inside >= 10) goto CHECKAGAIN;
    SetPlayerVirtualWorld(playerid, world);
    return 1;
    }

  • Wenn du die Maus anzeigen willst, damit es selektierbar wird, dann musst du
    http://wiki.sa-mp.com/wiki/SelectTextDraw
    nutzen.


    Außerdem fehlt bei deinen Textdraws
    http://wiki.sa-mp.com/wiki/TextDrawTextSize_DE


    Das musst du verwenden, sonst kannst du es nicht andrücken. Am besten du erstellst dir eine TextDrawUseBox mit TextDrawBoxColor 0x000000FF (oder einfach 0), damit du die andrückbare Fläche siehst (beachte: die Höhe musst du abschätzen (Y Wert)).

  • Jeffry:
    Hab SelectTextDraw eingefügt doch einen Error:

    Code
    C:\Users\Patrick\Desktop\IRP-City\gamemodes\Deathmatch.pwn(1107) : error 017: undefined symbol "SelectTextDraw"
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    1 Error.


    Aktueller 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);
    TextDrawTextSize(Textdraw0 , 5.0, 5.0);


    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);
    TextDrawTextSize(Textdraw1 , 5.0, 5.0);
    ocmd:wettkampf(playerid)
    {
    new Spieler[128];
    format(Spieler,sizeof Spieler,"/Accounts/%s.txt",NamePlayer(playerid));
    if((((dini_Int(Spieler,"wettkampfsperre")-gettime())/60) +1) >=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);
    SelectTextDraw(playerid, 0x00FF00FF); // Highlight green when hovering over
    SendClientMessage(playerid, 0xFFFFFFFF, "SERVER: Bitte wähle Deine Seite!");
    TextDrawShowForPlayer(playerid,Textdraw0);
    TextDrawShowForPlayer(playerid,Textdraw1);
    new world = 99, inside;
    CHECKAGAIN:
    world++;
    inside = 0;
    for(new i=0; i<MAX_PLAYERS; i++) if(IsPlayerConnected(i) && GetPlayerVirtualWorld(i) == world) inside++;
    if(inside >= 10) goto CHECKAGAIN;
    SetPlayerVirtualWorld(playerid, world);
    return 1;
    }


    Jeffry:

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen