Beiträge von Beavis

    Also die Funktion würde schon ausreichen
    SetTimer("VehicleCheck",1000,true);//OnGameModeInit


    forward VehicleCheck();
    public VehicleCheck()
    {
    for(new i; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i)) continue;
    if(!IsPlayerInAnyVehicle(i)) continue;
    if(!IsPlayerInRangeOfPoint(i,25.0,X,Y,Z)) continue;
    SetVehicleToRespawn(GetPlayerVehicleID(i));
    }
    return 1;
    }
    An den XYZ nur die Coordinaten eintragen und alles geht

    teste mal den hier
    new Time[3];
    gettime(Time[0], Time[1], Time[2]);
    if(Time[0] > 22 || Time[0] < 8)return SendClientMessage(playerid, -1, "Du kannst dich jetzt nicht registrieren, bitte versuch es später erneut.");

    Setz in PVar einfach den User der den Invite ausspricht, die Farktionsid
    Und dann fragst du ab ob er invitet wurde wenn ja
    setzt du ihn in den Team (dafür die PVar variable nutzen) und sendest den typ der den invitet hat ne message da die playerid von den inviter auch in nen pvar gesetzt wurde
    Am ende die PVars löschen und schon funkt alles ;)

    Ich empfehle dir OnPlayerUpdate anstatt einen Timer.



    Ich will nicht wissen was du alles in OnPlayerUpdate ballerst, denn das ist eine der Dümmsten ratschlägen die man geben kann
    Er hat sicherlich ein Timer für die Uhr da kann er eine Point Abfrage machen und dann das Vehicle respawnen
    Schau dir mal an wie Oft OnPlayerUpdate die Sekunde aufgerufen wird



    ShowPlayerDialog(playerid,123,DIALOG_STYLE_MSGBOX,"Deine Überschrift","Dein Text","Button 1","");
    So wird nur der Button 1 angezeigt

    Zu den goto oder was das war^^
    ocmd:gehezu(playerid,params[])
    {


    if(!IsPlayerAnAdmin(playerid,3))return SendClientMessage(playerid,0xFF0000FF,"Du bist kein Admin oder dein Adminrang ist zu niedrig!");
    new pID, string[128];
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,0xFFFA00FF,"Benutzung: /gehezu [Spielername/ID]");
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid,0xFF0000FF,"Spieler ist nicht Online!");
    format(string,sizeof(string),"AdmCmd: %s hat sich zu %s teleportiert.",SpielerName(playerid),SpielerName(pID));
    SendClientMessageToAll(0xFF0A00FF,string);
    new Float:x,Float:y,Float:z,Float:Angle;
    GetPlayerPos(pID,x,y,z);
    GetPlayerFacingAngle(pID,Angle);
    SetPlayerPos(playerid,x+1,y,z);
    SetPlayerFacingAngle(playerid,Angle);
    return 1;
    }
    Zu den mit den Ban, da musst du auch die Ban variable aus der datei holen

    In der Datenbank würden nur 2 Spalten reichen


    Name1 | Name2


    Dann einfach SELECT * FROM Tabelle WHERE Name = Name1
    rest danach und Name 2 rausholen

    Soweit ganz ordentlich im sinne für "neulinge" (muss nichts bedeuten^^)


    Die Timer die du da hast würde ich alle in einen machen, denn mit nen bissel Mathe klappt es auch ;)
    Bei OnPlayerState würde auch nur eine Abfrage reichen : (die gleich kommt)
    if(newstate == PLAYER_STATE_DRIVER)
    Bei den OnPlayerPickup würde ich mit switch und case arbeiten da es schneller reagiert
    Bei OnPlayerUpdate den Tacho reinzumachen ist nicht schön dies würde per Timer enorm an reccourcen sparen
    Bei OnDialogResponse würd ich auch die listitem per switch und case machen
    stock SpielerName(playerid)
    Schlechte idee das zu nehmen
    Setz lieber den namen beim Connect in einer Globalen Variable oder in ein Enum, dann brauchst du nicht extra funktionen die Aufgerufen werden müssen etc pp..
    Bei den Makeleader auch wieder mit switch und case arbeiten^^


    Joa das wars von mir
    Sonst hab ich nichts weiter zu schreiben :D

    Könnt ihr mal euren Kindergarten hier sein lassen?!


    Sowas nervt mich dauernt wenn ihr nur Müll Posten wollt dann schreibt erst garnichts!


    //b2t
    Das design ist nir auch etwas zu langweilig
    Zu wenig farben bzw die Farben ähneln nur an der Helligkeit