Beiträge von Cryptex
-
-
POLONE[0][playerid] = CreateObject(1238,X+0.07,Y,Z,0,0,Angle,0);
POLONE[1][playerid] = CreateObject(1238,X+0.14,Y,Z,0,0,Angle,0);
POLONE[2][playerid] = CreateObject(1238,X+0.21,Y,Z,0,0,Angle,0);
POLONE[3][playerid] = CreateObject(1238,X+0.28,Y,Z,0,0,Angle,0);
POLONE[4][playerid] = CreateObject(1238,X+0.35,Y,Z,0,0,Angle,0);die z achse geht nach unten oder oben
-
müsste eig so sein, wer unter 0 hat ist schon tot
if(health > 100)
-
Ich habe das umgeschrieben, habe auch einpar fehler gefunden jedoch geht das immernoch nicht
Da muss ein experte ranBestimmt ist nur wieder was kleine flasch und ich sehe das wieder nicht...
CMD:abuyvehicle(playerid, params[])
{
new rand = random(sizeof(RandomSpawnVehicleShop)), vModel, vColor1, vColor2, vType, vBesitzer[500], vPreis;
vModel = GetVehicleModel(GetPlayerVehicleID(playerid));
GetVehicleColor(GetPlayerVehicleID(playerid), vColor1, vColor2);
vType = 999;
vBesitzer = SpielerNameAnzeige(playerid);
vPreis = 100;if(Vehicles[GetPlayerVehicleIDEX(playerid)][fvType] == 10)
{
AddPlayerVehicleToFile(vModel, RandomSpawnVehicleShop[rand][0], RandomSpawnVehicleShop[rand][1], RandomSpawnVehicleShop[rand][2], RandomSpawnVehicleShop[rand][3], vColor1, vColor2, vType, vBesitzer[128], vPreis);
SendClientMessage(playerid, green, "{FF0000}[SERVER] {FFFFFF}Du hast dir das Fahzeug gekauft");
}
return 1;
}stock AddPlayerVehicleToFile(vModel, Float:vX, Float:vY, Float:vZ, Float:vA, vColor1, vColor2, vType, vBesitzer, vPreis)
{
new Query[200];
format(Query, sizeof(Query), "INSERT INTO `Vehicles` (`VehicleModel`, `VehicleX`, `VehicleY`, `VehicleZ`, `VehicleAngle`, `Color1`, `Color2`, `VehicleType`, `Besitzer`, `Price`) VALUES ('%d', '%f', '%f', '%f', '%f', '%d', '%d', '%d', '%s', '%d')",
vModel, vX, vY, vZ, vA, vColor1, vColor2, vType, vBesitzer, vPreis);
mysql_query(Query);
mysql_free_result();
return 1;
}Mein SQL Aufbau
SQL
Alles anzeigen`ID` int(11) NOT NULL AUTO_INCREMENT, `VehicleModel` int(3) NOT NULL, `VehicleX` float NOT NULL, `VehicleY` float NOT NULL, `VehicleZ` float NOT NULL, `VehicleAngle` float NOT NULL, `Color1` float NOT NULL, `Color2` float NOT NULL, `VehicleType` int(3) NOT NULL DEFAULT '0', `Paintjob` int(1) NOT NULL DEFAULT '0', `Price` int(11) NOT NULL DEFAULT '0', `Locked` int(1) NOT NULL DEFAULT '0', `Neon` int(1) NOT NULL DEFAULT '0', `Besitzer` varchar(24) NOT NULL DEFAULT ' ',
Die SQLTabelle
-
das macht eig kein untschied, so hatte ich das auch vorher..
damit geht das aber auch nicht habe es eben nochmal getestetdas funktioniert z.b. wenn ich noale autos spawne und speichere
stock AddVehicleToFile(Float:vX, Float:vY, Float:vZ, Float:vA, vModel, vColor1, vColor2)
{
new Query[200];
format(Query, sizeof(Query), "INSERT INTO `Vehicles` (VehicleModel, VehicleX, VehicleY, VehicleZ, VehicleAngle, Color1, Color2) VALUES(%d, %f, %f, %f, %f, %d, %d)",
vModel, vX, vY, vZ, vA, vColor1, vColor2);
mysql_query(Query);
mysql_free_result();
return 1;
}muss man die werte erst floaten? eig nicht oder, die parameter zeigen ja das es floads sind oder?
//edit 1
float text hinzugefügt -
-
guck mal mit "htop" nach
/usr/sbin/mysqld --basedir=/usr ......
-
mach mal
stock SendClientMessageToAdmins(color,message[])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && IsAnAdmin(i))
{
SendClientMessage(i,color,message);
}
}
} -
-
ne, das was davor kommt
-
währe besser wenn du die zeile postest, aber bestimmt ein semikolon oder ein klammerfehler
-
welches plugin benutzt du?
-
Bin grad dabei kaufbare vehicles zu erstellen,
soweit ein player in einem bestimmten shopfahrzeug sitz kann er den selben wagen an einer bestimmten stelle spawnenirgendwie will der das aber nicht in die datenbank speichern, kann mal einer drüberschauen, ich finde den fehler nicht
CMD:abuyvehicle(playerid, params[])
{
if(Vehicles[GetPlayerVehicleIDEX(playerid)][fvType] == 10)
{
new Query[500], vModel, vColor1, vColor2;
vModel = GetVehicleModel(GetPlayerVehicleID(playerid));
GetVehicleColor(GetPlayerVehicleID(playerid), vColor1, vColor2);
format(Query, sizeof(Query), "INSERT INTO `Vehicles` (VehicleModel = '%d', VehicleX = '%f', VehicleY = '%f', VehicleZ = '%f', VehicleAngle = '%f', Color1 = '%d', Color2 = '%d', VehicleType = '%d', vBesitzer = '%s', vPreis = '%d')",
vModel, -1630.91, 1289.79, 6.74587, 134.595, vColor1, vColor2, 999, SpielerNameAnzeige(playerid), 100);
mysql_query(Query);
mysql_free_result();
LoadPlayerVehicle(playerid);
SendClientMessage(playerid, green, "{FF0000}[SERVER] {FFFFFF}Du hast dir das Fahzeug gekauft");
}
return 1;
} -
wenn du alle unter die erte setzt siehs du auch keine hütschen
-
Hier die DB einträge der Autos
Man sieht hier die Vans mit der ID 482 (2te Spalte in der DB) und die 9te Spalte zeigt VehicleType(100) bedeutet das das ein Admin fahrzeug ist
else if(Vehicles[i][fvType] == 100)
{
Admin3DText[i] = Create3DTextLabel( "Admin Vehicle", 0xB70000FF, 0.0, 0.0, 0.0, 50.0, 0, 1 );
Attach3DTextLabelToVehicle( Admin3DText[i] , i, 0.0, 0.0, 1.3);
}Sniper, dein Stock habe ich mal eingesetzt irgendwie macht der das weniger falsch als davor?!
if(newstate == PLAYER_STATE_DRIVER)
{
if(Vehicles[GetPlayerVehicleIDEX(playerid)][fvType] == 10)
{
SendClientMessage(playerid, green, "{FF0000}[SERVER] {FFFFFF}Du kannst dir das Fahzeug mit /buyvehicle kaufen");
}
else if(Vehicles[GetPlayerVehicleID(playerid)][fvType] == 11)
{
SendClientMessage(playerid, green, "{FF0000}[SERVER] {FFFFFF}Du kannst dir das Fahzeug mit /buyvehicle kaufen");
}
}if(newstate == PLAYER_STATE_DRIVER)
{
if((Vehicles[GetPlayerVehicleIDEX(playerid)][fvType] == 100) && SpielerInfo[playerid][pAdmin] <= 0)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, red, "{FF0000}[SERVER] {FFFFFF}Du bist leider kein Admin");
}
}if(newstate == PLAYER_STATE_DRIVER)
{
if((Vehicles[GetPlayerVehicleIDEX(playerid)][fvType] == 101) && SpielerInfo[playerid][pCop] <= 0)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, red, "{FF0000}[SERVER] {FFFFFF}Du bist leider kein Cop");
}
}Hier die Fahzuege im Autohaus. Hinten die Bikes + Sultan wurde keine Message ausgegeben jedoch haben die ein Label
Aber die Fahzeuge genau vor mir haben eine Message ausgegeben jedoch kein Label. Mir ist schon ganz wirrKann es daran liegen das ich unter LoadVehicles 500 Fahrzeuge durchlaufe es jedoch keine 500 Fahrzeuge gibt?
while(ID < 500)
{//Edit 1
fehler beseitigt//Edit2
erklärung erweitert -
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & KEY_FIRE) //Wenn die Taste die du drückst CTRL ist ...
{
if(IsPlayerInAnyVehicle(playerid)) // .. und in einem Auto sitzt ...
{
new Float:vx,Float:vy,Float:vz;
GetVehicleVelocity(GetPlayerVehicleID(playerid),vx,vy,vz);
SetVehicleVelocity(GetPlayerVehicleID(playerid), vx, vy, vz + 0.2);
return 1;
}
return 1;
}
return 1;
} -
Du musst Armytimer ja wieder auf nul setzten wenn es 30 erreicht hat
if(IsPlayerInRangeOfPoint(x,25.0,257.7721,1864.1960,8.7578))
{
if(isPlayerInTeam(x,2))
{
armytimer++;
}
}
if(armytimer >= 30)
{
armytimer = 0;
armyleben--;
}
if(armyleben == 0)
{
for(new i=0;i<MAX_PLAYERS;i++)
{
SetPlayerHealth(i,0);
GameTextForPlayer(i,"~r~Terror ~r~gewinnt",5000,3);
armyleben = 20;
CreateExplosion(260.6477,1865.0687,8.7578,6,40.0);
for(new a=0;a<MAX_VEHICLES;a++)
{
SetVehicleToRespawn(a);
}
}
} -
Na du erweiterst deine mysql tabelle mit den slots die ein vehicle haben darf "http://wiki.sa-mp.com/wiki/Componentslots".
Dann kannst du nachdem du ein Fahzeug getunt hast abfragen welche slots mit welchen komponenten belegt sind und deren id in den slots speichern "http://wiki.sa-mp.com/wiki/GetVehicleComponentInSlot". -
probier mal das
if(dialogid==DIALOG_REG)
{
if(response==0)
{
SendClientMessage(playerid,COLOR_RED,"Ciao");
Kick(playerid);
return 1;
}if(response==1)
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,DIALOG_REG,DIALOG_STYLE_PASSWORD,"{FF0000}Registrieren","Du bist neu, Bitte gebe dein Passwort ein: {FFFFFF} || {FF0000}You are new, request gives your password:","Enter","Close");
return SendClientMessage(playerid,COLOR_LIGHTBLUE,"Das Passwort ist zu kurtz! {FFFFFF} || {FF0000}The password is too short!");
}
if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
{
dini_Create(accFormat);
dini_Set(accFormat,"Passwort",inputtext);
Player[playerid][admin] = 0 ;
Player[playerid][Kills] = 0 ;
Player[playerid][Deaths] = 0 ;
Player[playerid][eingeloggt] = 1;
ApplyAnimation(playerid,"DANCING","DAN_LOOP_A",4.0,1,0,0,1,-1);
InterpolateCameraPos(playerid, 1532.795776, -1774.432128, 33.512901, 1529.263916, -1686.004516, 14.459429, 4500,CAMERA_MOVE );
InterpolateCameraLookAt(playerid, 1528.934692, -1777.396484, 32.370731, 1533.586914, -1683.492187, 14.482867, 3000,CAMERA_MOVE );
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Ihr Konto wurde erfolgreich registriert!{FFFFFF} || {FF0000}Their(Her) account was registered successfully!");
}
}
return 1;
} -
if (strcmp(cmdtext, "/bibomben", true) == 0)
{
if(IsPlayerInRangeOfPoint(playerid,10.0,4567.0459,-1868.7660,13.0454))
{
if(BombeStatus == 1)
{
SendClientMessage(playerid, COLOR_GREY, "Du kannst nur jede 5 Stunden eine Bombe legen!");
}
else
{
SendClientMessage(playerid, COLOR_LIGHTRED,"Text");
SendClientMessage(playerid, COLOR_LIGHTRED,"Text");
GetPlayerPos(playerid, PlayerExplosionX[1], PlayerExplosionY[1], PlayerExplosionZ[1]);
bombe = CreateObject(1252, PlayerExplosionX[1], PlayerExplosionY[1], PlayerExplosionZ[1]-0.85, 0.0000, 0.0000, 0.0000);
ClearAnimations(playerid);
OnePlayAnim(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0); // Place Bomb
SetTimer("Explosions", 30000, 0);
SetTimer("Abklinge", 1000*60*60*5, 0);
BombeStatus = 1;
}
}
}