[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Ah, bei dir war das, dass es doppelt aufgerufen wird.
    Dann sollte es so passen:
    stock MedicalSpawn(playerid)
    {
    static lastSpawn[MAX_PLAYERS];
    new h,m,s,str[168],t;
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    t = gettime(h,m,s);
    if(lastSpawn[playerid]+1 < t)
    {
    lastSpawn[playerid] = t;
    PickupInfo[playerid][pu_x] = x;
    PickupInfo[playerid][pu_y] = y;
    PickupInfo[playerid][pu_z] = z;
    PickupInfo[playerid][pu_hour] = h;
    PickupInfo[playerid][pu_minute] = m;
    PickupInfo[playerid][pu_seconds] = s;
    PickupInfo[playerid][pu_pickup] = CreatePickup(1313,0,PickupInfo[playerid][pu_x],PickupInfo[playerid][pu_y],PickupInfo[playerid][pu_z]);
    format(str,sizeof(str),"Deathpoint of %s\nTime of Death: %02d:%02d:%02d\n%i Seconds left until respawn.",getPlayerName(playerid),h,m,s,SpielerInfo[playerid][pDeathtime]);
    PickupInfo[playerid][pu_label] = Create3DTextLabel(str,Weiß,PickupInfo[playerid][pu_x],PickupInfo[playerid][pu_y],PickupInfo[playerid][pu_z],15.00,0,0);
    if(MedicalTimerID[playerid] != -1) KillTimer(MedicalTimerID[playerid]);
    MedicalTimerID[playerid] = SetTimerEx("MedicalTimer",1000,true,"i",playerid);
    }
    SetSpawnInfo(playerid,0,SpielerInfo[playerid][pSkin],1171.4297, -1323.3737, 15.5000,90.000,0,0,0,0,0,0);
    SetPlayerVirtualWorld(playerid,0);
    SetPlayerInterior(playerid,0);
    SpawnPlayer(playerid);
    TogglePlayerControllable(playerid,0);
    SetPlayerCameraPos(playerid, 1233.3835, -1325.5378, 28.5698);
    SetPlayerCameraLookAt(playerid, 1232.3846, -1325.5327, 28.4548);
    return 1;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Naja...ganz einfach:


    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • 40% kannst du so festlegen:
    if(random(100) < 40)
    {
    //40% Chance hier zu landen
    }


    Du kannst auch 10 und 4 nehmen, ich habe es nur so zur Veranschaulichung gemacht.


    EDIT: Ein Switch lohnt sich da meiner Meinung nach nicht, da es nur eine Abfrage ist, die ist in dem Fall performanter.

  • EDIT: Ein Switch lohnt sich da meiner Meinung nach nicht, da es nur eine Abfrage ist, die ist in dem Fall performanter.

    Weißte ja nicht...


    Vielleicht will er das verschiedene Dinge passieren, zu 10%..20%...30%...


    Zudem ist ein switch immer schneller als eine if-Abfrage..da per jumptable direkt an die Stelle gesprungen wird..

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Dein Freund sollte den materialindex mal wechseln, also einfach mal so zwischen 0-4 (vielleicht auch mehr) durch gehen, und schauen welcher Index der richtige war, damit das vorne auf das richtige "Brett" steht.
    Damit der Text da nur einmal steht, müsst ihr eine größere Schrift wählen. ;)

  • Zudem ist ein switch immer schneller als eine if-Abfrage..da per jumptable direkt an die Stelle gesprungen wird..

    Nein, nicht immer. Bei einer Abfrage ist die if-Variante - da korrigiere ich mich - zum Teil schneller, auch nicht immer. Es kommt drauf an, wie man die Abfrage macht. Interessanterweise, das ist mir grade aufgefallen, ist eine Abfrage if(x < 10) langsamer als if(x < 1).
    Hier aber zum Beispiel ist die if-Abfrage schneller:
    new a;
    a = 1;
    new t = GetTickCount();
    for(new i = 0; i < 10000000; i++)
    {
    if(a == 0) { }
    else { }
    }
    printf("if: %dms", GetTickCount()-t);
    t = GetTickCount();
    for(new i = 0; i < 10000000; i++)
    {
    switch(a)
    {
    case 0: { }
    default: { }
    }
    }
    printf("switch: %dms", GetTickCount()-t);


    Tatsächlich kommt es aber dann darauf an, wie viel Prozent Differenz er nimmt, ob es performanter ist oder nicht, daher würde ich sagen beide Varianten sind in Ordnung, wobei ich trotzdem die if-Variante bevorzuge, da sie schneller zu schreiben ist und der Performanceunterschied irrelevent gering ist.

  • Dein Freund sollte den materialindex mal wechseln, also einfach mal so zwischen 0-4 (vielleicht auch mehr) durch gehen, und schauen welcher Index der richtige war, damit das vorne auf das richtige "Brett" steht.
    Damit der Text da nur einmal steht, müsst ihr eine größere Schrift wählen. ;)

    Danke erstmal für deine Hilfe, wir sind mittlerweile schon weiter. Aber warum ist der Text nun Spiegelverkehrt? -> http://i.epvpimg.com/T1hzg.jpg

  • Ich wollte mal wissen wie WBB Hasht. Ich habe folgendes gesfunden "Double Salted Sha1 bcrypt" bestände die möglichkeit, diesen Hash von PAWN aus zumachen ?
    Als es soll nur gehasht werden und nicht entschlüsselt. Gibt es da ne Möglichekit ?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen