Beiträge von Direct_Player

    Hallo zusammen



    Ich würde gerne zählen wie viele Personen am Lotto teilnehmen


    dazu habe ich BLotto definiert mit 0



    Jedes mal wenn ein Lottoticket gekauft wird soll er erhöht werden


    2 Probleme



    1. Wie erhöhe ich den Wert?


    Bei dieser Variante sagt er mir
    Expression has no effect



    BLotto +1;



    dann würd ich das gerne auslesen und der sagt trotzdem 0



    ocmd:boughtlotto(playerid,params[])
    {
    new string[128];
    format(string,sizeof(string),"Es sind %d Lottotickets gekauft worden",BLotto);
    SendClientMessage(playerid,CL_GREEEN,string);
    format(string,sizeof(string),"Wir haben insgesamt %d Lottoteilnehmer",BLotto);


    }

    Hallo zusammen



    ich habe hier folgenden Code



    if(!isAdmin(playerid,3) && ADuty[playerid] == 1) || isPlayerInFrak(playerid,6) && isPlayerRang(playerid,3)



    in diesem möchte ich den Befehl bei 2 Möglichkeiten ausführen lassen


    1. Admin Rang 3 UND Adminonduty ODER


    2. Fraktion 6 und MINDESTENS Rang 3



    er sagt mir das er folgendes erwartet


    ; aber { findet



    { beginnt in der nächsten zeile



    Vielen Dank

    Währe cool wenn du es auf MYSQL umschreibst


    habs zwar selbst grad gemacht war aber sau viel Arbeit weil da ziemlich viel zu machen war


    zusätzlich entstehen probleme beim Filterscript an sich wenn man nicht möchte dass man RCON eingeloggt sein muss
    habe es daher in den GM eingefügt



    Auch viel Arbeit



    aber danke für das System



    Hab es noch modefiziert und werde es evtl hier mal hochladen

    Das hast du doch oben in deinen ersten Beitrag auch. :whistling:


    Haha Fail


    danke hab ich garnicht gesehen




    stock SCMTOADMIN(text[])
    {
    for(new i = 0; i <MAX_PLAYERS; i++)
    {
    if(sInfo[i][alevel] > 0) && ADuty[i] == 1)
    {
    SendClientMessage(i,CL_GREEEN,"[4RL] Adminmeldung [4RL]");
    SendClientMessage(i,0xEB0000FF,text);
    SendClientMessage(i,CL_GREEEN,"[4RL] Adminmeldung [4RL]");
    }
    }
    }



    wie mach ich das in einer Schleife?

    Hallo zusammen


    ich bruache hier mal kurz hilfe



    undzwar muss ich nun alle if(isAdmin) abfragen gleichzeit auch noch abfragen ob er Aduty ist



    Hier mal ein Auszug


    if(ADuty[playerid] == 1)


    if(isAdmin(playerid,1))



    ich muss das ganze zusammenführen weiß aber nicht wie



    MFG Direct_Player

    Hallo zusammen,


    ich habe hier mal ein Weißes Textdraw, was über den ganzen Bildschirm geht eingefügt welches ein "Blitz" Darstellen soll
    erstellt.


    Nun soll NUR der Fahrer diesen Blitz sehen.


    Auf der einen Seite kann ich es schlecht testen da ich allein bin


    auf der anderen Seite hab ich jmd gefunden der als Beifahrer fuhr (ID 0, ich ID 1)
    und weder ich noch er sah dieses Textdraw




    hier mal das wichtigste


    Spoiler anzeigen
    ocmd:blitzerhelp(playerid,params[])
    {
    ShowPlayerDialog(playerid,DIALOG_BLITZER,DIALOG_STYLE_MSGBOX,"Blitzer - Befehle","/createblitzer | erstellt einen Blitzer \n /delblitzer | löscht einen Blitzer | \n /delallblitzer | löscht alle Blitzer |\n /countblitzer | Zählt alle erstellten Blitzer","OK","");
    }
    ocmd:createblitzer(playerid, params[])
    {
    new speed,radius;
    if(!isAdmin(playerid,6)) return 0; //if(!isPlayerInFrak(playerid,8)&& !isAdmin(playerid,3))
    if(!isPlayerInFrak(playerid,1))
    if(!isPlayerInFrak(playerid,2))
    if(!isPlayerInFrak(playerid,3))
    if(!isPlayerRang(playerid,3)) return 0;

    Spoiler anzeigen
    if (sscanf(params, "ii", speed, radius))
    {
    SendClientMessage(playerid, 0xffffffff, "Benutzung: /createblitzer [Geschwindigkeit] [Radius]");
    return 1;
    }
    AddBlitzer(playerid,speed,radius);
    return 1;
    }
    ocmd:delblitzer(playerid, params[])
    {

    if(!isAdmin(playerid,6)) return 0;
    if(!isAdmin(playerid,6)) return 0; //if(!isPlayerInFrak(playerid,8)&& !isAdmin(playerid,3))
    if(!isPlayerInFrak(playerid,1))
    if(!isPlayerInFrak(playerid,2))
    if(!isPlayerInFrak(playerid,3))
    if(!isPlayerRang(playerid,3)) return 0;

    Spoiler anzeigen
    SendClientMessage(playerid, 0xffffffff, "Ein Blitzer wurde erfolgreich gelöscht!");
    RemoveBlitzer(playerid);
    return 1;
    }
    ocmd:delallblitzer(playerid, params[])
    {

    if(!isAdmin(playerid,6)) return 0;
    if(!isAdmin(playerid,6)) return 0; //if(!isPlayerInFrak(playerid,8)&& !isAdmin(playerid,3))
    if(!isPlayerInFrak(playerid,1))
    if(!isPlayerInFrak(playerid,2))
    if(!isPlayerInFrak(playerid,3))
    if(!isPlayerRang(playerid,4)) return 0;
    SendClientMessage(playerid, 0xffffffff, "Es wurden alle Blitzer erfolgreich gelöscht!");
    RemoveAllBlitzer();
    return 1;
    }

    Spoiler anzeigen
    ocmd:countblitzer(playerid, params[])
    {

    if(!isAdmin(playerid,6)) return 0;
    if(!isAdmin(playerid,6)) return 0; //if(!isPlayerInFrak(playerid,8)&& !isAdmin(playerid,3))
    if(!isPlayerInFrak(playerid,1))
    if(!isPlayerInFrak(playerid,2))
    if(!isPlayerInFrak(playerid,3))
    if(!isPlayerRang(playerid,3)) return 0;
    SendClientMessage(playerid, 0xffffffff, "Benutzung: /countallblitzer");
    CountBlitzer();

    return 1;
    }

    Spoiler anzeigen
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Credits:
    // Script erstellt von Stas
    // Offizieller Scripter der Xtreme - RolePlay - Community
    // www.xtreme-roleplay.eu
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Einstellungen
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    #define MAX_BLITZER 15 // Maximale Anzahl von Blitzern
    // Intervall für das Blitzen (in Milliesekunden)
    #define BLITZER_PAUSE 1 // Anzahl der Minuten, in denen der Spieler nicht mehr geblitzt werden kann
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // globale Variablen
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    enum eBlitzer {
    ID, Float:BlitzerX, Float:BlitzerY, Float:BlitzerZ, eRadius, Geschwindigkeit, Erstellt
    };
    new Blitzer[MAX_BLITZER][eBlitzer];
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // CallBacks
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    forward Blitzer_Timer();
    public Blitzer_Timer()
    {
    new save, strafe, speed;
    //for (new playerid = 0; playerid < MAX_PLAYERS; playerid++)
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    save = GetPVarInt(i, "BlitzPause");
    if(save > 0)
    {
    save--;
    SetPVarInt(i, "BlitzPause", save);
    continue;
    }
    if(!IsPlayerInAnyVehicle(i) || IsPlayerNPC(i)) continue;
    for(new b = 0; b < sizeof(Blitzer); b++)
    {
    if(Blitzer[b][Erstellt] == 1)
    {
    if(IsPlayerInRangeOfPoint(i, Blitzer[b][eRadius], Blitzer[b][BlitzerX], Blitzer[b][BlitzerY], Blitzer[b][BlitzerZ]))
    {
    new playerState = GetPlayerState(i);
    if(playerState == PLAYER_STATE_PASSENGER)return 0;
    speed = ErmittleGeschwindigkeit(i,true);
    if(speed > Blitzer[b][Geschwindigkeit])
    {
    new string[128];
    // Einstellen des Momentes, in dem der Spieler kein weiteres mal geblitzt werden kann
    SetPVarInt(i, "BlitzPause", (BLITZER_TIMER_INTERVALL * BLITZER_PAUSE * 60) / 1000);
    // Strafe für Spieler
    strafe = (speed*2) - Blitzer[b][Geschwindigkeit];
    PlayerPlaySound(i, 1132, 0.0, 0.0, 0.0);
    GivePlayerMoney(i, -strafe);
    // Text für Spieler
    SendClientMessage(i, 0xFF6347AA,"Du wurdest wegen zu hoher Geschwindigkeit geblitzt!");
    format(string,sizeof(string), "Du bist %d km/h gefahren und musst %d€ Bußgeld bezahlen.", speed, strafe);
    SendClientMessage(i, 0xFF6347AA, string);
    TextDrawShowForPlayer(i,BlitzerDraw);
    SetTimerEx("BlitzDelete",1000,false,"i",i);
    }
    }
    }
    }
    }
    return 1;
    }
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // Funktionen
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    stock AddBlitzer(playerid,speed,radius) {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    for(new i = 0; i < sizeof(Blitzer); i++) {
    if(Blitzer[i][Erstellt] == 0) {
    Blitzer[i][BlitzerX] = x + 1.0;
    Blitzer[i][BlitzerY] = y + 1.0;
    Blitzer[i][BlitzerZ] = z;
    Blitzer[i][Geschwindigkeit] = speed;
    Blitzer[i][eRadius] = radius;
    Blitzer[i][Erstellt] = 1;
    Blitzer[i][ID] = CreateObject(1278, x + 1.0, y + 1.0, z, 0.0, 0.0, 10);
    return 1;
    }
    }
    return 0;
    }
    forward BlitzDelete(playerid);
    public BlitzDelete(playerid)
    {
    TextDrawHideForPlayer(playerid,BlitzerDraw);
    return 1;
    }
    stock RemoveBlitzer(playerid) {
    for(new i = 0; i < sizeof(Blitzer); i++) {
    if(Blitzer[i][Erstellt] == 1) {
    if(IsPlayerInRangeOfPoint(playerid, Blitzer[i][eRadius], Blitzer[i][BlitzerX], Blitzer[i][BlitzerY], Blitzer[i][BlitzerZ])) {
    Blitzer[i][Erstellt] = 0;
    Blitzer[i][BlitzerX] = 0.0;
    Blitzer[i][BlitzerY] = 0.0;
    Blitzer[i][BlitzerZ] = 0.0;
    DestroyObject(Blitzer[i][ID]);
    return 1;
    }
    }
    }
    return 0;
    }
    stock RemoveAllBlitzer() {
    for(new i = 0; i < sizeof(Blitzer); i++) {
    if(Blitzer[i][Erstellt] == 1) {
    Blitzer[i][Erstellt] = 0;
    Blitzer[i][BlitzerX] = 0.0;
    Blitzer[i][BlitzerY] = 0.0;
    Blitzer[i][BlitzerZ] = 0.0;
    DestroyObject(Blitzer[i][ID]);
    }
    }
    return 0;
    }
    stock CountBlitzer() {
    new anzahl = 0;
    for(new i = 0; i < sizeof(Blitzer); i++) {
    if(Blitzer[i][Erstellt] == 1) anzahl++;
    }
    //SendClientMessage(i,-1,anzahl);
    return anzahl;
    }
    stock ErmittleGeschwindigkeit(playerid,bool:kmh) {
    new Float:x,Float:y,Float:z,Float:rtn;
    if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),x,y,z); else GetPlayerVelocity(playerid,x,y,z);
    rtn = floatsqroot(x*x+y*y+z*z);
    return kmh?floatround(rtn * 100 * 1.00):floatround(rtn * 100);
    }


    zusätzlich habe ich das poroblem dass ich die ANZAHL der verfügbaren (erstellten) blitzer nicht richtig ausgegeben bekomme



    Falls ihr Fragen habt sagt bescheid



    Vielen dank für jede Hilfe

    Deine Idee ist ja schon ganz gut aber
    ich würde dir raten es über dein Forum zu machen


    Der Spieler registriert sich un gibt seine Email an


    Email wird sowohl in der DB als im Nutzeraccount des Forums gespeichert


    Nutzer wird erstellt (Forum und Server)


    Beim wiederconnect fragst du ab ob der Spieler im Forum schon aktiviert ist (er aktiviert sich durch die bestätigung der Email)



    Problem gelöst



    Ist viel einfacher und du hast mehr möglichkeiten die Email zu verwenden

    Hallo
    ich habe eben in meinen vorhandenen Blitzer Befehl ein Blitz versucht einzubauen
    Ein weißes textdraw was für 1 Sec sichtbar wird


    Leider wird dieses NUR für ID 0 angezeigt


    alle anderen bekommen es nicht, werden aber auch nicht geblitzt


    TextDrawShowForPlayer(i,BlitzerDraw[i]);
    SetTimer("BlitzDelete",1000,false);



    Hier dazu mal mein befehl




    Spoiler anzeigen
    forward Blitzer_Timer();
    public Blitzer_Timer()
    {
    new save, strafe, speed;
    //for (new playerid = 0; playerid < MAX_PLAYERS; playerid++)
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    save = GetPVarInt(i, "BlitzPause");
    if(save > 0)
    {
    save--;
    SetPVarInt(i, "BlitzPause", save);
    continue;
    }
    if(!IsPlayerInAnyVehicle(i) || IsPlayerNPC(i)) continue;
    //for(new i = 0; i < sizeof(Blitzer); i++)
    {
    if(Blitzer[i][Erstellt] == 1)
    {
    if(IsPlayerInRangeOfPoint(i, Blitzer[i][eRadius], Blitzer[i][BlitzerX], Blitzer[i][BlitzerY], Blitzer[i][BlitzerZ]))
    {
    new playerState = GetPlayerState(i);
    if(playerState == PLAYER_STATE_PASSENGER)return 0;
    speed = ErmittleGeschwindigkeit(i,true);
    if(speed > Blitzer[i][Geschwindigkeit])
    {
    new string[128];
    // Einstellen des Momentes, in dem der Spieler kein weiteres mal geblitzt werden kann
    SetPVarInt(i, "BlitzPause", (BLITZER_TIMER_INTERVALL * BLITZER_PAUSE * 60) / 1000);
    // Strafe für Spieler
    strafe = (speed*2) - Blitzer[i][Geschwindigkeit];
    PlayerPlaySound(i, 1132, 0.0, 0.0, 0.0);
    GivePlayerMoney(i, -strafe);
    // Text für Spieler
    SendClientMessage(i, 0xFF6347AA,"Du wurdest wegen zu hoher Geschwindigkeit geblitzt!");
    format(string,sizeof(string), "Du bist %d km/h gefahren und musst %d€ Bußgeld bezahlen.", speed, strafe);
    SendClientMessage(i, 0xFF6347AA, string);
    TextDrawShowForPlayer(i,BlitzerDraw[i]);
    SetTimer("BlitzDelete",1000,false);
    }
    }
    }
    }
    }
    return 1;
    }


    und mein Textdraw welches ich unter OnPlayerConnect erstelle


    BlitzerDraw[playerid] = TextDrawCreate(643.000000, 4.000000, "_");
    TextDrawBackgroundColor(BlitzerDraw[playerid], 255);
    TextDrawFont(BlitzerDraw[playerid], 1);
    TextDrawLetterSize(BlitzerDraw[playerid], 0.500000, 51.000000);
    TextDrawColor(BlitzerDraw[playerid], -1);
    TextDrawSetOutline(BlitzerDraw[playerid], 0);
    TextDrawSetProportional(BlitzerDraw[playerid], 1);
    TextDrawSetShadow(BlitzerDraw[playerid], 1);
    TextDrawUseBox(BlitzerDraw[playerid], 1);
    TextDrawBoxColor(BlitzerDraw[playerid], -144);
    TextDrawTextSize(BlitzerDraw[playerid], -4.000000, 20.000000);



    Danke für jede Hilfe

    Da kannst du dann immer wenn ein update raus ist


    hallo Fagott ;) (iMontreal)


    ich habe für die Version extra nen /setversion Befehl der das Textdraw entsprechend ändert


    Weiter zu wissen ist, dass dies aus einem Tutorial ( INCLUDE BETAKEYS) stammt


    Aber danke für die Hilfreichen Sachen werde sie ausprobieren



    @iEnergie


    #define public OnPlayerConnect(%0) forward _OnPlayerConnect(%0); public _OnPlayerConnect(%0)




    Zu:


    #define OnPlayerConnect(%0) _OnPlayerConnect(%0)


    forward _OnPlayerConnect(playerid);


    danke hat aber leider nicht geklappt

    Halo zusammen.
    Zuletzt habe ich diese #define (#if...) zeilen eingefügt



    #define BETA // Wenn die Beta endet, diese Zeile(n) einfach wieder entfernen
    #if defined BETA
    #define public OnPlayerConnect(%0) forward _OnPlayerConnect(%0); public _OnPlayerConnect(%0)
    #endif
    seitdem geht der Compiler nicht mehr


    nehme ich sie raus -> geht er


    Danke für jede Hilfe