Beiträge von CyZec0ne

    Mach es doch so erstelle ein stock SpielerSpeichern


    public OnPlayerPickUpPickup(playerid, pickupid)//wenn der Spieler das pickup aufnimmt dann
    {
    if(pickupid==DeinPickup)
    {
    SetPVarInt(playerid,"Führerschein",1);
    SendClientMessage(playerid,WEISS,"Du bekommst deinen Führerschein");
    SpielerSpeichern(playerid);
    }
    }


    stock SpielerSpeichern(playerid)
    {
    new Spielerdatei[64], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Fahrzeugbrief,sizeof(Fahrzeugbrief),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Führerschein",GetPVarInt(playerid,"Führerschein"));
    }


    stock SpielerLaden(playerid)
    {
    new Spielerdatei[64], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPVarInt(playerid,"Führerschein",dini_Int(Spielerdatei,"Führerschein"));
    }


    stock SpielerLaden(playerid)
    {
    new Spielerdatei[64], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);


    SetPVarInt(playerid,"Führerschein",dini_Int(Spielerdatei,"Führerschein"));
    }


    //und dann benutz doch
    public OnPlayerEnterVehicle(playerid,vehicleid,ispassenger)
    {
    if(GetPVarInt(playerid,"Führerschein")==0)
    {
    SendClientMessage(playerid,Rot"Du hast keinen Führerschein");
    RemovePlayerFromVehicle(playerid);
    }
    else
    {
    SendClientMessage(playerid,Rot"Du hast einen Führerschein du darfst also fahren");//oder einfach garnix
    }





    ICH BIN NEU IM FORUM UND VERSTEHE DIESE FORMATIERUNG NICHT.... iwie ändert die sich immer


    sry

    wenn ich den befehl eingebe werden mir die admins die on sind nicht gezeig ... das liegt an dem pID aber wie kann ich sowas machen
    das pId=Playerid von den anderen palyers ist ????
    ich bin voll am verzweifeln .... bei anderen befehlen wie /setskin hat das immer gefunzt...









    if (strcmp(cmdtext, "/admins", true) == 0)
    {
    SendClientMessage(playerid, GRÜN, "Folgende Admins auf [GDS] sind Online:");
    new i = 0, aname[256], string[256],pID;
    pID = MAX_PLAYERS;
    for(; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(GetPVarInt(pID,"Adminlevel")==1)
    {
    GetPlayerName(i, aname, sizeof(aname));
    format(string, 256, "[GDS] TrialSupporter: %s", aname);
    SendClientMessage(playerid, GELB, string);
    }
    else if(GetPVarInt(pID,"Adminlevel")==2)
    {
    GetPlayerName(i, aname, sizeof(aname));
    format(string, 256, "[GDS] Supporter: %s", aname);
    SendClientMessage(playerid, GELB, aname);
    }
    else if(GetPVarInt(pID,"Adminlevel")==3)
    {
    GetPlayerName(i, aname, sizeof(aname));
    format(string, 256, "[GDS]Mapper/VIP : %s", aname);
    SendClientMessage(playerid, GELB, string);
    }
    else if(GetPVarInt(pID,"Adminlevel")==4)
    {
    GetPlayerName(i, aname, sizeof(aname));
    format(string, 256, "[GDS]Admin: %s", aname);
    SendClientMessage(playerid,GELB, string);
    }
    else if(GetPVarInt(pID,"Adminlevel")==5)
    {
    GetPlayerName(i, aname, sizeof(aname));
    format(string, 256, "[GDS]HeadAdmin: %s", aname);
    SendClientMessage(playerid, GELB, string);
    }
    else if(GetPVarInt(pID,"Adminlevel")==6)
    {
    GetPlayerName(i, aname, sizeof(aname));
    format(string, 256, "[GDS]Owner: %s", aname);
    SendClientMessage(playerid,GOLD, string);
    }
    }
    }
    return 1;
    }

    Hallo alle zusammen,



    ich möchte gerne den ProgressBar Cerator benutzen aber iwie funktioniert er nicht mehr richtig ....
    kann mir jmd helfen ?
    Mein Problem: ich gebe /bar ein und dann erscheint eine "Bar" die ich verschieben kann dann muss man enter drucken und
    dann kommt wieder das menü aber wenn ich was auswähle passiert garnichts mehr .... aber warum ?
    (ps ich habe eine bar schon erstellt und dann ausversehen das FS gelöscht und neu Gedownloaden seit dem läuft es nicht mehr rund)
    danke schon mal im vorraus
    mfg CyZe (ach ya ich hoffe das diese Thread im richtigen bereich ist ...)




    hier ist das Filterscript vvlt hat ya jmd eine idee ...
    LEIDER KEIN PWN WEIL DIE FORMATIERUNG DANN IMMER VERÄNDERT WIRD


    /**
    * Progress Bar Creator
    * Copyright 2007-2010 Infernus' Group,
    * Flávio Toribio (flavio_toribio@hotmail.com)
    *
    * This is an add-on for the include Progress Bar
    * http://forum.sa-mp.com/index.php?topic=138556
    */


    #include <a_samp>
    #include <progress>


    #if !defined SetPVarInt
    #error Version 0.3 R7 or higher of SA:MP Server requiered
    #endif


    #if _progress_version < 0x1310
    #error Version 1.3.1 or higher of progress.inc required
    #endif


    #define DIALOG_BAR 1834
    #define DIALOG_COLOR 1835
    #define DIALOG_DONE 1836


    #define ITEM_MOVE 0
    #define ITEM_RESIZE 1
    #define ITEM_COLOR 2
    #define ITEM_DONE 3


    #define MOVE_NONE 0
    #define MOVE_POSITION 1
    #define MOVE_SIZE 2


    static Bars[MAX_BARS][e_bar];


    public OnFilterScriptInit()
    {
    for(new i = 0; i < MAX_PLAYERS; ++i) if(IsPlayerConnected(i))
    {
    OnPlayerSpawn(i);
    }
    print("Progress Bar Creator by Flavio Toribio loaded");
    return 1;
    }


    public OnFilterScriptExit()
    {
    for(new i = 0; i < MAX_PLAYERS; ++i) if(IsPlayerConnected(i))
    {
    OnPlayerDisconnect(i, 0);
    if(GetPVarInt(i, "MovingBar"))
    {
    TogglePlayerControllable(i, true);
    }
    if(GetPVarInt(i, "CreatingBar"))
    {
    DeletePVar(i, "BarID");
    DeletePVar(i, "MovingBar");
    DeletePVar(i, "CreatingBar");
    }
    }
    print("Progress Bar Creator by Flavio Toribio unloaded");
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    SendClientMessage(playerid, 0xFFF000AA, "Use /bar to start making a progress bar!");
    return 1;
    }


    GetVars(index, &Float:x, &Float:y, &Float:w, &Float:h, &color)
    {
    x = Bars[index][pb_x];
    y = Bars[index][pb_y];
    w = Bars[index][pb_w];
    h = Bars[index][pb_h];
    color = Bars[index][pb_color];
    }


    UpdateVars(index, Float:x, Float:y, Float:w, Float:h, color)
    {
    Bars[index][pb_x] = x;
    Bars[index][pb_y] = y;
    Bars[index][pb_w] = w;
    Bars[index][pb_h] = h;
    Bars[index][pb_color] = color;
    }


    DeleteVars(index)
    {
    Bars[index][pb_x] = 0.0;
    Bars[index][pb_y] = 0.0;
    Bars[index][pb_w] = 0.0;
    Bars[index][pb_h] = 0.0;
    Bars[index][pb_color] = 0;
    }


    public OnPlayerUpdate(playerid)
    {
    if(GetPVarInt(playerid, "MovingBar"))
    {
    new keys, ud, lr;
    GetPlayerKeys(playerid, keys, ud, lr);


    new Bar:barid = Bar:GetPVarInt(playerid, "BarID");
    new Float:x, Float:y, Float:w, Float:h, color;


    if(ud || lr)
    {
    DestroyProgressBar(barid);
    GetVars(_:barid, x, y, w, h, color);
    DeleteVars(_:barid);
    if(ud == KEY_UP)
    {
    if(GetPVarInt(playerid, "MovingBar") == MOVE_POSITION)
    {
    y -= keys & KEY_SPRINT ? 2.0 : 1.0;
    if(y < 0.0) y = 0.0;
    }
    else if(GetPVarInt(playerid, "MovingBar") == MOVE_SIZE)
    {
    h -= keys & KEY_SPRINT ? 2.0 : 1.0;
    if(h < 1.5) h = 1.5;
    }
    }
    else if(ud == KEY_DOWN)
    {
    if(GetPVarInt(playerid, "MovingBar") == MOVE_POSITION)
    {
    y += keys & KEY_SPRINT ? 2.0 : 1.0;
    if(y > 480.0) y = 480.0;
    }
    else if(GetPVarInt(playerid, "MovingBar") == MOVE_SIZE)
    {
    h += keys & KEY_SPRINT ? 2.0 : 1.0;
    if(h > 480.0) h = 480.0;
    }
    }
    if(lr == KEY_LEFT)
    {
    if(GetPVarInt(playerid, "MovingBar") == MOVE_POSITION)
    {
    x -= keys & KEY_SPRINT ? 2.0 : 1.0;
    if(x < 0.0) x = 0.0;
    }
    else if(GetPVarInt(playerid, "MovingBar") == MOVE_SIZE)
    {
    w -= keys & KEY_SPRINT ? 2.0 : 1.0;
    if(w < 1.5) w = 1.5;
    }
    }
    else if(lr == KEY_RIGHT)
    {
    if(GetPVarInt(playerid, "MovingBar") == MOVE_POSITION)
    {
    x += keys & KEY_SPRINT ? 2.0 : 1.0;
    if(x > 640.0) x = 640.0;
    }
    else if(GetPVarInt(playerid, "MovingBar") == MOVE_SIZE)
    {
    w += keys & KEY_SPRINT ? 2.0 : 1.0;
    if(w > 640.0) w = 640.0;
    }
    }
    barid = CreateProgressBar(x, y, w, h, color, 100.0);
    SetProgressBarValue(barid, 50.0);
    ShowProgressBarForPlayer(playerid, barid);
    UpdateVars(_:barid, x, y, w, h, color);
    SetPVarInt(playerid, "BarID", _:barid);
    }
    }
    return 1;
    }


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if(newkeys & KEY_SECONDARY_ATTACK)
    {
    if(GetPVarInt(playerid, "MovingBar"))
    {
    TogglePlayerControllable(playerid, true);
    SetPVarInt(playerid, "MovingBar", MOVE_NONE);
    SendClientMessage(playerid, 0xFFF000AA, "Now you can use /bar again to modify or finalize it.");
    }
    }
    return 1;
    }


    public OnPlayerDeath(playerid, killerid, reason)
    {
    if(GetPVarInt(playerid, "MovingBar"))
    {
    TogglePlayerControllable(playerid, true);
    SetPVarInt(playerid, "MovingBar", MOVE_NONE);
    }
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    if(GetPVarInt(playerid, "CreatingBar") == 1)
    {
    DestroyProgressBar(Bar:GetPVarInt(playerid, "BarID"));
    DeleteVars(GetPVarInt(playerid, "BarID"));
    }
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(!strcmp(cmdtext, "/bar", true))
    {
    if(GetPVarInt(playerid, "CreatingBar") == 0)
    {
    new Bar:barid;
    if((barid = CreateProgressBar(320.0, 240.0, 56.50, 3.39, 0xFF0000FF, 100.0)) == INVALID_BAR_ID)
    {
    SendClientMessage(playerid, 0xFF0000AA, "Internal error occurred when creating progress bar.");
    return 1;
    }
    SetProgressBarValue(barid, 50.0);
    ShowProgressBarForPlayer(playerid, barid);
    TogglePlayerControllable(playerid, false);
    UpdateVars(_:barid, 320.0, 240.0, 55.5, 3.2, 0xFF0000FF);


    SetPVarInt(playerid, "MovingBar", MOVE_POSITION);
    SetPVarInt(playerid, "CreatingBar", 1);
    SetPVarInt(playerid, "BarID", _:barid);


    SendClientMessage(playerid, 0xFFF000AA, "Use the arrow keys to move the bar arround the screen.");
    SendClientMessage(playerid, 0xFFF000AA, "Keep pressing 'Sprint' key to move faster.");
    SendClientMessage(playerid, 0xFFF000AA, "Press the 'Enter car' key when done.");
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_BAR, DIALOG_STYLE_LIST, "Progress Bar", "Change Position\nChange Size\nChange Color\nI'm done, save bar!", "OK", "Cancel");
    }
    return 1;
    }
    return 0;
    }


    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == DIALOG_BAR)
    {
    if(response)
    {
    if(listitem == ITEM_MOVE)
    {
    SetPVarInt(playerid, "MovingBar", MOVE_POSITION);
    TogglePlayerControllable(playerid, false);
    SendClientMessage(playerid, 0xFFF000AA, "Use the arrow keys to move the bar arround the screen.");
    SendClientMessage(playerid, 0xFFF000AA, "Keep pressing 'Sprint' key to move faster.");
    SendClientMessage(playerid, 0xFFF000AA, "Press the 'Enter car' key when done.");
    }
    else if(listitem == ITEM_RESIZE)
    {
    SetPVarInt(playerid, "MovingBar", MOVE_SIZE);
    TogglePlayerControllable(playerid, false);
    SendClientMessage(playerid, 0xFFF000AA, "Use the arrow keys to resize the bar.");
    SendClientMessage(playerid, 0xFFF000AA, "Keep pressing 'Sprint' key to resize faster.");
    SendClientMessage(playerid, 0xFFF000AA, "Press the 'Enter car' key when done.");
    }
    else if(listitem == ITEM_COLOR)
    {
    ShowPlayerDialog(playerid, DIALOG_COLOR, DIALOG_STYLE_INPUT, "Change Color", "Type the color in hexadecimal format.\nExample: 0xFFF000FF\nRemember the alpha parameter (the last 2 numbers),\nthey define the transparency.\nIf you have doubts, use an external Color Picker.", "OK", "Cancel");
    }
    else if(listitem == ITEM_DONE)
    {
    ShowPlayerDialog(playerid, DIALOG_DONE, DIALOG_STYLE_INPUT, "Saving Bar", "Type the file name which you want to save the bar;\nYou don't need to specify the extension;\nThe default one is .txt;\nThe file will be created in the scriptfiles folder;\nAny file with the same name will be replaced automatically.", "Save", "Cancel");
    }
    }
    }
    else if(dialogid == DIALOG_COLOR)
    {
    SetProgressBarColor(Bar:GetPVarInt(playerid, "BarID"), hexstr(inputtext));
    UpdateProgressBar(Bar:GetPVarInt(playerid, "BarID"), playerid);
    Bars[GetPVarInt(playerid, "BarID")][pb_color] = hexstr(inputtext);
    }
    else if(dialogid == DIALOG_DONE)
    {
    new File:file, name[32], line[128], barid;


    if(strlen(inputtext) > 32 - 4)
    {
    strdel(inputtext, 32 - 4, strlen(inputtext));
    }
    format(name, sizeof name, "%s.txt", inputtext);


    if(!(file = fopen(name, io_write)))
    {
    SendClientMessage(playerid, 0xFF0000AA, "There was an error on file writing, try again.");
    ShowPlayerDialog(playerid, DIALOG_DONE, DIALOG_STYLE_INPUT, "Saving Bar", "Type the file name which you want to save the bar;\nYou don't need to specify the extension;\nThe default one is .txt;\nThe file will be created in the scriptfiles folder;\nAny file with the same name will be replaced automatically.", "Save", "Cancel");
    return 1;
    }
    barid = GetPVarInt(playerid, "BarID");
    format(line, sizeof line, "new Bar:bar = CreateProgressBar(%.2f, %.2f, %.2f, %.2f, %d, 100.0);\r\n",
    Bars[barid][pb_x], Bars[barid][pb_y], Bars[barid][pb_w], Bars[barid][pb_h], Bars[barid][pb_color]);


    fwrite(file, line);
    fwrite(file, "ShowProgressBarForAll(bar);\r\n");
    fwrite(file, "\r\nNow, take a look at the official SA:MP forum topic to know how to use this:\r\n\r\nhttp://forum.sa-mp.com/index.php?topic=138556\r\n");
    fclose(file);


    DeleteVars(barid);
    DestroyProgressBar(Bar:barid);
    DeletePVar(playerid, "BarID");
    DeletePVar(playerid, "MovingBar");
    DeletePVar(playerid, "CreatingBar");


    SendClientMessage(playerid, 0xFFFF00AA, "All done! Now take a look at your file to see the result!");
    SendClientMessage(playerid, 0xFFFFFFAA, "You can create another progress bar now.");
    }
    return 1;
    }


    stock hexstr(string[])
    {
    new ret, val, i;
    if(string[0] == '0' && (string[1] == 'x' || string[1] == 'X')) i = 2;
    while(string[i])
    {
    ret <<= 4;
    val = string[i++] - '0';
    if(val > 0x09) val -= 0x07;
    if(val > 0x0F) val -= 0x20;
    if(val < 0x01) continue;
    if(val < 0x10) ret += val;
    }
    return ret;
    }

    hallo alle zusammen,


    ich lerne seit einiger zeit das scripten und brauche hilfe :
    ich versuche ein eigenen server zu erstellen den ich auf einigen lans verwenden kann...
    ich möchte das wenn ein admin / supporter/owner ein fahrzeug besitzt das dort ein 3d text ist : SupporterCar oder Ownercar
    kann mir jmd sagen wie ich also ein 3d text an ein fahrzeug "heften" kann??


    vielen dank für eure hilfe


    CyZe