Beiträge von Holdont

    2 Strings je 500 groß, anders geht das nicht ;)


    Mir scheint es, dass du recht gut im scripten bist, da du den Aufbau des Scriptes ja bereits im Kopf hast.
    Ich werde daher kein Beispiel scripten. sollte ich mich da täuschen, sag das bitte.

    Hallo zusammen.


    Ich wollte gerne mal wissen wie ich eine zufällige Zahl aus einem stock bekomme ohne! die random(); Funktion zu nutzen.


    Das heißt einen eigenen random Algorythmus zu schreiben, da der samp interne mir teilweise nicht zufällig genug ist.


    Mir ist klar, dass es kein wahres mathematisches Zufällig geben kann, aber wie könnte so ein Funktion aussehen würde mich sehr intressieren.


    Ich hoffe mir kann jemand helfen

    Du fragst ja während des SkinAuswählens schon ab ob das Team voll ist.


    Pack den gesamten Code mit der abfrage zu OnPlayerSpawn. und statt return 0 wenn das Team voll ist onplayerclassrequest aufrufen :)
    (Ich bin mir nicht sicher ob das geht :S)


    ich meine nur den Teil

    new red = GetPlayersInTeamFromMaxPlayers(TEAM_RED); new blue = GetPlayersInTeamFromMaxPlayers(TEAM_BLUE); if(red > blue && gTeam[playerid] == TEAM_RED) { GameTextForPlayer(playerid, "~r~Team Voll!~n~~w~Waehle ein anderes Team!", 3000, 5); return 0; } else if(blue > red && gTeam[playerid] == TEAM_BLUE) { GameTextForPlayer(playerid, "~b~Team Voll!~n~~w~Waehle ein anderes Team!", 3000, 5); return 0; }

    licht:


    vehiclearray(bool)
    bool im befehl mit if abfragen. dort ersten befehl code reinkopieren. bei else 2. befehl code reinkopieren.


    So gehts. ohne code kein beispiel sry.


    beim blaulicht das gleiche

    SIcher


    oben im Script:

    new name1[MAX_PLAYER_NAME], name2[MAX_PLAYER_NAME];


    dcmd beispiel(geht auch ohne):

    dcmd_test(playerid,params)
    {
    new pid,name;
    if(sscanf(params,"ud",pid,name)) return SendClientMessage(playerid,ROT,"Benutzung: /etst [SPieler][name]");
    switch(name)
    {
    case 1:GetPlayerName(pid,name1,sizeof(name1)));
    case 2: GetPlayerName(pid,name2,sizeof(name2)));
    }
    return 2;
    }



    onPlayerCom

    if(strcmp(cmdtext,"/töten",true)==0)
    {
    new string[128];
    format(string,128,"Name 1: %s , Name 2: %s",name1,name2);
    SendClientMessage(playerid,GREEN,string);
    return 1;
    }


    //edit script fail name1 in name2 verändert

    Hierfür benötigst du das sscanf Plugin von Y_Less.



    enum info {
    Level,
    owner,
    housekey,
    bla1,
    bla2,
    bla3,
    bla4,
    Float: 1,
    Float: 2,
    Floar: 3,
    Float 4,


    }




    new sql[256]; //WIe groß der String sein muss hängt vom Output ab. Ich persönlich hab brauche nen 1000 Zellen großen :S(riesen Tabelle)
    format(sql,sizeof(sql),"SELECT * FROM `house` WHERE `ID` = '%d' ", HouseInfo[i][ID]);
    mysql_query(sql);
    mysql_store_result();
    mysql_fetch_row_format(sql,"|");
    if(sscanf(sql,"p<|>e<dddddddffffff>", HouseInfo[i])){ //Achtung dein Enum muss genau in der Reihenfolge wie mysql deklariert sein!
    print("Error: Could Not Read from Mysql Database");
    }


    Enum und Mysql Tabelle sollten also gleich aufgebaut sein(was zur übersicht ja auch nicht schlecht ist)


    mfg
    Hold


    //edit 1: Unvollständig

    Wenn ich das richtig interpretiere, hast du 2 Skins. Je nachdem welchen der Spieler wählt, wird er in ein Team gesteckt.


    Das er nachdem "blablabla voll" kommt nicht wieder in die Skin Selection kommt liegt daran, dass das Script das nicht sagt sondern 0 returnt.
    einfach hier nochmal die public aufrufen(würd ich meinen)


    Ich gehe mal davon aus das der PlayerCount stock geht.


    Daher muss der Fehler in der if abfrage liegen. Formulier doch mal den "Team voll...." in "Blaues Team voll" bzw "Rotes TEam voll.." um.
    Dann guck wenn dein Freund connectet welche Nachricht er bekommt.
    Wenn er die Rotes Team Voll Nachricht bekommt liegt es an den classids


    Unverständlich? Sag Bescheid ich versuchs eleganter zu formulieren