[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
  • Versuch mal:
    SQL_HOST "localhost"
    zu
    SQL_HOST "127.0.0.1"

  • Also habe jetz den Debug Modus an, kann


    Spoiler anzeigen
    [12:24:03]

    Spoiler anzeigen
    [12:24:03] ---------------------------

    Spoiler anzeigen
    [12:24:03] MySQL Debugging activated (11/07/14)

    Spoiler anzeigen
    [12:24:03] ---------------------------

    Spoiler anzeigen
    [12:24:03]

    Spoiler anzeigen
    [12:24:03] >> mysql_connect( )

    Spoiler anzeigen
    [12:24:03] CMySQLHandler::CMySQLHandler() - constructor called.

    Spoiler anzeigen
    [12:24:03] CMySQLHandler::CMySQLHandler() - Connecting to "127.0.0.1" | DB: "Samp_db" | Username: "root" ...

    Spoiler anzeigen
    [12:24:03] CMySQLHandler::Connect() - Unknown database 'samp_db' (Error ID: 1049)

    Spoiler anzeigen
    [12:24:03] >> mysql_ping( Connection handle: 1 )

    Spoiler anzeigen
    [12:24:03] CMySQLHandler::Ping() - You cannot call this function now. (Reason: Dead Connection)

    Spoiler anzeigen
    [12:24:03] >> mysql_connect( )

    Spoiler anzeigen
    [12:24:03] CMySQLHandler::Connect() - Unknown database 'samp_db' (Error ID: 1049)

    Spoiler anzeigen
    [12:24:03] >> mysql_ping( Connection handle: 1 )

    Spoiler anzeigen
    [12:24:03] CMySQLHandler::Ping() - You cannot call this function now. (Reason: Dead Connection)

    Spoiler anzeigen
    [12:24:04] CMySQLHandler::~CMySQLHandler() - deconstructor called.

    Spoiler anzeigen
    [12:24:04] CMySQLHandler::FreeResult() - There is nothing to free (Reason: Connection is dead)

    Spoiler anzeigen
    [12:24:04] CMySQLHandler::Disconnect() - You cannot call this function now. (Reason: Connection is dead)


    Die daten stimmen alle... kann es am Plugin Liegen?

  • Beitrag von Apokrate ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Du musst bei der strcmp-Abfrage das true zu einen false machen bzw. anders rum.
    Ich bin mir gerade nicht sicher wie es muss, ob false oder true, musst du gucken was du gerade da stehen hast :thumbup:

  • Apokrate: Ich nehme an du hast es auf einem Linux System liegen, dort ist es so, weil Linux gleiche Dateinamen mit unterschiedlicher Schreibweise unterstützt. Windows nicht. Da mag man sich streiten was besser ist.


    Wenn du jede Schreibweise auf Linux als ein Account haben willst, dann solltest du das Account in Kleinbuchstaben speichern, und dann beim connect den SpielerName wieder in Kleinbuchstaben ändern (temporärer string) und damit abfragen ob das Konto existiert.
    Falls du dir nicht vorstellen kannst wie, poste deine Login und Registrations Funktionen, und das was dazugehört, dann zeige ich es dir später.


    ICy.:
    true = eGaL wiE (case insensitive)
    false = Genau (case sensitive)

  • Hallo, ich habe das im Script stehen:


    mysql_format(db_handle,query,sizeof(query),"INSERT INTO `konten` SET bankid = %d, `name` = `%s`, girkonto = 0, girgeld = 0",SetV,name);
    mysql_tquery(db_handle,query);



    Bekomme aber die Errors:


    [20:34:54] [DEBUG] mysql_format - connection: 1, len: 400, format: "INSERT INTO `konten` SET bankid = %d, `name` = `%s`, girkonto = 0, girgeld = 0"
    [20:34:54] [DEBUG] mysql_tquery - connection: 1, query: "INSERT INTO `konten` SET bankid = 1, `name` = `Carl_Bauer`, girk", callback: "(null)", format: "(null)"
    [20:34:54] [DEBUG] CMySQLQuery::Execute[] - starting query execution
    [20:34:54] [ERROR] CMySQLQuery::Execute[] - (error #1054) Unknown column 'Carl_Bauer' in 'field list'
    [20:34:54] [DEBUG] CMySQLQuery::Execute[] - error will be triggered in OnQueryError


    Und ich weiß nicht warum :/

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


    ich bins wieder... ich bin grad dabei an den Team auswahlen... da habe ich erstmal mehrere Fragen:


    Ich versuche grad den TuT von m4rcii einigermaßen zu verstehen. ([ SCRIPTING ] Teams mit gTeam erstellen [UPDATED])
    Jedoch komme ich nicht weiter.


    Kleine vor Information: Ich habe 3 Teams. (ARMY,TERRORISTEN,HITMAN) Und Army soll nur den Army skin haben, also vorerst. und der Terror auch nur einen Bestimmten Skin, und der Hitman ebenso.



    So jetzt mein Problem:
    -> Es werden alle skins angezeigt, obwohl es nur 3 bestimmte anzeigen sollte. Hier der Code:


    switch(classid) { case 287: gTeam[playerid] = TEAM_USARMY; case 220: gTeam[playerid] = TEAM_TERRORISTEN; default : gTeam[playerid] = TEAM_HITMAN;//soll eigentlich nur die Skin ID 165 haben.Geht aber irgendwie nicht , weil dann Errors kommen... }


    -> Irgendiwe will der nicht richtig anzeigen...



    So dann zu meinen Fragen:


    Wie mache ich dass , wenn der Spieler dann z.b.: Auf den Army Skin ist dass dann ein GameText kommt mit "US ARMY" und so weiter?


    Und meine letzte Frage:


    Wie mache ich dass, wenn man den skin switch, dass die Camera bewegt wird?


    Jeffry
    @AlleExperten :) :D


    //EDIT: Jetzt wird irgendiwe nur noch CJ Angezeigt ??

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:

  • 1.
    Das geht in der normalen class selection nicht. Du kannst Spielern keine unterschiedlichen Skins anzeigen, sondern allen nur den gleichen Satz an Skins. Wenn du es unterscheiden willst musst du eine eigene class selection, zum Beispiel mit Textdraws zum anklicken, machen.
    Du kannst die Skins aber über den GameText (Punkt 2) rot und grün anzeigen lassen, und bei Rot eben bei OnPlayerRequestSpawn return 0 machen, dann kann man den Skin nicht auswählen.


    2.
    Das würdest du bei OnPlayerRequestClass mit einem switch über classid machen. Case 0 wäre der erste Skin in der Reihe, Case 1 der zweite, und so weiter. Mit GameTextForPlayer zeigst du den GameText an.


    3.
    Flüssige Bewegungen erstellt man hiermit:
    http://wiki.sa-mp.com/wiki/InterpolateCameraPos
    http://wiki.sa-mp.com/wiki/InterpolateCameraLookAt

  • //EDIT: Ich hab es jetzt geschafft danke.. Aber könntest du mir einen Beispiel geben , zu denn GameTexten?


    //EDIT: Ich hab es jetzt so gemacht:


    //unter OnPlayerRec... SetPlayerPos(playerid, 1490.1405,685.9364,11.0799); SetPlayerCameraPos(playerid, 1489.9197,694.0383,10.8279+3); SetPlayerCameraLookAt(playerid, 1490.1405,685.9364,11.0799); SetPlayerFacingAngle(playerid, 359.1130); switch(classid) { case 287: gTeam[playerid] = TEAM_USARMY; case 220: gTeam[playerid] = TEAM_TERRORISTEN; default : gTeam[playerid] = TEAM_HITMAN;//soll eigentlich nur die Skin ID 165 haben.Geht aber irgendwie nicht , weil dann Errors kommen... }
    //unter OnGameModeInit AddPlayerClass(287, 1490.1405,685.9364,11.0799,359.1130, 0, 0, 0, 0, 0, 0); AddPlayerClass(220, 1490.1405,685.9364,11.0799,359.1130, 0, 0, 0, 0, 0, 0); AddPlayerClass(165, 1490.1405,685.9364,11.0799,359.1130, 0, 0, 0, 0, 0, 0);


    Und evlt. auch wie ich dass machen würde, wenn man auf Weiter drücken würde, dass die kamera von rechts leicht anschwenkt, und halt dann wieder weiterdrückt, dass die Kamera dann wieder von links anschwenkt?

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:

    2 Mal editiert, zuletzt von [GeD]Max ()

  • Beitrag von Apokrate ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Beitrag von Apokrate ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Ja versuch ihr .. aber irgendiwe macht er immer so eine komische Formation , ich versuch es trozdem:



    //Derzeitig habe ich dass unter OnPlayerReq...


    switch(classid)
    {
    case 287: gTeam[playerid] = TEAM_USARMY;
    case 220: gTeam[playerid] = TEAM_TERRORISTEN;
    default : gTeam[playerid] = TEAM_HITMAN;//soll eigentlich nur die Skin ID 165 haben.Geht aber irgendwie nicht , weil dann Errors kommen...
    }


    //Und dass unter OnGameModeInit:


    AddPlayerClass(287, 1490.1405,685.9364,11.0799,359.1130, 0, 0, 0, 0, 0, 0);
    AddPlayerClass(220, 1490.1405,685.9364,11.0799,359.1130, 0, 0, 0, 0, 0, 0);
    AddPlayerClass(165, 1490.1405,685.9364,11.0799,359.1130, 0, 0, 0, 0, 0, 0);


    Komisch jetzt gehts... egal.. Also:


    Ich will dass wenn der SPieler auf den Army Skin kommt dass da ein GameText kommt mit "Us Army ...." Bitte ein Beispiel dazu. :)


    -> Und dann möchte ich wenn der Spieler den Skin wechselt, also bei der Skinauswahl, soll die Kamera von Links kommen , und dann wenn er wieder wechselt dann wieder von rechts und so weiter.. Wie soll dass gehen?

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:

  • Dir neue Version nutzt verschiedene Threads, bzw kann das nutzen, und vor allem besteht der Unterschied natürlich darin, dass das R39-2 mit caching arbeitet, sprich es ist wesentlich performanter als das R5.


    Alles was du mit dem R5 machen kannst, kannst du auch mit dem R39-2 machen.


    Wie gesagt, wenn du mit der Zeit gehen willst, nutze das R39-2. Es lohnt sich auf jeden Fall.




    @[GeD]Max:
    OnPlayerRequestClass:
    switch(classid)
    {
    case 0: GameTextForPlayer(playerid, "Skin 1", 5000, 4);
    case 1: GameTextForPlayer(playerid, "Skin 2", 5000, 4);
    case 2: GameTextForPlayer(playerid, "Skin 3", 5000, 4);
    }



    Das kannst mit der Kamera kannst du mit http://wiki.sa-mp.com/wiki/InterpolateCameraPos machen. Bei case 0 lässt du es zu der linken Position bewegen, bei case 1 wieder zu der rechten, bei case 2 zur linken, usw.
    Versuch es einfach mal.

    3HZXdYd.png

    Einmal editiert, zuletzt von Jeffry ()

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