Beiträge von [iRP]Syntro

    Guten Tag,


    ich habe ein Problem das meine Fahrzeuge nicht laden und richtig speichern, soviel zu meiner Diagnose.
    Wir waren eben zu zweit auf unserem Server, jeder spawnte für die jeweilige Fraktion Fahrzeuge. (SAPD + FBI)
    Nachdem die Fahrzeuge gespawnt sind werden sie in einer .ini in den jeweiligen Scriptfiles, Fraktionsunterordnern gespeichert.
    Wenn der Server neu startet sind anstatt 5 Fahrzeuge nun 10 bei mir mit den SAPD Farben. - Die SAPD Fahrzeuge in der SAPD Garage waren weg.


    Hier mal der Code vom speichern und laden.
    public OnGameModeExit()
    {
    //Fraktionsfahreuge SAPD
    for(new i=0;i<MAX_FRAKTCARS;i++)
    {
    new Fraktauto[200];
    format(Fraktauto,sizeof(Fraktauto),"/Fraktionsdaten/SAPD/%d.ini",i);
    if(dini_Exists(Fraktauto))
    {
    dini_IntSet(Fraktauto,"modelid",Fraktautos[i][1][modelid]);
    dini_FloatSet(Fraktauto,"FPosX",Fraktautos[i][1][fposx]);
    dini_FloatSet(Fraktauto,"FPosY",Fraktautos[i][1][fposy]);
    dini_FloatSet(Fraktauto,"FPosZ",Fraktautos[i][1][fposz]);
    dini_FloatSet(Fraktauto,"FPosA",Fraktautos[i][1][fposa]);
    dini_IntSet(Fraktauto,"Spoiler",GetVehicleComponentInSlot(SAPDcar[i],0));
    dini_IntSet(Fraktauto,"Hood",GetVehicleComponentInSlot(SAPDcar[i],1));
    dini_IntSet(Fraktauto,"Roof",GetVehicleComponentInSlot(SAPDcar[i],2));
    dini_IntSet(Fraktauto,"Sideskirt",GetVehicleComponentInSlot(SAPDcar[i],3));
    dini_IntSet(Fraktauto,"Lamps",GetVehicleComponentInSlot(SAPDcar[i],4));
    dini_IntSet(Fraktauto,"Nitro",GetVehicleComponentInSlot(SAPDcar[i],5));
    dini_IntSet(Fraktauto,"Exhaust",GetVehicleComponentInSlot(SAPDcar[i],6));
    dini_IntSet(Fraktauto,"Wheels",GetVehicleComponentInSlot(SAPDcar[i],7));
    dini_IntSet(Fraktauto,"Stereo",GetVehicleComponentInSlot(SAPDcar[i],8));
    dini_IntSet(Fraktauto,"Hydraulics",GetVehicleComponentInSlot(SAPDcar[i],9));
    dini_IntSet(Fraktauto,"FrontBumper",GetVehicleComponentInSlot(SAPDcar[i],10));
    dini_IntSet(Fraktauto,"RearBumper",GetVehicleComponentInSlot(SAPDcar[i],11));
    dini_IntSet(Fraktauto,"VentRight",GetVehicleComponentInSlot(SAPDcar[i],12));
    dini_IntSet(Fraktauto,"VentLeft",GetVehicleComponentInSlot(SAPDcar[i],13));
    print("Fraktionsfahrzeuge SAPD gespeichert");
    }
    format(Fraktauto,sizeof(Fraktauto),"/Fraktionsdaten/FBI/%d.ini",i);
    if(dini_Exists(Fraktauto))
    {
    dini_IntSet(Fraktauto,"modelid",Fraktautos[i][1][modelid]);
    dini_FloatSet(Fraktauto,"FPosX",Fraktautos[i][1][fposx]);
    dini_FloatSet(Fraktauto,"FPosY",Fraktautos[i][1][fposy]);
    dini_FloatSet(Fraktauto,"FPosZ",Fraktautos[i][1][fposz]);
    dini_FloatSet(Fraktauto,"FPosA",Fraktautos[i][1][fposa]);
    dini_IntSet(Fraktauto,"Spoiler",GetVehicleComponentInSlot(FBIcar[i],0));
    dini_IntSet(Fraktauto,"Hood",GetVehicleComponentInSlot(FBIcar[i],1));
    dini_IntSet(Fraktauto,"Roof",GetVehicleComponentInSlot(FBIcar[i],2));
    dini_IntSet(Fraktauto,"Sideskirt",GetVehicleComponentInSlot(FBIcar[i],3));
    dini_IntSet(Fraktauto,"Lamps",GetVehicleComponentInSlot(FBIcar[i],4));
    dini_IntSet(Fraktauto,"Nitro",GetVehicleComponentInSlot(FBIcar[i],5));
    dini_IntSet(Fraktauto,"Exhaust",GetVehicleComponentInSlot(FBIcar[i],6));
    dini_IntSet(Fraktauto,"Wheels",GetVehicleComponentInSlot(FBIcar[i],7));
    dini_IntSet(Fraktauto,"Stereo",GetVehicleComponentInSlot(FBIcar[i],8));
    dini_IntSet(Fraktauto,"Hydraulics",GetVehicleComponentInSlot(FBIcar[i],9));
    dini_IntSet(Fraktauto,"FrontBumper",GetVehicleComponentInSlot(FBIcar[i],10));
    dini_IntSet(Fraktauto,"RearBumper",GetVehicleComponentInSlot(FBIcar[i],11));
    dini_IntSet(Fraktauto,"VentRight",GetVehicleComponentInSlot(FBIcar[i],12));
    dini_IntSet(Fraktauto,"VentLeft",GetVehicleComponentInSlot(FBIcar[i],13));
    print("Fraktionsfahrzeuge FBI gespeichert");
    }// und so weiter


    OnGameModeInIt
    for(new i=0;i<MAX_FRAKTCARS;i++)
    {
    new Fraktauto[200];
    format(Fraktauto,sizeof(Fraktauto),"/Fraktionsdaten/SAPD/%d.ini",i);
    if(dini_Exists(Fraktauto))
    {
    Fraktautos[i][1][modelid] = dini_Int(Fraktauto,"modelid");
    Fraktautos[i][1][fposx] = dini_Float(Fraktauto,"FPosX");
    Fraktautos[i][1][fposy] = dini_Float(Fraktauto,"FPosY");
    Fraktautos[i][1][fposz] = dini_Float(Fraktauto,"FPosZ");
    Fraktautos[i][1][fposa] = dini_Float(Fraktauto,"FPosA");
    Fraktautos[i][1][Spoiler] = dini_Int(Fraktauto,"Spoiler");
    Fraktautos[i][1][Hood] = dini_Int(Fraktauto,"Hood");
    Fraktautos[i][1][Roof] = dini_Int(Fraktauto,"Roof");
    Fraktautos[i][1][Sideskirt] = dini_Int(Fraktauto,"Sideskirt");
    Fraktautos[i][1][Lamps] = dini_Int(Fraktauto,"Lamps");
    Fraktautos[i][1][Nitro] = dini_Int(Fraktauto,"Nitro");
    Fraktautos[i][1][Exhaust] = dini_Int(Fraktauto,"Exhaust");
    Fraktautos[i][1][Wheels] = dini_Int(Fraktauto,"Wheels");
    Fraktautos[i][1][Stereo] = dini_Int(Fraktauto,"Stereo");
    Fraktautos[i][1][Hydraulics] = dini_Int(Fraktauto,"Hydraulics");
    Fraktautos[i][1][FrontBumper] = dini_Int(Fraktauto,"FrontBumper");
    Fraktautos[i][1][RearBumper] = dini_Int(Fraktauto,"RearBumper");
    Fraktautos[i][1][VentRight] = dini_Int(Fraktauto,"VentRight");
    Fraktautos[i][1][VentLeft] = dini_Int(Fraktauto,"VentLeft");
    SAPDcar[i] = AddStaticVehicleEx(Fraktautos[i][1][modelid],Fraktautos[i][1][fposx],Fraktautos[i][1][fposy],Fraktautos[i][1][fposz],Fraktautos[i][1][fposa],125,1,-1);
    SetVehicleNumberPlate(SAPDcar[i],"SAPD");
    print("Fraktionsfahrzeuge SAPD geladen");
    }
    format(Fraktauto,sizeof(Fraktauto),"/Fraktionsdaten/FBI/%d.ini",i);
    if(dini_Exists(Fraktauto))
    {
    Fraktautos[i][2][modelid] = dini_Int(Fraktauto,"modelid");
    Fraktautos[i][2][fposx] = dini_Float(Fraktauto,"FPosX");
    Fraktautos[i][2][fposy] = dini_Float(Fraktauto,"FPosY");
    Fraktautos[i][2][fposz] = dini_Float(Fraktauto,"FPosZ");
    Fraktautos[i][2][fposa] = dini_Float(Fraktauto,"FPosA");
    Fraktautos[i][2][Spoiler] = dini_Int(Fraktauto,"Spoiler");
    Fraktautos[i][2][Hood] = dini_Int(Fraktauto,"Hood");
    Fraktautos[i][2][Roof] = dini_Int(Fraktauto,"Roof");
    Fraktautos[i][2][Sideskirt] = dini_Int(Fraktauto,"Sideskirt");
    Fraktautos[i][2][Lamps] = dini_Int(Fraktauto,"Lamps");
    Fraktautos[i][2][Nitro] = dini_Int(Fraktauto,"Nitro");
    Fraktautos[i][2][Exhaust] = dini_Int(Fraktauto,"Exhaust");
    Fraktautos[i][2][Wheels] = dini_Int(Fraktauto,"Wheels");
    Fraktautos[i][2][Stereo] = dini_Int(Fraktauto,"Stereo");
    Fraktautos[i][2][Hydraulics] = dini_Int(Fraktauto,"Hydraulics");
    Fraktautos[i][2][FrontBumper] = dini_Int(Fraktauto,"FrontBumper");
    Fraktautos[i][2][RearBumper] = dini_Int(Fraktauto,"RearBumper");
    Fraktautos[i][2][VentRight] = dini_Int(Fraktauto,"VentRight");
    Fraktautos[i][2][VentLeft] = dini_Int(Fraktauto,"VentLeft");
    FBIcar[i] = AddStaticVehicleEx(Fraktautos[i][2][modelid],Fraktautos[i][2][fposx],Fraktautos[i][2][fposy],Fraktautos[i][2][fposz],Fraktautos[i][2][fposa],0,0,-1);
    SetVehicleNumberPlate(FBIcar[i],"FBI");
    print("Fraktionsfahrzeuge FBI geladen");
    }// und so weitere


    Würde mich über jede bedenkliche Hilfe freuen.

    Dann bekomme ich ganz viele Warnings in dem Public wegen modelid.


    Ich nehme an du machst dieses Plugin über diese Include
    Du kannst das nicht verändern, da der public in dem Include vordefiniert ist.
    Wenn du das im Script abänderst, dann kennt das Script den Parameter nicht, da im Include ein anderes Parameter für die Funktion definiert ist.


    Genau richtig, dieses Include ist das. Ich muss da doch aber irgendwas machen können?

    Guten Tag Breadfish Community,


    ich arbeite derzeit bei meinem Selfmade an meinem dynamischen Fraktionsfahrzeugesystem, wo ich Fahrzeuge InGame erstellen/lösche/laden und speichern kann.
    Ich habe schon unter OnGameModeInIt und den dazugehören OnGameModeExit den Code für das speichern und laden lassen.
    Ich verwende aber im Speicherungssystem "modelid", was natürlich auch verständlich ist.
    Im Script verwende ich aber bei meinem Skin System auch modelid, wie man hier aus dem Ausschnit entnehmen kann.
    public OnPlayerModelSelectionEx(playerid, response, extraid, modelids)
    {
    if(extraid == CUSTOM_TRAILER_MENU)
    {
    if(response)
    {
    SendClientMessage(playerid,COLOR_BLAU, "Ich hoffe die Klamotten sind bequem.");
    SetPlayerSkin(playerid, modelids);
    SpawnSpieler(playerid);
    }
    else SendClientMessage(playerid, COLOR_BLAU, "Magst deine alten Klamotten wohl doch lieber.");
    // und so weiter
    }


    Ich habe in diesem public schon ein "s" hinter "modelid" gehangen damit sich der Fehler verabschiedet, vergeblich.
    Jetzt habe ich folgenden Error für diesen public:

    Code
    C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(1676) : error 025: function heading differs from prototype


    Kann mir jemand hierbei helfen, wie ich mein Fehler beheben kann

    Code
    C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(64) : error 017: undefined symbol "MAX_FRAKTCARS"
    C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(193) : error 017: undefined symbol "Fraktautos"
    C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(193) : warning 215: expression has no effect
    C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(193) : error 001: expected token: ";", but found "]"
    C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(193) : error 029: invalid expression, assumed zero
    C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(193) : fatal error 107: too many error messages on one line

    Guten Tag,


    ich arbeite derzeit an einem dynamischen Fraktionsfahrzeugsystem.
    Ist der Code hier richtig?
    for(new i=0;i<MAX_FRAKTCARS;i++)
    {
    new Fraktauto[200];
    format(Fraktauto,sizeof(Fraktauto),"/Fraktionsdaten/SAPD/%d.ini",i);
    if(dini_Exists(Fraktauto))
    {
    Fraktautos[i][1][modelid] = dini_Int(Fraktauto,"modelid");
    Fraktautos[i][1][fposx] = dini_Float(Fraktauto,"FPosX");
    Fraktautos[i][1][fposy] = dini_Float(Fraktauto,"FPosY");
    Fraktautos[i][1][fposz] = dini_Float(Fraktauto,"FPosZ");
    Fraktautos[i][1][fposa] = dini_Float(Fraktauto,"FPosA");
    Fraktautos[i][1][Spoiler] = dini_Int(Fraktauto,"Spoiler");
    Fraktautos[i][1][Hood] = dini_Int(Fraktauto,"Hood");
    Fraktautos[i][1][Roof] = dini_Int(Fraktauto,"Roof");
    Fraktautos[i][1][Sideskirt] = dini_Int(Fraktauto,"Sideskirt");
    Fraktautos[i][1][Lamps] = dini_Int(Fraktauto,"Lamps");
    Fraktautos[i][1][Nitro] = dini_Int(Fraktauto,"Nitro");
    Fraktautos[i][1][Exhaust] = dini_Int(Fraktauto,"Exhaust");
    Fraktautos[i][1][Wheels] = dini_Int(Fraktauto,"Wheels");
    Fraktautos[i][1][Stereo] = dini_Int(Fraktauto,"Stereo");
    Fraktautos[i][1][Hydraulics] = dini_Int(Fraktauto,"Hydraulics");
    Fraktautos[i][1][FrontBumper] = dini_Int(Fraktauto,"FrontBumper");
    Fraktautos[i][1][RearBumper] = dini_Int(Fraktauto,"RearBumper");
    Fraktautos[i][1][VentRight] = dini_Int(Fraktauto,"VentRight");
    Fraktautos[i][1][VentLeft] = dini_Int(Fraktauto,"VentLeft");
    SAPDcar[i] = AddStaticVehicleEx(Fraktautos[i][1][modelid],Fraktautos[i][1][fposx],Fraktautos[i][1][fposy],Fraktautos[i][1][fposz],Fraktautos[i][1][fposa],0,1,-1);
    SetVehicleNumberPlate(SAPDcar[i],"SAPD");
    }
    }

    Guten Tag,


    ich arbeite gerade an einem /members und /leader Befehl wo alle Member angezeigt werden die in der jeweiligen Fraktion online sind und alle Leader die online sind.
    Hier mal einen Ausschnitt aus meinem Code, Ingame Zitat: "San Andreas Police Department Member: ", sprich mein Name wird nicht angezeigt obwohl alles in der Datei stimmt.


    ocmd:members(playerid,params[])
    {
    new string[128];
    if(GetPVarInt(playerid,"Fraktion") == 0)return SendClientMessage(playerid,COLOR_GRAU,"Du bist in keiner Fraktion");
    if(IsPlayerConnected(playerid))
    {
    SendClientMessage(playerid, 0xCDB221FF, "*Fraktions - Mitglieder Online*");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(GetPVarInt(i,"Fraktion") == 1)
    {
    GetPlayerName(i, sendername, sizeof(sendername));
    format(string, 40, " *SAPD Member: %s - Rang: %i", sendername,GetPVarInt(i,"Fraktionsrang"));
    SendClientMessage(playerid, COLOR_GRAU, string);
    }
    /// und so weiter

    Guten Tag,


    InGame passiert einfach nichts, woran liegt der Fehler?
    ocmd:duty(playerid,params[])
    {
    if(GetPVarInt(playerid,"Fraktion") == 2)
    {
    if(IsPlayerInRangeOfPoint(playerid,3.0,221.1050,117.9559,999.1649)) //FBI
    {
    ShowPlayerDialog(playerid,DIALOG_FBIDUTY,DIALOG_STYLE_LIST,"FBI Duty","Aus dem Dienst gehen\nStreifendienst\nSWAT Modus\nUndercover","Auswählen","Abbrechen");
    }
    }
    return 1;
    }


    if(dialogid==DIALOG_FBIDUTY)
    {
    if(response==1)
    {

    }
    if(response==0)
    {
    if(listitem==0) //Aus dem Dienst
    {
    SendClientMessage(playerid,COLOR_BLAU,"Du bist nun nicht mehr im Dienst.");
    Duty[playerid] = 0;
    }
    if(listitem==1) //Streifendienst
    {
    SendClientMessage(playerid,COLOR_BLAU,"Du bist nun im Streifendienst.");
    SetPlayerHealth(playerid,100);
    SetPlayerArmour(playerid,100);
    GivePlayerWeapon(playerid,24,100);
    GivePlayerWeapon(playerid,31,150);
    GivePlayerWeapon(playerid,41,100);
    GivePlayerWeapon(playerid,25,50);
    Duty[playerid] = 1;
    }
    if(listitem==2) //SWAT Modus
    {
    SendClientMessage(playerid,COLOR_BLAU,"Du bist nun im SWAT Modus.");
    SetPlayerSkin(playerid,285);
    SetPlayerHealth(playerid,100);
    SetPlayerArmour(playerid,100);
    GivePlayerWeapon(playerid,24,100);
    GivePlayerWeapon(playerid,31,150);
    GivePlayerWeapon(playerid,41,100);
    GivePlayerWeapon(playerid,25,50);
    GivePlayerWeapon(playerid,34,100);
    Duty[playerid] = 1;
    }
    if(listitem==3) //Undercover
    {
    SendClientMessage(playerid,COLOR_BLAU,"Du bist nun im Undercover Dienst.");
    SetPlayerHealth(playerid,100);
    GivePlayerWeapon(playerid,24,100);
    GivePlayerWeapon(playerid,31,150);
    GivePlayerWeapon(playerid,41,100);
    GivePlayerWeapon(playerid,25,50);
    SetPlayerSkin(playerid,233);
    Duty[playerid] = 1;
    }
    }
    }

    ich hatte es so gemacht, weil ich dachte du willst es am ende in einem dialog ausgeben.
    Aber als du es editiert hast habe ich es ebenfalls verändert :)


    Achso alles klar, ich danke dir für deine Hilfe.


    //Edit: Habe das ganze System fertig, kann man mal drüberschauen ob es klappen könnte?


    public OnPlayerDeath(playerid, killerid, reason)
    {
    if(GetPVarInt(playerid, "Kopfgeld") >= 0)
    {
    new str1[128],str2[128];
    GivePlayerMoney(killerid, GetPVarInt(playerid, "Kopfgeld"));
    format(str1, sizeof(str1), "[Kopfgeld] Auftrag erfolgreich ausgeführt (+$%d)!", GetPVarInt(playerid, "Kopfgeld"));
    format(str2, sizeof(str2), "[Kopfgeld] %s wurde begraben, Auftrag erledigt. %s hat's erledigt.", SpielerName(playerid), SpielerName(killerid));
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsSpielerInFraktion(playerid,11))
    {
    format(str1, sizeof(str1), "Hitman %s hat den Aufrag auf %s erfolgreich ausgeführt.", SpielerName(killerid), SpielerName(playerid));
    SendClientMessage(i,COLOR_GELB,str1);
    }
    }
    }
    SendClientMessage(killerid, COLOR_GELB, str2);
    SetPVarInt(playerid, "Kopfgeld", 0);
    }
    return 1;
    }


    ocmd:kopfgelder(playerid,params[])
    {
    if(!IsSpielerInFraktion(playerid,11))return SendClientMessage(playerid,COLOR_GRAU,"Du bist kein Hitman.");
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht eingeloggt.");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(GetPVarInt(i,"Kopfgeld") >= 0)
    {
    new string[128];
    format(string,256,"%s: %i$ Kopfgeld",SpielerName(i),GetPVarInt(i,"Kopfgeld"));
    SendClientMessage(playerid,COLOR_GRAU,string);
    }
    }
    }
    return 1;
    }


    ocmd:kopfgeld(playerid, params[])
    {
    new Kopfgeld, pID;
    if(sscanf(params, "ud", pID, Kopfgeld))return SendClientMessage(playerid, COLOR_GRAU, "Benutze: /kopfgeld [ID/Teilname] [$]");
    if(GetPlayerMoney(playerid) <= Kopfgeld)return SendClientMessage(playerid,COLOR_GRAU,"Soviel Geld hast du nicht zur Verfügung.");
    new str1[128];
    SetPVarInt(pID, "Kopfgeld", GetPVarInt(pID, "Kopfgeld") +Kopfgeld);
    GivePlayerMoney(playerid, -Kopfgeld);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsSpielerInFraktion(playerid,11))
    {
    format(str1, sizeof(str1), "[Kopfgeld] Es wurde $%d auf %s ausgesetzt, Gesamt: $%d!", Kopfgeld, SpielerName(pID), GetPVarInt(pID, "Kopfgeld"));
    SendClientMessage(i,COLOR_GELB,str1);
    }
    }
    }
    return 1;
    }

    Guten Tag,


    ich wollte bei meinem Selfmade nun das Hitman System zusammenstellen, habe aber einen kompletten Denkfehler im System glaube ich.
    Zumindest wollte ich euch mal fragen ob das System so funktionieren sollte, leider keinen zum testen da.


    For schleife durch alle Spieler, sollte die Variable "Kopfgeld" größer als 0 sein werden die Spieler aufgelistet untereinander.
    Sollte das gehen?


    ocmd:kopfgelder(playerid,params[])
    {
    if(!IsSpielerInFraktion(playerid,11))return SendClientMessage(playerid,COLOR_GRAU,"Du bist kein Hitman.");
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SendClientMessage(playerid,COLOR_GRAU,"Du bist nicht eingeloggt.");
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(GetPVarInt(i,"Kopfgeld") >= 0)
    {
    new string[128];
    format(string,256,"%s: %i$ Kopfgeld",SpielerName(i),GetPVarInt(i,"Kopfgeld"));
    SendClientMessage(playerid,COLOR_GRAU,string);
    }
    }
    }
    return 1;
    }