Beiträge von Timon1986

    Hallo,




    Ich möchte hier um Hilfe bitten. Ich werde zunächst die
    Problembeschreibung niederschreiben und anschliesend die; so glaube ich
    zumindestens; erforderlichen Scriptauszüge beilegen.




    Die Problembeschreibung:




    Ich habe ein Fraktionscar-system, das bedeutet ich kann in 2 Fraktionen
    als Fraktionsmitglied ( egal ob leader oder member ) den Befehl /fcar
    eingeben und anschliesend wird mir in besagter Fraktion ein Fahrzeug
    gespawnt. Das funktioniert bei den Medics ( Fraktionssnummer 4 ) und
    beim Taxiteam ( Fraktionsnummer 10 ). Wenn ich also Fraktionsmitglied
    oder Leader der Medics bin, mir ein Fraktionsfahrzeug erstelle
    funktioniert auch alles recht gut. Wenn ich das Fahrzeug lösche ist auch
    alles sehr gut. Wenn ich nach dem Löschen des Fahrzeuges mich aber zum
    Leader des Taxiteams mache, und dort ein Taxi erstelle und einsteige
    erhalte ich die Meldung: "Du bist kein Mitglied des Rettungsdienstes"
    und ich werde wieder aus dem Fahrzeug geschmissen. Obwohl ich wie
    bereits erwähnt kein Mitglied des Rettungsdienstes mehr bin, sondern
    Taxifahrer.




    Die Codeschnipsel:




    new MedicCar[MAX_PLAYERS];


    new MedicAuto[MAX_PLAYERS];


    new TaxiCar[MAX_PLAYERS];


    new TaxiAuto [MAX_PLAYERS];




    #define DIALOG_MEDICCARS 1111


    #define DIALOG_TAXICARS 1116




    forward IsAnAmbulance(carid);//4


    forward IsATaxiCar(carid);//10









    if(strcmp(cmdtext,"/fcar",true)==0)


    {


    if(SpielerInfo[playerid][sLeader] == 4 || SpielerInfo[playerid][sMember] == 4)


    {


    if(IsPlayerInRangeOfPoint(playerid,5.0,2036.8271,-1403.3060,17.2881))


    {


    if(MedicCar[playerid]==0)


    {


    if(SpielerInfo[playerid][pRank] >= 0)


    {



    ShowPlayerDialog(playerid,DIALOG_MEDICCARS,DIALOG_STYLE_LIST,"Rettungsdienst
    Fahrzeugwahl","Ambulance\nMedicopter","Bestätigen","Abbrechen");


    }


    if(SpielerInfo[playerid][pRank] >= 4)


    {



    ShowPlayerDialog(playerid,DIALOG_MEDICCARS,DIALOG_STYLE_LIST,"Rettungsdienst

    Fahrzeugwahl","Ambulance\nMedicopter\nNotarzt","Bestätigen","Abbrechen");


    }


    }


    else


    {


    SendClientMessage(playerid,COLOR_RED,"Du hast schon
    ein Rettungsdienst Fahrzeug - lösch es bitte erst mit '/delfcar'");


    }


    }


    return 1;


    }


    else if(SpielerInfo[playerid][sLeader] == 10 || SpielerInfo[playerid][sMember] == 10)


    {


    if(IsPlayerInRangeOfPoint(playerid,5.0,1236.2017,-1662.9456,11.7969))


    {


    if(TaxiCar[playerid]==0)


    {


    if(SpielerInfo[playerid][pRank] >= 0)


    {



    ShowPlayerDialog(playerid,DIALOG_TAXICARS,DIALOG_STYLE_LIST,"Taxi
    Fahrzeugwahl","Taxi","Bestätigen","Abbrechen");


    }


    if(SpielerInfo[playerid][pRank] >= 2)


    {



    ShowPlayerDialog(playerid,DIALOG_TAXICARS,DIALOG_STYLE_LIST,"Taxi
    Fahrzeugwahl","Taxi\nCabby","Bestätigen","Abbrechen");


    }


    if(SpielerInfo[playerid][pRank] >= 3)


    {



    ShowPlayerDialog(playerid,DIALOG_TAXICARS,DIALOG_STYLE_LIST,"Taxi
    Fahrzeugwahl","Taxi\nCabby\nStretch","Bestätigen","Abbrechen");


    }


    }


    else


    {


    SendClientMessage(playerid,COLOR_RED,"Du hast schon ein Taxi - lösch es bitte erst mit '/delfcar'");


    }


    }


    return 1;


    }


    else return SendClientMessage(playerid,COLOR_RED,"Du darfst dir kein Fahrzeug Spawnen!");


    }





    if(strcmp(cmdtext,"/delfcar",true)==0)


    {


    if(SpielerInfo[playerid][sLeader] == 4 || SpielerInfo[playerid][sMember] == 4)


    {


    if(MedicCar[playerid]==1)


    {


    DestroyVehicle(MedicAuto[playerid]);


    SendClientMessage(playerid,COLOR_GREEN,"Du hast dein gespawntes Fahrzeug Entfernt!");


    MedicCar[playerid] = 0;


    }


    else


    {


    SendClientMessage(playerid,COLOR_RED,"Du hast noch kein Fahrzeug gespawnt!");


    }


    return 1;


    }


    else if(SpielerInfo[playerid][sLeader] == 10 || SpielerInfo[playerid][sMember] == 10)


    {


    if(TaxiCar[playerid]==1)


    {


    DestroyVehicle(TaxiAuto[playerid]);


    SendClientMessage(playerid,COLOR_GREEN,"Du hast dein gespawntes Fahrzeug Entfernt!");


    TaxiCar[playerid] = 0;


    }


    else


    {


    SendClientMessage(playerid,COLOR_RED,"Du hast noch kein Fahrzeug gespawnt!");


    }


    return 1;


    }


    else return SendClientMessage(playerid,COLOR_RED,"Du kannst kein Fahrzeug löschen, da du keins erstellen kannst!");


    }





    if(dialogid == DIALOG_TAXICARS)


    {


    if(response)


    {


    if(listitem == 0)


    {


    TaxiAuto[playerid] = CreateVehicle(420,1227.8495,-1653.4192,11.5771,270.6812,6,6,-1);


    SendClientMessage(playerid,COLOR_GREEN,"Du hast dir ein Taxi als Fahrzeug gespawnt!");


    TaxiCar[playerid] = 1;


    }


    else if(listitem == 1)


    {


    TaxiAuto[playerid]=CreateVehicle(438,1227.8495,-1653.4192,11.5771,270.6812,6,6,-1);


    SendClientMessage(playerid,COLOR_GREEN,"Du hast dir ein Cabby als Fahrzeug gespawnt!");


    TaxiCar[playerid] = 1;


    }


    else if(listitem == 2)


    {


    TaxiAuto[playerid]=CreateVehicle(409,1227.8495,-1653.4192,11.5771,270.6812,6,6,-1);


    SendClientMessage(playerid,COLOR_GREEN,"Du hast dir eine Stretch Fahrzeug gespawnt!");


    TaxiCar[playerid] = 1;


    }


    }


    return 1;


    }


    if(dialogid == DIALOG_MEDICCARS)


    {


    if(response)


    {


    if(listitem == 0)


    {


    MedicAuto[playerid] = CreateVehicle(416,2014.5378,-1433.6283,13.7033,133.4530,1,3,-1);


    SendClientMessage(playerid,COLOR_GREEN,"Du hast dir ein Ambulance als Fahrzeug gespawnt!");


    MedicCar[playerid] = 1;


    }


    else if(listitem == 1)


    {


    MedicAuto[playerid] = CreateVehicle(563,2069.0349,-1425.1941,49.0407,86.4916,1,3,-1);


    SendClientMessage(playerid,COLOR_GREEN,"Du hast dir ein Medicopter als Fahrzeug gespawnt!");


    MedicCar[playerid] = 1;


    }


    else if(listitem == 2)


    {


    MedicAuto[playerid] = CreateVehicle(599,2014.5378,-1433.6283,13.7033,133.4530,1,3,-1);


    SendClientMessage(playerid,COLOR_GREEN,"Du hast dir ein Notarzt Fahrzeug gespawnt!");


    MedicCar[playerid] = 1;


    }


    }


    return 1;


    }





    public IsAnAmbulance(carid)//4


    {


    for(new i = 0; i < sizeof(MedicAuto); i++)


    {


    if(carid == MedicAuto[i])


    {


    return 1;


    }


    }


    return 0;


    }





    public IsATaxiCar(carid)//10


    {


    for(new x = 0; x < sizeof(TaxiAuto); x++)


    {


    if(carid == TaxiAuto[x])


    {


    return 1;


    }


    }


    return 0;


    }





    if(!IsPlayerInFrac(playerid,4))


    {


    for(new pv = 0; pv < sizeof(MedicAuto); pv++)


    {


    if(newcar == MedicAuto[pv])


    {


    SendClientMessage(playerid,COLOR_RED,"Du bist kein Mitglied des Rettungsdienstes!");


    RemovePlayerFromVehicle(playerid);


    }


    }


    }





    if(!IsPlayerInFrac(playerid,10))


    {


    for(new pv = 0; pv < sizeof(TaxiAuto); pv++)


    {


    if(newcar == TaxiAuto[pv])


    {


    SendClientMessage(playerid,COLOR_RED,"Du hast keine Schlüssel!");


    RemovePlayerFromVehicle(playerid);


    }


    }


    }






    Weitere Informationen:




    Compilen kann ich ohne Warnings / Errors, es funktioniert wie eingangs
    erwähnt auch alles Auser dass wenn ein Medic ein Fahrzeug erstellt, es
    auch wieder löscht, kein Taxifahrer mehr beim erstellen seines
    fahrzeuges in dieses einsteigen kann. ( Also erstellen geht, einsteigen
    nicht ).






    Ich hoffe ich habe alles ausreichend erklärt und bitte um entsprechende Hilfe zur Lösung des "Bugs" ....






    Liebe Grüße und vielen Dank bereits im Vorraus.




    Timon


    p.S. Entsprechende ewige Leerzeilen, falsches einrücken der klammern etc. bitte ich zu entschuldigen, das liegt etwas an meinem browser der das ganze falsch ans Forum wieder gibt, im Script ist alles richtig und die klammern sind auch richtig gesetzt und es sind da natürlich auch keine ewigen Leerzeilen drin.


    Danke für ihr Verständnis.


    p.p.S. Man hofft natürlich auf Hilfe ...

    if(strcmp(cmd, "/aw", true) == 0 || strcmp(cmd, "/adminwhisper", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(gPlayerLogged[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " You havent logged in yet !");
    return 1;
    }
    if(SpielerInfo[playerid][pAdmin] == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, " Du bist kein Admin!");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "NUTZUNG: (/aw)isper [SpielerID/SpielerName] [whisper text]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if (IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    if(giveplayerid == playerid)
    {
    }
    new length = strlen(cmdtext);
    while ((idx < length) && (cmdtext[idx] <= ' '))
    {
    idx++;
    }
    new offset = idx;
    new result[64];
    while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
    {
    result[idx - offset] = cmdtext[idx];
    idx++;
    }
    result[idx - offset] = EOS;
    if(!strlen(result))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "NUTZUNG: (/aw)isper [SpielerID/SpielerName] [whisper text]");
    return 1;
    }
    format(string, sizeof(string), "Admin %s(ID: %d) sagt dir: %s", sendername, playerid, (result));
    SendClientMessage(giveplayerid, COLOR_YELLOW, string);
    format(string, sizeof(string), "Nachricht gesendet an %s(ID: %d).", giveplayer, giveplayerid);
    SendClientMessage(playerid, COLOR_YELLOW, string);
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(SpielerInfo[i][pAdmin] >= 2)
    {
    format(string, sizeof(string), "*Admin %s whispert zu %s", sendername, giveplayer);
    SendClientMessage(i,COLOR_YELLOW,string);
    }
    }
    }
    return 1;
    }
    }
    else
    {
    format(string, sizeof(string), " %d ist kein Aktiver Spieler.", giveplayerid);
    SendClientMessage(playerid, COLOR_GRAD1, string);
    }
    }
    return 1;
    }


    ggf. SpielerInfo in PlayerInfo und pAdmin in sAdmin oder whatever was ändern, einfach an deine Variablen anpassen, dann passt das auch und es funktioniert.


    ggf. kontaktier mich separat nochmal und gib mir teamviewer, dann bau ick dir das ein und gut is ...

    Hallo,




    Ich habe folgendes Problem.




    Manchmal wenn ich mich einlogge, jedoch aber spätestens wenn ich in ein
    Beliebiges Fahrzeug steige wird mein Bild komplett weiss und das einzige
    was man noch halbwegs erkennen kann ist der Chat sowie die Uhrzeit und
    das Datum auf dem Server, mehr nicht.




    Woran kann das liegen, was kann ich tun.




    Folgende Dinge habe ich schon getestet:




    PC neugestartet


    GTA Komplett gelöscht und Ohne Mods neu installiert ( Nichtmal Michis Map, also gar keine Mods ) das ganze schon 4 - 5 mal


    Sogar Festplatte komplett Formatiert und Windows neu installiert


    Grafiktreiber aktualisiert


    Verschiedene gta_sa.exe dateien getestet


    ====================================================




    Mein System:




    AMD Athlon(tm) II X4 640 Processor 3.00 GHz ( 4 Kerne )


    8 GB Arbeitsspeicher


    Grafikkarte: Nvidia GeForce GT 520 ( 1 GB DDR3 )


    Windows 7 Ultimate 64 Bit




    Da steh ich ziemlich dumm da ...




    Ich hoffe ihr könnt mir helfen das Problem zu lösen.




    Hinweis, Ich habe an meinem GTA sowie an meinem PC NICHTS geändert, das
    Problem besteht erst seit SA-MP Version 0.3e RC6 Ich befürchte dass es
    daran liegt, aber das kann es doch nicht sein oder? um dem Vorschlag hier aus dem Forum gleich entgegen zu wirken: eine Datei d3d9.dll habe ich gefunden im System32 ... oehm ja, löschen kann ick die jedoch nicht ...






    Liebe Grüße