Beiträge von Akuba

    Ob jemand im Fahrzeug ist lässt sich meines wissens nach nur mit einen stock lösen:


    stock IsSomeOneInCar (vehicleid)
    {
    new i;
    for(i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerInVehicle(i, vehicleid)) return 1;
    }
    return 0;
    }


    Gibt 1 aus wenn ein Spieler im Fahrzeug ist und 0 wenn es leer ist.

    nach neuer Arbeit fragen ist doof.


    Wenn du so weiterarbeitest hast du wohl bald keine Arbeit mehr. Nach neuer Arbeit fragen zeigt vorallen dem Chef das du arbeiten willst. Niemand braucht jemanden der seine 5 Minuten aufgabe am Morgen macht und den Restlichen Tag nichts mehr. (Das war etwas übertrieben und soll niemanden angreifen, soll nur verdeutlichen!)

    Alles eine sache der Übung finde ich und wer das wirklich lernen will schafft das auch. Man darf halt nur nicht erwarten nach 2 Wochen ein Profi zu sein weil wenn man noch nie wirklich programmiert hat muss man ja erstmal den "Standartkram" lernen oder viele gehens einfach falsch an und wollen gleich Riesengroße Projekte machen. Diese überfordern sie dann und gebens auf.


    BTT: Ich schließe mich [DT]Sniper an, ~7€ sind ein Fairer preis.

    hab vom RGR script zwar keine Ahnung, MySQL funktioniert trotzdem überall gleich:


    Bist du sicher das das Script erfolgreich zum MySQL server verbindet?


    füg am besten in OnGameModeInit folgendes ein:
    mysql_debug(1);


    Verbinde dich dann mit dem Server, Reg. dich und log dich wieder aus.


    Im Hauptverzeichniss deines Samp Servers ist nun eine mysql_log.txt. Wenn du Englisch verstehst, schau nach ob eine meldung kommt das er nicht verbinden kann. Ansonsten poste das log mal hier im Forum. Passwörte stehen in der Log Datei nicht drin.

    Abend,


    wie der Titel schon sagt hab ich ein Recht eigenartiges Problem:


    Ich schreibe derzeit an einen Selfmade und wollte unten links ein Textdraw einfügen. Nachdem ich schon mehrmals gelesen hab das manche Gamemodes damit probleme haben, und auch bei mir nichts angezeigt wird. Habe ich das textdraw in einen Blanko gamemode gesteckt. Wie es geplant war wurde dieses mir auch nach dem Spawn angezeigt. Nur in meinen Selfmade Gamemode wird kein Textdraw angezeigt.


    Hier einmal das TextDraw:

    Spoiler anzeigen
    new Text:Bottom_Left;

    Spoiler anzeigen
    #define ADRESS_HOMEPAGE "google.de"
    #define ADRESS_TS3 "google.tv"
    #define ADRESS_UCP "google.com"

    Spoiler anzeigen
    // ausschnitt OnGameModeInit
    new string[228];
    Bottom_Left = TextDrawCreate(5.0,430.0,"_");
    format(string, sizeof(string), "~r~Forum: ~w~%s - ~y~TS3: ~w~%s - ~b~UserCP: ~w~%s", ADRESS_HOMEPAGE, ADRESS_TS3, ADRESS_UCP);
    TextDrawSetString(Bottom_Left, string);
    TextDrawLetterSize(Bottom_Left,0.299999,0.899999);
    TextDrawFont(Bottom_Left, 1);
    TextDrawColor(Bottom_Left, 0x2502FFFF);
    TextDrawSetOutline(Bottom_Left, 0);
    TextDrawSetProportional(Bottom_Left, true);
    TextDrawSetShadow(Bottom_Left, 1);

    Spoiler anzeigen
    public OnPlayerSpawn(playerid)
    {
    TextDrawShowForPlayer(playerid, Bottom_Left);
    TogglePlayerSpectating(playerid, false);
    TogglePlayerControllable(playerid,1);
    if(PlayerInfo[playerid][Logged] == 0) Kick(playerid);
    return 1;
    }


    Hat jemand eine Idee warum das Textdraw nur im Blanko gamemode angezeigt wird? Alle Variablen sind gesetzt und ich habe auch keine Fehler oder Warnings.

    Da du den Spieler sowieso umsetzt würde ich dir Empfehlen mit SetSpawnInfo zu arbeiten:


    if(listitem==0)
    {
    new randG = random(sizeof(RandomSpawnGangster));
    cop[playerid] = 0;
    robber[playerid] = 1;
    SetPlayerColor(playerid,-1);
    SetSpawnInfo( playerid, 0, 21, RandomSpawnGangster[randG][0],RandomSpawnGangster[randG][1],RandomSpawnGangster[randG][2], RandomSpawnGangster[randG][3], 1, 0, 0, 0, 0, 0 );
    SpawnPlayer(playerid);
    SendClientMessage(playerid,-1,"Du bist nun als {C90000}Gangster {FFFFFF}in die Rolle eines {C90000}Robber's {FFFFFF}eingestiegen!");
    SendClientMessage(playerid,-1,"Gebe {C90000}/robhelp {FFFFFF}ein um weitere Befehle und Hilfe hervorzurufen.");
    return 1;
    }


    Ungetestet, sollte aber gehen. schau am besten nochmal kurz drüber :)

    Gibt es bei dem MySQL R5 plugin eine möglichkeit, dem script zu sagen wenn er die lezte zeile erreicht hat?
    Also via schleife.


    Könntest du das genauer Definieren? Hört sich so an als Ob du wissen willst wann die Schleife vorbei ist:
    while($ar=mysql_fetch_array($query))
    {
    $a = $ar['KEY']; // Hat null sin :D
    }
    // Was passieren soll wenn die Schleife Durch ist, also alle Zeilen abgelaufen sind.

    den Stock/public "SpielerName" gibt es nicht.


    nimm dafür aber lieber eine Variable die einmalig unter "OnPlayerConnect" beschrieben wird, spart leistung.


    new SpielerName[MAX_PLAYERS];


    // in OnPlayerConnect
    GetPlayerName(playerid, SpielerName[playerid]);


    ocmd:ban(playerid,params[])
    {
    if(!isAdmin(playerid,3))return SendClientMessage(playerid,ROT,"Dein Admin Rang ist nicht Hoch genug");
    if(!isAdmin(playerid,1))return SendClientMessage(playerid,ROT,"Du bist kein Admin.");
    new reason[128],string[128];
    if(sscanf(params,"us",glovar[0],reason))return SendClientMessage(playerid,ROT,"/ban [id] [grund]");
    format(string,sizeof(string),"US BOT: %s wurde von %s gebannt. Grund: %s",SpielerName[glovar[0]],SpielerName[playerid],reason);
    SendClientMessageToAll(ROT,string);
    Ban(glovar[0]);
    return 1;
    }

    Du musst auch eine while Schleife machen. Dann sollte es klappen. Ich hoffe die Variable $conn ist der Query und nicht die Datenbankverbindung..


    PHP
    while ($ar = mysql_fetch_array($conn)) {
          $_SESSION['userid'] = $ar['id'];
          $_SESSION['Mail'] = $ar['Mail'];
          $_SESSION['regtime'] = $ar['reg_time'];
          $_SESSION['verifized'] = $ar['Verifiziert'];
          $_SESSION['money'] = $ar['Guthaben'];
          $_SESSION['rank'] = $ar['Rank'];
        }


    while kommt nur zum einsatz wenn es mehrere Datensätze gibt. Hier wird nur einer verlangt (denk ich mal :S).


    wie genau wird $benutzer angelegt? ist diese eine $_GET oder $_POST variable oder woher kommt diese?

    Das Problem ist halt das MySQL sagt unter den Angegeben Daten klässt sich kein MySQL Server finden.


    Bist du sicher das ein MySQL Server läuft wenn du das Script startest?


    versuch dich z.b. mal über PhpMyAdmin mit den Daten einzuloggen und Prüfe ob auch die Datenbank existiert und auch alle Rechte vorhanden sind um diese zu benutzen.

    Ich habs bis jetzt so gelöst das ich nur Nutzername und Passwort (verschlüsselt) als Session gespeichert hab, und nach erfolgreichen login auf der Nächsten Seite frage ich dann alles ab und Gebe das ohne Vorher in eine Session zu setzen aus.


    So wird Zwar Jedes mal wenn die Seite geladen wird ein Query ausgeführt, aber die Daten sind dann Aktuell.


    //Edit:
    Ich hoffe du hast nicht print_r($ar['id']); versucht. das würde nicht gehen. Direkt das Array $ar ausgeben lassen. Kommt nichts schlägt das Query fehl.