Beiträge von [iRP]Syntro

    Bubblesort.


    Machst ne Liste (weiß nicht ob das geht) und ordnest jedem Level ne zahl zu. Danach sortierst du den Inhalt der Liste mit nem Bubblesort algorythmus von groß nach klein. Im letzten schritt gehst du einfach die Liste durch und gibst die namen aus. Fertig.


    Jetzt nochmal verständlicher für mich bitte.

    Guten Tag,


    ich arbeite derzeit an meinem /admin Befehl aber habe ein Problem.
    Wie kann ich wenn einer einen höheren Rang hat als der andere, den oben stehen lassen?
    Code hier:
    ocmd:admins(playerid,params[])
    {
    #pragma unused params
    SendClientMessage(playerid,COLOR_GRAU,"Admin Online:");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(GetPVarInt(i,"Adminlevel"))
    {
    new string[128],adminlevel[64];
    switch(GetPVarInt(i,"Adminlevel"))
    {
    case 1:{adminlevel="Supporter";}
    case 2:{adminlevel="Administrator";}
    case 3:{adminlevel="Head Admin";}
    }
    format(string, 256, "%s: %s",adminlevel,SpielerName(i));
    SendClientMessage(playerid,COLOR_GRAU,string);
    }
    }
    }
    return 1;
    }

    Dann bekomme ich aber 2 Fehler angezeigt.
    TextDrawSetString(PAYDAYdraw[playerid],string);
    TextDrawShowForPlayer(playerid,PAYDAYdraw[playerid]);


    Code
    C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(512) : warning 213: tag mismatch
    C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(513) : warning 213: tag mismatch

    Unter OnPlayerSpawn einmal der Code vom Textdraw
    public OnPlayerSpawn(playerid)
    {
    new string[256];
    PlayerTextDrawShow(playerid,PAYDAYdraw[playerid]);
    format(string,sizeof(string),"~b~PayDay: ~w~%i~b~/~w~60",GetPVarInt(playerid,"Payday"));
    PlayerTextDrawSetString(playerid,PAYDAYdraw[playerid],string);
    return 1;
    }


    OnPlayerConnect
    PAYDAYdraw[playerid] = CreatePlayerTextDraw(playerid,8,300,"_");
    PlayerTextDrawFont(playerid,PAYDAYdraw[playerid],1);
    PlayerTextDrawAlignment(playerid,PAYDAYdraw[playerid],0);
    PlayerTextDrawLetterSize(playerid,PAYDAYdraw[playerid],0.500000,0.999990);
    PlayerTextDrawSetProportional(playerid,PAYDAYdraw[playerid],1);
    PlayerTextDrawSetShadow(playerid,PAYDAYdraw[playerid],1);


    //edit:Text

    Guten Tag,


    ich wollte das bei jeden Spieler sich die Payday Zeit um 1 erhöht, passieren tut aber nichts.
    Unter OnGameModeInIt läuft mein Timer:
    SetTimer("Paydayhoch",1016,true);



    stock Paydayhoch()
    {
    for(new i; i < MAX_PLAYERS; i ++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    SetPVarInt(i,"Payday",GetPVarInt(i,"Payday")+1);
    return 1;
    }
    }
    return 1;
    }

    Guten Tag,


    was ist das für ein Fehler hier?
    public OnPlayerSpawn(playerid)
    {
    new string[256];
    PlayerTextDrawShow(playerid,PAYDAYdraw[playerid]);
    format(string,sizeof(string),"~r~PayDay: ~w~%i~r~/~w~60",GetPVarInt(playerid,"Payday"),/60)); //Fehler Zeile
    PlayerTextDrawSetString(playerid,PAYDAYdraw[playerid],string);
    return 1;
    }


    Code
    C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(485) : error 029: invalid expression, assumed zero
    C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(485) : warning 215: expression has no effect
    C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(485) : error 001: expected token: ";", but found ")"
    C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(485) : error 029: invalid expression, assumed zero
    C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(485) : fatal error 107: too many error messages on one line

    Guten Tag,


    wenn ich /makeadmin schreibe irrelevant welche Zahl ich benutze steht dort immer als Rang Head-Admin.
    Code gibts hier


    ocmd:makeadmin(playerid,params[])
    {
    new string[128],pID,Rang,string1[128];
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht eingeloggt.");
    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,COLOR_GRAU,"Du bist kein Team-Mitglied von "#SERVERNAME".");
    if(sscanf(params,"ui",pID,Rang))return SendClientMessage(playerid,COLOR_GRAU,"Benutze: /makeadmin [ID/Teilname] [Rang]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,COLOR_GRAU,"Der angegebene Spieler ist nicht online.");
    if(Rang < 0 || Rang > 3) return SendClientMessage(playerid,COLOR_GRAU,"Nur Rang 0 - 3 gültig.");
    SetPVarInt(pID,"Adminlevel",Rang);
    format(string,sizeof(string),"%s hat dir den Team Rang %s gegeben.",SpielerName(playerid),Adminrang(playerid));
    SendClientMessage(pID,COLOR_ROT,string);
    format(string1,sizeof(string1),"Du hast %s den Team Rang %s gegeben.",SpielerName(pID),Adminrang(playerid));
    SendClientMessage(playerid,COLOR_ROT,string1);
    return 1;
    }


    stock Adminrang(playerid)
    {
    new rang[54];
    switch(GetPVarInt(playerid,"Adminlevel"))
    {
    case 0:{rang="User";}
    case 1:{rang="Supporter";}
    case 2:{rang="Administrator";}
    case 3:{rang="Head-Admin";}
    default:{rang="ERROR";}
    }
    return rang;
    }

    1. Die Skinliste erstellst du am besten im Callback "OnGameModeInit".
    2. Das ganze zeug wegen Kameraposition etc. hat nichts im CMD zu suchen
    3. Hast Du dir das Beispiel zur benutzung von "ForceClassSelection" mal im Wiki angesehen?

    Hast du vielleicht einen kleinen Code für mich, der mir da weiterhilft?
    Ich habe mir die Benutzung angeschaut, komme aber nicht weiter.


    -
    Es wird nur die Nachricht ausgegeben das ich als Leader ernannt wurde, spectating passiert nicht.

    Es passiert bei meinem Code nichts, ich werde nicht in die Skin Auswahl geleitet, ich stehe auf dem Schlauch..


    ocmd:makeleader(playerid,params[])
    {
    new Rang, pID, string[128], string1[128];
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht eingeloggt.");
    if(!isPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,COLOR_GRAU,"Du bist kein Team-Mitglied von "#SERVERNAME".");
    if(sscanf(params,"ui",pID,Rang))return SendClientMessage(playerid,COLOR_GRAU,"Benutze: /makeleader [ID/Teilname] [FraktionsID]");
    if(Rang < 0 || Rang > 12) return SendClientMessage(playerid,COLOR_GRAU,"Nur Rang 0 - 12 gültig.");
    SetPVarInt(pID,"Fraktion",Rang);
    SetPVarInt(pID,"Fraktionsrang",6);
    format(string,sizeof(string),"%s hat dich zum Leader von %s ernannt.",SpielerName(playerid),FraktionsName(playerid));
    SendClientMessage(pID,COLOR_ROT,string);
    format(string1,sizeof(string1),"Du hast %s zum Leader von %s ernannt.",SpielerName(pID),FraktionsName(playerid));
    SendClientMessage(playerid,COLOR_ROT,string1);
    SpielerSpeichern(pID);
    ForceClassSelection(pID);
    SetPlayerCameraPos(pID,2204.6206,1598.2760,68.7266);
    SetPlayerCameraLookAt(pID,2193.8567,1598.5226,68.7266);
    TogglePlayerSpectating(pID, true);
    TogglePlayerSpectating(pID, false);
    if(GetPVarInt(pID,"Fraktion") == 1)
    {
    AddPlayerClass(280,2193.8567,1598.5226,68.7266,268.4489,0,0,0,0,0,0);
    AddPlayerClass(281,2193.8567,1598.5226,68.7266,268.4489,0,0,0,0,0,0);
    AddPlayerClass(282,2193.8567,1598.5226,68.7266,268.4489,0,0,0,0,0,0);
    AddPlayerClass(283,2193.8567,1598.5226,68.7266,268.4489,0,0,0,0,0,0);
    AddPlayerClass(284,2193.8567,1598.5226,68.7266,268.4489,0,0,0,0,0,0);
    AddPlayerClass(285,2193.8567,1598.5226,68.7266,268.4489,0,0,0,0,0,0);

    }
    else if(GetPVarInt(pID,"Fraktion") == 2)
    {
    AddPlayerClass(286,2193.8567,1598.5226,68.7266,268.4489,0,0,0,0,0,0);
    AddPlayerClass(285,2193.8567,1598.5226,68.7266,268.4489,0,0,0,0,0,0);
    AddPlayerClass(294,2193.8567,1598.5226,68.7266,268.4489,0,0,0,0,0,0);
    }
    return 1;
    }

    Guten Tag,


    ich stehe derzeit bei meinem Script vor ein schweren und für mich unlösbaren Problem.
    Ich möchte den Spieler (pID) nach dem Befehl /makeleader in eine Skin Auswahl setzten, wo er bestimmte Skins auswählen kann.
    Wenn ich ihn z.B Fraktion 1 zuweise, soll er bestimmte Skins für Fraktion 1 auswählen können, bei Fraktion 2 halt Skins für Fraktion 2.


    Wie funktioniert das?

    Guten Tag,


    ein Fehler im Befehl und ich weiß leider nicht wieso.


    ocmd:spec(playerid,params)
    {
    new pID,string[128];
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,COLOR_GRAU,"Benutze: /spec [ID/Teilname]"); //Fehler Zeile
    SetCameraBehindPlayer(pID);
    format(string,sizeof(string),"Du beobachtest nun %s.",SpielerName(pID));
    SendClientMessage(playerid,COLOR_ROT,string);
    return 1;
    }


    Code
    error 035: argument type mismatch (argument 1)