Beiträge von zabus

    ich arbeite mit mysql und da habe ich halt mehrere tabellen , eine tabelle für pickups die man mit enter betreten kann eine tabelle wo dann ein dialog kommt ;)


    enum picks{
    Float:eX,
    Float:eY,
    Float:eZ,
    Float:cX,
    Float:cY,
    Float:cZ,
    Rueck,
    Virtualworld,
    pickupobjekt,
    pickID,
    Zielwelt
    }
    new PickUpsCoords[PICK_UPS][picks];
    new pickcount;
    new Pickpick[PICK_UPS];


    z.B sowas


    und bei mysql musst du das auslesen


    public LoadPickups(i)
    {
    new query[256];
    new data[255];
    format(query,sizeof(query),"SELECT * FROM `pickups` WHERE `ID`='%d'",i);
    mysql_query(query);
    mysql_store_result();
    if(mysql_num_rows())
    {
    mysql_fetch_field("eX",data);
    PickUpsCoords[i][eX]=floatstr(data);
    mysql_fetch_field("eY",data);
    PickUpsCoords[i][eY]=floatstr(data);
    mysql_fetch_field("eZ",data);
    PickUpsCoords[i][eZ]=floatstr(data);
    mysql_fetch_field("cX",data);
    PickUpsCoords[i][cX]=floatstr(data);
    mysql_fetch_field("cY",data);
    PickUpsCoords[i][cY]=floatstr(data);
    mysql_fetch_field("cZ",data);
    PickUpsCoords[i][cZ]=floatstr(data);
    mysql_fetch_field("Virtualworld",data);
    PickUpsCoords[i][Virtualworld]=strval(data);
    mysql_fetch_field("pickupobjekt",data);
    PickUpsCoords[i][pickupobjekt]=strval(data);
    mysql_fetch_field("ID",data);
    PickUpsCoords[i][pickID]=strval(data);
    mysql_fetch_field("Zielwelt",data);
    PickUpsCoords[i][Zielwelt]=strval(data);
    Pickpick[i]=CreatePickup(PickUpsCoords[i][pickupobjekt],1,PickUpsCoords[i][eX],PickUpsCoords[i][eY],PickUpsCoords[i][eZ],PickUpsCoords[i][Virtualworld]);
    pickcount=i;
    mysql_free_result();


    }
    return 1;


    }


    und dann musst du halt ne variable machen , dass er auf dem Pickup steht


    for(new i = 0;i<PICK_UPS;i++)
    {
    if(pickupid == Pickpick[i])
    {
    StehtaufPickUp[playerid] = pickupid;
    return 1;
    }


    }



    das war halt mein erster Versuch ^^ (mit hilfe von 8D sein Beitrag), jetzt habe ich es schon besser gemacht bin aber am Laptop und hab da nur das alte ^^ , aber das sollte reichen



    hier noch ein befehl zum erstellen


    ocmd:pickuperstellen(playerid,params[])// Dieser Befehl wäre für pickups die dialoge anzeigen ;)
    {
    new dID;
    if(sscanf(playerid,"d",diD)) return SendClientMessage(playerid,COLOR,"Benutzung /pickuperstellen [DialogID]");
    new Float:dialog_x,Float:dialog_y,Float:dialog_z;
    GetPlayerPos(playerid,dialog_x,dialog_y,dialog_z);
    pickcount++;
    Pickpick[pickcount]= CreatePickUp(model,1,dialog_x,dialog_y,dialog_z);
    PickUpsCoords[pickcount]//hier halt die enums = machen ;)
    Pickups

    auf einem vserver kannst du alles haben ^^ ich habe einen bei


    netcup.de aber jetzt stellt sich die Frage ob du linux oder windows nimmst , das ist aber dann deine Entscheidung (linux ist besser von der Perfomance , aber wenn du dich nicht auskennst , dann mach die auf arbeit bereit)

    chaos blödsinn ... ShopCars= Autos die zu kaufen sind also


    public IsAnShopCar(playerid)
    {
    for(new i; i <sizeof(ShopCar); i++)
    {
    if(GetPlayerVehicleID(playerid) == ShopCar[i])
    {
    return 1;
    }
    }
    return 0; // hier eine 0 sonst return er ja immer richtig ^^
    }

    Zitat

    in Osteuropa gibt es doch keine Mafien,pff


    Russische Mafia , polnische Mafia u.s.w---> nein in Osteuropa gibt es keine einzige Mafia

    zeile bitte


    edit habe etwas ausgebessert schau oben nach


    edit2: hier gleich reinposten ^^ sorry habe da etwas übersehen


    forward LevelSystem(playerid);


    public LevelSystem(playerid)
    {
    if(Spieler[playerid][pEP] == 2)
    {
    SetPlayerScore(playerid,GetPlayerScore(playerid)+1);
    Spieler[playerid][pLevel] ++;
    }
    return 1;
    }


    GameTextForPlayer(killerid,"~r~You got a kill!",2000,3);
    Spieler[killerid][pEP] ++;
    GameTextForPlayer(playerid,"Wasted",2000,2);
    GivePlayerMoney(killerid,250);
    LevelSystem(killerid);


    edit: ist klar dass es hier geht ;) ich habe vergessen ein i zu ersetzen

    timer wäre unnötig ...


    forward LevelSystem(playerid);


    public LevelSystem(playerid)
    {
    if(Spieler[playerid][pEP] == 2)
    {
    SetPlayerScore(playerid,GetPlayerScore(playerid)+1);
    Spieler[playerid][pLevel] ++;
    }
    return 1;
    }


    GameTextForPlayer(killerid,"~r~You got a kill!",2000,3);
    Spieler[killerid][pEP] ++;
    GameTextForPlayer(playerid,"Wasted",2000,2);
    GivePlayerMoney(killerid,250);
    LevelSystem(killerid);

    ja da machst du halt ein dialog und wenn er auf kaufen drückt wird z.B die variable Perso[playerid]=1; gemacht das musst du natürlich wenn er sich ausloggt in eine datei oder datenbank speichern , damit wenn er sich einloggt er noch immer einen perso hat


    und dann machste halt


    dcmd_showperso(playerid,params[])
    {
    new pID;
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,COLOR,"Benutzung: /showperso [ID]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid,COLOR,"Der angegebene Spieler ist nicht Online!");
    if(Perso[playerid]==1)
    {
    SendClientMessage(pID,COLOR,"Der Spieler hat dir den Perso gezeigt");
    }
    else
    {
    SendClientMessage(pID,COLOR,"Der Spieler besitzt kein Perso");
    }
    return 1;
    }


    edit; Wenn du eine enum struktur hast dann fügst du halt Perso in die enum struktur ein und machst es mit der ,aja dieser dcmd command ist nicht Perfekt da könnte man noch mit Spielername herumspielen

    kann nicht sein das der Streamer nicht geht und die anderen auch nicht , dann machst du etwas falsch . Du musst auch beachten , dass bei manchen CreateObject nicht reicht außer bei kleineropa seinem , bei den anderen muss z.B b_CreateObject

    ja welche ? ... wenn du dir einen Gamemode von irgendwo Downloadest solltest du erstmal die Grundkenntnisse lernen ....


    edit: sicher wird hier geholfen , aber es gibt eine Funktion wie SUFU .. und wenn du hilfe brauchst dann lies was ich geschrieben habe oben (Ja welche ? .---> post mal die errors mit Zeilen am besten)