[PROB]dcmd und [FRAGEN]

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Habe hier nen Fehler fast bei jeden Befehl wenn der player/id net vorhanden ist das führt es den befehl trotzdem aus zB:
    //############# GOTO ############
    dcmd_goto(playerid,params[])
    {
    new pplayerid;
    if(pInfo[playerid][admin] >= 2)
    {
    if(sscanf(params,"d",pplayerid))
    {
    SendClientMessage(playerid,COLOR_YELLOW,"/goto [ID]");
    return 1;
    }
    if(!IsPlayerConnected(pplayerid))
    {
    SendClientMessage(playerid,COLOR_GREY,"Kein Spieler mit dieser ID online.");
    }
    new Float:x, Float:y, Float:z;
    new vehicleid = GetPlayerVehicleID(playerid);
    new State = GetPlayerState(playerid);
    GetPlayerPos(pplayerid,x,y,z);
    SetPlayerPos(playerid,x+2,y,z);
    if(IsPlayerInAnyVehicle(playerid) && State == PLAYER_STATE_DRIVER)
    {
    SetVehiclePos(vehicleid,x+2,y,z);
    PutPlayerInVehicle(playerid,vehicleid,0);
    }
    new pname[MAX_PLAYER_NAME], string[128];
    GetPlayerName(pplayerid,pname,sizeof(pname));
    format(string,sizeof(string),"Du hast dich zu %s teleportiert.",pname);
    SendClientMessage(playerid,COLOR_WHITE,string);
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"Du darfst diesen Command nicht nutzen!");
    }
    return 1;
    }

    wenn ich zB p als Player eingebe portet es auf coord 0,0,0 -.-*


    Und Fragen:
    1. Wie kann ich Wen ich im login fenster Login drücke den splayer spawnen one einen skin auswählen zu können ?
    2.Habe ein Tor gemacht und will es mit der Hupe (taste H) aufmachen wie geht das? und wie überprüfeich das der player der fahrer eines fahrzeugs ist ?? bisjetz siehts so aus:
    dcmd_auf(playerid,params[])
    {
    #pragma unused params
    if(IsPlayerInRangeOfPoint(playerid, 9.0, -1627.7772216797, 688.45043945313, 7.8621897697449))
    {
    if (tor==0)
    {
    MoveObject(obj, -1635.2772216797, 688.45043945313, 7.8621897697449, 2.00);tor=1;
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"Das Tor schließt automatisch.");
    SetTimer("GateClose",7000,0);tor=0;
    }
    }
    return 1;
    }
    public GateClose(playerid)
    {
    MoveObject(obj , -1627.7772216797, 688.45043945313, 7.8621897697449, 2.00);
    return 1;
    }
    Kann mir jemand Helfen ?? MfG bad_company

  • if(!IsPlayerConnected(pplayerid))
    {
    SendClientMessage(playerid,COLOR_GREY,"Kein Spieler mit dieser ID online."); return 1;
    }

  • Hätt ich auch selber drauf kommen können ...
    if(!IsPlayerConnected(pplayerid))
    {
    return SendClientMessage(playerid,COLOR_GREY,"Kein Spieler mit dieser ID online.");
    }
    habs jetz so funzt auch alles
    danke dir ^^


    Aber weiß jemand ne Antwort auf son paar Fragen da oben ???? Büdde ;(

  • ja das mit dem SpawnPlayer(playerid); geht irgendwie net kp wie oder wo es nei soll hab es so bei meim loginsystem...
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"/Spieler/%s.datei",pname);
    if(response)
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:
    {


    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"LOGIN","Bitte log dich mit deinem Passwort ein.","Einloggen","Abbrechen");
    return SendClientMessage(playerid,COLOR_LIGHTRED,"Kein Passwort angegeben!");
    }
    if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
    {
    pInfo[playerid][wanted] = dini_Int(accFormat,"wanted");
    pInfo[playerid][skin] = dini_Int(accFormat,"skin");
    pInfo[playerid][lastx] = dini_Float(accFormat,"lastx");
    pInfo[playerid][lasty] = dini_Float(accFormat,"lasty");
    pInfo[playerid][lastz] = dini_Float(accFormat,"lastz");
    GivePlayerMoney(playerid,dini_Int(accFormat,"Geld"));
    SetPlayerScore(playerid,dini_Int(accFormat,"Score"));
    pInfo[playerid][bankgeld] = dini_Int(accFormat,"bankgeld");
    pInfo[playerid][team] = dini_Int(accFormat,"team");
    pInfo[playerid][leader] = dini_Int(accFormat,"leader");
    pInfo[playerid][admin] = dini_Int(accFormat,"adminlevel");
    pInfo[playerid][rank] = dini_Int(accFormat,"rang");
    pInfo[playerid][ban] = dini_Int(accFormat,"ban");
    /*hier isses --------->*/ SpawnPlayer(playerid);
    pInfo[playerid][eingeloggt] = 1;
    return SendClientMessage(playerid,COLOR_LIGHTGREEN,"Du wurdest erfolgreich eingeloggt.");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"LOGIN","Bitte log dich mit deinem Passwort ein.","Einloggen","Abbrechen");
    SendClientMessage(playerid,COLOR_LIGHTRED,"Das Passwort war Falsch!");
    }
    }
    case DIALOG_REG:
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_REG,1,"REGISTRIEREN","Bitte Registriere dich indem du dein Passwort eintippst!","Registieren","Abbrechen");
    return SendClientMessage(playerid,COLOR_LIGHTRED,"Das Passwort ist zu kurz!");
    }
    dini_Create(accFormat);
    dini_Set(accFormat,"Passwort",inputtext);
    pInfo[playerid][eingeloggt] = 1;
    SendClientMessage(playerid,COLOR_LIGHTGREEN,"Account wurde angelegt und du wurdest eingeloggt.");
    GivePlayerMoney(playerid,10000);
    pInfo[playerid][leader]= 0;
    pInfo[playerid][team]= 0;
    pInfo[playerid][rank]= 0;
    pInfo[playerid][bankgeld] +=40000;
    }
    }
    }
    else
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"LOGIN","Bitte log dich mit deinem Passwort ein.","Einloggen","Abbrechen");
    case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,1,"REGISTRIEREN","Bitte Registriere dich indem du dein Passwort eintippst!","Registieren","Abbrechen");
    }
    }
    return 1;
    }


    hilfe !?! mfg bad_company

  • Zeig den Login Dialog nicht bei OnPlayerConnect sondern bei OnPlayerRequestClass an.
    Wichtig dabei ist nur zu überprüfen, ob der Spiele schon eingeloggt ist (für ForceClassSelection).
    und bei Response dann SpawnPlayer(playerid);


    Am besten ist noch du deaktivierst die SPAWN Taste bei der Skin auswahl mit dem Callback OnPlayeRequestSpawn(playerid).

  • aber muss ich alles jetz einfach alles bei OnePlayerRequstClass reinschreiben ??
    oder was genau ?
    Und kann man das so machen das man sich bei registrieren ein skin wählen kan und beim login dan nicht mehr ??


    mfg bad_company

  • aber raff das jetz vieleicht mal überhaupt net XD echt sry steh aufm schlauch was muss ich den wo einfügen ???
    also bei
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    soll Spawnplayer(playerid); hin aber wo kommt der rest hin soll ich mal das ganze system posten ??