/duell und /accept duell

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
  • Guten Tag liebe Community...


    Ich verzweifel, da ich sowas noch nie gemacht habe....


    Ich habe es bis jetzt so:
    ocmd:duell(playerid,params[])
    {
    new pID,string[128];
    if(sscanf(params,"i",pID))return SendClientMessage(playerid,BLAU,"Benutze: /duell [id]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Dieser Spieler ist garnicht online!");
    format(string,sizeof(string),"Server: Du wurdest von ID:%d zu einem Duell herausgefordert!\nTippe /accept duell um das Duell anzunehmen!",playerid);
    SendClientMessage(pID,ROT,string);
    format(string,sizeof(string),"Server: Du hast ID:%d zu einem Duell herausgefordert!\nDu wirst sofort eine Antwort bekommen!",pID);
    SendClientMessage(playerid,GRÜN,string);
    SetPVarInt(playerid, "duell", 1);
    SetPVarInt(pID, "duell", 1);
    return 1;
    }


    ocmd:accept duell(playerid,params[])
    {
    new pID,string[128];
    if(sscanf(params,"i",pID))return SendClientMessage(playerid,BLAU,"Benutze: /accept duell");
    if(GetPVarInt(playerid, "duell") == 1)
    {
    //SetPlayerPos(playerid,bla,bla,bla);
    SetPVarInt(playerid, "duell", 0);
    }
    return 1;
    }


    aber wie kriege ich denn nun raus, welcher Spieler angefragt hat und wie ich porte ich ihn dann?


    Wäre nett wenn mir wer helfen könnte.

  • Arbeite ma mit ner Variable und MAX_PLAYERS sollte gehen




    MFG JumpStyle


  • new duellplayer[MAX_PLAYERS];
    ocmd:duell(playerid,params[])
    {
    new pID,string[128];
    if(sscanf(params,"i",pID))return SendClientMessage(playerid,BLAU,"Benutze: /duell [id]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,ROT,"Dieser Spieler ist garnicht online!");
    format(string,sizeof(string),"Server: Du wurdest von ID:%d zu einem Duell herausgefordert!\nTippe /accept duell um das Duell anzunehmen!",playerid);
    SendClientMessage(pID,ROT,string);
    format(string,sizeof(string),"Server: Du hast ID:%d zu einem Duell herausgefordert!\nDu wirst sofort eine Antwort bekommen!",pID);
    SendClientMessage(playerid,GRÜN,string);
    duellplayer[pID] = playerid;
    SetPVarInt(playerid, "duell", 1);
    SetPVarInt(pID, "duell", 1);
    return 1;
    }


    ocmd:accept duell(playerid,params[])
    {
    new pID,string[128];
    if(sscanf(params,"i",pID))return SendClientMessage(playerid,BLAU,"Benutze: /accept duell");
    if(GetPVarInt(playerid, "duell") == 1)
    {
    SetPlayerPos(playerid,bla,bla,bla);
    SetPlayerPos(duellplayer[playerid],bla,bla,bla);
    SetPVarInt(playerid, "duell", 0);
    SetPVarInt(duellplayer[playerid], "duell", 0);
    duellplayer[playerid] = -1;
    }
    return 1;
    }

  • So irgendwie :)


    OnPlayerConnect(..)
    {
    duell[playerid] = 9999;
    return 1;
    }


    ocmd:duell(playerid,params[])
    {
    new string[256], pname[MAX_PLAYER_NAME], user;
    GetPlayerName(playerid,pname,sizeof(pname));
    if(sscanf(params,"u",user))return SendClientMessage(playerid,grau,"Benutze: /duell [Player/ID]");
    duell[user] = playerid;
    SendClientMessage(playerid,grau,"Deine Duell Anfrage wurde gesendet.");
    format(string,sizeof(string),"%s hat dich zu einem Duell herausgefordert! Tippe /acceptduell um das Duell zu akzeptieren.",pname);
    SendClientMessage(user,grau,string);
    return 1;
    }


    ocmd:acceptduel(playerid,params[])
    {
    new string[126];
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof(pname));
    if(duell[playerid] == 9999)return SendClientMessage(playerid,grau,"Keiner hat dich zu einem Duell herausgefordert!");
    SetPlayerPos(duell[playerid],bla,bla,bla);
    SetPlayerPos(playerid,bla,bla,bla);
    SendClientMessage(playerid,grau,"Du hast die Duell Anfrage akzeptiert.");
    format(string,sizeof(string),"%s hat die Duell Anfrage akzeptiert.",pname);
    SendClientMessage(duell[playerid],grau,string);
    duell[playerid] = 9999;
    return 1;
    }