Allerdings müsstest du noch abfragen, ob man nur ein Minus eingegeben hat ("-"), macht man das nämlich, bekommt man einen Lankstalker.
Wie mach ich das am besten.. stehe leider auf dem Schlauch
Allerdings müsstest du noch abfragen, ob man nur ein Minus eingegeben hat ("-"), macht man das nämlich, bekommt man einen Lankstalker.
Wie mach ich das am besten.. stehe leider auf dem Schlauch
Guten Abend Brotfische,
Ich habe mal eine Frage, ich würde gerne ein Befehl einbauen zum Beispiel "/veh [ID | Name] " Also man könnte entweder die ID oder z.B. die ersten 3 Buchstaben des Fahrzeuges.
Meines Wissens ist sowas möglich, man muss das bestimmt die Name definen.. aber wie mache ich das mit dem definenen und den Befehl?
Ich hoffe ihr könnt mir helfen
MfG German_ScripterHD
Danke
Ändert aber nichts an der Kamerapos...
Schau dir mal das Video an, der erklärt genau wie man mit dem Editor um geht und wie man das ins Script einfügt.
Unter OnPlayerConnect:
new mysqlquery[700];
format(mysqlquery, sizeof(mysqlquery), "SELECT Datum FROM TimeBan WHERE Name = '%s'",getPlayerName(playerid));
mysql_function_query(dbhandle,mysqlquery,false,"OnPlayerTimeBanCheck","d", playerid);
OnPlayerTimeBanCheck:
public OnPlayerTimeBanCheck(playerid)
{
new timestamp = gettime();
new rows = cache_num_rows(), bisgebannt;
if(rows > 0)
{
bisgebannt = cache_get_row_int(0, 0, dbhandle);
}
if(gettime() < bisgebannt)
{
new differenz = bisgebannt - timestamp;
new minuten = differenz / 60;
new string[64];
format(string,sizeof(string),"Du bist noch %i Minuten gebannt!",minuten);
SendClientMessage(playerid,C_Error,string);
SetTimerEx("kickTimer",800,0,"i",playerid);
}
else
{
if(IsPlayerNPC(playerid))return 1;
new name[MAX_PLAYER_NAME],query[128];
GetPlayerName(playerid,name,sizeof(name));
format(query,sizeof(query),"SELECT id FROM user WHERE username='%s'",name);
mysql_function_query(dbhandle,query,true,"OnSpielerCheck","i",playerid);
}
return 1;
}
OnSpielerCheck:
public OnSpielerCheck(playerid)
{
new num_rows,num_fields;
cache_get_data(num_rows,num_fields,dbhandle);
if(num_rows==0)
{
//Registrierung
new sing[400];
format(sing,sizeof(sing),"{E6E6E6}Willkommen auf {FFBE00}XXXXXXXXX.\n\n{E6E6E6}In der Datenbank wurde noch kein Account \nmit dem Name {FFBE00}%s {E6E6E6}gefunden.\nBitte lege nun ein sicheres Passwort an:",getPlayerName(playerid));
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung",sing,"Okay","Abbrechen");
}
else
{
//Login
new string[500];
format(string,sizeof(string),"{E6E6E6}Willkommen zurück {FFBE00}%s{E6E6E6}, |\nGebe bitte nun dein Passwort ein:",getPlayerName(playerid));
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login",string,"Okay","Abbrechen");
}
return 1;
}
Unter OnDialogResponse:
if(dialogid==DIALOG_LOGIN)
{
if(response)
{
new name[MAX_PLAYER_NAME],query[128],passwort[35];
GetPlayerName(playerid,name,sizeof(name));
if(strlen(inputtext)>0)
{
mysql_escape_string(inputtext,passwort,dbhandle);
format(query,sizeof(query),"SELECT * FROM user WHERE username='%s' AND password=MD5('%s')",name,passwort);
mysql_function_query(dbhandle,query,true,"OnPasswordCheck","i",playerid);
}
else
{
//Keine Eingabe
SendClientMessage(playerid,COLOR_RED,"Gibt bitte dein Passwort ein.");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Okay","Abbrechen");
}
}
else
{
Kick(playerid);
}
return 1;
}
OnPasswordCheck:
public OnPasswordCheck(playerid)
{
new num_fields,num_rows;
cache_get_data(num_rows,num_fields,dbhandle);
if(num_rows==1)
{
//Acc. Laden
SendClientMessage(playerid,C_Blau,"Erfolgreich eingeloggt.");
sInfo[playerid][eingeloggt] = 1;
//... usw.
}
else
{
//Passwort falsch
SendClientMessage(playerid,C_Error,"Das eingegebene Passwort ist falsch.");
new string[500];
format(string,sizeof(string),"{E6E6E6}Willkommen zurück {FFBE00}%s{E6E6E6}, \nGebe bitte nun dein Passwort ein:",getPlayerName(playerid));
//format(string,sizeof(string),"{E6E6E6}Willkommen zurück {FFBE00}%s{E6E6E6}, \nGebe bitte nun dein Passwort ein:",getPlayerName(playerid));
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login",string,"Okay","Abbrechen");
}
return 1;
}
Hallo Brotfische,
Heute ist mir aufgefallen... Wenn ich auf mein Server connecte wird mir der Login Dialog angezeigt (Im Hintergrund sieht man ja das Meer von Los Santos (Standart)..). Soweit alles perfekt, wenn ich aber nun mein Password falsch eingebe kommt im Chat die Naricht : Das Passwort war falsch und die Kamera wird schon an den Zivispawn gesetzt + Person... nun will ich aber wenn man das Passwort eingegeben wird das die Kamera im Standart Modus bleibt.
Ich hoffe ihr könnt mir Helfen
MfG German_ScripterHD
Ja kann man machen
Hast du die neuste Streamer Version?
Was meinst du mit SD?
Okay, probier es mal so:
Ganz Oben im Script unter den Includes:
new sekunden_timer;
forward sekunde();
Dann unter OnGameModeInit:
sekunden_timer = SetTimer("sekunde",1000,true);
Unter OnGameModeExit:
KillTimer(sekunden_timer);
Und das am besten ganz unten im Script:
public sekunde()
{
new string[128];
for(new i=0; i<MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i))continue;
if(!IsPlayerInAnyVehicle(i))continue;
format(string,sizeof(string),"%ikm/h", Spielergeschwindigkeit(i));
GameTextForPlayer(i, string, 1000, 3);
}
}
Spielergeschwindigkeit(playerid)
{
new Float:x, Float:y, Float:z, Float:rtn;
if(IsPlayerInAnyVehicle(playerid))
{
GetVehicleVelocity(GetPlayerVehicleID(playerid), x, y, z);
}
else
{
GetPlayerVelocity(playerid, x, y, z);
}
rtn = floatsqroot(x*x + y*y + z*z);
return floatround(rtn * 100 * 1.61);
}
Hast du auch ein Timer im Script für "sekunde" festgelegt?
Willst du die Tuningteile nur auf den Sultan haben?... Wenn ja probier es mal so:
Oben im Script:
new AdminVehicles[MAX_VEHICLES];
Und dann unter OnDialogResponse
if(dialogid==DIALOG_supcar)
{
new Float:VehPos[4], vehicleid;
if(response)
{
GetPlayerPos(playerid, VehPos[0],VehPos[1],VehPos[2]);
GetPlayerFacingAngle(playerid, VehPos[3]);
vehicleid = CreateVehicle(522,VehPos[0],VehPos[1],VehPos[2],VehPos[3],-1,-1,-1);//NRG-500 (522)
PutPlayerInVehicle(playerid,vehicleid,0);
AdminVehicles[vehicleid] = 1;
SendClientMessage(playerid, COLOR_GREEN, "* Supportercar erstellt.");
SetVehicleNumberPlate(vehicleid, "LiS-Admin");
new VID;
new FillUp;
VID = GetPlayerVehicleID(playerid);
FillUp = GetGasMax(GetVehicleModel(VID)) - Gas[VID];
Gas[VID] += FillUp;
new pname[MAX_PLAYERS];
GetPlayerName(playerid,pname,sizeof pname);
new adminmeldung[128];
SendAdminMessage(0xFF0069FF,"------------------------------- [ Supportercar] -------------------------------");
format(adminmeldung, sizeof(adminmeldung), "%s [ID: %d] hat sich ein Supporterfahrzeug gespawnt.", pname,playerid);
SendAdminMessage(COLOR_GRAD1, adminmeldung);
}
else
{
GetPlayerPos(playerid, VehPos[0],VehPos[1],VehPos[2]);
GetPlayerFacingAngle(playerid, VehPos[3]);
vehicleid = CreateVehicle(560,VehPos[0],VehPos[1],VehPos[2],VehPos[3],-1,-1,-1);//Sultan (560)
AddVehicleComponent(vehicleid, 1010);
AddVehicleComponent(vehicleid, 1028);
AddVehicleComponent(vehicleid, 1031);
AddVehicleComponent(vehicleid, 1033);
PutPlayerInVehicle(playerid,vehicleid,0);
AdminVehicles[vehicleid] = 1;
SendClientMessage(playerid, COLOR_GREEN, "* Supportercar erstellt.");
new VID;
new FillUp;
VID = GetPlayerVehicleID(playerid);
FillUp = GetGasMax(GetVehicleModel(VID)) - Gas[VID];
Gas[VID] += FillUp;
new string[128];
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s hat sich ein Supporterfahrzeug gespawnt.", sendername);
ABroadCast(0x00F5FFFF,string,4);
return 1;
}
}
Hallo,
Mit der Funktion AddVehicleComponent kannst du die Tuningteile an das Fahrzeug anbauen.
Tuningteile: http://wiki.sa-mp.com/wiki/Car_Component_ID
MfG German_ScripterHD
Hallo Brotfische,
Ich möchte mit dem Befehl "/vinfo" bestimmte Daten aus der Datenbank auslesen. Undzwar wenn man z.B eintippt /vinfo 531 soll dann soll dem Spieler eine Nachricht angezeigt werden, Wem das Fahrzeug gehört und wer der letzte Fahrer dieses Fahrzeugs war.
Nun ich steh ich auf dem Schlauch... ich weiß nicht wie das machen soll
Ich hoffe ihr könnt mir helfen.
Jetzt noch meine Datenbanken:
Datenbank "Cars":
Fotolink: http://www.bilder-upload.eu/sh…ile=cfae21-1433102432.png
Struktur:
Fotolink: http://www.bilder-upload.eu/sh…ile=2801cc-1433102541.png
Datenbank "User":
Fotolink: http://www.bilder-upload.eu/sh…ile=c2b185-1433102605.png
Struktur:
Fotolink: http://www.bilder-upload.eu/sh…ile=b1f1ba-1433102657.png
SpielerCarsLaden: (vllt. hilft das ja)
public OnPlayerCarsLoad(playerid)
{
new num_fields,num_rows;
cache_get_data(num_rows,num_fields,dbhandle);
if(!num_rows)return 1;
for(new i=0; i<num_rows; i++)
{
new id=getFreeCarID();
cInfo[id][model]=cache_get_field_content_int(i,"model",dbhandle);
cInfo[id][besitzer]=cache_get_field_content_int(i,"besitzer",dbhandle);
cInfo[id][c_x]=cache_get_field_content_float(i,"x",dbhandle);
cInfo[id][c_y]=cache_get_field_content_float(i,"y",dbhandle);
cInfo[id][c_z]=cache_get_field_content_float(i,"z",dbhandle);
cInfo[id][c_r]=cache_get_field_content_float(i,"r",dbhandle);
cInfo[id][db_id]=cache_get_field_content_int(i,"id",dbhandle);
cInfo[id][id_x]=CreateVehicle(cInfo[id][model],cInfo[id][c_x],cInfo[id][c_y],cInfo[id][c_z],cInfo[id][c_r],cInfo[id][Car_Color1],cInfo[id][Car_Color2],-1);
}
return 1;
}
getFreeCarID()
{
for(new i=0; i<sizeof(cInfo); i++)
{
if(cInfo[i][id_x]==0)return i;
}
return 0;
}
Es wäre echt super wenn ihr mir helfen könntet
MfG German_ScripterHD
oder du machst ein neuen stock...
stock getPlayerName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
return name;
}
MfG German_ScripterHD
stock Register(playerid,key[])
{
new Spielerdatei[64];
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",SpielerName(playerid));
dini_Create(Spielerdatei);
dini_Set(Spielerdatei,"Passwort",key);
SendClientMessage(playerid,COLOR_RED, "Erfolgreich registriert.");
SetPlayerScore(playerid,1);
dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
dini_IntSet(Spielerdatei,"Banned",0);
dini_IntSet(Spielerdatei,"Adminlevel",0);
dini_IntSet(Spielerdatei,"Fraktion",0);
dini_IntSet(Spielerdatei,"Geld",0);
SetPVarInt(playerid,"loggedin",1);
return 1;
}
versuch das mal so... (ungetestet)
Hallo,
Ich suche die ID von so einem einzelnen Sprunkbecher/Sprunkdose:
Mfg German_ScripterHD
Meiner meinung nach viel zu Früh jetzt schon Teammitglieder zu suchen.
Knapp 2000 Zeilen sind garnichts.
Ich bin der gleichen Meinung, 2000 Zeilen ist wirklich nichts.... ich bin gerade selber bei 22000 und ich habe auch noch kein Team zusammen gewürfelt...