Beiträge von Uppermost

    Zitat

    Warum kaufen wenn man es kostenlos bekommt


    Ist zwar irgendwie richtig, Aber bevor ich etwas gecracktes online auf ne Domain lade, kassier ich lieber 50 als tausende von €€€
    B2T: Lass dir doch eine sponsoren, das reicht für den Anfang.

    Also, ich wollte alle Cops anzeigen lassen mit einem Befehl /copsonline oder so. Die Fraktionen speichere ich in Dini ab, das sieht so aus:
    stock IstSpielerInFrak(playerid,frakid)
    {
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
    if(dini_Int(Playerdatei,"Fraktion")==frakid)return 1;
    return 0;
    }

    So finde ich raus ob der Spieler in der Fraktion ist. Nur ich möchte wissen, wie ich das ganze in einen String packe. Wenn kein Cop online ist, wird gesendet: Cops online:
    Wenn ein Cop online ist, wird gesendet: Cops online: cop1
    Wenn mehrere on sind: Cops online: cop1 cop2 cop3...
    usw.
    Nur weiß ich nicht wirklich, wie ich das in einen String reinschreibe. Und dann kommt ihr ins Spiel. Das Problem ist, wenn der Spieler online ist soll dies in den String rein, wenn 2 on sind dies.
    Greetz

    Wie kann ich beispielsweise alle Cops anzeigen lassen? Ich habe ehrlich gesagt, nur eine Vermutung wie das gehen könnte. Irgendwie, wenn der Spieler in Fraktion 1 ist (so ists aufgebaut bei mir), soll er formatiert werden oder so. Bitte um Hilfe :)

    Kann ich dir nicht empfehlen, denn manche Spielername sind zu lang für ein Nummernschild, dann buggts. Ausser du begrenzt den Spielernamen, dann könntest du den Namen per GetPlayerName rausfinden und den verwendeten String dann mit SetVehicleNumberPlate draufschreiben.
    Greetz

    Habe mal mit einem Wantedsystem angefangen und das Suspecten geht auch soweit. Allerdings habe ich nen zweiten Befehl zum Abziehen von Wanteds, beispielsweise für Fehler, erstellt (Grund ist ja egal). Auf jeden Fall hier mal der Code:
    ocmd:su(playerid,params[])
    {
    if(!IstSpielerInFrak(playerid,1)) return SendClientMessage(playerid,Hellblau,"Du bist kein Polizist!");
    new pID, amount, reason[32];
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(pID,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
    if(sscanf(params,"uds",pID,amount,reason)) return SendClientMessage(playerid,Gelb,"Benutzung: /su [ID] [Anzahl] [Grund]");
    if(amount <1 || amount >69) return SendClientMessage(playerid,Hellblau,"Du kannst nicht weniger als 1 oder mehr als 69 Wantedpunkte geben!");
    if(dini_Int(Playerdatei,"Wanteds")>=69-amount||GetPVarInt(pID,"Wanteds")>=69-amount) return SendClientMessage(playerid,Hellblau,"Der Spieler hat schon 69 Wantedpunkte!");
    new copmsg[64], crimemsg[64];
    GetPlayerName(pID,name,sizeof(name));
    format(copmsg,sizeof(copmsg),"Du hast %s %d Wantedpunkte gegeben. Grund: %s",name,amount,reason);
    format(crimemsg,sizeof(crimemsg),"Du hast von einem Cop %d Wantedpunkte erhalten. Grund: %s",amount,reason);
    SendClientMessage(playerid,Hellblau,copmsg); SendClientMessage(pID,Blau,crimemsg);
    dini_IntSet(Playerdatei,"Wanteds",amount);
    SetPVarInt(pID,"Wanteds",amount);
    return 1;
    }
    ocmd:pa(playerid,params[])
    {
    if(!IstSpielerInFrak(playerid,1)) return SendClientMessage(playerid,Hellblau,"Du bist kein Polizist!");
    new pID, amount, reason[32];
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(pID,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
    if(sscanf(params,"uds",pID,amount,reason)) return SendClientMessage(playerid,Gelb,"Benutzung: /pa [ID] [Anzahl] [Grund]");
    if(amount <1 || amount >69) return SendClientMessage(playerid,Hellblau,"Du kannst nicht weniger als 1 oder mehr als 69 Wantedpunkte abziehen!");
    if(amount >dini_Int(Playerdatei,"Wanteds")||amount >GetPVarInt(pID,"Wanteds")) return SendClientMessage(playerid,Gelb,"Soviele Wanteds hat der Spieler nicht!");
    new copmsg[64], crimemsg[64];
    GetPlayerName(pID,name,sizeof(name));
    format(copmsg,sizeof(copmsg),"Du hast %s %d Wantedpunkte abgezogen. Grund: %s",name,amount,reason);
    format(crimemsg,sizeof(crimemsg),"Du hast von einem Cop %d Wantedpunkte abgezogen bekommen. Grund: %s",amount,reason);
    SendClientMessage(playerid,Hellblau,copmsg); SendClientMessage(pID,Blau,crimemsg);
    dini_IntSet(Playerdatei,"Wanteds",-amount);
    SetPVarInt(pID,"Wanteds",-amount);
    return 1;
    }
    Das Problem ist: Beim pa (pardon) Befehl, kommt immer 'Soviele Wanteds hat der Spieler nicht!', egal wieviele in der Dini stehen. Wo ist der Fehler? Errors oder so bekomme ich nicht.
    Greetz

    Ocmd oder dcmd kann ich dir nur empfehlen. Ocmd ist meiner Meinung nach schneller, da du jeden DCMD Befehl erst definieren musst. Einfach mal hier suchen. Hier der Befehl der so gehen müsste:
    ocmd:knast(playerid,params[])
    {
    new teleportid = strval(params);
    SetPlayerPos(teleportid,219.38401794434,110.75565338135,999.015625);
    SetPlayerInterior(teleportid,10);
    return 1;
    }

    Wahrscheinlich die Dialog ID schon definiert. Mach mal
    #define DIALOG_JOBS 89284
    wenn das nicht geht, ist glaubmal irgendwo ein Klammerfehler oder dir fehlt ein Include.