Beiträge von [BlaZZeR]BirD

    Es ist nicht falsh SSL sonst würde mein Tban CMD ja nicht gehen ;)
    wert=gettime()+(60*time);
    SpielerInfo[pID][pTban] = wert;


    (d.h. wen ich "/tban ID 50" mache wird der Spieler für 50 min gebannt da es so gerechnet wird:
    wert=gettime()+(60*50) #50 hab ich in /tban angegeben#
    dann wird der Spieler für 50min getimebannt
    ich möchte aber mit nem anderem CMD einem Spieler eine "frisst" setzen (in Tagen nicht in Minuten!)
    also wen ich
    "/gp ID 50" mache wird es so gerechnet
    wert=gettime()+(180*50) #müsste eigentlich dann 50Tage sein oder nicht???#
    und wie lese ich die Zeit aus?

    Nene meine Rechnung müsste schon richtig sein mache es ja so
    ocmd:gp(playerid,params[])
    {
    if(SpielerInfo[playerid][pAdmin]>=5){
    new zeit,pID,wert;
    if(sscanf(params,"ui",pID,zeit))return SendClientMessage(playerid,WEIß,"Nutze: /gp [playerid] [Zeit]");
    if(IsPlayerConnected(pID)){
    if(zeit>0&&zeit<1000){
    new string[128];
    format(string,sizeof(string),"Du hast von %s bis %s Zeit erhalten",SpielerName(playerid),SpielerInfo[playerid][pVariableZeit]);
    SendClientMessage(pID,COLOR_BLAU,string);
    format(string,sizeof(string),"Du hast %s bis %s Zeit gelassen",SpielerName(pID),SpielerInfo[playerid][pVariableZeit]);
    SendClientMessage(playerid,COLOR_BLAU,string);
    wert=gettime()+(60*zeit);
    SpielerInfo[pID][pVariableZeit]=wert;SavePlayer(pID);
    }else SendClientMessage(playerid,WEIß,"Ungültige Zeitangabe");
    }else SendClientMessage(playerid,WEIß,"Der Spieler ist offline");
    }
    return 1;
    }

    Ich weiß das beim Auslesen muss man es so machen
    if(gettime() < SpielerInfo[playerid][pVariable]) {
    format(string, sizeof string, "Guten Tag, deine Zeit läuft am %s ab",pVariableZeit);
    SendClientMessage(playerid,WEIß, string);
    }
    ich weiß das man es irgentwie teilen muss aber ich habs nie hinbekommen es war irgentwie
    180/SpielerInfo[playerid][pVariableZeit]


    undnochma zur Tages angabe ist den
    wert=gettime()+(180*zeit);
    richtig? (ich möchte ja den Tag eintragen lassen)

    Moin,


    ich habe eine funktion gescriptet die einen Spieler für bestimmte Zeit etwas gibt nun möchte ich das ich das Datum auslesen kann.


    und noch eine Frage:
    wen ich
    wert=gettime()+(60+zeit);
    habe ist der Wert ja immer in Minuten und wen ich
    wert=gettime()+(180*zeit);
    müsste es ja in Tagen sein oder nicht?


    MFG

    Umschreiben && freuen
    ocmd:tban(playerid,params[])
    {
    if(SpielerInfo[playerid][pAdmin] >= 2){
    new time, grund[128], pID;
    if(sscanf(params,"uis",pID,time,grund))return SendClientMessage(playerid,WEIß,"/tban [playerid] [Zeit] [Grund]");
    if(IsPlayerConnected(pID)){
    if(time>0&&time<1000)
    {
    new string[128];
    format(string,sizeof(string),"AdmCmd: %s wurde von %s für %i Minuten gebannt. Grund: %s",SpielerName(pID),SpielerName(playerid),time,grund);
    SendClientMessageToAll(ROT,string);
    new wert;
    wert=gettime()+(60*time);
    SpielerInfo[pID][pTban] = wert;
    Kick(pID);
    new y,m,d,h,mi,s; getdate(y,m,d); gettime(h,mi,s);
    format(string,sizeof(string),"(%d/%d/%d)[%d:%d:%d] %s hat %s GeTBant Grund: %s\n",d,m,y,h,mi,s,SpielerName(playerid),SpielerName(pID),grund);
    admLog(string);
    return 1;
    }
    SendClientMessage(playerid,WEIß,"Ungültige Zeitangabe");
    return 1;
    }
    SendClientMessage(playerid,WEIß,"Spieler ist nicht Online");
    return 1;
    }
    return 1;
    }

    Hab nun
    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    for(new pv = 0; pv < sizeof(SJobCar); pv++){
    //if(vehicleid == SJobCar[pv] && !PlayerJob(playerid,5)){
    if(vehicleid == SJobCar[pv]){
    SetVehicleParamsForPlayer(vehicleid,playerid,0,1);
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid,false);
    SendClientMessage(playerid,WEIß,"Du darfst dieses Fahrzeug nicht fahren");
    TogglePlayerControllable(playerid,true);
    }
    }[...]
    Und es wird einmal die "Message" an den User gesendet und der User kann nicht rein :)
    nun eine Frage: hat das auswirkungen auf andere Fahrzeug aufn Server?


    #edit
    *FACEPALM???*
    hab ich ja nicht drinne ich tu nur so :sleeping:

    Nein, den ich möchte ja das niemand das Fahrzeug fahren kann (ausser wen man Job 6 hat xD) und JobCar2
    new JobCar2[3];
    JobCar2[0]=AddStaticVehicleEx(455,835.1490,868.7791,13.4615,200.0071,-1,-1,250);//FLATBAD
    JobCar2[1]=AddStaticVehicleEx(455,842.6182,870.9421,13.7948,189.6400,-1,-1,250);//FLATBAD
    JobCar2[2]=AddStaticVehicleEx(455,849.6279,873.9910,13.7871,184.1631,-1,-1,250);//FLATBAD

    Der Public Code:
    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    for(new pv = 0; pv < sizeof(SJobCar); pv++){
    if(vehicleid == SJobCar[pv] && !PlayerJob(playerid,5)){
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid,false);
    SendClientMessage(playerid,WEIß,"Du darfst dieses Fahrzeug nicht fahren");
    TogglePlayerControllable(playerid,true);
    }
    }
    for(new pv=0; pv<sizeof(JobCar2); pv++){
    if(vehicleid==JobCar2[pv]&& !PlayerJob(playerid,6)){
    TogglePlayerControllable(playerid,false);
    TogglePlayerControllable(playerid,true);
    SendClientMessage(playerid,WEIß,"Du darfst dieses Fahrzeug nicht fahren");
    }
    }
    for(new pv=0; pv<sizeof(JobCar); pv++){
    if(vehicleid==JobCar[pv]&& !PlayerJob(playerid,3)){
    TogglePlayerControllable(playerid,false);
    TogglePlayerControllable(playerid,true);
    SendClientMessage(playerid,WEIß,"Du darfst dieses Fahrzeug nicht fahren");
    }
    }
    return 1;
    }


    Der "PlayerJob" stock
    stock PlayerJob(playerid,jobid)
    {
    if(SpielerInfo[playerid][pJob] == jobid)
    return 1;
    return 0;
    }


    MFG

    Ja wen ich drinne sitze xD ich versuch ma "RemovePlayerFromVehicle(playerid);" einzufügen und editiere dann den Beitrag hier ^^


    #edit
    Ok mit "RemovePlayerFromVehicle(playerid);" funktioniert es :) jedoch möchte ich nicht das der Spieler überhaupt in das Fahrzeug kann.

    Danke :)
    also es funktioniert jedoch wen ich in ein Auto steigen will kann ich manschmal rein (werde aber dann wieder ejectet) aber manschmal halt nicht xD? liegts vlt am HomePC (meiner ist nicht gerade gut xd)


    #edit
    hatte noch den alten code bei "OnPlayerStateChange" drinne D: also werde dochnicht ausm Fahrzeug ejected sondern kann den Motor starten und fahren.

    Hmm, ich habs jetzt so getestet und der Spieler steigt ins Auto ein (ich möchte aber nicht das der Spieler ins Auto einsteigt ^^)
    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    new newcar = GetPlayerVehicleID(playerid);
    if(!PlayerJob(playerid,5)){
    for(new pv=0; pv <sizeof(SJobCar); pv++){
    SetVehicleParamsForPlayer(vehicleid,playerid,0,1);
    if(newcar==SJobCar[pv]){
    //SetVehicleParamsForPlayer(vehicleid,playerid,0,1);
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid,false);
    TogglePlayerControllable(playerid,true);
    SendClientMessage(playerid,WEIß,"Du darfst dieses Fahrzeug nicht fahren");
    }
    }
    }
    return 1;
    }


    MFG

    Abend,


    ich möchte wen ein Spieler die "Enter/F" Taste zum betreten eines Fahrzegus drückt die Fahrzeug ID herrausfinden
    und dann das hier machen.
    SetVehicleParamsForPlayer(SJobCar, playerid, 0, 1);
    da ich aber immer diesen Error erhalte
    C:\Users\Test\Desktop\0.3e\gamemodes\Backup\Untitled.pwn(4541) : error 035: argument type mismatch (argument 1)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.
    Frag ich mich was ich anstatt "SJobCar" schreiben soll? (schließlich ist der Spieler noch keinem Fahrzeug)


    MFG