so
oder
@DjKiller: Wat soll den dat werden?
Sharpadox: er wollte nur wissen, wie man eine Variable in eine Variable auslesen kann.
Also nicht Playerid sondern ClickedPlayer[playerid]...
so
oder
@DjKiller: Wat soll den dat werden?
Sharpadox: er wollte nur wissen, wie man eine Variable in eine Variable auslesen kann.
Also nicht Playerid sondern ClickedPlayer[playerid]...
da Gab´s doch mal in Mathe sein Zeichen Teil, mit den Kurven drin.
Dafür müsste es doch auch eine Formel geben.
//edit
ZitatOb du getFreeCarID() brauchst weiss ich nicht. Ich habe nie gesehen was die Funktion macht und daher musst du selber wissen, ob du das brauchst. Wenn du es nicht brauchst, dann macht natürlich auch id (Variable) keinen Sinn. Die Funktion sucht dir ja nur den nächsten freien Index bei fInfo aus (klingt zumindest so).
So ist es auch
Schau dir das mal bitte an http://wiki.sa-mp.com/wiki/IsPlayerInRangeOfPoint
1. bei "OnPlayerKeyStateChange" fragst du nach der Enter Taste ab.
2. machst eine for-Schleife und fragst nach den Einzelnden Positionen ab.
3. machst nur noch SetPlayerPos etc. schon haste es fertig
Alles anzeigendas sieht dann so aus
[19:20:41] Befehl ausgef�hrt
[19:20:41] num_rows=2,num_fields=10
[19:20:41] Fahrzeuge geladen und erstellt 54
[19:20:41] Fahrzeuge geladen und erstellt 55
[19:20:41] Fahrzeuge geladen und erstellt 56
[19:20:41] Fahrzeuge geladen und erstellt 57
[19:20:41] Fahrzeuge geladen und erstellt 58
[19:20:41] Fahrzeuge geladen und erstellt 59
[19:20:41] Fahrzeuge geladen und erstellt 60
[19:20:41] Fahrzeuge geladen und erstellt 61
[19:20:41] Fahrzeuge geladen und erstellt 62
[19:20:41] Fahrzeuge geladen und erstellt 63
[19:20:41] Fahrzeuge geladen und erstellt 64
[19:20:41] Fahrzeuge geladen und erstellt 65
Du solltest es so machen
Goldkiller: Danke, dass du es mir nebenbei auch noch erklärt hast, werde es für die nächsten Fehlerbehebungen auch verwenden.
ich kenne mich nicht mit der Mysql Version aus, jedoch sollte dies nicht kommen.
[15:33:35] [DEBUG] cache_get_field_content_float - row: 11, field_name: "PosR", connection: 1
[15:33:35] [ERROR] CMySQLResult::GetRowDataByName() - invalid row index ('11')
[15:33:35] [ERROR] cache_get_field_content_float - invalid datatype
kann dies vll daran liegen, dass du vll ein Anderen Type genommen hast oder das Feld nicht existiert.
Zeig mal nochmal den Code, wie du ihm jetzt hast.
kleiner Tipp, da muss 46 hin bzw. 46 steht auch im Define
Zu deiner Frage, keine Ahnung warum jetzt da der Fehler kommt.
und was sagt der Debug?
@[GSR]Kaito-sensei:
Falscher bereich, gehört in nützliche codingschnipsel.
Die Antwort war an @Mr.Reese: für sein Problem gerichtet.
forward OnFrakCarsLoad();
public OnFrakCarsLoad()
{
new num_fields,num_rows;
cache_get_data(num_rows,num_fields,dbhandle);
printf("num_rows=%d,num_fields=%d",num_rows,num_fields);
if(!num_rows)return 1;
for(new i=0; i<num_rows; i++)
{
new id=getFreeCarID();
fInfo[id][model]=cache_get_field_content_int(id,"model",dbhandle);
fInfo[id][fid]=cache_get_field_content_int(id,"Frakid",dbhandle);
fInfo[id][f_c1]=cache_get_field_content_int(id,"color1",dbhandle);
fInfo[id][f_c2]=cache_get_field_content_int(id,"color2",dbhandle);
fInfo[id][f_x]=cache_get_field_content_float(id,"PosX",dbhandle);
fInfo[id][f_y]=cache_get_field_content_float(id,"Posy",dbhandle);
fInfo[id][f_z]=cache_get_field_content_float(id,"PosZ",dbhandle);
fInfo[id][f_r]=cache_get_field_content_float(id,"PosR",dbhandle);
fInfo[id][caridd]=cache_get_field_content_int(id,"carid",dbhandle);
fInfo[id][db_id]=cache_get_field_content_int(id,"id",dbhandle);
//fInfo[id][kmstand]=cache_get_field_content_float(id,"kmstand",dbhandle);
fInfo[id][id_x]=CreateVehicle(fInfo[id][model],fInfo[id][f_x],fInfo[id][f_y],fInfo[id][f_z],fInfo[id][f_r],fInfo[id][f_c1],fInfo[id][f_c2],-1);
printf("Fahrzeuge geladen und erstellt %d",fInfo[id][model]);
}
return 1;
}
Alles anzeigen
Probier das mal
könntest du denn Code einmal richtig einfügen, dh. nicht alles in einer Zeile
und ein Debug, bei der Schleife machen.
Mappe unter dem Boden eine Plattform und stecke mit AttachObjectforVehicle ein Objekt rein
wenn dann schon richtig
ocmd:aufheben(playerid,params[]){
for(new i,Float:p[3];i<sizeof gs;i++){
if(gs[i][GID]==-1) continue;
if(!IsPlayerInRangOfPoint(playerid,5.0,gs[i][Pos][0],gs[i][Pos][1],gs[i][Pos][2]) continue;
//er hat ein geschenk gefunden
return 1;
}
return SendClientMessage(playerid,colorcode,"Du bist nicht in der Nähe eines Geschenkes!");
}
Dies ist ein Befehl, besser gesagt ein Admin befehl.
such mal nach dem GameModeExit();, kommt es bei OnPlayerConnect vor?
IsPlayerInRangOfPoint
stock HexToInt( string[ ] )
{
if( string[ 0 ] == 0 ) return ( 0 );
new i;
new cur = 1;
new res = 0;
for( i = strlen( string ); i > 0; i -- )
{
if( string[ i - 1 ] < 58 )
{
res = res + cur * ( string[ i - 1 ] - 48 );
}
else
{
res = res + cur * ( string[ i - 1 ] - 65 + 10 );
cur = cur * 16;
}
}
return ( res );
}
Alles anzeigen
Habs jetzt aber nicht getestet
Alles anzeigenDas legt die Größe des Speichers fest, das benötigt man eigentlich nicht
mfg.
//EDIT: Hier nochmal ausführlich