Beiträge von Darklight

    Du sollst die Funktion GetPlayerHealth einfach nehmen und sie vor die Funktion SetPlayerHealth setzen.
    Das ist einfach als es sich jetzt vielleicht anhört und deswegen verstehst du es wahrscheinlich auch nicht :)


    Markiere die gesamte Funktion GetPlayerHealth und drücke auf STRG+X, jetzt setze deinen Cursor eine Zeile vor die Funktion SetPlayerHealth und klicke auf STRG+V. Jetzt hast du die Funktion vor die andere gesetzt.

    Wenn mich grad nicht alles täuscht bedeutet das nur das du die Funktion "Float:GetHealth(playerid)" vor die Funktion "SetHealth" setzen sollst.
    Also einfach ausschneiden und über die andere Funktion wieder einfügen.

    Im Prinzip müsstest du jetzt nur noch eine Prozedur erstellen welche "GateClose" heißt, die das Object "lstor" per MoveObject wieder an die Ausgangsposition verschiebt.

    Nein ^^
    Ich meinte das hier:

    Zitat

    Zeile:

    PAWN Quelltext

    if(IsPlayerConnected(i) && PlayerToPoint(5.0,playerid,PlayerInfo[i][pTx],PlayerInfo[i][pTy],PlayerInfo[i][pTz] && PlayerInfo[i][pTot] == 1 && PlayerInfo[i][pJailed] == 0 && PlayerInfo[i][pwJailed] == 0 && PlayerInfo[i][pGangJailed] == 0 && PlayerPaintballing[i] == 0))



    Noch einmal per Quellcode einfügen und nicht per Editor, ansonsten kann mann es kaum lesen.

    stock GetHealth(playerid)
    {
    new Float:health;
    GetPlayerHealth(playerid, health);
    return health;//Der Fehler liegt hier
    }


    Ist an un für sich schon richtig nur musst du dem Stock noch sagen das er ein Float zurückgibt, also so:
    stock Float:GetHealth(playerid)
    {
    new Float:health;
    GetPlayerHealth(playerid, health);
    return health;//Der Fehler liegt hier
    }

    Warum denn so kompliziert ?
    Lies von ihm doch einfach den Tag, Monat und Jahr aus und fang dann an zu rechnen.
    new alter = heutigermonat - angegebenermonat;
    if(heutigermonat < angegebenermonat) alter--;
    else if(heutigermonat == angegebenermonat)
    {
    if(heutigertag != angegebenertag) alter--;
    }

    Ich würde dir ebenso keine Video Tutorials empfehlen.
    Versuch erst einmal das ganze selbst zu scripten. Wenn du dann Fragen hast wieso etwas nicht funktioniert oder wie etwas funktioniert, kannst du hier im Forum eine Frage stellen.
    Tutorials sind schon ganz nett, aber verleiten meiner Meinung einfach zu sehr zum Copy & Paste.

    Erstmal vornweg, das hier soll keine Supportanfrage für ein WBB-Forum werden.


    Also, seit einiger Zeit laden hauptsächlich WBB-Foren extrem langsam. Andere Webseiten kann ich normal mit 4 MB pro Sekunde erreichen.
    Ich hab den Verdacht das es an meiner momentanen IP-Adresse liegt. Da viele Internetseiten das Herkunftsland von mir nicht, bzw. falsch bestimmen können.


    Kann es sein das WBB-Foren (SA-MP.de eingeschlossen) beim Laden von Seiten den Herkunftsort versuchen zu bestimmen und sie deshalb so langsam bei mir sind ?
    Würde mich freuen wenn mir jemand helfen kann.


    Mit freundlichen Grüßen
    Darklight

    Dabei gibt es aber dann ein Problem, denn ich gehe mit for-schleifen die ID (AUTO_INCREMENT) durch und fragen nach bestimmten Werten ab. Und wenn eben plötzlich eine ID nicht mehr erreichbar ist könnte dies zu Problemen führen.

    Das ist ziemlich viel, meinst du nicht ? Glaube der stack ist nicht mal standardmäßig so groß. Befürchte,dass du damit das Script zum Absturz bekommst bzw den Server.


    Hm, gut möglich.
    Was ich vorhabe ist: eine Reihe aus einer MySQL-Tabelle zu löschen.
    Dazu wollte ich erstmal alles in variablen speichern und dann alles, bis auf die zu löschende Reihe, wieder in die Tabelle reinschreiben.

    Bis hierher schonmal vielen Dank.
    Nun habe ich aber das Problem, das Pawno mir das mehrdimensionale Array nicht erstellen will. Ich habe es mit print's getestet, bei der Deklaration führt er die Funktion nicht weiter aus.


    Das hier wäre der Code:

    Spoiler anzeigen
    stock MySQL_Loeschen(Name[], ID)
    {
    new a = (ID + 1), tname[1024][MAX_PLAYER_NAME], tnumber[1024];
    format(SQLEscapeX[0], 128, "SELECT * FROM %s", Name);
    mysql_query(SQLEscapeX[0]);
    mysql_store_result();
    new rows = mysql_num_rows();
    mysql_free_result();
    for(new i = 1; i <= rows; i++)
    {
    if(i != a)
    {
    format(SQLEscapeX[0], 128, "SELECT Telefonnummer FROM %s WHERE ID = '%d'",Name,i);
    mysql_query(SQLEscapeX[0]);
    mysql_store_result();
    tnumber[i] = mysql_fetch_int();
    format(SQLEscapeX[0], 128, "SELECT Name FROM %s WHERE ID = '%d'",Name,i);
    mysql_query(SQLEscapeX[0]);
    mysql_store_result();
    mysql_fetch_string(tname[i]);
    }
    }
    for(new i = 1; i <= rows; i++)
    {
    printf("%s - %d",tname[i],tnumber[i]);
    }
    }

    Auch wenn ich das"tname" Array auf nur die viertel Größe reduziere funktioniert es nicht.

    Guten Abend,


    ich bin nicht gerade ein Ass wenn es um Mehrdimensionale Arrays in Pawn geht.
    Deshalb würde ich gerne kurz eure Hilfe in Anspruch nehmen.


    Und zwar würde ich gerne in einen Mehrdimensionalen Array mehrere Namen einspeichern.
    Nur leider weis ich nicht wie ich dies deklarieren muss.


    Ich hoffe das mir jemand helfen kann.
    Danke schon mal im voraus.


    Mit freundlichen Grüßen
    Darklight

    Guten Tag,


    eigentlich hatte ich vor einen string zu deklarieren, welcher je nach Anzahl seine Größe ändert. Gedacht hatte ich mit das so:
    new string[anz*11];
    Leider erlaubt das der Compiler leider nicht.
    Gibt es eventuell noch andere, einfache Methoden?

    Nicht getestet sollte aber gehen:


    OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid)
    {
    if(GetPlayerWeapon(issuerid) == 34)
    {
    SetPlayerHealth(playerid,0);
    }
    }