Beiträge von Fabi.StaR

    Wenn ich einen Bizzs erstelle das geht ja alles so weit aber wenn ich noch einen Erstellen will geht es net ;(


    befehl:


    Spoiler anzeigen
    ocmd:cbizz(playerid,params[])
    {
    new name[32],pro,kasse,besitz,preis,level;
    if(!IsPlayerAdmin(playerid)) return 1;
    if(sscanf(params,"sii",name,preis,level)) return SendClientMessage(playerid,0xffff0000,"Benutzung: /cbizz [Name] [Preis] [Level(score)]");
    if(preis == 0 || level == 0) return SendClientMessage(playerid,0xffff0000,"Benutzung: /cbizz [Name] [Preis] [Level(score)]");
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    pro=500;
    kasse=0;
    besitz=0;
    CreateBizzs(x,y,z,name,level,preis,besitz,kasse,pro);
    return 1;
    }


    stock:


    Spoiler anzeigen
    stock CreateBizzs(Float:x,Float:y,Float:z,name[],level,preis,besitz,kasse,pro) /* erstellt einen Bizz*/
    {
    new query[256],str[64];
    for(new bizzid=1;bizzid<MAX_BIZZES;bizzid++)
    {
    format(str,64,"Zu Verkaufen");
    format(query, sizeof(query), "INSERT INTO `bizzs` (`BizzsID`,`Name`,`Besitzer`,`Besitzt`,`X`,`Y`,`Z`,`Level`,`Preis`,`Kasse`,`Produkte`) VALUES ('%d','%s','%s','%d','%f','%f','%f','%d','%d','%d','%d')",bizzid,name,str,besitz,x,y,z,level,preis,kasse,pro);
    mysql_query(query);
    return LB(bizzid);
    }
    return true;
    }


    Bitte um hilfe


    Danke im vorraus

    Wenn ich denn befehl eingebe zu merstellen eines Bizz dann kommt in meiner Tabele 99 mal das geleiche.


    hir der Befehl:


    Spoiler anzeigen
    ocmd:cbizz(playerid,params[])
    {
    new name[32],pro,kasse,besitz,preis,level;
    if(!IsPlayerAdmin(playerid)) return 1;
    if(sscanf(params,"sii",name,preis,level)) return SendClientMessage(playerid,0xffff0000,"Benutzung: /cbizz [Name] [Preis] [Level(score)]");
    if(preis == 0 || level == 0) return SendClientMessage(playerid,0xffff0000,"Benutzung: /cbizz [Name] [Preis] [Level(score)]");
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    pro=500;
    kasse=0;
    besitz=0;
    CreateBizzs(x,y,z,name,level,preis,besitz,kasse,pro);
    return 1;
    }


    hir der stock CreateBizzs:


    Spoiler anzeigen
    stock CreateBizzs(Float:x,Float:y,Float:z,name[],level,preis,besitz,kasse,pro) /* erstellt einen Bizz*/
    {
    new query[256],str[64];
    for(new bizzid=1;bizzid<MAX_BIZZES;bizzid++)
    {
    format(str,64,"Zu Verkaufen");
    format(query, sizeof(query), "INSERT INTO `bizzs` (`BizzsID`,`Name`,`Besitzer`,`Besitzt`,`X`,`Y`,`Z`,`Level`,`Preis`,`Kasse`,`Produkte`) VALUES ('%d','%s','%s','%d','%f','%f','%f','%d','%d','%d','%d')",bizzid,name,str,besitz,x,y,z,level,preis,kasse,pro);
    mysql_query(query);
    return LB(bizzid);
    }
    return 1;
    }

    Jetzt nur noch ein Error :


    C:\Users\Fabian\Desktop\Mein Samp Server\filterscripts\[MYSQL]bizzsystem.pwn(265) : error 035: argument type mismatch (argument 4)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

    Guten Morgen,


    Ich bekomme hir errors:


    ocmd:cbizz(playerid,params[])
    {
    new name[32],pro,kasse,besitz,preis,level,art[128];
    if(sscanf(params,"sii",art,name,preis,level)) return SendClientMessage(playerid,0xffff0000,"Benutzung: /cbizz [art] [Name] [Preis] [Level(score)]");
    if(preis == 0 || level == 0) return SendClientMessage(playerid,0xffff0000,"Benutzung: /cbizz [Name] [Preis] [Level(score)]");
    if(!strcmp(art, "tanke", true))
    { }
    if(!IsPlayerAdmin(playerid)) return 1;
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    pro=500;
    kasse=0;
    besitz=0;
    CreateBizzs(x,y,z,name,level,preis,besitz,kasse,pro);// hir
    return 1;
    }


    hir die Errors:


    C:\Users\Fabian\Desktop\Mein Samp Server\filterscripts\[MYSQL]bizzsystem.pwn(265) : warning 213: tag mismatch
    C:\Users\Fabian\Desktop\Mein Samp Server\filterscripts\[MYSQL]bizzsystem.pwn(265) : warning 213: tag mismatch
    C:\Users\Fabian\Desktop\Mein Samp Server\filterscripts\[MYSQL]bizzsystem.pwn(265) : warning 213: tag mismatch
    C:\Users\Fabian\Desktop\Mein Samp Server\filterscripts\[MYSQL]bizzsystem.pwn(265) : error 035: argument type mismatch (argument 4)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    Hir der stock CreateBizzs:


    stock CreateBizzs(x,y,z,name,level,preis,besitz,kasse,pro)
    {
    new query[256],str[64];
    for(new bizzid=1;bizzid<MAX_BIZZES;bizzid++)
    {
    format(str,64,"Zu Verkaufen");
    format(query, sizeof(query), "INSERT INTO `bizzs` (`BizzsID`,`Name`,`Besitzer`,`Besitzt`,`X`,`Y`,`Z`,`Level`,`Preis`,`Kasse`,`Produkte`) VALUES ('%d','%s','%s','%d','%f','%f','%f','%d','%d','%d','%d')",bizzid,name,str,besitz,x,y,z,level,preis,kasse,pro);
    mysql_query(query);
    }
    return true;
    }

    public OnPlayerDeath(playerid, killerid, reason)
    {
    TogglePlayerControllable(playerid, 0);
    SetPlayerPos(playerid, 1172.6306,-1323.8131,15.402;
    SetPlayerCameraPos(playerid, 1213.9460,-1324.9109,13.5671);
    SetPlayerCameraLookAt(playerid, 1176.4004,-1323.4197,14.0195);
    SetTimerEx("BehandlungsInfo", 1000, false, "d", playerid);
    return 1;
    }

    warum hast du das bei OnplayerSpawn?


    Das kommt doch beiOnPlayerDeath hin :


    public OnPlayerDeath(playerid, killerid, reason)
    {
    TogglePlayerControllable(playerid, 0);
    SetPlayerPos(playerid, 1172.6306,-1323.8131,15.4028);
    SetPlayerCameraPos(playerid, 1213.9460,-1324.9109,13.5671);
    SetPlayerCameraLookAt(playerid, 1176.4004,-1323.4197,14.0195);
    SetTimerEx("BehandlungsInfo", 1000, false, "d", playerid);
    return 1;
    }

    befehl von Weihnachtsferien

    //Oben Im Script:
    new Weihnachten[MAX_PLAYERS];


    ocmd:weihnachts(playerid, params[])
    {
    if(!Weihnachten[playerid])
    {
    Weihnachten[playerid] = 1;
    SetPlayerAttachedObject(playerid, 3, 19065, 2, 0.120000, 0.040000, -0.003500, 0, 100, 100, 1.4, 1.4, 1.4);
    SendClientMessage(playerid, 0xAFAFAFAA, " (info) ");
    SendClientMessage(playerid, 0xAFAFAFAA, "{808080}» {AFAFAF}Mütze aufgesetzt");
    }
    else
    {
    Weihnachten[playerid] = 0;
    if(IsPlayerAttachedObjectSlotUsed(playerid, 3)) RemovePlayerAttachedObject(playerid, 3);
    SendClientMessage(playerid, 0xAFAFAFAA, "{808080}» {AFAFAF}Mütze abgenommen");
    }


    return 1;
    }

    Erstmals danke dafür, dass du dir die Mühe gemacht hast.
    Jedoch klappt's nicht.:D Hahah :D


    Es kommen Errors beim einfügen...



    Du musst oben im Script nur #include <....>


    den Kaliber hat nur ein Include für dich gemacht :D

    Wenn ich die variable new aktion[*]; * auf 258 Setze kommt:


    Spoiler anzeigen
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

    Spoiler anzeigen
    Header size: 14604 bytes
    Code size: 3071708 bytes
    Data size: 18859368 bytes
    Stack/heap size: 32768 bytes; estimated max. usage: unknown, due to recursion
    Total requirements:21978448 bytes


    und wenn ich sie unter 258 setzte kommt das:


    Spoiler anzeigen
    C:\Users\Fabian\Desktop\EMZ\gamemodes\RStest.pwn(42916) : error 047: array sizes do not match, or destination array is too small
    C:\Users\Fabian\Desktop\EMZ\gamemodes\RStest.pwn(42962) : error 047: array sizes do not match, or destination array is too small
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase

    Spoiler anzeigen
    2 Errors.


    Hir der befehl:


    Spoiler anzeigen
    if(strcmp(cmd, "/produkte", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pMember] >= 0 || PlayerInfo[playerid][pLeader] >= 0)
    {
    new aktion[258];// das meine ich ^^
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GOLD, "____________________________|Prdoukthilfe|____________________________");
    SendClientMessage(playerid, COLOR_WHITE, "Benutzung: /produkte [Aktion]");
    SendClientMessage(playerid, COLOR_WHITE, "Verfügbare Funktionen: kaufen, verkaufen, anzeigen");
    return 1;
    }
    if(strcmp(tmp, "kaufen", true) == 0)
    {
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 456)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Dieses Fahrzeug kann keine Produkte ausliefern!");
    return 1;
    }
    if(!IsPlayerInRangeOfPoint(playerid, 50, 1957.5536,-2183.4856,13.5469))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du bist nicht am Eingang vom Los Santos Airport!");
    return 1;
    }
    aktion = strtok(cmdtext, idx);
    if(!strlen(aktion))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Benutzung: /produkte kaufen [Anzahl]");
    SendClientMessage(playerid, COLOR_GRAD1, "*Preis pro Produkt: 50$, Maximale Produkte: 100");
    return 1;
    }
    new menge;
    menge = strval(aktion);
    new preis = menge*50;
    if(menge > LSAWaren)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Derzeit haben wir nicht soviele Produkte auf Lager!");
    return 1;
    }
    if(menge < 1 || menge > 100)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du kannst mindestens 1 Produkt und höchstens 100 Produkte kaufen!");
    return 1;
    }
    if(menge + ProdsDabei[playerid] > 100)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "So viele Produkte passen nicht mehr rein!");
    format(string, sizeof(string), "Produkte dabei: %d/100",ProdsDabei[playerid]);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    return 1;
    }
    if(preis > GetPlayerMoney(playerid))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du hast nicht genug Geld!");
    return 1;
    }
    ProdsDabei[playerid] = menge;
    LSAWaren -= menge;
    GivePlayerMoney(playerid, -preis);
    format(string, sizeof(string), "*Du hast %d Produkte für %d$ gekauft.", menge, preis);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du kannst sie nun an Geschäfte verkaufen.");
    new string2[200];
    format(string2, sizeof(string2), "[Produktverkauf]\nPreis pro Produkt: 50$\nProdukte auf Lager: %d\nKaufen mit /produkt\nEinkauf nur mit Prodlaster", LSAWaren);
    Update3DTextLabelText(LSWText, 0xFFFFFFFF, string2);
    SaveStuff();
    return 1;
    }
    else if(strcmp(tmp, "verkaufen", true) == 0)
    {
    aktion = strtok(cmdtext, idx);
    if(!strlen(aktion))
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Benutzung: /produkte verkaufen [Anzahl]");
    return 1;
    }
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 456)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Dieses Fahrzeug kann keine Produkte ausliefern!");
    return 1;
    }
    for(new i = 0; i < sizeof(BizzInfo); i++)
    {
    new menge = strval(aktion);
    new preis = menge*BizzInfo[i][bPriceProd];
    if (IsPlayerInRangeOfPoint(playerid,10.0,BizzInfo[i][bEntranceX], BizzInfo[i][bEntranceY], BizzInfo[i][bEntranceZ]) && BizzInfo[i][bOwned] == 1)
    {
    if(BizzInfo[i][bProducts] + menge > BizzInfo[i][bMaxProducts])
    {
    GameTextForPlayer(playerid, "~r~Wir benoetigen nicht soviele Produkte!", 5000, 1);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    return 1;
    }
    if(preis > BizzInfo[i][bTill])
    {
    GameTextForPlayer(playerid, "~r~Wir haben zu wenig Geld!", 5000, 1);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    return 1;
    }
    ProdsDabei[playerid] -= menge;
    GivePlayerMoney(playerid, preis);
    BizzInfo[i][bProducts] += menge;
    BizzInfo[i][bTill] -= preis;
    new string3[200];
    format(string3, sizeof(string3), "[%s]\nInhaber: %s\nTeilhaber: %s\nEintrittspreis: %d$\nLevel: %d\nProdukte: %d/%d\nPreis pro Produkt: %d", BizzInfo[i][bMessage],BizzInfo[i][bOwner],BizzInfo[i][bExtortion],BizzInfo[i][bEntranceCost],BizzInfo[i][bLevelNeeded],BizzInfo[i][bProducts],BizzInfo[i][bMaxProducts],BizzInfo[i][bPriceProd]);
    Update3DTextLabelText(BizzInfo[i][bText],COLOR_BUYED,string3);
    format(string, sizeof(string), "%d Produkte für %d$ verkauft, Produkte: %d/100.", menge,preis,ProdsDabei[playerid]);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    ConsumingMoney[playerid] = 1;
    OnPropUpdate();
    return 1;
    }
    }
    for(new s = 0; s < sizeof(SBizzInfo); s++)
    {
    new menge = strval(aktion);
    new preis = menge*SBizzInfo[s][sbPriceProd];
    if (IsPlayerInRangeOfPoint(playerid,10.0,SBizzInfo[s][sbEntranceX], SBizzInfo[s][sbEntranceY], SBizzInfo[s][sbEntranceZ]) && SBizzInfo[s][sbOwned] == 1)
    {
    if(SBizzInfo[s][sbProducts] + menge > SBizzInfo[s][sbMaxProducts])
    {
    GameTextForPlayer(playerid, "~r~Wir benoetigen nicht soviele Produkte!", 5000, 1);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    return 1;
    }
    if(menge > ProdsDabei[playerid])
    {
    format(string, sizeof(string), "Du hast nur %d Produkte dabei!", ProdsDabei[playerid]);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    return 1;
    }
    if(preis > SBizzInfo[s][sbTill])
    {
    GameTextForPlayer(playerid, "~r~Wir haben zu wenig Geld!", 5000, 1);
    PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    return 1;
    }
    ProdsDabei[playerid] -= menge;
    format(string, sizeof(string), "%d Produkte für %d$ verkauft, Produkte: %d/100.", menge,preis,ProdsDabei[playerid]);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    GivePlayerMoney(playerid, preis);
    SBizzInfo[s][sbProducts] += menge;
    SBizzInfo[s][sbTill] -= preis;
    new string4[200];
    format(string4, sizeof(string4), "[%s]\nInhaber: %s\nTeilhaber: %s\nEintrittspreis: %d$\nLevel: %d\nProdukte: %d/%d\nPreis pro Produkt: %d", SBizzInfo[s][sbMessage],SBizzInfo[s][sbOwner],SBizzInfo[s][sbExtortion],SBizzInfo[s][sbEntranceCost],SBizzInfo[s][sbLevelNeeded],SBizzInfo[s][sbProducts],SBizzInfo[s][sbMaxProducts], SBizzInfo[s][sbPriceProd]);
    Update3DTextLabelText(SBizzInfo[s][sbText],COLOR_BUYED,string4);
    ConsumingMoney[playerid] = 1;
    OnPropUpdate();
    return 1;
    }
    }
    GameTextForPlayer(playerid, "~r~Kein Business in der Naehe", 5000, 1);
    return 1;
    }
    else if(strcmp(tmp, "anzeigen", true) == 0)
    {

    Spoiler anzeigen
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 456)
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Du bist in keinem Yankee");
    return 1;
    }
    new prods = ProdsDabei[playerid];
    format(string, sizeof(string), "*Produkte dabei: %d/100", prods);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "ERROR!");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD1, "Logg dich erst ein!");
    }
    return 1;
    }


    mfg. Fabi.StaR :thumbup: