Beiträge von Fabi.StaR

    Guten Abend/Morgen alle zusammen,


    Ich bin grade dabei ein Fraktions autohaus zu schreiben und hänge béi dem Befehl /fpark wenn ich in meinem Fraktions auto setze und gebe /fpark ein kommt die MSG das es erfolgreich war aber in der Datenbank ändern sich die Positionen nicht hir der Befehl:


    Spoiler anzeigen
    ocmd:fpark(playerid, params[])
    {
    for(new i = 0; i < sizeof(FrakCarInfo); i++) {
    if(GetPlayerVehicleID(playerid) == FrakCarInfo[i][CarID] && FrakCarInfo[i][FrakID] == PlayerInfo[playerid][pLeader]) {
    new query[128],Float:X,Float:Y,Float:Z,Float:A;
    GetPlayerPos(playerid,X,Y,Z);
    GetPlayerFacingAngle(playerid,A);
    format(query, sizeof(query), "UPDATE `fraktionscars` SET (`FrakPosX`, `FrakPosY`, `FrakPosZ`, `FrakPosA`) = ('%f','%f','%f','%f') WHERE `FrakID` = '%i'",X,Y,Z,A,PlayerInfo[playerid][pLeader]);
    mysql_query(query);
    SCM(playerid,Gruen,"Du hast das Fahrzeug erfolgreich gepark!");
    }
    }
    return 1;
    }

    stock LoadPlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    GetPlayerName(playerid, PlayerInfo[playerid][pName], MAX_PLAYER_NAME);
    SetPlayerScore(playerid, mysql_GetInt("accounts", "Level", "Name", PlayerInfo[playerid][pName]));
    GivePlayerMoney(playerid,mysql_GetInt("accounts", "Geld", "Name", PlayerInfo[playerid][pName]));//hir
    PlayerInfo[playerid][Skin] = mysql_GetInt("accounts", "Skin", "Name", PlayerInfo[playerid][pName]);
    PlayerInfo[playerid][pLevel] = mysql_GetInt("accounts", "Level", "Name", PlayerInfo[playerid][pName]);
    PlayerInfo[playerid][pKills] = mysql_GetInt("accounts", "Kills", "Name", PlayerInfo[playerid][pName]);
    PlayerInfo[playerid][pTode] = mysql_GetInt("accounts", "Tode", "Name", PlayerInfo[playerid][pName]);
    PlayerInfo[playerid][pAdmin] = mysql_GetInt("accounts", "Admin", "Name", PlayerInfo[playerid][pName]);
    PlayerInfo[playerid][pSupporter] = mysql_GetInt("accounts", "Supporter", "Name", PlayerInfo[playerid][pName]);
    PlayerInfo[playerid][pHeimat] = mysql_GetInt("accounts", "Heimat", "Name", PlayerInfo[playerid][pName]);
    }
    return 1;
    }
    stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 1)
    {
    GetPlayerName(playerid, PlayerInfo[playerid][pName], MAX_PLAYER_NAME);
    mysql_SetInt("accounts", "Admin", PlayerInfo[playerid][pAdmin], "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Supporter", PlayerInfo[playerid][pSupporter], "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Level", GetPlayerScore(playerid), "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Geld", GetPlayerMoney(playerid), "Name", PlayerInfo[playerid][pName]);//hir
    mysql_SetInt("accounts", "Skin", GetPlayerSkin(playerid), "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Kills", PlayerInfo[playerid][pKills], "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Tode", PlayerInfo[playerid][pTode], "Name", PlayerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Heimat", PlayerInfo[playerid][pHeimat], "Name", PlayerInfo[playerid][pName]);
    }
    }
    return 1;
    }

    Dankee [DT]Beavis es geht :D aber habe noch ein Problem ehm unzwar wenn ich mir regestriere und bin ID 0 bekomme ich die Skin ID 0 anstadt die Skin ID 101 :(

    Guten Abend alle zussamen,


    Ich habe einen /id befehl der eigentlich wenn man /id [PlayerNamen] eingibt das dann die id von dem Spieler engegeben werden soll aber wenn ich und ein Freund joinen und er hat die ID 0 und ich /id eingebe dan wird mir angezeigt das er die ID 70 hat??? ich hoffe ihr könnt mir helfen hir der code:


    ocmd:id(playerid, params[])
    {
    new spielervar;
    if(sscanf(params, "u", spielervar))return SCM(playerid,Gelb,"Benutze: /id [Spieler playerid/Spieler Name]");
    if(IsPlayerConnected(spielervar) && spielervar != INVALID_PLAYER_ID)
    {
    formatEx(playerid,0x00EBFFFF,"** %s ( ID: %d )",PlayerName(spielervar),sname(spielervar));
    } else {
    SCM(playerid,Rot,"[ERROR]: Der Spieler ist nicht Online");
    }
    return 1;
    }


    hir der Stock sname():


    stock sname(playerid)
    {
    new snamemax[MAX_PLAYER_NAME+1];
    GetPlayerName(playerid,snamemax,sizeof(snamemax));
    return snamemax;
    }


    ich bedanke mich für jede hilfe die ihr mir geben könnt


    mfg. Fabi.StaR

    Guten Tag alle zusammen,


    Ich habe folgendes Problem:


    wenn ich diesen Code bei onplayerspawn einfüge;


    public OnPlayerSpawn(playerid)
    {
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerFacingAngle(playerid,269.1425);
    return 1;
    }


    und ich ins Game geh kann mich mich registrieren und dann kommt das:




    Ich bedanke mich bei allen die mir helfen.

    Warum werden die Strings net geladen (Besitzer und Erpresser ...):



    hir der laden code:


    Spoiler anzeigen
    stock LoadTanke()
    {
    for(new i = 0; i < MAX_TANKSTELLEN; i++) {
    TankeInfo[i][tExtortion] = mysql_GetTankeString("tankstellen","Erpresser","ID",i);//hir die Zeile : 766
    TankeInfo[i][tOwner] = mysql_GetTankeString("tankstellen","Besitzer","ID",i);//hir die Zeile : 767
    TankeInfo[i][tMessage] = mysql_GetTankeString("tankstellen","TankeText","ID",i);//hir
    TankeInfo[i][tTankPreis] = mysql_GetTankeInt("tankstellen","TankPreis","ID",i);
    TankeInfo[i][tKaufLevel] = mysql_GetTankeInt("tankstellen","KaufLevel","ID",i);
    TankeInfo[i][tKaufPreis] = mysql_GetTankeInt("tankstellen","KaufPreis","ID",i);
    TankeInfo[i][tKasse] = mysql_GetTankeInt("tankstellen","Kasse","ID",i);
    TankeInfo[i][tOwned] = mysql_GetTankeInt("tankstellen","Besetzt","ID",i);
    TankeInfo[i][tPosX] = mysql_GetTankFloat("tankstellen","PosX","ID",i);
    TankeInfo[i][tPosY] = mysql_GetTankFloat("tankstellen","PosY","ID",i);
    TankeInfo[i][tPosZ] = mysql_GetTankFloat("tankstellen","PosZ","ID",i);
    if(TankeInfo[i][tOwned] == 0)
    {
    //format(tankestring, sizeof(tankestring), "%s\n Diese Tankstelle steht zum verkauf!\nPreis: $%d \nLevel: %d \nBenutze /buytanke um die Tankstelle zu kaufen",TankeInfo[h][tMessage],TankeInfo[h][tKaufPreis],TankeInfo[h][tKaufLevel]);
    format(tankestring, sizeof(tankestring), " Diese Tankstelle steht zum verkauf!\nPreis: $%d \nLevel: %d \nBenutze /buytanke um die Tankstelle zu kaufen",TankeInfo[i][tKaufPreis],TankeInfo[i][tKaufLevel]);
    text_tanke[i] = Create3DTextLabel(tankestring,0xFFFFFFAA,TankeInfo[i][tPosX], TankeInfo[i][tPosY], TankeInfo[i][tPosZ]+0.50,15,0,1);
    Update3DTextLabelText(text_tanke[i],0xFFFFFFAA,tankestring);
    AddStaticPickup(1239, 1, TankeInfo[i][tPosX], TankeInfo[i][tPosY], TankeInfo[i][tPosZ]+0.25,-1);
    pickups++;
    }
    if(TankeInfo[i][tOwned] == 1)
    {
    format(tankestring, sizeof(tankestring), "%s\nInhaber: %s\nTeilhaber: %s\nPreis pro Liter: $%d \nLevel: %d",TankeInfo[i][tMessage],TankeInfo[i][tOwner],TankeInfo[i][tExtortion],TankeInfo[i][tTankPreis],TankeInfo[i][tKaufLevel]);
    text_tanke[i] = Create3DTextLabel(tankestring,0xFFFFFFAA,TankeInfo[i][tPosX], TankeInfo[i][tPosY], TankeInfo[i][tPosZ]+0.50,15,0,1);
    Update3DTextLabelText(text_tanke[i],0xFFFFFFAA,tankestring);
    AddStaticPickup(1239, 1, TankeInfo[i][tPosX], TankeInfo[i][tPosY], TankeInfo[i][tPosZ]+0.25);
    pickups++;
    }
    }
    return 1;
    }


    Hir der Stock mysql_GetTankeString:


    Spoiler anzeigen
    stock mysql_GetTankeString(Table[], Field[], Where[], Is)
    {
    new query[128], Get[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%d'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Get);
    mysql_free_result();
    return Get;
    }


    hir die errors:


    C:\Users\Fabian\Desktop\Mein Samp Server\gamemodes\Selfmade.pwn(766) : error 047: array sizes do not match, or destination array is too small
    C:\Users\Fabian\Desktop\Mein Samp Server\gamemodes\Selfmade.pwn(767) : error 047: array sizes do not match, or destination array is too small
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.

    Warum wird nix in der Tabelle geupdatet hir der code:



    Spoiler anzeigen
    ocmd:buytanke(playerid, params[])
    {
    new gname[MAX_PLAYER_NAME],str1[128],query[258];
    GetPlayerName(playerid,gname,sizeof(gname));
    format(str1,128,"Diese Tankstelle wurde von %s gekauft",gname);
    for(new t=0; t<sizeof(TankeInfo); t++) {
    if(IsPlayerInRangeOfPoint(playerid,8.0,TankeInfo[t][tPosX],TankeInfo[t][tPosY],TankeInfo[t][tPosZ])) {
    if(TankeInfo[t][tOwned] == 0 && SpielerInfo[playerid][pTankKey] == 0) {
    if(GetPlayerScore(playerid) >= TankeInfo[t][tKaufLevel]) {
    if(GetPlayerMoney(playerid) >= TankeInfo[t][tKaufPreis]) {
    TankeInfo[t][tOwner] = gname;
    //TankeInfo[t][tExtortion] = str;
    TankeInfo[t][tMessage] = str1;
    TankeInfo[t][tOwned] = 1;
    GivePlayerMoney(playerid,-TankeInfo[t][tKaufPreis]);
    UpdateTank3DText(t);
    format(query, sizeof(query), "UPDATE `tankstellen` SET (`Besitzer`,`Erpresser`,`TankeText`) WHERE ('%s','%s','%s')", TankeInfo[t][tOwner],TankeInfo[t][tExtortion],TankeInfo[t][tMessage]);
    mysql_query(query);
    } else {
    new str[128];
    format(str,128,"[ERROR]: Du hast zuwenig Geld dabei du benötigst noch $%d.",TankeInfo[t][tKaufPreis]-GetPlayerMoney(playerid));
    SCM(playerid,Rot,str);
    }
    } else {
    new str[128];
    format(str,128,"[ERROR]: Dein Level mus %d sein!",TankeInfo[t][tKaufLevel]);
    SCM(playerid,Rot,str);
    }
    }
    }
    }
    return 1;
    }