Kann es sein das du zu viele "CreateObject" hast ?
Mach mehr mit Dynamic dann sollte das wieder ordentlich laufen
Mfg Saphire
Kann es sein das du zu viele "CreateObject" hast ?
Mach mehr mit Dynamic dann sollte das wieder ordentlich laufen
Mfg Saphire
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
Ja ich musste es editieren da ich M_Bot drin hatte, du hast dann gesagt das ich das raus nehmen soll, was ich auch getan habe.
Ja ich werde alle Bugs die ich habe hier rein posten oder per PN melden
Mfg Saphire
Das kommt raus Jeffry
[22:51:04] Incoming connection: 127.0.0.1:62438
[22:51:04] [join] Kaido has joined the server (0:127.0.0.1)
[22:51:14] Kaido has logged in.
[22:51:37] Fraktion: 10 --> Kasse: 1000000 (Mem: 0 / Lea: 11)
[22:52:03] [part] Kaido has left the server (0:1)
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
[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
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
@[NGD]Manne
Ich habe doch oben schon geschrieben das ich das getan habe.
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
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
Es kann sein das es ne Störung in deiner Region gibt, dies werden Sie dir aber sagen, wenn du den Kundendienst anrufst
Mfg Saphire
ErikSon ich habe dir doch geschrieben, bloß das zweite habe ich nicht gefunden also wegen dem Account
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