if(spielername == autoinfo[autoid][besitzer])
so würd ich anfangen aber ohne variablen von deiner seite kann man dir wirklich nicht helfen, da wir, wie GooMAn schon sagte, nicht wissen wie du das abspeicherst.
if(spielername == autoinfo[autoid][besitzer])
so würd ich anfangen aber ohne variablen von deiner seite kann man dir wirklich nicht helfen, da wir, wie GooMAn schon sagte, nicht wissen wie du das abspeicherst.
Wo genau meinst du bei DeleteString oder EineZeileInDerDatei ?
//Edit: Es wäre echt nett wenn mir jemand helfen würde, da ich nicht weiß wo ich \r\n einfügen soll, es würd ja wenig Sinn machen, wenn ich das beim DeleteString mache. Nur wie soll ich das in diesen string bekommen?: EineZeileInDerDatei Ich hab das schon so ausprobiert fwrite(f, EineZeileInDerDatei\r\n); aber er spuckt mir dann nur diese Errors aus
Zitat*:\****\*** ********\*********\AutosLaden.pwn(137) : error 001: expected token: ",", but found "\"
*:\****\*** ********\*********\AutosLaden.pwn(137) : error 029: invalid expression, assumed zero
*:\****\*** ********\*********\AutosLaden.pwn(137) : error 017: undefined symbol "r"
*:\****\*** ********\*********\AutosLaden.pwn(137) : fatal error 107: too many error messages on one line
1. Bist du dir Sicher das du dich auch in dem gewählten berreich aufhälst?
2. müsste es doch so lauten
if(BizInfo[bizSuperMarkt][bizProds]<-9999)
{
SendClientMessage(playerid,cRed,"Wir haben keine Prods mehr");
return 1;
}
else
{
ShowPlayerDialog(playerid,BuyDia,2,BizInfo[bizSuperMarkt][bizName],"Telefonbuch\t\t10$\nWürfel\t\t\t2$\nFlasche Wasser(1l)\t5$\nFlasche Cola(1l)\t10$\nFlasche Bier(0,5l)\t12$\nBrot\t\t\t4$\nKondome,5er Packung\t20$\nFunkgerät\t\t180$","Kaufen","Beenden");
}
aber mir stellt sich die Frage warum du diese abfrage machst: if(BizInfo[bizSuperMarkt][bizProds]<-9999) Kann den ein biz unter 0 Prods haben? Müsste es dann nicht if(BizInfo[bizSuperMarkt][bizProds]==0)lauten?
Befehl(ungetestet)
dcmd_buy(playerid,params[])
{
#pragma unused params
if(IsPlayerInRangeOfPoint(playerid,4.5,2.3995,-28.9299,1003.5494))
{
if(BizInfo[bizSuperMarkt][bizProds]==0)
{
SendClientMessage(playerid,cRed,"Wir haben keine Prods mehr");
}
else
{
ShowPlayerDialog(playerid,BuyDia,2,BizInfo[bizSuperMarkt][bizName],"Telefonbuch\t\t10$\nWürfel\t\t\t2$\nFlasche Wasser(1l)\t5$\nFlasche Cola(1l)\t10$\nFlasche Bier(0,5l)\t12$\nBrot\t\t\t4$\nKondome,5er Packung\t20$\nFunkgerät\t\t180$","Kaufen","Beenden");
}
}
return 1;
}
//Edit: ein return enternt
Nimm einfach nen anderen streamer da sich ja ein para meter in createobject geändert hat
Das könnte noch ein Grund für den error sein
SetTimerEx("Timer", 90000, 0, "d", playerid);
So ist das richtig aber nur wenn deine Funktion,die aufgerufen wird, Timer heißt.
Es gibt ne schöne Internetseite die nennt sich Google xD
Ne Spaß beiseite, sonst guck ma bei GTAinside.de oder gta-worldmods.de
Du kannst dir passend zur Jahreszeit den GTA Snow Mod installieren, nur musste aufpassen, dass du nicht alle Funktionen davon installierst, am besten nur die GTA3.img, sonst hast du nachher ein großes Problem
PS: Ich spreche/schreibe aus Erfahrung
//Edit: Rechtschreibung und etwas hinzugefügt
//Edit2: Der Snow mod hat auch das Detailed Radar
Du musst bei den incudes #include <streamer> reinschreiben und bei OnGameModeInit die Objekt einfügen. Nur heißt es dann nicht CreateObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ, Float:DrawDistance); sondern CreateDynamicObject(modelid, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz, worldid = -1(optional), interiorid = -1(optional), playerid = -1(optional), Float:distance = 200.0(optional));
das musst du dann halt mit deinen Werte/Kordinaten ersetzten
Ich nehm ich nachher mal an
Eig ist das so richtig wie ich das oben gepostet habe, nur hab ich das nicht getestet
Das liegt wohl daran das ich was vertauscht habe -.-
#if defined TANK_SYS
new vid = GetPlayerVehicleID(playerid);
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
if(AUTOX[vehicleid][tank] < 1)
{
SendClientMessage(playerid,WHITE," Motor kann nicht gestartet werden da der Tank leer ist!");
AUTOX[vehicleid][motor_an] = 0;
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
}
else
{
if(healthv > (375.0))
{
AUTOX[vehicleid][motor_an] = 1;
SendClientMessage(playerid,WHITE," Motor wurde gestartet.");
SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
}
else
{
new rando = random(4);
switch(rando)
{
case 0:
{
SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
}
case 1:
{
SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
}
case 2:
{
AUTOX[vehicleid][motor_an] = 1;
SendClientMessage(playerid,WHITE," Motor wurde gestartet.");
SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
}
case 3:
{
AUTOX[vehicleid][motor_an] = 1;
SendClientMessage(playerid,WHITE," Motor wurde gestartet.");
SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
}
case 4:
{
SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
}
default:
{
SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
}
}
}
}
#else
if(healthv > (375.0))
{
AUTOX[vehicleid][motor_an] = 1;
SendClientMessage(playerid,WHITE," Motor wurde gestartet.");
SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
}
else
{
new rando = random(4);
switch(rando)
{
case 0:
{
SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
}
case 1:
{
SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
}
case 2:
{
AUTOX[vehicleid][motor_an] = 1;
SendClientMessage(playerid,WHITE," Motor wurde gestartet.");
SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
}
case 3:
{
AUTOX[vehicleid][motor_an] = 1;
SendClientMessage(playerid,WHITE," Motor wurde gestartet.");
SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
}
case 4:
{
SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
}
default:
{
SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
}
}
}
#endif
}
else
{
AUTOX[vehicleid][motor_an] = 0;
SendClientMessage(playerid,WHITE," Motor wurde ausgemacht.");
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
}
return 1;
}
#endif
return 0;
Außerdem war das nicht
TogglePlayerControllable(playerid,1);
sondern
TogglePlayerControllable(playerid,0);
das du ersetzen solltest. Sorry mein Fehler -.-
TogglePlayerControllable(playerid,1); // <- bewegbar
TogglePlayerControllable(playerid,0); // <- nicht bewegbar
Wenn das immer noch nicht geht musste mal den code posten von dem Schadensystem, wo der Motor dann ausgeht
//Edit: verbessert
//Edit: Rechtschreibung
Du solltest jetzt nicht OnPlayerStateChange unten einfügen, sondern nach OnPlayerStateChange suchen und es dort einfügen
so:
public OnPlayerStateChange(playerid,newstate,oldstate)
{
new vid = GetPlayerVehicleID(playerid);
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
if(newstate == PLAYER_STATE_DRIVER)
{
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
//weiterer code von dir
}
//weiterer code von dir
}
//Edit1 & Edit 3: etwas entfernt
//Edit2: Ghosty biste verrückt nachher löscht er noch das falsche
Meine Lieblingsbücher sind die Wächter Bücher
sind aber nicht für jedermann^^ fast alles in der ICH-Person geschreiben, das macht die Bücher für mich sehr "fesselnd"
Ja diese Funktion bleibt dann, nur wird der Spieler nicht mehr gefreezt sondern der Motor bleibt aus
//Edit: Das ganze sieht dann so aus
#if defined TANK_SYS
new vid = GetPlayerVehicleID(playerid);
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
if(AUTOX[vehicleid][tank] < 1)
{
SendClientMessage(playerid,WHITE," Motor kann nicht gestartet werden da der Tank leer ist!");
AUTOX[vehicleid][motor_an] = 0;
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
}
else
{
if(healthv > (375.0))
{
AUTOX[vehicleid][motor_an] = 1;
SendClientMessage(playerid,WHITE," Motor wurde gestartet.");
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
}
else
{
new rando = random(4);
switch(rando)
{
case 0:
{
SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
}
case 1:
{
SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
}
case 2:
{
AUTOX[vehicleid][motor_an] = 1;
SendClientMessage(playerid,WHITE," Motor wurde gestartet.");
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
}
case 3:
{
AUTOX[vehicleid][motor_an] = 1;
SendClientMessage(playerid,WHITE," Motor wurde gestartet.");
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
}
case 4:
{
SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
}
default:
{
SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
}
}
}
}
#else
if(healthv > (375.0))
{
AUTOX[vehicleid][motor_an] = 1;
SendClientMessage(playerid,WHITE," Motor wurde gestartet.");
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
}
else
{
new rando = random(4);
switch(rando)
{
case 0:
{
SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
}
case 1:
{
SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
}
case 2:
{
AUTOX[vehicleid][motor_an] = 1;
SendClientMessage(playerid,WHITE," Motor wurde gestartet.");
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
}
case 3:
{
AUTOX[vehicleid][motor_an] = 1;
SendClientMessage(playerid,WHITE," Motor wurde gestartet.");
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
}
case 4:
{
SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
}
default:
{
SendClientMessage(playerid,WHITE,"Motor konnte nicht gestartet werden, Motorschaden.");
}
}
}
#endif
}
else
{
AUTOX[vehicleid][motor_an] = 0;
SendClientMessage(playerid,WHITE," Motor wurde ausgemacht.");
SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
}
return 1;
}
#endif
return 0;
//Edit2: SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective); für motor an
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective); für motor aus
doch der motor bleibt doch aus
Würdet ihr mal bitte aufhören zu sapmmen?
Außerdem musst du dir nur die includes von sa-mp.com runterladen. Und mit dem dabei liegenden Compiler compilen
am besten du setzt das bei OnPlayerStateChange ein
code:
public OnPlayerStateChange(playerid,newstate,oldstate)
{
new vid = GetPlayerVehicleID(playerid);
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
return 1;
}
Dann ist der Motor aus wenn du einsteigst
oder halt bei OnPlayerEnterVehicle
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
new vid = GetPlayerVehicleID(playerid);
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
return 1;
}
PS: setz nächstes mal deinen code in den [pwn] tag
//Edit: ungetest müsste aber funktionieren
//Edit2: du müsstet dann auch TogglePlayerControllable(playerid,1); von deinem Motorsystem mit den VehicleParams ersetzen
Ma ne frage warum hast du natives im Script stehen?
SetVehicleParamsEx wird doch so verwendet:
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective); // <- für motor aus
sonst guck einfach in den Tutorials
Schön das sie sich wieder gefasst haben^^
Aber ich glaub(bin mir nicht sicher) da sind Objecte zugekommen