Beiträge von BlueSpider

    Du könntest es natürlich verschenken verkaufen was auch immer, aber ich würde es an deiner Stelle verbessern , optimieren und neue Systeme einbauen.
    Lass es als kleines Hobby/kleine nebenbeschäftigung liegen. Zu verbessern gibt es nämlich immer was ;)

    jetzt wirds komplex :D



    #define dia_gangcar 0
    #define MAX_GANGCAR 5
    enum gangcar_e
    {
    carid,
    float:car_x,
    float:car_y,
    float:car_z,
    gang,
    modell,
    }
    new gangcar[MAX_GANGCAR][gangcar_e];


    //Ongamemodeinit - Lese Vorgang


    new Fahrzeugverzeichnis[64];
    format(Fahrzeugverzeichnis,sizeof Fahrzeugverzeichnis,"Gangautos.txt");
    new string_read[128];
    for(new i = 0; i < MAX_GANGCAR; i++)
    {
    format(string_read,sizeof(string_read),"Groove_%d_Modell",i);
    gangcar[i][modell] = dini_Int(Fahrzeugverzeichnis,string_read);



    }


    //Befehl


    if (strcmp("/gangautos", cmdtext, true, 10) == 0)
    {
    new string[128];
    for(new i = 0; i < MAX_GANGCAR; i++)
    {
    format(string,sizeof(string),"%s \n %d - CARID: %d",string,i,gangcar[i][modell]);

    }
    ShowPlayerDialog(playerid,dia_gangcar,DIALOG_STYLE_LIST,"GangAutos",string,"jojo", "nene");
    return 1;
    }




    Ich hoffe mal das dass hilft ^^


    €dit//

    In der enum fehlt übrigens noch eine Variable für das Fahrzeugmodell ;)
    Added & logik fehler fixed

    naja d.h. eine enum Klasse mit vielen variablen.



    #define MAX_GANGCAR 5
    enum gangcar_e
    {
    carid,
    float:car_x,
    float:car_y,
    float:car_z,
    gang,
    }
    new gangcar[MAX_GANGCAR][gangcar_e];



    // Ongamemodeinit - Lese Vorgang
    new Fahrzeugverzeichnis[64];
    format(Fahrzeugverzeichnis,sizeof Fahrzeugverzeichnis,"Gangautos.txt");
    new string_read[128];
    for(new i = 0; i < MAX_GANGCAR; i++)
    {
    format(string_read,sizeof(string_read),"Groove_%d_Modell",i);
    gangcar[i][carid] = dini_Int(Fahrzeugverzeichnis,string_read);
    CreateVehicle(gangcar[i][carid],..

    }




    Als Beispiel.



    Edit//


    Ups :D
    Ich glaub ich brauche eine Brille ^^

    format(string,sizeof(string),"%s \n %d - CARID: %d",string,i,GetVehicleModel(Fraktionscar[i]));



    Musste doppelt zu ;)


    #define dia_gangcar 0
    #define MAX_GANGCAR 5
    new gangcar[MAX_GANGCAR];


    //---
    if (strcmp("/gangautos", cmdtext, true, 10) == 0)
    {
    new string[128];
    for(new i = 0; i < MAX_GANGCAR; i++)
    {
    format(string,sizeof(string),"%s \n %d CARID: %d",string,i,GetVehicleModel(gangcar[i])
    }
    ShowPlayerDialog(playerid,dia_gangcar,DIALOG_STYLE_LIST,"GangAutos",string,"jojo", "nene");
    return 1;
    }



    Das ist nur der erste teil.
    Ansonsten bitte noch etwas genauer beschreiben was du meinst.

    [Mit Rusischen Akzent lesen]
    Weißt du noch ?
    hmmm ?
    Als SA-MP.de eigenen sa-mp Server machen wollte ..?
    ähmmmm ..
    Das war scheiße .....
    ähmmm...


    [/Mit Rusischen Akzent lesen]


    Kurz gesagt : Organisation = katastrophe.


    new freeze;
    if (strcmp("/freezeall", cmdtext, true, 10) == 0)
    {
    if(freeze==1)
    {
    TogglePlayerControllable(playerid,1);
    freeze=0;
    return 1;
    }
    TogglePlayerControllable(playerid,0);
    freeze=1;

    return 1;
    }


    Beim wiederholen des befehls wenn alle schon gefreezt sind werden sie wieder entfreezt.

    Naja Direkt nicht. Ich glaube das man dort zu der y achse circa 10 dazu addieren müsste.
    Ganz genau weiß ich es jetzt aber auch nicht.
    Probieren geht über Studieren ? :D

    Nicht komplett weg machen ..
    Nur die "//" weg machen.
    Der Fehler der jetzt kommt sagt nichts anderes aus das du OnDialogResponse nicht geschlossen hast. ( } )

    Also hier wäre meine Variante :



    #define MAX_BOMB 5
    new dynamit[MAX_PLAYERS][MAX_BOMB]; /* 0 = false ; 1 = true */
    new object_dyna[MAX_PLAYERS][MAX_BOMB];



    //Bombe setzen
    else if(SpielerInfo[playerid][sKlasse] == 9 && GetPlayerWeapon(playerid) == 0 && SpielerInfo[playerid][sTeam] == 1)
    {
    new Float:px, Float:py, Float:pz, Float:pa;
    GetPlayerFacingAngle(playerid,pa);
    GetPlayerPos(playerid, px, py, pz);
    if(pa >= 0.0 && pa <= 22.5) //n1
    {
    new i;
    for(new g = 0; g < MAX_BOMB; g++)
    {
    i++;
    if ( dynamit[playerid][i] == 0){ g = MAX_BOMB; }
    }
    OnePlayAnim(playerid,"GRENADE","WEAPON_throwu",4.1,0,0,0,0,0);
    SendClientMessage(playerid,COLOR_YELLOW,"Gehe soweit wie möglich weg und gebe /det ein, betätige den Detonator um das Dynamite hochzujagen >).");
    dynamit[playerid][i] = 1;
    object_dyna[playerid][i] = CreateObject(1654, px, py+3, pz-0.785, 0.0, 0.0, 0.0);
    printf("Bomb Set, ID : %d",i);
    }
    }


    //Bombe zünden


    else if(GetPlayerWeapon(playerid) == 40)
    {
    new Float:bx, Float:by, Float:bz;
    new i;
    new i;
    for(new g = 0; g < MAX_BOMB; g++)
    {
    i++;
    if ( dynamit[playerid][i] == 1){ g = MAX_BOMB; }
    }
    GetObjectPos(object_dyna[playerid][i],bx,by,bz);
    CreateExplosion(bx, by, bz, 6, 10.0);
    DestroyObject(object_dyna[playerid][i]);
    object_dyna[playerid][i] = 0;
    dynamit[playerid][i] = 0;


    }


    // alle Bomben zünden
    else if(GetPlayerWeapon(playerid) == 40)
    {
    new Float:bx, Float:by, Float:bz;
    for(new i = 0; i < MAX_BOMB; i++)
    {
    if ( dynamit[playerid][i] == 0) return 1;
    GetObjectPos(object_dyna[playerid][i],bx,by,bz);
    CreateExplosion(bx, by, bz, 6, 10.0);
    DestroyObject(object_dyna[playerid][i]);
    object_dyna[playerid][i] = 0;
    dynamit[playerid][i] = 0;


    }
    }


    // Nach ID zünden
    else if(GetPlayerWeapon(playerid) == 40)
    {
    /* i = ID */
    new Float:bx, Float:by, Float:bz;
    GetObjectPos(object_dyna[playerid][i],bx,by,bz);
    CreateExplosion(bx, by, bz, 6, 10.0);
    DestroyObject(object_dyna[playerid][i]);
    object_dyna[playerid][i] = 0;
    dynamit[playerid][i] = 0;
    }




    Ungetestet , deinen Code blick ich nicht mehr so wirklich ^^


    stock ini_Isset(filename[],key[]) {
    /* (c) Draco Blue - DINI 1.6*/
    new key_length = strlen(key);
    if (key_length==0 || key_length+2>255) return false;


    new File:fohnd;
    fohnd=fopen(filename,io_read);
    if (!fohnd) return false;


    new tmpres[255];
    while (fread(fohnd,tmpres)) {
    if (
    tmpres[key_length]=='='
    && !strcmp(tmpres, key, true, key_length)
    ) {
    // We've got what we need
    fclose(fohnd);
    return true;
    }
    }
    fclose(fohnd);
    return false;
    }


    Am Ende des Scripts einfügen.
    ----



    if (ini_Isset("admins.cfg",sname))
    {
    PlayerInfo[playerid][pAdmin] = INI_ReadInt(sname);
    AdminSystemCheck[playerid] = PlayerInfo[playerid][pAdmin];
    format(stringtext, sizeof(stringtext), "SERVER: Du hast dich als Admin eingeloggt level: %d ",PlayerInfo[playerid][pAdmin]);
    SendClientMessage(playerid, COLOR_WHITE,stringtext);
    }



    Das dürfte das problem erstmal lösen. Ist zwar nicht optimal aber das dürfte hinhauen.
    Entweder schreibst du dir die Funktion selbst oder holst dir ein anderes INI System.

    Nein.
    Dem Compiler fehlt die Funktion, in der Include fehlt schlichtweg die Funktion.
    Was kommt nach der if abfrage ?
    Kommt da noch ein else ?


    €dit //
    Wie lautet die datei Variable ?

    Du rufst die SA-MP.com seite auf.
    Downloads -> Windows Server -> Archiv runterladen.
    Archiv entpacken. In den pawno ordner wechseln und pawno.exe ausführen.


    File -> Open , dein script öffnen.
    Und danach auf Build -> Compile.
    Mit Glück hast du dann eine AMX datei.

    Weil er den Code von oben nach unten liest.
    Erst beim zweiten Aufruf von OnGamemodeInit ( die callback wo diese abfargen drin sind ) würde die erste Abfrage zutreffen und die definierung OnGamemodeInit würde gelöscht werden.
    Ich verstehe nur nicht gerade was du dir davon erhofft hast ? :wacko:


    Ps. Sinn = 0.

    Das ganze würde dann so aussehen :



    SetPlayerPos(playerid,dini_Float(spielerdatei,PosX),dini_Float(spielerdatei,PosY),dini_Float(spielerdatei,PosZ));


    Ansonsten kannst du auch hier noch nachschlagen : [ SCRIPTING ] DINI - Grundfunktionen
    Da sind alle Funktionen von DINI aufgelistet und halbwegs erklärt ;)