Beiträge von [C]Jack

    Hey,
    ich stehe gerade irgendwie aufm Schlauch.. Ich möchte in einem CMD Abfragen, ob ein Spieler (Nur der Name ist gegeben) online ist.
    Bisher hab ich den fehler, dass wenn ich frage, ob zB. Joe online ist und jemand on ist der "Joe" in seinem Namen hat (zB. Joe.Nachname) dann wird angezeigt, dass Joe online wär..
    So hab ich es nämlich bisher gemacht:
    if(IsPlayerConnected(ReturnUser(name))) return SendClientMessage(playerid,COLOR_GREY,"Der Spieler ist eingeloggt! Nutze: /ban [playerid/name] [grund]");
    Aber so ist es ja falsch :S


    Hoffe mir kann jemand helfen

    Soll das ein 3D Text sein?


    Ja sollte ein 3D Text sein



    Kaliber:
    Danke ich werd es mal ausprobieren


    /edit: Hat vielleicht noch jemand eine Idee wie man das lösen könnte? Denn wenn dort "Return" steht hilft mir das leider auch nicht viel weiter ^^

    Abend,
    ich frage mich gerade, wie ich einen Key als String ausdrücken kann, dass heißt wenn ich zB. gern einen Text anzeigen möchte "Enter zum betreten".
    Wenn der Spieler alerdings den key "KEY_SECONDARY_ATTACK" auf einer anderen Taste gelegt hat soll dort diese Taste stehen.
    So hab ich es schon ausprobiert, funktioniert aber nicht:

    Code
    format(pickuptext,sizeof(pickuptext),"'%s zum betreten",KEY_SECONDARY_ATTACK);


    Hoffe mir kann da jemand weiterhelen


    mfg

    Das würde so nicht klappen...
    jenachdem wie du den Panzer erstellt... wie du den Parameter als Farbe ersetzt hast, wird, wenn du z.B die Farbe 1 eingetragen hast, in der saveposition.txt auch eine 1 stehen


    Wie wärs wenn man den Panzer im debug Modus von SAMP erstellt.
    Dort werden Fahrzeuge immer in den Standardfarben gespawnt zB. Copcars in Schwarz Weiß usw.

    new newpass[64] = cmdtext;
    cmdtext gibt doch genau das wieder, was man hinter dem Befehl eingegeben hat


    #Edit: Falsch! :D
    So müsste es gehen:
    if( strcmp("/capass", cmdtext, true, 10) == 0)
    {

    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid,Grau,"[Benutze]: /capass [New Password]");
    return 1;
    }
    new newpass[64] = (result);
    return 1;
    }

    Abend, ziel ist es, dass wenn ich beispielsweise "/id eter" eingebe und ein Spieler Namens "Peter" auf dem Server ist
    er angezeigt wird. Wenn nun auch noch ein Spieler Namens "Kreter" auf dem Server ist sollte dieser Spieler ebenfalls angezeigt werden.
    Mein Ansatz:
    if(strcmp(cmd, "/id", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_DBLUE, "nutze: /id [id/spielername]");
    return 1;
    }
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    new name[65];
    name = SpielerName(i);
    if(strfind(name,cmdtext,true) != -1)
    {
    format(string, sizeof(string), "ID: (%d) %s, Level: %d",i,name,SpielerInfo[i][pLevel]);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    }
    return 1;
    }


    #Edit:
    Hab nun geschafft, dass ich ein Teil des Namens eingeben kann und alle die einen solchen Teil im Namen haben werden angezeigt, allerdings ist mein Problem nun, dass ich altanativ trotzdem noch gern zB. /id 1 eingebe möchte.
    Wie füg ich das nun ein?
    if(strcmp(cmd, "/id", true) == 0)
    {
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid,COLOR_DBLUE, "* NUTZE: /id [{C80000}id/spielername{2641FE}]");
    return 1;
    }
    if(strlen(result) < 3)
    {
    SendClientMessage(playerid,COLOR_GREY, "* INFO: Mindestens 3 Buchstaben!");
    return 1;
    }
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    new name[65];
    name = SpielerName(i);
    //if(strfind(text,SchimpfWort[i],true) != -1)
    if(strfind(name,(result),true) != -1)
    {
    format(string, sizeof(string), "ID: (%d) %s, Level: %d",i,name,SpielerInfo[i][pLevel]);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }


    Gruß
    Joe

    wie rechnet man z.B. wenn man $1000 verdient und die Steuern 25% sind, wie rechnet man in Samp aus wie viel die Steuern in $ betragen?


    Ganz einfach eine Rechenaufgabe schreiben:
    new lohn = 1000;
    new steuern = 25;
    new netto = lohn\100*75; // ganz einfacher Dreisatz. Bei dieser Aufgabe werden zB. von den 1000$ Lohn 25% Steuern abgezogen.

    Ahaa das ist also ein Timer, dann ist das gespame natürlich kein Wunder :D


    Dann klammer SetTimer("LetDoorsLocked".... erst mal aus ( // Kommentar Funktion ) und
    ergänze das hier unter OnPlayerEnterVehicle:


    if(Dtc_Carlock[vehicleid])
    {
    if(vehicleid == PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId])
    {
    SetVehicleParamsForPlayer(vehicleid,playerid,0,0);
    SendClientMessage(playerid,0xFFFFFFFF,"Als Besitzer des Fahrzeugs kommst du rein. Für andere Spieler ist es allerdings abgeschlossen!");
    }
    else
    {
    SetVehicleParamsForPlayer(vehicleid,playerid,0,1);
    SendClientMessage(playerid,0xFF00FF00,"Fahrzeug abgeschlossen!");
    }
    }