Beiträge von Kaliber

    strcat...returnt die Länge des Strings der ausgeschnitten wird, aber nicht das was du willst bzw brauchst :D


    Du kannst hier ohne Funktion arbeiten...einfach so:


    ShowLanguageDialog(playerid, DIALOG_BANK_DEPOSIT, DIALOG_STYLE_INPUT, "Einzahlen", "Deposit", "{FF0000}Bitte gib einen gültigen Betrag an!", "{FF0000}Please enter a valid amount!", "OK", "OK", "Abbrechen", "Cancel");


    mfg. :thumbup:

    Google Docs ? Dort kann man lediglich seine Datein hochladen. So mein ich das nicht.
    Ich meine z.b. ein Textfeld und jeder scriptet da gleichzeitig


    Kann man doch?! :huh:


    Teilst den Link und ihr könnt alle an einem Dokument gemeinsam schreiben :rolleyes:


    //Edit:
    Naja, es gäbe dann noch TeamViewer oder Hauke hat da auch mal ne Engine entworfen ;)


    mfg. :thumbup:

    Warum schreibst du das so gigantisch...bzw so GF like...versuch es doch mal kompakter zu schreiben...so ungefähr:


    if(!strcmp(cmd, "/arrest", true)) {
    if(gTeam[playerid] != 2 && !IsACop(playerid) && PlayerInfo[playerid][pMember] != 12 && PlayerInfo[playerid][pLeader] != 12 && PlayerInfo[playerid][pMember] != 2 && PlayerInfo[playerid][pLeader] != 2 && PlayerInfo[playerid][pMember] != 3 && PlayerInfo[playerid][pLeader] != 3) return SendClientMessage(playerid, COLOR_GREY, " Du bist kein Beamter !");
    if(OnDuty[playerid] != 1 && PlayerInfo[playerid][pMember] == 1) return SendClientMessage(playerid, COLOR_GREY, " Du bist nicht im Dienst!");
    if(!IsPlayerInRangeOfPoint(playerid,6.0, 195.3785,158.2065,1003.0234) && !IsPlayerInRangeOfPoint(playerid, 6.0, 1559.9702,-1694.3395,5.8970)) return SendClientMessage(playerid, COLOR_GREY," Hier darfst du diesen Befehl nicht nutzen!");
    tmp = strtok(cmdtext, idx);
    if(!tmp[0]) return SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /arrest [preis] [zeit (minuten)] [kaution (0=nein 1=ja)] [kationspreis]"),SendClientMessage(playerid, COLOR_GRAD2, "Tipp: Beim Normalfall 2.000$ + 3 Minuten pro Wanted und beim Stellen 1.000$ + 2 Minuten pro Wanted");
    moneys = strval(tmp);
    if(moneys < 1 || moneys > 99999) return SendClientMessage(playerid, COLOR_GREY, " Das Bußgeld muss zwischen 1 und 99999$ betragen!");
    tmp = strtok(cmdtext, idx);
    if(!tmp[0]) return SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /arrest [preis] [zeit (minuten)] [kaution (0=nein 1=ja)] [kationspreis]"),SendClientMessage(playerid, COLOR_GRAD2, "Tipp: Beim Normalfall 2.000$ + 3 Minuten pro Wanted und beim Stellen 1.000$ + 2 Minuten pro Wanted");
    new time = strval(tmp);
    if(time < 1 || time > 60) return SendClientMessage(playerid, COLOR_GREY, " Die Minuten der Haftzeit dürfen nicht unter 1 oder über 60 liegen !");
    tmp = strtok(cmdtext, idx);
    if(!tmp[0]) return SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /arrest [preis] [zeit (minuten)] [kaution (0=nein 1=ja)] [kationspreis]"),SendClientMessage(playerid, COLOR_GRAD2, "Tipp: Beim Normalfall 2.000$ + 3 Minuten pro Wanted und beim Stellen 1.000$ + 2 Minuten pro Wanted");
    new bail = strval(tmp);
    if(bail < 0 || bail > 1) return SendClientMessage(playerid, COLOR_GREY, " Die Möglichkeit einer Kaution kann entweder mit 0 abgelehnt-, oder mit 1 erlaubt werden !");
    tmp = strtok(cmdtext, idx);
    if(!tmp[0]) return SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /arrest [preis] [zeit (minuten)] [kaution (0=nein 1=ja)] [kationspreis]"),SendClientMessage(playerid, COLOR_GRAD2, "Tipp: Beim Normalfall 2.000$ + 3 Minuten pro Wanted und beim Stellen 1.000$ + 2 Minuten pro Wanted");
    new bailprice = strval(tmp);
    if(bailprice < 0 || bailprice > 3000000) return SendClientMessage(playerid, COLOR_GREY, " Der Kautionspreis darf nicht unter $1 oder über $3000000 liegen !");
    new suspect = GetClosestPlayer(playerid);
    if(IsACop(suspect)) return SendClientMessage(playerid, COLOR_GRAD2, " Du kannst keinen Beamten einsperren!");
    if(!IsPlayerConnected(suspect)) return SendClientMessage(playerid, COLOR_GRAD2," Dieser Spieler ist nicht online!");
    if(GetDistanceBetweenPlayers(playerid,suspect) > 5) return SendClientMessage(playerid, COLOR_GRAD2,"Es ist kein Spieler in deiner Nähe!");
    GetPlayerName(suspect, giveplayer, sizeof(giveplayer)),GetPlayerName(playerid, sendername, sizeof(sendername));
    if(WantedLevel[suspect] < 1) return SendClientMessage(playerid, COLOR_GREY, " Der Spieler ist nicht gesucht!");
    new string2[128];
    GivePlayerMoney(playerid, moneys/2),FraktionsKasse[0] += moneys/2;
    format(string, sizeof(string), "* Du hast %s eingesperrt für $%d!", giveplayer,moneys),SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string2, sizeof(string2), " << Gesuchter: %s wurde von %s Eingespert >>",giveplayer,sendername),SendClientMessageToAll(COLOR_RED,string2);
    GivePlayerMoney(suspect, -moneys),format(string, sizeof(string), "Eingesperrt von %s ~n~ fuer $%d", sendername, moneys);
    GameTextForPlayer(suspect, string, 5000, 5),ResetPlayerWeapons(suspect),SetPlayerInterior(suspect, 3);
    switch(LSPDZellen) {
    case 0: SetPlayerPos(suspect,197.8290,161.8141,1003.0300),LSPDZellen++;
    case 1: SetPlayerPos(suspect,197.8312,174.6445,1003.0234),LSPDZellen++;
    case 2: SetPlayerPos(suspect,193.4911,174.3988,1003.0234),LSPDZellen=0;
    }
    PlayerInfo[suspect][pJailTime] = time * 60;
    if(bail) JailPrice[suspect] = bailprice,format(string, sizeof(string), "Du bist für %d Sekunden eingesperrt. Kaution: $%d", PlayerInfo[suspect][pJailTime], JailPrice[suspect]),SendClientMessage(suspect, COLOR_LIGHTBLUE, string);
    else JailPrice[suspect] = 0,format(string, sizeof(string), "Du bist für %d Sekunden eingesperrt. Kaution: nicht möglich", PlayerInfo[suspect][pJailTime]),SendClientMessage(suspect, COLOR_LIGHTBLUE, string);
    return PlayerInfo[suspect][pJailed] = 1,PlayerInfo[suspect][pArrested] += 1,SetPlayerInterior(suspect, 6),SetPlayerFree(suspect,playerid, "Verhaftet"),WantedPoints[suspect] = 0,WantedLevel[suspect] = 0,SetPlayerWantedLevel(suspect,0);
    }


    mfg. :thumbup:

    Immer diese GF Schreibweise...Bitte noch mehr Klammern und mehr Zeilen Code...man kann es auch einfach so schreiben:


    if(!strcmp("/muell", cmdtext, true)) {
    if(PlayerInfo[playerid][pJob] != 2) return SendClientMessage(playerid,Rot,"Du bist kein muelfahrer");
    if(Muellmann[playerid][pmi_bAktiv]) return SendClientMessage(playerid, Rot, "Es laeuft schon eine Mission!");
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 408) return SendClientMessage(playerid, Rot, "Du bist nicht im Muellwagen!");
    Muellmann[playerid][pmi_Checkpoint]=0,Muellmann[playerid][pmi_bAktiv]=true;
    SendClientMessage(playerid, Neongruen, "Muellabfuhr gestartet, fahre nun zu den einzelnen Haeusern!");
    SetPlayerCheckpoint(playerid,Muellabfuhr_Stationen[0][M_fX],Muellabfuhr_Stationen[0][M_fY],Muellabfuhr_Stationen[0][M_fZ],Muellabfuhr_Stationen[0][M_fRad]);
    return 1;
    }


    mfg. :thumbup:

    Mal als kleinen Verbesserungsvorschlag dieser Code:


    ocmd:admins(playerid,params[]) {
    new name[MAX_PLAYER_NAME],string[24 + MAX_PLAYER_NAME];
    for(new i,l=GetMaxPlayers();i<l;i++) {
    if(!IsPlayerConnected(i)) continue;
    GetPlayerName(i,name,MAX_PLAYER_NAME);
    switch(GetPVarInt(i,"Adminlevel")) { //evtl anpassen
    case 0: continue;
    case 1: format(string,sizeof(string),"Testsupporter: %s",name);
    case 2: format(string,sizeof(string),"Supporter: %s",name);
    case 3: format(string,sizeof(string),"ProSUP: %s",name);
    case 4: format(string,sizeof(string),"Moderator: %s",name);
    case 5: format(string,sizeof(string),"SupMOD: %s",name);
    case 6: format(string,sizeof(string),"ProMOD: %s",name);
    case 7: format(string,sizeof(string),"High Moderator: %s",name);
    case 8: format(string,sizeof(string),"Admin: %s",name);
    case 9: format(string,sizeof(string),"ProADM: %s",name);
    case 10: format(string,sizeof(string),"High Admin: %s",name);
    case 11: format(string,sizeof(string),"Stellv. Projektleiter: %s",name);
    case 12: format(string,sizeof(string),"Projektleiter: %s",name);
    }
    SendClientMessage(playerid,COLOR_GRAD1,string);
    }
    return 1;
    }


    PS: Achtet besonders auf die Schleife und die Deklaration der Variablen ;)


    mfg. :thumbup:

    Dann sag mir mal bitte welche Funktion das sein soll. Welchen sinn würde das auch ergeben? Erst ist das normale Objekt da und dann verwandelt sich das wie ein Transformer in ein anderes? Nenn mir mal bitte diese Funktion.


    So eine Funktion gibt es auch nicht ^^

    Ja mehr als genaug, zuviele unnötige klammern..


    Das stimmt schon mal, aber man kann noch mehr verbessern:


    if(!strcmp(cmd, "/pay", true)){
    new string[128];
    tmp = strtok(cmdtext, idx);
    if(!tmp[0])return SendClientMessage(playerid, 0xFF00C3FF, "NUTZUNG: /pay [Spieler ID / Name] [betrag]");
    giveplayerid = strval(tmp),tmp = strtok(cmdtext, idx);
    if(!tmp[0]) return SendClientMessage(playerid, 0xFF00C3FF, "NUTZUNG: /pay [Spieler ID / Name] [betrag]");
    moneys = strval(tmp);
    if(moneys > 1000 && PlayerInfo[playerid][pLevel] < 1)return SendClientMessage(playerid, 0xFF00C3FF, "Du musst mindestens Level 3 sein, um über $1000 abgeben zu können.");
    if(moneys < 1 || moneys > 99999)return SendClientMessage(playerid, 0xFF00C3FF, "Der Betrag muss zwischen $1 und $99999 sein!");
    if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, 0xFF00C3FF, "Ein Spieler mit dieser ID ist nicht online!");
    if(!ProxDetectorS(5.0, playerid, giveplayerid)) return SendClientMessage(playerid, 0xFF00C3FF, "Du musst näher an dem Spieler sein!");
    GetPlayerName(giveplayerid,giveplayer,MAX_PLAYER_NAME),GetPlayerName(playerid,sendername,MAX_PLAYER_NAME),playermoney = GetPlayerMoney(playerid);
    if(playermoney < moneys) return SendClientMessage(playerid, 0xFF00C3FF, "Du besitzt nicht genug Geld.");
    ConsumingMoney[giveplayerid] = 1,GivePlayerMoney(playerid,-moneys),GivePlayerMoney(giveplayerid, moneys);
    format(string, sizeof(string), " Du hast %s(Spieler ID: %d), $%d auf die Hand gegeben.", giveplayer,giveplayerid, moneys);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0),SendClientMessage(playerid, COLOR_GRAD1, string);
    format(string, sizeof(string), " Du hast $%d von %s(Spieler ID: %d) auf die Hand gegeben.", moneys, sendername, playerid);
    SendClientMessage(giveplayerid, COLOR_GRAD1, string);
    format(string, sizeof(string), "%s hat $%d dem Spieler %s auf die Hand gegeben.", sendername, moneys, giveplayer);
    PayLog(string),PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0);
    if(moneys >= 1000000)return ABroadCast(COLOR_YELLOW,string,1);
    format(string, sizeof(string), "* %s nimmt etwas Geld aus seiner Tasche und gibt es %s.", sendername ,giveplayer);
    ProxDetector(30.0, playerid, string, 0xFF00C3FF,0xFF00C3FF,0xFF00C3FF,0xFF00C3FF,0xFF00C3FF);
    return 1;
    }


    Zudem ist strtok so wie es im GF verwendet wird, scheiße :S


    mfg. :thumbup:

    Ja toll, warum soll ich die Include nutzen wenn ich mir den Name doch da sowieso schon hole ? ..
    Kann ich auch als Parameter einfach Name eintragen ..


    ...wie gesagt, les dir meinen Beitrag doch durch den ich auf BlackAce seine Antwort geschrieben habe :rolleyes: