Beiträge von Kasakow

    So erst mal danke für die Kontruktive Kritik.
    Nein tut mir leid , ich werde es nicht nochmal auf mysql machen weil ich nich sehr gut mit mysql umgehen kann.(konnte)


    und werde meine Fehler ausbessern.


    Und es ist selfmade.


    Hab mich da 1 1/2 stunden rangesetzt(müde deswegen solange) und dann bekomm ich an den kopf geworfen das es ich bin bisschen kopiert hab und eingefügt.


    Stimmt nicht ;)

    forward Timer(playerid);


    new Float:Mpx[MAX_PLAYERS],Float:Mpy[MAX_PLAYERS],Float:Mpz[MAX_PLAYERS];


    public OnPlayerSpawn(playerid)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid, X, Y, Z);
    Mpx[playerid] = X;
    Mpy[playerid] = Y;
    Mpz[playerid] = Z;
    SetTimerEx("Timer",3000,true,"i",playerid);
    return 1;
    }


    public Timer(playerid)
    {
    if(!IsPlayernRangeOfPoint(playerid,5.0,Mpx[playerid],Mpy[playerid],Mpz[playerid]))return SendClientMessage(playerid, 0xFFFFFFFF, "Du hast dich vom spawn entfernt!");
    SendClientMessage(playerid, 0xFFFFFFFF, "Gut, du stehst noch beim Spawn!");
    return 1;
    }

    1. würde /q nicht gehen, da er schon für schliesen des spieles verwendet wird.
    2. Erstellst du einen befehl mit strcmp so:


    if(strcmp(cmdtext,"/command", true,10) == 0)
    {
    }


    und mit zcmd so:


    command(command, playerid, params[])
    {
    return 1;
    }

    Andere möglichkeit:


    CMD:command(playerid, params[])
    {
    return 1;
    }

    Der Fehler ist, dass du ein verschlüsseltes Passwort nicht entschlüsseln kannst...
    Wenn der spieler sein pw vergessen hast, so brauchst du nur einen cmd mit dem du als admin das pw ändern kannst. der Spieler sollte dann natürlich auch wieder sein passwort ändern können



    hm, ja und öhm, wieso muss der spieler online sein.??



    und wie kann man emails versenden(script technisch?

    Hallo leute, ich benutze ein Login & Register auf Dini , mit md5 verschlüsselt.


    So mein problem ist:
    Erstens muss der spieler online sein und 2. wird nicht das entschlüsselte pw ausgeben , nur das md5


    //Passwort vom imgame rauslesen
    dcmd_getpassword(playerid, params[])
    {
    new account[24]; //new account[24];
    new string[128]; //new string[128];
    if(!IsAdmin(playerid,6))
    return SendClientMessage(playerid, Rot, "Fehler: Du bist nicht der ServerOwner.");
    if(sscanf(params,"s",account))
    return SendClientMessage(playerid, Rot, "Fehler: /getpassword [spielername] (muss ein vorhandener spieler sein)");
    format(spielerdatei, sizeof(spielerdatei), "/DB/SpielerAccounts/%s.ini",account);
    if(!dini_Exists(spielerdatei))
    return SendClientMessage(playerid, Rot, "Fehler: Der Spieler existiert nicht.");
    new HisPassword[50];
    HisPassword = MD5_Hash(dini_Get(spielerdatei, "Key"));
    format(string, sizeof(string), "Server: Sein Password lautet %s",HisPassword);
    SendClientMessage(playerid, Weis, string);
    return 1;
    }


    Mein ziel ist, das der spieler nicht online sein muss, nur das die datei in der DatenBank vorhanden ist.
    2. Das password soll entschlüsselt da stehen.


    Wo liegt hier mein Fehler.

    else if(strcmp(Option, "off", true) == 0)
    {
    if(Neonlichter[vehicleid] < 1)return SendClientMessage(playerid, Rot, "Fehler: Du hast keine Neonröhren abgebracht.");
    DestroyObject(rot1[vehicleid]);
    DestroyObject(rot2[vehicleid]);
    DestroyObject(blau1[vehicleid]);
    DestroyObject(blau2[vehicleid]);
    DestroyObject(gelb1[vehicleid]);
    DestroyObject(gelb2[vehicleid]);
    DestroyObject(weis1[vehicleid]);
    DestroyObject(weis2[vehicleid]);
    DestroyObject(pinke1[vehicleid]);
    DestroyObject(pinke2[vehicleid]);
    DestroyObject(grun1[vehicleid]);
    DestroyObject(grun2[vehicleid]);
    }


    So hab ichs versucht.
    aber das objekt setzt sich nach dem fahren wd dran


    if(Neonlichter[vehicleid] == 1)
    {
    rot1[vehicleid] = CreateObject(18647,0,0,0,0,0,0);
    rot2[vehicleid] = CreateObject(18647,0,0,0,0,0,0);
    AttachObjectToVehicle(rot1[vehicleid], vehicleid, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(rot2[vehicleid], vehicleid, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    Neonlichter[vehicleid] = 1;
    }


    So lasse ich sie anbringen, wie wieder abbauen?

    Hier zu dem sieht man das der stock register ausgeführt wird.


    if(dialogid == DIALOG_REGISTER)
    {
    if(response == 0)return Kick(playerid);
    if(response == 1)
    {
    if(!strlen(inputtext))
    {
    SendClientMessage(playerid, Rot, "Fehler: Du hast nichts eingegben.");
    new string[600];
    format(string, 600, "{FFFFFF}Willkommen auf GermanTrucking\n\nDu hast hier noch keinen Account.\n\nRegestriere dich bitte mit einem biligen Passwort ein.\n\n{00FF1E}Benutzername{FFFFFF}: {CDFF00}%s\n\n{FFFFFF}Deine IP:{1400FF}%s",GetName(playerid),GetIp(playerid));
    ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "GermanTrucking - Register",string,"reg","abbrechen");
    return 1;
    }
    if(strlen(inputtext) < 6)
    {
    SendClientMessage(playerid, Rot, "Fehler: Du musst mindesten 6 zeichen verwenden.");
    new string[600];
    format(string, 600, "{FFFFFF}Willkommen auf GermanTrucking\n\nDu hast hier noch keinen Account.\n\nRegestriere dich bitte mit einem biligen Passwort ein.\n\n{00FF1E}Benutzername{FFFFFF}: {CDFF00}%s\n\n{FFFFFF}Deine IP:{1400FF}%s",GetName(playerid),GetIp(playerid));
    ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "GermanTrucking - Register",string,"reg","abbrechen");
    return 1;
    }
    Register(playerid, MD5_Hash(inputtext));
    }
    }



    //REgister stock
    stock Register(playerid, key[])
    {
    format(spielerdatei, sizeof(spielerdatei), "/DB/SpielerAccounts/%s.ini",GetName(playerid));
    dini_Create(spielerdatei);
    dini_Set(spielerdatei,"Key",key);
    SpawnPlayer(playerid);
    SetPlayerPos(playerid, -78.3933, -1169.8947, 2.1360);
    SetPlayerCameraPos(playerid, -81.3954,-1168.3391,2.2187);
    SetPlayerCameraLookAt(playerid,-78.3933,-1169.8947,2.1360);
    TogglePlayerControllable(playerid,0);
    SkinAuswahl[playerid] = 1;
    SendClientMessage(playerid, Weis, "Gebe nun [{00EBFF}Weiter] {FFFFFF} zum switchen und [{00EBFF}Fertig]{FFFFFF} ein um auszuwählen!");
    return 1;
    }


    Hier sieht man das eine Pos gesetzt wird und das SkinAuswahl[playerid] = 1; ist


    public OnPlayerText(playerid, text[])
    {
    if(strcmp(text, "weiter", true) == 0 && SkinAuswahl[playerid] == 1)return switchSkin(playerid);
    new string[128],name[24];
    GetPlayerName(playerid, name, 24);
    format(string, sizeof(name), "%s sagt: %s",name,text);
    Say(playerid, 10.0, 0xFFFFFFFF, string);
    return SetPVarInt(playerid, "Test", 1);
    }


    So , hier sieht man, if(strcmp(text, "weiter", true) == 0 && SkinAuswahl[playerid] == 1)return switchSkin(playerid); // das soll wenn man weiter eingibt und SkinAuswahl[playerid] == 1; ist dann soll der stock swtchskin ausgeführt werden und kein anderer
    So, nur das sollte dann passieren
    Dann hab ich noch
    return SetPVarInt(playerid, "Test", 1);
    Das soll verhindern das der öff chat verwendet wird.
    So nun wird der local chat und der öff chat verwendet.


    stock switchSkin(playerid)
    {
    switch(Skin[playerid])
    {
    case 0:
    {
    SetPlayerSkin(playerid, 1);
    Skin[playerid] = 1;
    }
    case 1:
    {
    SetPlayerSkin(playerid, 2);
    Skin[playerid] = 2;
    }
    case 2:
    {
    SetPlayerSkin(playerid, 3);
    Skin[playerid] = 3;
    }
    case 3:
    {
    SetPlayerSkin(playerid, 4);
    Skin[playerid] = 4;
    }
    case 4:
    {
    SetPlayerSkin(playerid, 5);
    Skin[playerid] = 5;
    }
    case 5:
    {
    SetPlayerSkin(playerid, 6);
    Skin[playerid] = 6;
    }
    case 6:
    {
    SetPlayerSkin(playerid, 7);
    Skin[playerid] = 7;
    }
    case 7:
    {
    SetPlayerSkin(playerid, 8);
    Skin[playerid] = 8;
    }
    }
    return 1;
    }


    Hier ist der stock switchskin


    zudem kann er nicht gescheit ausgeführt werden da, öhm


    Der local+ öff chat da stören, und zudem wird ja nicht mal der spieler auf die stelle gesetzt,


    Also die 2 fehler sind,
    1. Das der spieler nicht auf die pos gesetzt wird.
    2. das wenn man weiter und in der sauswahl ist das er dann local#öff chat verwendet.


    Kann mir jemand helfen?

    dcmd_neon(playerid, params[])
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    new Option[30];
    if(sscanf(params,"s",Option))return SendClientMessage(playerid,Rot,"Befehl: /neon [neonfarbe]") && SendClientMessage(playerid, Weis, "Optionen: Rot,Blau,Gelb,Weis,Pink,Gruen");
    if(strcmp(Option, "Rot", true) == 0){ Neonlichter[vehicleid] = 1 && DestroyObject(rot1[vehicleid]) && DestroyObject(rot2[vehicleid]); }
    if(strcmp(Option, "Blau", true) == 0){ Neonlichter[vehicleid] = 2 && DestroyObject(blau1[vehicleid]) && DestroyObject(blau2[vehicleid]); }
    if(strcmp(Option, "Gelb", true) == 0){ Neonlichter[vehicleid] = 3 && DestroyObject(gelb1[vehicleid]) && DestroyObject(gelb2[vehicleid]); }
    if(strcmp(Option, "Weis", true) == 0){ Neonlichter[vehicleid] = 4 && DestroyObject(weis1[vehicleid]) && DestroyObject(weis2[vehicleid]); }
    if(strcmp(Option, "Pink", true) == 0){ Neonlichter[vehicleid] = 5 && DestroyObject(pinke1[vehicleid]) && DestroyObject(pinke2[vehicleid]); }
    if(strcmp(Option, "Gruen", true) == 0){ Neonlichter[vehicleid] = 6 && DestroyObject(grun1[vehicleid]) && DestroyObject(grun2[vehicleid]); }
    if(Neonlichter[vehicleid] > 0)
    {
    if(Neonlichter[vehicleid] == 1)
    {
    rot1[vehicleid] = CreateObject(18647,0,0,0,0,0,0);
    rot2[vehicleid] = CreateObject(18647,0,0,0,0,0,0);
    AttachObjectToVehicle(rot1[vehicleid], vehicleid, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(rot2[vehicleid], vehicleid, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    Neonlichter[vehicleid] = 1;
    }
    if(Neonlichter[vehicleid] == 2)
    {
    blau1[vehicleid] = CreateObject(18648,0,0,0,0,0,0);
    blau2[vehicleid] = CreateObject(18648,0,0,0,0,0,0);
    AttachObjectToVehicle(blau1[vehicleid], vehicleid, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(blau2[vehicleid], vehicleid, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    Neonlichter[vehicleid] = 2;
    }
    if(Neonlichter[vehicleid] == 3)
    {
    gelb1[vehicleid] = CreateObject(18650,0,0,0,0,0,0);
    gelb2[vehicleid] = CreateObject(18650,0,0,0,0,0,0);
    AttachObjectToVehicle(gelb1[vehicleid], vehicleid, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(gelb2[vehicleid], vehicleid, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    Neonlichter[vehicleid] = 3;
    }
    if(Neonlichter[vehicleid] == 4)
    {
    weis1[vehicleid] = CreateObject(18652,0,0,0,0,0,0);
    weis2[vehicleid] = CreateObject(18652,0,0,0,0,0,0);
    AttachObjectToVehicle(weis1[vehicleid], vehicleid, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(weis2[vehicleid], vehicleid, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    Neonlichter[vehicleid] = 4;
    }
    if(Neonlichter[vehicleid] == 5)
    {
    pinke1[vehicleid] = CreateObject(18651,0,0,0,0,0,0);
    pinke2[vehicleid] = CreateObject(18651,0,0,0,0,0,0);
    AttachObjectToVehicle(pinke1[vehicleid], vehicleid, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(pinke2[vehicleid], vehicleid, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    Neonlichter[vehicleid] = 5;
    }
    if(Neonlichter[vehicleid] == 6)
    {
    grun1[vehicleid] = CreateObject(18649,0,0,0,0,0,0);
    grun2[vehicleid] = CreateObject(18649,0,0,0,0,0,0);
    AttachObjectToVehicle(grun1[vehicleid], vehicleid, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    AttachObjectToVehicle(grun2[vehicleid], vehicleid, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    Neonlichter[vehicleid] = 6;
    }
    }
    return 1;
    }


    Das ist mein1. NeonSystem
    Seit dem ich es oben versucht habe zu verhindern das mehrene röhren auf 1x erstellt werden , wird überhaupt keine mehr erstellt.

    if(strcmp(Option, "Rot", true) == 0){ Neonlicher[vehicleid] = 1; }



    Wo liegt der Fehler


    edit neonlichter falsch geschribenen

    Moin.


    //Uhrzeit
    PTD[1] = TextDrawCreate(566.000000, 8.296318, "uhrzeit");
    TextDrawLetterSize(PTD[1], 0.449999, 1.600000);
    TextDrawAlignment(PTD[1], 1);
    TextDrawColor(PTD[1], 41215);
    TextDrawSetShadow(PTD[1], -1);
    TextDrawSetOutline(PTD[1], 0);
    TextDrawBackgroundColor(PTD[1], 51);
    TextDrawFont(PTD[1], 3);
    TextDrawSetProportional(PTD[1], 1);
    SetTimer("UpdateClock",1000,true);



    public UpdateClock()
    {
    for(new i = 0;i<MAX_PLAYERS;i++)
    {
    new playerid = i;
    new Hour,Minute,Second,Year,Month,Day,string[130];
    gettime(Hour,Minute,Second);
    getdate(Year,Month,Day);
    format(string, 130, "%02d:%02d:%02d~n~~g~%d.%d.%d",Hour,Minute,Second,Day,Month,Year);
    TextDrawSetString(PTD[1],string);
    TextDrawShowForPlayer(playerid,PTD[1]);
    }
    return 1;
    }


    Sehe keinen Fehler



    geht trotzdem nicxht hast du vll tv?