Spawn Setzen? Wieso funtz es nicht?

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
  • Wieso funtz mein "Spawn" nicht?


    public OnPlayerSpawn(playerid)
    {
    switch(SpielerInfo[playerid][pFraktion])
    {
    case 0:{SetPlayerPos(playerid,mysql_GetFloat("fraktionen","SpawnX","Id","0"),mysql_GetFloat("fraktionen","SpawnY","Id","0"),mysql_GetFloat("fraktionen","SpawnZ","Id","0")); SetPlayerInterior(playerid,mysql_GetInt("fraktionen","Int","Id","0"));}
    case 1:{SetPlayerPos(playerid,mysql_GetFloat("fraktionen","SpawnX","Id","1"),mysql_GetFloat("fraktionen","SpawnY","Id","1"),mysql_GetFloat("fraktionen","SpawnZ","Id","1")); SetPlayerInterior(playerid,mysql_GetInt("fraktionen","Int","Id","1"));}
    case 2:{SetPlayerPos(playerid,mysql_GetFloat("fraktionen","SpawnX","Id","2"),mysql_GetFloat("fraktionen","SpawnY","Id","2"),mysql_GetFloat("fraktionen","SpawnZ","Id","2")); SetPlayerInterior(playerid,mysql_GetInt("fraktionen","Int","Id","2"));}
    case 3:{SetPlayerPos(playerid,mysql_GetFloat("fraktionen","SpawnX","Id","3"),mysql_GetFloat("fraktionen","SpawnY","Id","3"),mysql_GetFloat("fraktionen","SpawnZ","Id","3")); SetPlayerInterior(playerid,mysql_GetInt("fraktionen","Int","Id","3"));}
    case 4:{SetPlayerPos(playerid,mysql_GetFloat("fraktionen","SpawnX","Id","4"),mysql_GetFloat("fraktionen","SpawnY","Id","4"),mysql_GetFloat("fraktionen","SpawnZ","Id","4")); SetPlayerInterior(playerid,mysql_GetInt("fraktionen","Int","Id","4"));}
    case 5:{SetPlayerPos(playerid,mysql_GetFloat("fraktionen","SpawnX","Id","5"),mysql_GetFloat("fraktionen","SpawnY","Id","5"),mysql_GetFloat("fraktionen","SpawnZ","Id","5")); SetPlayerInterior(playerid,mysql_GetInt("fraktionen","Int","Id","5"));}
    }
    return 1;
    }


    stock mysql_GetFloat(Table[], Field[], Where[], Is[])
    {
    new query[128], Float:sqlfloat;
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_float(sqlfloat);
    mysql_free_result();
    return _: sqlfloat;
    }



  • ACH DU SCHEIßE!!


    Bei jedem Spawnen willst du aus der Tabelle lesen?


    Nimm einige Globale Variablen und lies bei OngameModeInit die Daten aus der Datenbank,
    bei OnGameModeExit speicherst du die wieder rein, aber das ist dämlich!

  • 1. Das


    und 2.: du brauchst das garnicht so umständlich machen:


    new Float:Variable[Anzahl der Möglichkeiten][3];
    dann liest du unter OnGameMode einmal aus:
    for(new i = 0; i < Anzahl der Möglichkeiten; i++)
    {
    Variable[i][0] = mysql_GetFloat("fraktionen","SpawnX","Id", i);
    Variable[i][1] = mysql_GetFloat("fraktionen","SpawnY","Id", i);
    Variable[i][2] = mysql_GetFloat("fraktionen","SpawnZ","Id", i);
    }

    und unter OnPlayerSpawn auch ganz einfach:


    new fID = SpielerInfo[playerid][pFraktion];
    SetPlayerPos(playerid,variable[fID][0],variable[fID][1],variable[fID][2]);


    Wenn das dann nicht klappen sollte, hast du ein Fehler beim auslesen der Tabelle, wenn alles in der Tabelle richtig drinne steht.

  • *Peinlich :whistling:


    C:\Users\Tayfun\Documents\Rainmeter\Skins\Desktop+\Folders\Pinned Apps\Scripts\Just RP\gamemodes\JustRP.pwn(222) : error 035: argument type mismatch (argument 4)
    C:\Users\Tayfun\Documents\Rainmeter\Skins\Desktop+\Folders\Pinned Apps\Scripts\Just RP\gamemodes\JustRP.pwn(223) : error 035: argument type mismatch (argument 4)
    C:\Users\Tayfun\Documents\Rainmeter\Skins\Desktop+\Folders\Pinned Apps\Scripts\Just RP\gamemodes\JustRP.pwn(224) : error 035: argument type mismatch (argument 4)


    for(new i = 0; i < Max_Fraks; i++)
    {
    FrakSpawn[i][0] = mysql_GetFloat("fraktionen","SpawnX","Id", i)//Error :P
    FrakSpawn[i][1] = mysql_GetFloat("fraktionen","SpawnY","Id", i)//Error :P
    FrakSpawn[i][2] = mysql_GetFloat("fraktionen","SpawnZ","Id", i)//Error :P
    }