Führerschein im non GF

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
  • Hallo,


    Ich hoffe ihr könnt mir helfen ich habe ein non GF Rl script bzw arbeite dran.


    jetzt möchte ich füherscheine machen erstma Auto.


    ich hab schon alles gemacht das man sie vergeben kann und so.


    Nun mein problem


    Wie mach ich dsa man vom car geckikt wird wen man kein führerschein aht ??


    bei onplayerstatechange aber wie ??

  • 1. Ganz oben,


    new autoschein[MAX_PLAYERS]; // Autoschein




    2. Unter public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)


    eine abfrage mit den model ids aller autos starten oder eben der die in deinem GM sind-in dem beispiel sind alle drin.
    if(GetVehicleModel(vehicleid) == 400 || GetVehicleModel(vehicleid) == 401 || GetVehicleModel(vehicleid) == 402 ||
    GetVehicleModel(vehicleid) == 403 || GetVehicleModel(vehicleid) == 404 || GetVehicleModel(vehicleid) == 405 ||
    GetVehicleModel(vehicleid) == 406 || GetVehicleModel(vehicleid) == 407 || GetVehicleModel(vehicleid) == 408 ||
    GetVehicleModel(vehicleid) == 409 || GetVehicleModel(vehicleid) == 410 || GetVehicleModel(vehicleid) == 411 ||
    GetVehicleModel(vehicleid) == 412 || GetVehicleModel(vehicleid) == 413 || GetVehicleModel(vehicleid) == 414 ||
    GetVehicleModel(vehicleid) == 415 || GetVehicleModel(vehicleid) == 416 || GetVehicleModel(vehicleid) == 418 ||
    GetVehicleModel(vehicleid) == 419 || GetVehicleModel(vehicleid) == 420 || GetVehicleModel(vehicleid) == 421 ||
    GetVehicleModel(vehicleid) == 422 || GetVehicleModel(vehicleid) == 423 || GetVehicleModel(vehicleid) == 424 ||
    GetVehicleModel(vehicleid) == 426 || GetVehicleModel(vehicleid) == 427 || GetVehicleModel(vehicleid) == 428 ||
    GetVehicleModel(vehicleid) == 429 || GetVehicleModel(vehicleid) == 431 || GetVehicleModel(vehicleid) == 432 ||
    GetVehicleModel(vehicleid) == 433 || GetVehicleModel(vehicleid) == 434 || GetVehicleModel(vehicleid) == 435 ||
    GetVehicleModel(vehicleid) == 436 || GetVehicleModel(vehicleid) == 437 || GetVehicleModel(vehicleid) == 438 ||
    GetVehicleModel(vehicleid) == 439 || GetVehicleModel(vehicleid) == 440 || GetVehicleModel(vehicleid) == 441 ||
    GetVehicleModel(vehicleid) == 442 || GetVehicleModel(vehicleid) == 443 || GetVehicleModel(vehicleid) == 444 ||
    GetVehicleModel(vehicleid) == 445 || GetVehicleModel(vehicleid) == 449 || GetVehicleModel(vehicleid) == 450 ||
    GetVehicleModel(vehicleid) == 451 || GetVehicleModel(vehicleid) == 455 || GetVehicleModel(vehicleid) == 456 ||
    GetVehicleModel(vehicleid) == 457 || GetVehicleModel(vehicleid) == 458 || GetVehicleModel(vehicleid) == 459 ||
    GetVehicleModel(vehicleid) == 366 || GetVehicleModel(vehicleid) == 470 || GetVehicleModel(vehicleid) == 474 ||
    GetVehicleModel(vehicleid) == 475 || GetVehicleModel(vehicleid) == 477 || GetVehicleModel(vehicleid) == 478 ||
    GetVehicleModel(vehicleid) == 479 || GetVehicleModel(vehicleid) == 480 || GetVehicleModel(vehicleid) == 482 ||
    GetVehicleModel(vehicleid) == 483 || GetVehicleModel(vehicleid) == 485 || GetVehicleModel(vehicleid) == 486 ||
    GetVehicleModel(vehicleid) == 489 || GetVehicleModel(vehicleid) == 490 || GetVehicleModel(vehicleid) == 491 ||
    GetVehicleModel(vehicleid) == 492 || GetVehicleModel(vehicleid) == 494 || GetVehicleModel(vehicleid) == 495||
    GetVehicleModel(vehicleid) == 496 || GetVehicleModel(vehicleid) == 498 || GetVehicleModel(vehicleid) == 499 ||
    GetVehicleModel(vehicleid) == 500 || GetVehicleModel(vehicleid) == 502 || GetVehicleModel(vehicleid) == 503 ||
    GetVehicleModel(vehicleid) == 504 || GetVehicleModel(vehicleid) == 505 || GetVehicleModel(vehicleid) == 506 ||
    GetVehicleModel(vehicleid) == 507 || GetVehicleModel(vehicleid) == 508 || GetVehicleModel(vehicleid) == 514 ||
    GetVehicleModel(vehicleid) == 515 || GetVehicleModel(vehicleid) == 516 || GetVehicleModel(vehicleid) == 517 ||
    GetVehicleModel(vehicleid) == 518 || GetVehicleModel(vehicleid) == 524 || GetVehicleModel(vehicleid) == 525 ||
    GetVehicleModel(vehicleid) == 526 || GetVehicleModel(vehicleid) == 527 || GetVehicleModel(vehicleid) == 528 ||
    GetVehicleModel(vehicleid) == 529 || GetVehicleModel(vehicleid) == 530 || GetVehicleModel(vehicleid) == 531 ||
    GetVehicleModel(vehicleid) == 532 || GetVehicleModel(vehicleid) == 533 || GetVehicleModel(vehicleid) == 534 ||
    GetVehicleModel(vehicleid) == 535 || GetVehicleModel(vehicleid) == 536 || GetVehicleModel(vehicleid) == 540 ||
    GetVehicleModel(vehicleid) == 541 || GetVehicleModel(vehicleid) == 542 || GetVehicleModel(vehicleid) == 543 ||
    GetVehicleModel(vehicleid) == 544 || GetVehicleModel(vehicleid) == 545 || GetVehicleModel(vehicleid) == 546 ||
    GetVehicleModel(vehicleid) == 547 || GetVehicleModel(vehicleid) == 549 || GetVehicleModel(vehicleid) == 550 ||
    GetVehicleModel(vehicleid) == 551 || GetVehicleModel(vehicleid) == 552 || GetVehicleModel(vehicleid) == 554 ||
    GetVehicleModel(vehicleid) == 555 || GetVehicleModel(vehicleid) == 556 || GetVehicleModel(vehicleid) == 557 ||
    GetVehicleModel(vehicleid) == 558 || GetVehicleModel(vehicleid) == 559 || GetVehicleModel(vehicleid) == 560 ||
    GetVehicleModel(vehicleid) == 561 || GetVehicleModel(vehicleid) == 562 || GetVehicleModel(vehicleid) == 564 ||
    GetVehicleModel(vehicleid) == 565 || GetVehicleModel(vehicleid) == 566 || GetVehicleModel(vehicleid) == 567 ||
    GetVehicleModel(vehicleid) == 568 || GetVehicleModel(vehicleid) == 571 || GetVehicleModel(vehicleid) == 572 ||
    GetVehicleModel(vehicleid) == 573 || GetVehicleModel(vehicleid) == 574 || GetVehicleModel(vehicleid) == 575 ||
    GetVehicleModel(vehicleid) == 576 || GetVehicleModel(vehicleid) == 578 || GetVehicleModel(vehicleid) == 679 ||
    GetVehicleModel(vehicleid) == 580 || GetVehicleModel(vehicleid) == 582 || GetVehicleModel(vehicleid) == 583 ||
    GetVehicleModel(vehicleid) == 585 || GetVehicleModel(vehicleid) == 587 || GetVehicleModel(vehicleid) == 588 ||
    GetVehicleModel(vehicleid) == 589 || GetVehicleModel(vehicleid) == 594 || GetVehicleModel(vehicleid) == 596 ||
    GetVehicleModel(vehicleid) == 597 || GetVehicleModel(vehicleid) == 598 || GetVehicleModel(vehicleid) == 599 ||
    GetVehicleModel(vehicleid) == 600 || GetVehicleModel(vehicleid) == 601 || GetVehicleModel(vehicleid) == 602 ||
    GetVehicleModel(vehicleid) == 603 || GetVehicleModel(vehicleid) == 604 || GetVehicleModel(vehicleid) == 605 ||
    GetVehicleModel(vehicleid) == 609)
    {
    if(autoschein[playerid] == 0) // wenn kein autoschein vorhanden ist dann ->
    {
    TogglePlayerControllable(playerid, 1); // Am einsteigen hindern
    SendClientMessage(playerid,0xFF0000AA, "Du besitzt keinen Autoschein !"); // Meldung an den Spieler
    }}




    3.Unter
    public OnPlayerCommandText(playerid, cmdtext[])


    einen autoschein vergeben.
    if(!strcmp(strget(cmdtext, 0), "/autoschein"))
    {
    new giveplayerid = strval(strget(cmdtext, 1)); // id des Spielers
    {
    autoschein[giveplayerid] = 1; // Autoschein auf 1 setzen
    }
    return 1;
    }


    4. Damit die scheinvergabe auch funktioniert musst du noch ganz untem im script strget definieren falls du es noch nicht hast.


    stock strget(strx[], pos, search = ' ') {
    new arg, ret[128], idxx;
    for (new i = 0; i < strlen(strx); i++) {
    if(strx[i] == search || i == strlen(strx) || strx[i + 1] == 10) {
    arg++;
    if (arg == pos + 1){
    ret[i-idxx] = EOS;
    return ret;
    } else if (arg == pos)
    idxx= i+1;
    }
    else if (arg == pos)
    ret[i - idxx] = strx[i];
    }
    return ret;
    }

    12 Mal editiert, zuletzt von Traxter ()

  • Gern gemacht ;)



    Habe nochmal änderungen vorgenommen und etwas ergänzt, so müsste es jetzt einwandfrei laufen da bei der definierung des führerscheins vorher noch ein kleiner fehler war.




    Wegen der Scheinvergabe, kannst natürlich auch deine Methode nehmen - musst dann halt nur den code etwas abändern bezüglich des Scheins.

    Einmal editiert, zuletzt von Traxter ()

  • new giveplayerid = strval(strget(cmdtext, 1)); // id des Spielers


    Was soll die Zeile bewirken? Das verstehe ich nicht ganz >.>

    Das ist der erste Wert nach dem /autoschein.
    Der command würde dann folgendermassen aussehen, wobei 1 die playerid darstellt.


    /autoschein 1




    EDIT: Danke das du mich darauf aufmerksam gemacht hast, es muss nämlich heissen ->


    autoschein[giveplayerid] = 1; //


    Da taucht das giveplayerid dann wieder auf^^

  • Das sind alles nur Autos, daher Boote,Bikes,Flugzeuge sind da nicht mit drin.



    Kannst du entweder noch ergänzen falls du nur einen schein für alles haben willst oder eben weitere Führerscheine + die dazugehörigen abfragen erstellen.