Beiträge von Saphire

    Jeffry


    Immer noch Errors :

    C:\Users\AhmedOso\Desktop\Aimen Sachen vom PC\Server\gamemodes\MOR.pwn(6286) : error 012: invalid function call, not a valid address
    C:\Users\AhmedOso\Desktop\Aimen Sachen vom PC\Server\gamemodes\MOR.pwn(6286) : warning 215: expression has no effect
    C:\Users\AhmedOso\Desktop\Aimen Sachen vom PC\Server\gamemodes\MOR.pwn(6286) : error 001: expected token: ";", but found ")"
    C:\Users\AhmedOso\Desktop\Aimen Sachen vom PC\Server\gamemodes\MOR.pwn(6286) : error 029: invalid expression, assumed zero
    C:\Users\AhmedOso\Desktop\Aimen Sachen vom PC\Server\gamemodes\MOR.pwn(6286) : fatal error 107: too many error messages on one line



    so schaut das alles aus :

    if(GetPlayerState(killerid) == PLAYER_STATE_DRIVER)
    {
    new vehicleid,vehiclemodel;
    vehicleid = GetPlayerVehicleID(killerid);
    vehiclemodel = GetVehicleModel(vehicleid);
    if(IsPlayerInAnyVehicle(playerid)) { return true; }
    if(vehiclemodel == 425) { return true; } // Hunter
    if(vehiclemodel == 432) { return true; } // Rhino
    if(vehiclemodel == 447) { return true; } // Seasparrow
    if(vehiclemodel == 476) { return true; } // Rustler
    if(vehiclemodel == 520) { return true; } // Hydra
    return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Driveby!", name(killerid),Kicks(killerid));
    }

    Warum bekomme ich diese Errors ?

    C:\Users\AhmedOso\Desktop\Aimen Sachen vom PC\Server\gamemodes\MOR.pwn(6286) : error 012: invalid function call, not a valid address
    C:\Users\AhmedOso\Desktop\Aimen Sachen vom PC\Server\gamemodes\MOR.pwn(6286) : warning 215: expression has no effect
    C:\Users\AhmedOso\Desktop\Aimen Sachen vom PC\Server\gamemodes\MOR.pwn(6286) : error 001: expected token: ";", but found ")"
    C:\Users\AhmedOso\Desktop\Aimen Sachen vom PC\Server\gamemodes\MOR.pwn(6286) : error 029: invalid expression, assumed zero
    C:\Users\AhmedOso\Desktop\Aimen Sachen vom PC\Server\gamemodes\MOR.pwn(6286) : fatal error 107: too many error messages on one line


    Die Zeile von den Errors :



    return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Driveby!", name(killerid)),Kicks(killerid);

    Warum wird immer angezeigt das mein Motor aus ist ?



    new vid = GetPlayerVehicleID(r);
    new engine, lights, alarm, doors, bonnet, boot, objective;
    GetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, boot, objective);
    if(engine == VEHICLE_PARAMS_OFF)
    {
    format(str5,sizeof(str5),"Motor: ~r~ Aus");
    TextDrawSetString(Motordrw[i], str5);
    }
    else
    {
    format(str5,sizeof(str5),"Motor: ~g~ An");
    TextDrawSetString(Motordrw[i], str5);
    }


    Mfg Saphire

    Warum wird immer angezeigt das mein Motor aus ist ?



    new vid = GetPlayerVehicleID(r);
    new engine, lights, alarm, doors, bonnet, boot, objective;
    GetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, boot, objective);
    if(engine == VEHICLE_PARAMS_OFF)
    {
    format(str5,sizeof(str5),"Motor: ~r~ Aus");
    TextDrawSetString(Motordrw[i], str5);
    }
    else
    {
    format(str5,sizeof(str5),"Motor: ~g~ An");
    TextDrawSetString(Motordrw[i], str5);
    }


    Mfg Saphire


    if(strcmp(cmd,"/fkasse",true) == 0)
    {
    new fraktion = 0;
    if(PlayerInfo[playerid][pMember] > 0) fraktion = PlayerInfo[playerid][pMember] - 1;
    if(PlayerInfo[playerid][pLeader] > 0) fraktion = PlayerInfo[playerid][pLeader] - 1;
    if(fraktion >= 0)
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_GRAD5," /fkasse [einzahlen/auszahlen] [Betrag]");
    format(string,sizeof(string)," Derzeit sind $%d in der Fraktionskasse!",FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_GRAD5,string);
    return 1;
    }
    if(strcmp(tmp,"einzahlen",true) == 0)
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_GRAD5," /fkasse einzahlen [Betrag]");
    format(string,sizeof(string)," Derzeit sind $%d in der Fraktionskasse!",FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_GRAD5,string);
    return 1;
    }
    new amount = strval(tmp);
    if(amount < 0 || amount > 10000000) return SendClientMessage(playerid,COLOR_WHITE," Bitte nur Summen in Höhe von 1 bis 10 Million Dollar!");
    if(GetPlayerMoney(playerid) < amount) return SendClientMessage(playerid,COLOR_WHITE," Du hast nicht soviel Geld um es einzuzahlen!");
    FraktionsKasse[fraktion] += amount;
    GivePlayerMoneyEx(playerid,-amount);
    format(string,sizeof(string)," Du hast $%d in die Fraktionskasse eingezahlt! Total: $%d",amount,FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_WHITE,string);
    format(string,sizeof(string)," %s hat $%d in die Fraktionskasse eingezahlt! Total: $%d",sendername,amount,FraktionsKasse[fraktion]);
    SendLeaderMSG(fraktion+1,COLOR_LIGHTBLUE,string);
    SaveFraktionsKassen();
    }
    else if(strcmp(tmp,"auszahlen",true) == 0)
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_GRAD5," /fkasse auszahlen [Betrag]");
    format(string,sizeof(string)," Derzeit sind $%d in der Fraktionskasse!",FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_GRAD5,string);
    return 1;
    }
    new amount = strval(tmp);
    if(PlayerInfo[playerid][pLeader] == 0) return SendClientMessage(playerid,COLOR_WHITE," Nur Leader dürfen Geld aus der Fraktionskasse nehmen!");
    if(amount < 0 || amount > 1000000) return SendClientMessage(playerid,COLOR_WHITE," Bitte nur Summen in Höhe von 1 bis 1 Million Dollar!");
    if((FraktionsKasse[fraktion] - amount) < 0) return SendClientMessage(playerid,COLOR_WHITE," Du kannst keine Schulden machen!");
    FraktionsKasse[fraktion] -= amount;
    GivePlayerMoneyEx(playerid,amount);
    format(string,sizeof(string)," Du hast $%d aus der Fraktionskasse genommen! Total: $%d",amount,FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_WHITE,string);
    format(string,sizeof(string)," %s hat $%d aus der Fraktionskasse genommen! Total: $%d",sendername,amount,FraktionsKasse[fraktion]);
    SendLeaderMSG(fraktion+1,COLOR_LIGHTBLUE,string);
    SaveFraktionsKassen();
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD5," /fkasse [einzahlen/auszahlen] [Betrag]");
    format(string,sizeof(string)," Derzeit sind $%d in der Fraktionskasse!",FraktionsKasse[fraktion]);
    SendClientMessage(playerid,COLOR_GRAD5,string);
    }
    }
    else SendClientMessage(playerid,COLOR_WHITE," Du bist in gar keiner Fraktion!");
    return 1;
    }


    Ja ID 11 Stimmt ^^


    Jeffry


    [20:28:25] Incoming connection: 127.0.0.1:63267
    [20:28:26] [join] Kaido has joined the server (0:127.0.0.1)
    [20:28:58] Kaido has logged in.
    [20:30:20] fraktion: 11 | Kasse: 1000000 | Price: 125000
    [20:30:20] >>> Nach dem Autoerstellen!
    [20:30:20] Kasse: 875000


    Jeffry


    Aber schau dir das an. Wenn ich nach dem kauf /fkasse eingebe kommt das :


    http://img5.fotos-hochladen.ne…s/unbenanntraw0xis1hf.png


    Auch wenn ich nur 50$ in der Fkasse hätte
    könnte ich das kaufen.


    Mfg Saphire

    Nehm das Anticheat 3.0 raus und machen anti cheat 2.0 rein von ihm.
    Es hat sich einiges geändert du editierst einfach sein altes anti cheat.
    MfG.


    Erstens, wie komm ich an die v2 ?


    Zweitens, ich würde gerne v3 benutzen da in v3 auch sicherheitssysteme drin sind.


    Mfg Saphire

    Hallo Jungs und Mädels,
    Da ich bereits das gleiche bei kleine Scripting fragen gepostet habe, hat mich Jeffry gebeten ein neues Thread auf zu machen.
    Hier nochmal :



    ich habe da ein kleines Problem, undzwar möchte ich das das Geld von der Fkasse abgezogen wird und nicht vom Spieler.
    Außerdem möchte ich das nur Frak's die Genug Geld haben die Cars kaufen können, jedoch können Gangs/Fraks mit 50$ in der Fkasse alle autos kaufen.


    Hier mal der Code :



    forward FRAC_OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]);
    public FRAC_OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){
    if(dialogid == DIALOG_FACTION_CAR_BUY){
    if(response){
    new Float:pPos[3];
    GetPlayerPos(playerid,pPos[0],pPos[1],pPos[2]);
    SetPlayerPosEx(playerid,pPos[0]+2.5,pPos[1]+2.5,pPos[2]);
    TogglePlayerControllableEx(playerid,true);
    }
    if(!response){
    new fraktion = GetPlayerFaction(playerid);
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER){
    if(IsAllowedFactionToBuy(GetPlayerLeader(playerid))){
    if(GetFactioncarsOfFaction(GetPlayerLeader(playerid)) < MAX_BUY){
    new Carid1 = GetPlayerVehicleID(playerid);
    for(new fbl;fbl<sizeof(FactionBuylist);fbl++){
    if(Carid1 == FactionBuylist[fbl][fbCarid]){
    if(FraktionsKasse[fraktion] >= FactionBuylist[fbl][fbPrice]){
    //if(CallRemoteFunction("Script_GetPlayerMoney","i",playerid) >= FactionBuylist[fbl][fbPrice]){
    for(new fc;fc<sizeof(FactionCars);fc++){
    if(FactionCars[fc][fVehid] < 400 || FactionCars[fc][fVehid] > 611){
    FactionCars[fc][fVehid] = FactionBuylist[fbl][fbVehid];
    FactionCars[fc][fPos][0] = FactionBuySpawn[0];
    FactionCars[fc][fPos][1] = FactionBuySpawn[1];
    FactionCars[fc][fPos][2] = FactionBuySpawn[2];
    FactionCars[fc][fPos][3] = FactionBuySpawn[3];
    new Color[2];
    GetDefaultCarColorOfFaction(GetPlayerLeader(playerid),Color[0],Color[1]);
    FactionCars[fc][fCol][0] = Color[0];
    FactionCars[fc][fCol][1] = Color[1];


    FactionCars[fc][fPrice] = FactionBuylist[fbl][fbPrice];
    for(new slot;slot<14;slot++)
    FactionCars[fc][fTuning][slot] = 0;
    FactionCars[fc][fCarid] = CreateVehicle(FactionCars[fc][fVehid],FactionCars[fc][fPos][0],FactionCars[fc][fPos][1],FactionCars[fc][fPos][2],FactionCars[fc][fPos][3],FactionCars[fc][fCol][0],FactionCars[fc][fCol][1],-255);
    print(">>> Nach dem Autoerstellen!");
    #if defined FACTION_CARS_LOCKABLE
    fLockCar(FactionCars[fc][fCarid]);
    FactionCars[fc][fLocked] = true;
    #endif
    for(new f;f<5;f++)
    {
    FactionCars[fc][fFaction][f] = -255;
    }
    FactionCars[fc][fFaction][0] = GetPlayerLeader(playerid);
    PutPlayerInVehicle(playerid,FactionCars[fc][fCarid],0);

    FraktionsKasse[fraktion] -= FactionBuylist[fbl][fbPrice];


    //CallRemoteFunction("Script_SetPlayerMoney","id",playerid,(CallRemoteFunction("Script_GetPlayerMoney","i",playerid)-FactionBuylist[fbl][fbPrice]));
    new Float:pPos[3];
    GetPlayerPos(playerid,pPos[0],pPos[1],pPos[2]);
    SetPlayerPosEx(playerid,pPos[0]+2.5,pPos[1]+2.5,pPos[2]);
    TogglePlayerControllableEx(playerid,true);
    SendClientMessage(playerid,FACTION_COL_YELLOW,"Glückwunsch zum neuen Fahrzeug.");
    SendClientMessage(playerid,FACTION_COL_YELLOW,"Bitte vergesse nicht das Fahrzeug mit: '/fpark' umzuparken.");
    SendClientMessage(playerid,FACTION_COL_YELLOW,"Das Fahrzeug steht am Ausgabepunkt bereit!");
    return 1;
    }
    }SendClientMessage(playerid,FACTION_COL_GREY,"Die maximale Anzahl von Fraktionsfahrzeugen ist bereits erreicht.");
    }else SendClientMessage(playerid,FACTION_COL_GREY,"Ihr habt nicht genug Geld in eurer Fkasse.");
    break;
    }
    }
    }else SendClientMessage(playerid,FACTION_COL_GREY,"Deine Fraktion hat das Limit von Fahrzeugen bereits erreicht.");
    }else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist nicht brechtigt Fraktionsfahrzeuge zu kaufen!");
    new Float:pPos[3];
    GetPlayerPos(playerid,pPos[0],pPos[1],pPos[2]);
    SetPlayerPosEx(playerid,pPos[0]+2.5,pPos[1]+2.5,pPos[2]);
    TogglePlayerControllableEx(playerid,true);
    }
    }return 1;
    }return 0;
    }



    Jeffry meinte das ich

    if(FraktionsKasse[fraktion] >= FactionBuylist[fbl][fbPrice]){


    zu

    printf("fraktion: %d | Kasse: %d | Price: %d", fraktion, FraktionsKasse[fraktion], FactionBuylist[fbl][fbPrice]);
    if(FraktionsKasse[fraktion] >= FactionBuylist[fbl][fbPrice]){


    ändern soll.


    Das kommt nun aus der Server Log :



    [19:50:37] Incoming connection: 127.0.0.1:52667
    [19:50:37] [join] Aokiji has joined the server (0:127.0.0.1)
    [19:50:45] Aokiji has logged in.
    [19:51:59] fraktion: 11 | Kasse: 1000000 | Price: 125000
    [19:51:59] >>> Nach dem Autoerstellen!
    [20:00:41] [part] Aokiji has left the server (0:1)


    MfG Saphire


    Jeffry

    Hey Jungs und Mädels,
    ich bin am verzweifeln. Ich habe mir ein Anti Cheat gedownloadet und es bei mir im Script eingefügt. Ich habe sogar M_Bot dafür raus genommen.
    Nun habe ich aber mehrere Probleme und ich weis nicht wie ich die Beheben kann ..


    Probleme :


    Undzwar, wenn ich /aduty mache wird ja mein Armor auf 100 gesetzt. Wenn ich aduty off gehe werde ich gekickt = Armor hack.
    Am Startower ist ein Fallschirm, wenn ich den aufhebe werde ich gekickt = Waffenhack.
    Wenn ich vom Startower runter springe werde ich gekickt = Speedhack.
    Nach einer bestimmten Zeit werde ich wegen Healthhack gekickt, obwohl ich nichts mache. Ich war aufm Desktop und als ich wieder ongekommen bin wurde ich gekickt.
    Wenn ich als Landwirt das Feld zuende geerntet habe, werde ich in einen LKW getan und sofort gekickt = Teleport hack


    Ich habe bis her nur das Moneycheat behoben.


    Ich habe mit dem Hersteller des Anti cheats gesprochen und er sagt bei ihm funktioniert es wunderbar.
    Ich soll alles mit Ex am ende machen sprich GivePlayerMoney wird zu GivePlayerMoneyEx. Das habe ich soweit bei allem gemacht, egal ob givegun oder armor oder health.


    Ich benutze das norme GnE Script welches ich editiert habe.


    Hier mal die Funktionen und die da wo ich gekickt werde.



    public GivePlayerWeaponEx(playerid,Gun,Muni){
    Waffe[playerid][Gun] = 1;
    return GivePlayerWeapon(playerid, Gun, Muni);
    }


    public GivePlayerMoneyEx(playerid,money){
    ACNewMoney[playerid] += money;
    return GivePlayerMoney(playerid,money);
    }


    public SetPlayerMoneyEx(playerid,money){
    ACNewMoney[playerid] = money;
    ResetPlayerMoney(playerid);
    return GivePlayerMoney(playerid,ACNewMoney[playerid]);
    }


    public SetPlayerArmourEx(playerid,Float:armour){
    ACNewArmour[playerid] = armour;
    parmour[playerid] = armour;
    return SetPlayerArmour(playerid,armour);
    }


    public GivePlayerArmourEx(playerid,Float:armour){
    new Float:oarmour;
    GetPlayerArmour(playerid,oarmour);
    ACOldArmour[playerid] = oarmour;
    ACNewArmour[playerid] = armour += oarmour;
    parmour[playerid] = armour += oarmour;
    return SetPlayerArmour(playerid,armour + oarmour);
    }


    public SetPlayerHealthEx(playerid,Float:health){
    ACNewHealth[playerid] = health;
    return SetPlayerHealth(playerid,health);
    }


    public GivePlayerHealthEx(playerid,Float:health){
    ACNewHealth[playerid] += health;
    return SetPlayerHealth(playerid,ACNewHealth[playerid]);
    }



    public AC_CheckWeapon(playerid){
    new Weaps[13][2],AC_Namee[MAX_PLAYER_NAME];
    if(SpawnWaffenVar[playerid] == 0)
    {
    for(new i = 0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerNPC(i))continue;
    if(!IsPlayerConnected(i))continue;
    GetPlayerName(i,AC_Namee,MAX_PLAYER_NAME);
    for(new _w = 0; _w < 13; _w++)
    {

    GetPlayerWeaponData(i, _w, Weaps[_w][0], Weaps[_w][1]);
    if(Weaps[_w][0] <= 0 && Waffe[i][Weaps[_w][0]] != 1)continue;
    else if(Weaps[_w][0] < 1 && Weaps[_w][0] > 47)continue;
    else if(Weaps[_w][0] <= 0 || Weaps[_w][1] <= 0)continue;
    else if(nwh[i][Weaps[_w][0]] == 1){nwh[i][Weaps[_w][0]] = 0; SetPlayerAmmo(i,_w,0); continue;}
    else if(Waffe[i][Weaps[_w][0]] <= 0 && nwh[i][Weaps[_w][0]] == 0)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Waffenhack!",AC_Namee),Kicks(i);
    }
    }
    }
    return 1;
    }



    public AC_AntiCheatTimer(){
    new i = 0,Float:health,Float:armour,surf;
    for(; i<MAX_PLAYERS; i++)
    {
    new a = 0;
    for(; a<MAX_PLAYERS; a++)
    {
    if(PlayerInfo[a][pAdmin] <= 0)
    {
    if(!IsPlayerConnected(i))continue;
    if(AC_start[i] == 0)continue;
    if(Desk[i] >= 1)continue;
    if(IsPlayerNPC(i))continue;
    GetPlayerHealth(i,health);
    GetPlayerArmour(i,armour);
    new SAC_Name[MAX_PLAYER_NAME]; GetPlayerName(i,SAC_Name,MAX_PLAYER_NAME);
    if(GetPlayerSpecialAction(i) == SPECIAL_ACTION_USEJETPACK)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Jetpack!",SAC_Name),Kicks(i);
    else if(GetPlayerPing(i) > MAX_PING)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Zu hoher Ping! ( %i / %i )",SAC_Name,GetPlayerPing(i),MAX_PING),Kicks(i);
    else if(GetPlayerMoney(i) > ACNewMoney[i])return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Moneyhack!",SAC_Name),Kicks(i);//
    else if(health > ACNewHealth[i])return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Healthhack!",SAC_Name),Kicks(i);
    else if(armour > ACNewArmour[i])return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Armourhack!",SAC_Name),Kicks(i);
    else if(freezed[i] == 1 && AC_GetPlayerSpeed(i) > 0)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Unfreeze!",SAC_Name),Kicks(i);
    else if(AC_GetPlayerSpeed(i) > MAX_PLAYERSPEED)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Speedhack!",SAC_Name),Kicks(i);
    else if(IsPlayerInAnyVehicle(i))if(AC_GetVehicleSpeed(GetPlayerVehicleID(i)) > MAX_VEHSPEED)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Speedhack!",SAC_Name),Kicks(i);
    surf = GetPlayerSurfingVehicleID(i);
    if(!(GetPlayerSurfingVehicleID(i) == INVALID_VEHICLE_ID) && (AC_GetVehicleSpeed(surf) > 0))return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Carsurf!",SAC_Name),Kicks(i);
    if(switched[i] == 2)
    {
    GetPlayerPos(i,NewPos[i][0],NewPos[i][1],NewPos[i][2]);
    new Float:d = AC_Distance(OldPos[i][0],OldPos[i][1],OldPos[i][2],NewPos[i][0],NewPos[i][1],NewPos[i][2]);
    if(d >= 18 && posbyserver[i] != 1)return SCMToAllF(Rot,"Spieler '%s' wurde vom Server gekickt. Grund: Airbrake / Teleporthack!",SAC_Name),Kicks(i);
    switched[i] = 1;
    }
    else if(switched[i] == 1)GetPlayerPos(i,OldPos[i][0],OldPos[i][1],OldPos[i][2]),switched[i] = 2;
    }
    }
    }
    return 1;
    }




    Ich möchte das Anti Cheat umbedingt benutzen, also bitte nicht mit "nimm es raus" ankommen ..


    Ja falls ihr noch Codes oder sonstiges braucht könnt ihr bescheid sagen ^^


    Ich hoffe jemand kann mir bei dem Problemen helfen ..



    Mfg Saphire


    Auf Anfrage in PN:


    Was passiert denn, wenn du was machst?
    Beschreibe bitte was du machst, und was passiert (eventuelle Nachrichten im Chat...).


    Nunja, wenn man als Leader ins Auto steigt, erscheint ein Dialog mit Ja oder Nein.
    Wenn man Ja drückt, wird ja eigentlich geguckt ob in der Fkasse genug Geld drin ist. Gehen wir davon aus das LSPD 500$ in der Fkasse hat und das Auto 250.000$ kostet. Wenn der Leader nun JA drückt müsste eigentlich stehen das nicht genung in der Fkasse drin ist, jedoch kann er das Auto kaufen.
    Auch wenn er Genung Geld drin hat, wird nichts der Fkasse abgezogen.


    Mfg Saphire

    Hallo Jungs und Mädels,
    ich habe da ein kleines Problem, undzwar möchte ich das das Geld von der Fkasse abgezogen wird und nicht vom Spieler.
    Außerdem möchte ich das nur Frak's die Genug Geld haben die Cars kaufen können, jedoch können Gangs/Fraks mit 50$ in der Fkasse alle autos kaufen.


    Hier mal der Code :



    forward FRAC_OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]);
    public FRAC_OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]){
    if(dialogid == DIALOG_FACTION_CAR_BUY){
    if(response){
    new Float:pPos[3];
    GetPlayerPos(playerid,pPos[0],pPos[1],pPos[2]);
    SetPlayerPosEx(playerid,pPos[0]+2.5,pPos[1]+2.5,pPos[2]);
    TogglePlayerControllableEx(playerid,true);
    }
    if(!response){
    new fraktion = GetPlayerFaction(playerid);
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER){
    if(IsAllowedFactionToBuy(GetPlayerLeader(playerid))){
    if(GetFactioncarsOfFaction(GetPlayerLeader(playerid)) < MAX_BUY){
    new Carid1 = GetPlayerVehicleID(playerid);
    for(new fbl;fbl<sizeof(FactionBuylist);fbl++){
    if(Carid1 == FactionBuylist[fbl][fbCarid]){
    if(FraktionsKasse[fraktion] >= FactionBuylist[fbl][fbPrice]){
    //if(CallRemoteFunction("Script_GetPlayerMoney","i",playerid) >= FactionBuylist[fbl][fbPrice]){
    for(new fc;fc<sizeof(FactionCars);fc++){
    if(FactionCars[fc][fVehid] < 400 || FactionCars[fc][fVehid] > 611){
    FactionCars[fc][fVehid] = FactionBuylist[fbl][fbVehid];
    FactionCars[fc][fPos][0] = FactionBuySpawn[0];
    FactionCars[fc][fPos][1] = FactionBuySpawn[1];
    FactionCars[fc][fPos][2] = FactionBuySpawn[2];
    FactionCars[fc][fPos][3] = FactionBuySpawn[3];
    new Color[2];
    GetDefaultCarColorOfFaction(GetPlayerLeader(playerid),Color[0],Color[1]);
    FactionCars[fc][fCol][0] = Color[0];
    FactionCars[fc][fCol][1] = Color[1];


    FactionCars[fc][fPrice] = FactionBuylist[fbl][fbPrice];
    for(new slot;slot<14;slot++)
    FactionCars[fc][fTuning][slot] = 0;
    FactionCars[fc][fCarid] = CreateVehicle(FactionCars[fc][fVehid],FactionCars[fc][fPos][0],FactionCars[fc][fPos][1],FactionCars[fc][fPos][2],FactionCars[fc][fPos][3],FactionCars[fc][fCol][0],FactionCars[fc][fCol][1],-255);
    print(">>> Nach dem Autoerstellen!");
    #if defined FACTION_CARS_LOCKABLE
    fLockCar(FactionCars[fc][fCarid]);
    FactionCars[fc][fLocked] = true;
    #endif
    for(new f;f<5;f++)
    {
    FactionCars[fc][fFaction][f] = -255;
    }
    FactionCars[fc][fFaction][0] = GetPlayerLeader(playerid);
    PutPlayerInVehicle(playerid,FactionCars[fc][fCarid],0);

    FraktionsKasse[fraktion] -= FactionBuylist[fbl][fbPrice];


    //CallRemoteFunction("Script_SetPlayerMoney","id",playerid,(CallRemoteFunction("Script_GetPlayerMoney","i",playerid)-FactionBuylist[fbl][fbPrice]));
    new Float:pPos[3];
    GetPlayerPos(playerid,pPos[0],pPos[1],pPos[2]);
    SetPlayerPosEx(playerid,pPos[0]+2.5,pPos[1]+2.5,pPos[2]);
    TogglePlayerControllableEx(playerid,true);
    SendClientMessage(playerid,FACTION_COL_YELLOW,"Glückwunsch zum neuen Fahrzeug.");
    SendClientMessage(playerid,FACTION_COL_YELLOW,"Bitte vergesse nicht das Fahrzeug mit: '/fpark' umzuparken.");
    SendClientMessage(playerid,FACTION_COL_YELLOW,"Das Fahrzeug steht am Ausgabepunkt bereit!");
    return 1;
    }
    }SendClientMessage(playerid,FACTION_COL_GREY,"Die maximale Anzahl von Fraktionsfahrzeugen ist bereits erreicht.");
    }else SendClientMessage(playerid,FACTION_COL_GREY,"Ihr habt nicht genug Geld in eurer Fkasse.");
    break;
    }
    }
    }else SendClientMessage(playerid,FACTION_COL_GREY,"Deine Fraktion hat das Limit von Fahrzeugen bereits erreicht.");
    }else SendClientMessage(playerid,FACTION_COL_GREY,"Du bist nicht brechtigt Fraktionsfahrzeuge zu kaufen!");
    new Float:pPos[3];
    GetPlayerPos(playerid,pPos[0],pPos[1],pPos[2]);
    SetPlayerPosEx(playerid,pPos[0]+2.5,pPos[1]+2.5,pPos[2]);
    TogglePlayerControllableEx(playerid,true);
    }
    }return 1;
    }return 0;
    }



    Kann mir jemand sagen warum das nicht klappt ?


    MfG Saphire

    Ich habe da ein Problem, undzwar :


    Wenn man sich neu registriert hat bekommt man 25.000$, wenn man nun in ein Interrior geht verdoppelt sich der Betrag.
    Das passiert auch, wenn man ein Relogg macht.


    Ich weis nicht woran das genau liegt, aber kann das der Grund dafür sein ?



    public GivePlayerMoneyEx(playerid,money){
    ACNewMoney[playerid] = ACNewMoney[playerid] + money;
    return GivePlayerMoney(playerid,ACNewMoney[playerid]);
    }


    public SetPlayerMoneyEx(playerid,money){
    ACNewMoney[playerid] = money;
    ResetPlayerMoney(playerid);
    return GivePlayerMoney(playerid,ACNewMoney[playerid]);
    }


    Mfg Saphire