Beiträge von Dudalus

    Hallo


    Ist das ein Zweit-PC ?Drück beim Starten mal F8 (oder ähnlich), damit solltest Du zur Boot Selection kommen. Wähl dort mal deine HDD aus. Stimmt die Bootreihenfolge im BIOS (Meine im Bezug auf deine Boot-Option1/2) ? Kannst Du arnicht mehr booten ?


    Gruss

    Hi


    Noch als Nachtrag: Pickuptyp 23 verschwindet gar nicht, sprich er verschwindet nicht und spawnt dann wieder, er ruft das Callback auf, kann aber nicht aufgenommen werden, was in deinem Fall praktischer wäre.


    Gruss

    Wenn Du OnPlayerPickuUpPickup verwnedest sollte es so gehen. Wenn Du aber einen Timer hast, welcher zB jede halbe Sekunde durch alle Spieler loopt und schaut, ob sie an einem Pickup stehen, musst Du ein MAX_PLAYERS Array machen und dort die vorherige pickupid eintragen.


    Zu erwähnen ist, dass das erstellte Pickup "aufnehmbar" sein müss, schau am besten dazu mal hier:


    http://wiki.sa-mp.com/wiki/AddStaticPickup
    http://wiki.sa-mp.com/wiki/PickupTypes <-- Pickuptyp


    Gruss


    Edit: Deutsch put

    Hi


    Arbeitest Du mit dem Callback OnPlayerPickUpPickup oder pollst Du mit einem Timer dauerhaft die Pickups durch ? Wenn Du OnPlayerPickUpPickup verwendest, wird dieses Callback ja erneut aufgerufen, da sich ja der Dialog wieder öffnet, darum blockierst Du das Callback. Ich habe an sowas in der Art gedacht:



    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid == GetPVarInt(playerid, "currentPickupID"))
    {
    // Die vorherige PickupID ist die selbe, sprich wir sind im selben Pickup -> blockieren
    return 1;
    }
    else
    {
    // Die pickupid hat sich geändert, also updaten wir den Wert
    SetPvarInt(playerid, "currentPickupID", pickupid);
    }
    // Nun kommen der Dialog für den Waffenladen
    ShowPlayerDialog()
    return 1;
    }


    Gruss

    Hallo


    Ich denke Du verwendest mal das Callback OnPlayerPickUpPickup. Nach dem Klicken auf Nein Danke würde ich eine Spielervariable auf die ID des Pickups setzen und OnPlayerPickUpPickup solange blockieren, bis die pickupid wechselt, sprich der Spieler in ein neues Pickup läuft.


    Gruss


    Edit:
    Timer Und was passiert, wenn der Spieler stehen bleibt ? Diese Lösung ist meiner Meinung nur halbwegs zufriedenstellend

    Haste die Möglichkeit, deine Grafikkarte, Prozessor, RAM und Netzteil an einem anderen PC zu testen, denn dann kannste ausschliessen und schlussendlich per Ausschlussverfahren schauen ob das Board defekt ist ?

    Hi


    Du willst von 40 bis 80 ? Dann mach es besser so :



    new value = random(40);
    value += 40;


    Alternativ auch mit einer do while Schleife zu lösen, ist aber etwas übertrieben. Für 2 Sekunden Freezen brauchste:


    http://wiki.sa-mp.com/wiki/SetTimerEx


    Die Parameter kannste dann einfach umstellen auf id oder playerid, sollte aber klar sein. Für zum Freezen wie bereits verwendet:


    http://wiki.sa-mp.com/wiki/Function:TogglePlayerControllable


    Gruss Simon

    Hallo


    Du hast auf dem Mainboard meines Wissens ein 4 poliger Stecker, daran wird in der Regel ein kleiner Speaker angehängt. Dieser macht zum Beispiel das Piepsen beim Starten des Computers. Es kann (vorallem auf neueren Boards) sein, dass dieser bereits auf dem Board verbaut ist, ansonsten kannste ihn von einem anderen PC schnell abhängen und an dein Board anhängen, sofern daran keiner ist (oder das Board defekt ist).


    Noch ein kleiner Link:


    http://www.website-go.com/artikel/beepcodes.php


    Gruss

    Hi


    • Alle Stromanschlüsse im Computer überprüfen
    • Stecker ausserhalb überprüfen und evt austauschen
    • BIOS-Speaker anhängen und schauen ob Töne kommen, wenn ja auswerten.

    Wenn es geht, mal Minimalkonfiguration herstellen und gegebenenfalls in einem anderen Computer testen


    Gruss

    Hi


    Was mir direkt mal aufgefallen ist:



    new string[128],text;
    if(sscanf(params, "s",text))return SendClientMessage(playerid,0xB0AFB0FF,"/(m)egaphone [text]");


    Du deklarierst einen Integer mit dem Namen "text", verwendest in sscanf aber den Specifier für einen String, also s. Wenn Du einen Text verwenden möchtest, musst Du der Variable text eine Stringlänge angeben, also zB text[64]. Nun verwendest Du aber bei SendClientMessage die Variable string, also möchtest Du in sscanf nicht lieber grad den String string verwenden ?


    Was man noch sagen ist, dass Du string und text entweder im Funktionsheader deklarieren kannst (nach ocmd...) oder im Schleifenheader(nach if und else if). Du musst im 2.Schleifenkopf (also im else if für das SEK string und text nicht zu string2 und text2 umbennen, da diese einen unterschiedlichen Gültigkeitsbereich (auch Scope genannt) aufweisen, sprich sich nicht kennen und darum gleich heissen dürfen, sofern sie natürlich nicht gleich nach ocmd:m(playerid, params[]), also dem Funktionsheader deklariert sind.


    Gruss Simon


    Edit: Rechtschreibung

    Hi


    Muss sagen, das ist seit längerem eine Map, welche mir gefällt. Was ich aber echt "grausig" finde ist die Fähnchenkette, welche beim Steg durch die Brücke geht. Könnte man die nicht entfernen oder die Brücke höher legen ? Zudme wäre ein bisschen Land um die Häuser noch schön, so das diese nicht im Wasser "schwimmen".


    Gruss

    Hallo


    Warum ein return in einer for Schleife :rolleyes:



    if(strcmp("/tötten",cmdtext,true)==0)
    {
    if(PlayerInfo[playerid][pAdmin] >= 2000)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerNPC(i))
    {
    SetPlayerHealth(i, 0.0);
    }
    }
    }
    }


    Edit:
    Wirkt SetPlayerHealth überhaupt auf NPCs. Ich meine wegen folgender Seite oder ist diese einfach veraltet :


    http://wiki.sa-mp.com/wiki/NPC:Main_Page

    Hallo


    Also am Besten nimmst Du ein bisheriges Script und fängst an, dieses lansam aber stetig zu verändern. Wenn Du dann genug Erfahrung hast, schreib ein Eigenes, dann weisst Du automatisch, was Du machen musst. Ein Selfmadescript ohne Erfahrung (Tippe ich jetzt mal) zu erstellen erschwert dir nur das Leben (Also so habe ich es jedenfalls gemacht). Als kleine Entscheidungshilfe:


    [ LISTE ] Aller Gamemodes


    Gruss

    Hallo


    Als Kleiner Hinweis:

    • Hier fehlen am Schluss 2 geschlossene Klammern
      format(string,sizeof(string),"AdmCmd: %s wurde von %s gebannt. Grund: %s",PlayerName(pID,PlayerName(playerid,reason);
    • string und reason haben die gleiche Grösse
    • Wenn Du sscanf2(.6) verwendest, also die Version mit Plugin und nicht als Code im Gamemode, muss bei einem String die Stringlänge angegeben werden, also zB:
    Code
    if(sscanf(params, "us[30]", id, randomstring)) ...


    Gruss Simon