Beiträge von Weihnachtsmann



    if(sscanf(params,"u"))return SendClientMessage(playerid,ROT,"Verwendung: /afk"); entfernen - fertig

    Wieso wird man geportet wenn man /accept duell eingibt obwohl man keine 'Einladung erhalten hat? vorhin ging es aber jetzt habe ich accept duell genannt und jetzt gehts net mehr, man wird einfach ohne einladung geportet.
    also kann mann die ganze zeit /accept duell eingeben



    ocmd:accept(playerid,params[])
    {
    new str[64],cmd[30];
    new Random = random(sizeof(onespawn));
    if(duell[playerid] == INVALID_PLAYER_ID) return SendClientMessage(playerid,GRAU,"Keine Einladung bekomme");
    if(strcmp(cmd,"duell",true) == 0)
    {
    if(sscanf(params,"s[30]",cmd)) return SendClientMessage(playerid,GRAU,"Benutze: /accept [duell]");
    SetPlayerInterior(playerid,6);
    SetPlayerInterior(duell[playerid],6);
    SetPlayerPos(duell[playerid],onespawn[Random][0],onespawn[Random][1],onespawn[Random][2]);
    SetPlayerPos(playerid,onespawn[Random][0],onespawn[Random][1],onespawn[Random][2]);
    GivePlayerWeapon(playerid,24,1337);
    GivePlayerWeapon(duell[playerid],24,1337);
    induell[playerid] = duell[playerid];
    induell[duell[playerid]] =playerid;
    }
    return 1;
    }

    Mach noch unter OnPlayerConnect


    "induell[playerid] = INVALID_PLAYER_ID;"


    Das sollte gehen ;)


    Was ist bei OnPlayerDeath fail? manchmal wird der Killer nicht neu gespawnt? :S


    if(duell[playerid] == 1 || duell[killerid] == 1)
    {
    format(str,128,"{FFBE00}[DUELL]{FEFEFE} Der Spieler %s hat das Duell gegen %s gewonnen!",PlayerName(killerid),PlayerName(playerid));
    SendClientMessageToAll(DUNKELGELB,str);
    SpawnPlayer(playerid);
    SpawnPlayer(killerid);
    induell[playerid] = 0;
    induell[killerid] = 0;
    duell[killerid] = 0;
    duell[playerid] = 0;
    }


    Vielen Dank, aber beim Befehl wird pID nicht benutzt kann ich entfernen ge? ^^

    Zeig mir mal schnell den Code wo man jemanden eine Anfrage sendet


    ich schreib dir den Code dann richtig um für accept
    Aber dann bitte nicht einfach reinkopieren sondern die Unterschiede anschauen ^^


    Klar ich will auch was lernen ^^


    oben im script
    new induell[MAX_PLAYERS];
    new duell[MAX_PLAYERS];



    OnPlayerDeath


    if(duell[playerid] == 1 || duell[killerid] == 1)
    {
    format(str,128,"{FFBE00}[DUELL]{FEFEFE} Der Spieler %s hat das Duell gegen %s gewonnen!",PlayerName(killerid),PlayerName(playerid));
    SendClientMessageToAll(DUNKELGELB,str);
    SpawnPlayer(playerid);
    SpawnPlayer(killerid);
    induell[playerid] = 0;
    induell[killerid] = 0;
    duell[killerid] = 0;
    duell[playerid] = 0;
    }


    ocmd:duell(playerid,params[])
    {
    new pID,str[128];
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,GRAU,"Benutze: /duell [SpielerName/ID]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,GRAU,"Spieler ist nicht online!");
    if(playerid == pID) return SendClientMessage(playerid,GRAU,"[FEHLER] Du kannst dich nicht selbst einladen!");
    if(induell[pID] == 1) return SendClientMessage(playerid,GRAU,"Ist im Duell!");
    format(str,128,"Spieler %s fordert dich zu einem Duell heraus - /accept duell um anzunehmen!",PlayerName(playerid));
    SendClientMessage(pID,TURKIS,str);
    format(str,128,"Du hast eine Duell Anfrage an %s gesendet!",PlayerName(pID));
    SendClientMessage(playerid,TURKIS,str);
    duell[pID]=1;
    return 1;
    }
    ocmd:accept(playerid,params[])
    {
    new str[64],pID;
    new Random = random(sizeof(onespawn));
    if(duell[playerid] == 0) return SendClientMessage(playerid,GRAU,"Keine Einladung bekomme");
    SetPlayerInterior(playerid,6);
    SetPlayerInterior(pID,6);
    SetPlayerPos(pID,onespawn[Random][0],onespawn[Random][1],onespawn[Random][2]);
    SetPlayerPos(playerid,onespawn[Random][0],onespawn[Random][1],onespawn[Random][2]);
    GivePlayerWeapon(playerid,24,1337);
    GivePlayerWeapon(pID,24,1337);
    induell[playerid] =1;
    induell[pID] =1;
    return 1;
    }


    Mit sscanf? - Blackout sry xd Kannst du mir eine Vorlage geben? 8|

    Wieso wird der Anfrager nicht mitgeportet? isn Duellsystem.
    Ich werde geportet der es angenommen hat aber nicht der die Anfrage geschickt hat :S

    ocmd:accept(playerid,params[])
    {
    new str[64],pID;
    new Random = random(sizeof(onespawn));
    if(duell[playerid] == 1 || duell[pID] == 1)
    {
    SetPlayerInterior(playerid,6);
    SetPlayerInterior(pID,6);
    SetPlayerPos(pID,onespawn[Random][0],onespawn[Random][1],onespawn[Random][2]);
    SetPlayerPos(playerid,onespawn[Random][0],onespawn[Random][1],onespawn[Random][2]);
    GivePlayerWeapon(playerid,24,1337);
    GivePlayerWeapon(pID,24,1337);
    induell[playerid] =1;
    induell[pID] =1;
    }else{
    SendClientMessage(playerid,GRAU,"Sie haben keine Einladung erhalten!");
    }
    return 1;
    }

    if(sscanf(params,"u",Duell[pID][pInvite])) return SendClientMessage(playerid,GRAU,"Benutze: /duell [SpielerName/ID]");


    und das
    if(sscanf(params,"u",Duell[pID][pInvite])) return SendClientMessage(playerid,GRAU,"Benutze: /duell [SpielerName/ID]");


    zu
    if(sscanf(params,"u",duell)) return SendClientMessage(playerid,GRAU,"Benutze: /duell [SpielerName/ID]"); ge

    Ich wollte ein Duellsystem scripten, womit man einen Spieler eine Einladung senden kann, der Spieler die dann animmt und die beiden in einen Raum geportet werden.
    Ich bekomme es aber mit dem /acccept Befehl und halb /duell Befehl nicht klar.
    Wie können nur playerid(der einlädt) pID(der eingeladen wurde) in einen Raum geporten werden?


    bis jetzt :P


    ocmd:duell(playerid,params[])
    {
    new str[64],pID;
    if(sscanf(params,"u",Duell[pID][pInvite])) return SendClientMessage(playerid,GRAU,"Benutze: /duell [SpielerName/ID]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,GRAU,"Spieler ist nicht online!");
    if(playerid == pID) return SendClientMessage(playerid,GRAU,"[FEHLER] Du kannst dich nicht selbst einladen!");
    format(str,128,"Spieler %s fordert dich zu einem Duell heraus - /accept duell um anzunehmen!",PlayerName(playerid));
    SendClientMessage(pID,TURKIS,str);
    return 1;
    }
    ocmd:accept(playerid,params[])
    {
    new str[64];

    return 1;
    }


    mfg

    Wie würde es gehen, ich will ein Anti Spam entwickeln, dies soll so aussehen.
    Spieler Spammt 3Texte in 2Sekuden -> Eine Message das er aufhören soll 1/3 Warns,
    Wenn er dann halt weiter spammt 2/3 Warns und dann 3/3Warns -> kick.
    Aber wenn er Warns hat und 1Minute nicht mehr spammt, sollen die Warns verschwinden :S


    Wie würde das gehen?

    Kannst auch so machen



    Unnötige Zeilen verschwendung.


    So müsste es gehen
    if(GetPlayerScore(playerid) <= 3)return RemovePlayerFromVehicle(playerid);