Spawn ist falsch. MYSQL

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
  • Hi , ich versuche schon den ganzen Tag es zu fixxen aber es geht nicht. Ich habe es jetzt mal so gemacht das er wenn er in Fraktion 1 ist dort spawnt und wenn nicht spawnt er bei diesen bauernhof(hab ich extra gemacht). So er ist in der Fraktion 1 aber er spawnt nicht da wo er spawnen soll. Aber in der stats steht das er in der fraktion 1 ist ?
    switch(sInfo[playerid][Fraktion])
    {
    case 1:
    {
    SetPlayerPos(playerid,245.3005,186.0758,1008.1719);
    SetPlayerInterior(playerid,3);
    SetCameraBehindPlayer(playerid);
    sInfo[playerid][SkinID] = GetPlayerSkin(playerid);
    SetPlayerColor(playerid,Blau);
    }
    }

    Einmal editiert, zuletzt von Maurice. ()

  • Printe es doch einmal und guck, ob dieser Teil überhaupt aufgerufen wird.
    Dann würde ich auch noch via Printf


    switch(sInfo[playerid][Fraktion])
    {
    print("Test 1");
    case 1:
    {
    printf("Meine FraktionsNumber: %d", sInfo[playerid][Fraktion]);
    SetPlayerPos(playerid,245.3005,186.0758,1008.1719);
    SetPlayerInterior(playerid,3);
    SetCameraBehindPlayer(playerid);
    sInfo[playerid][SkinID] = GetPlayerSkin(playerid);
    SetPlayerColor(playerid,Blau);
    }
    }


    Falls es ankommt und alles richtig ist,
    würde ich mal gucken, ob vll eine andere Funktion ein Bruchteil später eine andere Position setzt.

  • C:\Dokumente und Einstellungen\Maurice\Desktop\Maurice RolePlay\gamemodes\script.pwn(287) : error 002: only a single statement (or expression) can follow each "case"
    C:\Dokumente und Einstellungen\Maurice\Desktop\Maurice RolePlay\gamemodes\script.pwn(287) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Maurice\Desktop\Maurice RolePlay\gamemodes\script.pwn(288) : error 014: invalid statement; not in switch
    C:\Dokumente und Einstellungen\Maurice\Desktop\Maurice RolePlay\gamemodes\script.pwn(288) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Maurice\Desktop\Maurice RolePlay\gamemodes\script.pwn(288) : error 001: expected token: ";", but found ":"
    C:\Dokumente und Einstellungen\Maurice\Desktop\Maurice RolePlay\gamemodes\script.pwn(288) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Maurice\Desktop\Maurice RolePlay\gamemodes\script.pwn(288) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    5 Errors.


    switch(sInfo[playerid][Fraktion])
    {
    print("Test 1");
    case 1:
    {
    printf("Meine FraktionsNumber: %d", sInfo[playerid][Fraktion]);
    SetPlayerPos(playerid,245.3005,186.0758,1008.1719);
    SetPlayerInterior(playerid,3);
    SetCameraBehindPlayer(playerid);
    sInfo[playerid][SkinID] = GetPlayerSkin(playerid);
    SetPlayerColor(playerid,Blau);
    }
    }


    was ist daran falsch

  • Wenn Du die Spielerdaten in einer MySQL-Datenbank speicherst musst du diese natürlich auch abfragen.
    In den meisten Fällen wird das beim betreten des Servers gemacht. Alle Spielerdaten werden dann aus der Datenbank in ein Array geladen, um sie später leichter abfragen zu können.


    Da ich nun mal nicht weis wie dein Script aussieht geh ich trotzdem mal davon aus, dass Du die Daten eventuell vom MySQL-Server in Scriptinterne Variablen Holen lässt, bevor Du auch nur daran denkst eben jene zu benutzen.

  • Das: public OnPlayerSpawn(playerid)
    {


    new query[200];
    format(query,sizeof(query),"SELECT * FROM user WHERE Fraktion='%i'",sInfo[playerid][Fraktion]);
    mysql_function_query(dbhandle,query,true,"Test123","i",playerid);
    printf("Fraktion: %i",sInfo[playerid][Fraktion]);
    switch(sInfo[playerid][Fraktion])
    {
    case 0:{}
    case 1:{SetPlayerPos(playerid,polizeispawn);SetPlayerColor(playerid,Blau);}
    }


    }


    public Test123(playerid)
    {
    new num_fields,num_rows;
    cache_get_data(num_rows,num_fields,dbhandle);
    sInfo[playerid][Fraktion] = cache_get_field_content_int(0,"Fraktion",dbhandle);
    return 1;
    }


    Hat auch nix gebracht ;(