per Enum
hier mal das Enum
enum carEnum{
id_x,
model,
besitzer,
Float:c_x,
Float:c_y,
Float:c_z,
Float:c_r,
Float:kmstand,
db_id,
liter,
Float:zustand
}
per Enum
hier mal das Enum
enum carEnum{
id_x,
model,
besitzer,
Float:c_x,
Float:c_y,
Float:c_z,
Float:c_r,
Float:kmstand,
db_id,
liter,
Float:zustand
}
Jeffry es geht immernoch nicht
hier mal ein Code mit Prints
ocmd:carpark(playerid,params[])
{
new vID,seat,Float:x,Float:y,Float:z,Float:r;
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,RED,"Du bist in keinem Fahrzeug!");
seat = GetPlayerVehicleSeat(playerid);
if(seat != 0)
{
SendClientMessage(playerid,RED,"Du musst der Fahrer deines Fahrzeugs sein, um dieses zu speichern!");
}
else
{
vID = GetPlayerVehicleID(playerid);
printf("vID = %i",vID);
GetVehiclePos(vID,x,y,z);
x = cInfo[vID][c_x];
y = cInfo[vID][c_y];
z = cInfo[vID][c_z];
GetVehicleZAngle(vID,r);
r = cInfo[vID][c_r];
printf("x = %f y=%f z=%f r=%F",x,y,z,r);
SendClientMessage(playerid,CL_ORANGE,"Dein Auto wird gespeichert. Dieser Vorgang dauert ca 10 Sekunden!");
SendClientMessage(playerid,CL_ORANGE,"[Hinweis]: Du bist solange gefreezed!");
SetTimerEx("UodateCarInDB",10000,false,"ii",vID,playerid);
printf("playerid = %i vID = %i",playerid,vID);
}
return 1;
}
es wird NUR die vID geprintet
die angeblich 166 ist. Die kann ich mir nicht erklären....
haste da vlt ne idee woran das liegt
Habs leider nicht ganz mitbekommen,
wie ich das zuerst gelesen habe hab ich gedacht WTF
dann hab ich auf die Letzte seite geguckt und musste grinsen
Ich hätte das bestimmt gelguabt war aber auch zuerst stutzig
Da braucht ihr nächstes Jahr was besseres
VLT macht ihr ja jetzt ne "Best OF Aprilscherz" und jeder schickt vorschläge für nächstes Jahr
F:\SAMP\gamemodes\Script1.pwn(10058) : warning 203: symbol is never used: "mediccars"
F:\SAMP\gamemodes\Script1.pwn(10058) : warning 203: symbol is never used: "ordcars"
F:\SAMP\gamemodes\Script1.pwn(10058) : warning 203: symbol is never used: "regcars"
F:\SAMP\gamemodes\Script1.pwn(10058) : warning 203: symbol is never used: "sancars"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
Header size: 9880 bytes
Code size: 387908 bytes
Data size: 351180 bytes
Stack/heap size: 16384 bytes; estimated max. usage=5348 cells (21392 bytes)
Total requirements: 765352 bytes
4 Warnings.
bitte Jeffry
also ich habe keine Fehlermeldungen Jeffry, falls du das meinst
Auch in der Log steht nichts merkwürdiges..
Hallo zusammen, ich habe das Problem dass neuerdings meine Befehle nicht mehr vollständig aufgerufen werden.
Ein kurzes Beispiel
Ich gebe /motor ein
Sitze ich nicht auf dem Fahrzeug kommt die Fehlermeldung "Ich sitze nicht auf einem Fahrzeug"
Sitze ich drauf - passiert nix ...
Hier mal als BSP der /motor Code
ocmd:motor(playerid,params[])
{
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return
SendClientMessage(playerid,RED,"Du bist nicht der Fahrer von einem Fahrzeug!");
new vID=GetPlayerVehicleID(playerid),
tmp_engine,
tmp_lights,
tmp_alarm,
tmp_doors,
tmp_bonnet,
tmp_boot,
tmp_objective;
if(cInfo[vID][liter]<1) return SendClientMessage(playerid,CL_RED,"Dein Tank ist leer");
//Motor an/ausschalten
GetVehicleParamsEx(vID, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
if(tmp_engine==1){
tmp_engine = 0;
}else{
tmp_engine = 1;
}
SetVehicleParamsEx(vID, tmp_engine, tmp_lights, tmp_alarm, tmp_doors, tmp_bonnet, tmp_boot, tmp_objective);
return 1;
}
wenn ich prints setze passiert auch nix...
LG
Jeffry hast du ne idee?
dafür musst du uns schon mehr Informationen geben wie dein Haussystem aufgebaut ist
Am besten du schaust dir mal das Tutorial von MrMonat an, so hab ich es gemacht
Hallo zusammen,
ich habe hier eine Formatierungszeile wo ich 1 Error (Invalid Expression Azumed Zero) und 2 Warnings (expression has no Effect) bekomme
vlt habt ihr ja ne Lösung für mich
hier die Zeileformat(string,sizeof(string),"UPDATE autos SET tank='%i' AND Zustand='%i' WHERE besitzer='%i' AND id='%i'",cInfo[vID][liter],cInfo[vID][zustand],[sInfo[playerid][db_id],cInfo[vID][db_id];
Danke im Vorraus
Hast du dir ein Godfather runtergeladen? Wenn ja würde ich dir empfehlen ein Selfmade zu starten, hat den Vorteil, es ist einzigartig und du kennst deine Funktionen im Script selber
Godfather ist für den Anfang zu schwer find ich
hallo Goldkiller
habe nun folgendes gemacht
enum busroutenEnum{ //brInfo
Float:b_x,
Float:b_y,
Float:b_z,
Float:b_rad,
win,
r_id
}
enum busstartsenum{ //brInfo
Float:b_x,
Float:b_y,
Float:b_z,
bool:aktiv,
Checkpoints
}
new brInfo[][busstartsenum] = {
{2221.6140,1866.6394,10.3858,false,10}
//{},
};
//brInfo[playerid][b_x]
//brroutes[playerid][b_x]
new brroutes[][busroutenEnum] = {
// X Y Z Radius Gewinn,RoutenID
//RoutenID 0 = LV nach LS
{2154.9355,1961.0078,10.2405,5.0,250,0},
{2178.5608,2349.9243,10.2335,5.0,250,0},
{2119.5234,2061.8625,10.2251,5.0,250,0},
{2039.7462,1005.9709,10.2359,5.0,250,0},
{1789.3076,801.3461,10.6779,5.0,250,0},
{1673.3729,-785.5421,54.4621,5.0,250,0},
{1186.4357,-934.5354,42.2987,5.0,250,0},
{958.2468,-1080.1121,24.5061,5.0,250,0},
{1028.4401,-1331.0526,12.9473,5.0,250,0},
{1151.0576,-1409.2263,13.0779,5.0,250,0}
oben das ist der Startpunkt welcher zuerst aufgerufen werden soll, dann halt die mehreren unten
dann bei OnPlayerEnterCheckpoint
if(brInfo[playerid][aktiv])
{
brInfo[playerid][Checkpoints] ++; // ++ ist das gleiche wie +1
DisablePlayerCheckpoint(playerid);
new playercp = brInfo[playerid][Checkpoints];
if(playercp == sizeof(brroutes))
{
brInfo[playerid][aktiv]=false;
}
else
{
SetPlayerCheckpoint(playerid,brroutes[playerid][b_x],brroutes[playerid][b_y],brroutes[playerid][b_z],brroutes[playerid][b_rad]);
SCMTOADMIN("TEst neuer Checkpoint");
}
}
und bei der Routenwahl hab ich folgendes gemacht
if (listitem == 2) //LV TO LS
{
brInfo[playerid][aktiv] = true;
SetPlayerCheckpoint(playerid,brroutes[playerid][b_x],brroutes[playerid][b_y],brroutes[playerid][b_z],brroutes[playerid][b_rad]);
Busfahrer1[playerid] = -1;
Busfahrer2[playerid] = -1;
brInfo[playerid][Checkpoints] = 0;
return 1;
}
ist das so korrekt? so in deiner Vorstellung des umsetzens?
danke im vorraus
LG stormi
@Rocky gut geguckt aber leider falsch
da kommt ja noch mehr an Code und unten wird die Klammer dann geschlossen
woltlte euch jetzt nicht mit 500 Zeilen Code überschütten
@Filzeilla hab ich gemacht aber ohne veränderung
stürzt immer noch ab...
Edit:
ich konnte den Fehler nicht finden
habt ihr noch ne Idee ?
Hallo zsm
habe nach dem Muster von seegras Tutorial für Checkpoints angefangen das zu bauen
nun sieht das ganze bei mir so aus
enum busroutenEnum{ //brInfo
Float:b_x,
Float:b_y,
Float:b_z,
Float:b_rad,
win,
r_id
}
enum busstartsenum{ //brInfo
Float:b_x,
Float:b_y,
Float:b_z,
bool:aktiv,
Checkpoints
}
new brInfo[][busstartsenum] = {
{2221.6140,1866.6394,10.3858,false,0}
//{},
};
//brInfo[playerid][b_x]
//brroutes[playerid][b_x]
new brroutes[][busroutenEnum] = {
// X Y Z Radius Gewinn,RoutenID
//RoutenID 0 = LV nach LS
{2154.9355,1961.0078,10.2405,5,250,0},
{2178.5608,2349.9243,10.2335,5,250,0},
{2119.5234,2061.8625,10.2251,5,250,0},
{2039.7462,1005.9709,10.2359,5,250,0},
{1789.3076,801.3461,10.6779,5,250,0},
{1673.3729,-785.5421,54.4621,5,250,0},
{1186.4357,-934.5354,42.2987,5,250,0},
{958.2468,-1080.1121,24.5061,5,250,0},
{1028.4401,-1331.0526,12.9473,5,250,0},
{1151.0576,-1409.2263,13.0779,5,250,0}
//{},
};
if (listitem == 2) //LV TO LS
{
if(response) return SendClientMessage(playerid,RED,"wahl abgebrochen!");
brInfo[playerid][aktiv] = true;
SetPlayerCheckpoint(playerid,brroutes[playerid][b_x],brroutes[playerid][b_y],brroutes[playerid][b_z],brroutes[playerid][b_rad]);
brInfo[playerid][Checkpoints] = 0;
brInfo[playerid][r_id] = 0;
return 1;
}
außerdem bei OnPlayerEnterCheckpoint
public OnPlayerEnterCheckpoint(playerid)
{
//brInfo[playerid][b_x]
//brroutes[playerid][b_x]
//Busstrecke LV nach LS
if(brInfo[playerid][aktiv])
{
brInfo[playerid][Checkpoints] ++; // ++ ist das gleiche wie +1
DisablePlayerCheckpoint(playerid);
new playercp = brInfo[playerid][Checkpoints];
if(playercp == sizeof(brroutes))
{
brInfo[playerid][aktiv]=false;
}
else
{
SetPlayerCheckpoint(playerid,brroutes[playerid][b_x],brroutes[playerid][b_y],brroutes[playerid][b_z],brroutes[playerid][b_rad]);
}
}
jetzt schmiert leider mein compiler ab
vlt kann mir jmd helfen
ZitatDieses tolle Tutorial möchte ich ganz gerne mal aus der Versenkung holen
(erspart mir die schreiberei)
Hallo Goldkiller
wie würdest du das denn machen wenn du mehrere Routen festlegen willst,
machst du dann für jedes ein neues Enum etc oder geht das auch in einem?
also im Grunde genommen braucht jede Route ja dann eine ID
wie genau soll das aussehen
ich weiß nicht genau wie du dir das vorstellst
vlt ein beispiel ?!
wie hast du das mit den Enums deklariert und mit den Abfragen
würde das gerne auch so machen
bei onplayerconnect
public OnPlayerConnect(playerid)
{
new string[256],Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid,X,Y,Z);
Statusarbeit = CreatePlayer3DTextLabel(playerid,"Status",CL_GREEEN,X,Y,Z,40.0);