Eigentlich wollte ich mein beitrag editieren nochmal und schreiben doerfler hat ja schon vor mir gepostet.
Aber warum ich das gepostet habe den code war der grund das er sieht das die string größe für seinen string niemals die größe
haben kann von 128 Zeichen. Es sollte ja klar sein das %f , %d , %s etc .. nur platzhalter sind es war ja auch nur zur veranschaulichung gedacht mein lieber.
Beiträge von IPrototypeI
-
-
Ich habe aber diese ' ' gemacht überall
new PQuery[]="INSERT INTO blitzer (`Blitzerid`,`Blitzerx`,`Blitzery`,`Blitzerz`,`BlitzerRotz`,`Geschwindigkeit`,`Strafe`,`Punkte`,`LastBlitz`,`Filmabschnitte`, `Toleranz`,`Inuse`) VALUES ('%d','%f','%f','%f','%f','%d','%d','%d','%s','%d','%d','%d')";printf("%d",strlen(PQuery));
was strlen ausgibt wirst du wohl wissen vergleich mal die größe mit der deines strings den du deklariert hast
new query[128]; -
(Error ID: 1064, You have an error in your SQL syntax; check the manual
that corresponds to your MySQL server version for the right syntax to
use near '' at line 1)Bist du eigentlich Blind oder so die MySQL log ist nicht zu dekoration da sie soll Fehler ausgeben und den verlauf der funktion des mysqlsplugins ausgeben
zu dem ist dein string zu klein um ein großes der string hat ohne werte 234 Zeichen
-
sscanf(str,"p<|>e<{i}s[24]dddddddddfffd>",PlayerInfo[id]);
Also ich weiß auch nicht was du bei dir auslädst
Der String wird bei dir ausgeladen und gesplittet
"230|Nightstr3am|superkleber|1|1|0|0|0|1|0|0|370.9|-2180.3|854.9|0"sscanf(str,"p<|>{i}s[24]s[130]{i}dddddddddfffd",PlayerInfo[playerid][pName],PlayerInfo[playerid][pLevel],PlayerInfo[playerid][pAdmin],PlayerInfo[playerid][pGeld],PlayerInfo[playerid][pKills],PlayerInfo[playerid][pTode],
PlayerInfo[playerid][pFM],PlayerInfo[playerid][pSkin],PlayerInfo[playerid][pFrak],PlayerInfo[playerid][pRang],PlayerInfo[playerid][pPx],PlayerInfo[playerid][pPy],PlayerInfo[playerid][pPz],PlayerInfo[playerid][pAge]);wie willst du ein string mit 130 Zeichen un ein integer rein hauen ich sags dir garnicht weil dies nicht geht.
-
Du benutzt schon TogglePlayerSpectate da sollte es eigentlich keine Probleme geben es kann jedoch gut sein das gebäude die weiter entfernt sind etwas unscharf wirken.
Die unschärfe kommt davon das die umgebung erst richtig eingestreamt wird wenn der spieler in der nähe ist. Das hat nix mit der Kamera position zu tun.
Bei TogglePlayerSpectate wird der spieler so gesehen hinterher geportet und befindet sich über der kamera position. Ist jedoch nicht sichtbar für einen oder andere spieler. -
Ich bitte dich mal ein Ausschnitt aus der serverlog zu posten wo du die ganzen Daten laden lässt also du kannst auch den string welchen du splittest posten lass dir diesen am besten ausgeben und dazu hin noch poste bitte dein enum.
Beim laden kann es auch ein problem mit der abfolge der parameter geben. Dann wird nix ausgeladen. -
Das wichtigste hat NicoAiko vergessen zu erwähnen das dieser Textdraweditor nur auf deinem homeserver funktioniert aufgrund der positionen deiner
Maus. Also kannst du dies nicht auf einem gehosteten Server verwenden. -
Er kann auch bei den einstellungen vom Style eigene icons verwenden dazu sollte er einen ordner dazu anlegen in dem icons ordner von wbb
und dort die grafik mit dem jeweiligen namen rein setzen. -
Sieht wirklich gut aus sogar besser als deine alte Map ,welcher dir ja dank dem samp mapeditor an handen gekommen ist.
Nur ein Punkt gibt es zu bemängeln und zwar bei den Flaggen draußen die Deutschlandflagge hat den grauen rand um sich das sieht nicht so wirklich passend zu einer Flagge aus. -
Dort wo man hinschaut mit der Kamera von dort wird die jeweilige rotation genommen
Nicht ganz es ging um die rotation im auto wo der spieler hinschaut also ganz genau geht das leider nicht was du damit geplant hast ich hab dazu jedoch auch auf den vorherigen Seiten mal eine berechnung gemacht um den jeweiligen punkt zu ermitteln.
stock IsViewInRangeOfPointa(playerid, Float: r, Float: x, Float: y, Float: z){
new Float:GP[3], Float:GPCFV[3], Float: Output[3], Float: fcarpos[3], fcar;
fcar = GetPlayerVehicleID(playerid);
const Float: weite = 30.0; //4.0, 5.0
GetVehiclePos(fcar,fcarpos[0],fcarpos[1],fcarpos[2]);
GetPlayerCameraPos(playerid, GP[0], GP[1], GP[2]);
GetPlayerCameraFrontVector(playerid, GPCFV[0], GPCFV[1], GPCFV[2]);
Output[0] = GP[0] + floatmul(GPCFV[0], weite);
Output[1] = GP[1] + floatmul(GPCFV[1], weite);
Output[2] = fcarpos[2];
if(FKInfo[Aim_Feuerwehrauto] == 1){ SetPlayerCheckpoint(playerid, Output[0], Output[1], Output[2], r);}
if((Output[0] - x)*(Output[0] - x) + (Output[1] - y)*(Output[1] - y) <= r*r && Output[2] <= z) return 1;
else return 0;
}musst den konstanten wert anpassen und das untere
-
stock GetClosestVehicle(playerid,&Float:distance=0.0){
new p,v,Float:Pos[5]={10000.0,...},cveh=-1,bool:no;
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
for(; v < MAX_VEHICLES; ++v){
if(!IsValidVehicle(v))continue;
for(p=0; p < MAX_PLAYERS; ++p){
if(!IsPlayerInVehicle(p, v))continue;
no=true;
break;
}
if(!no){
Pos[3] = GetVehicleDistanceFromPoint(v, Pos[0],Pos[1],Pos[2]);
if(Pos[4] > Pos[3]){
Pos[4] = Pos[3];
cveh = v;
no=false;
}
}
}
distance = Pos[4];
return cveh;
}stock GetClosestVehicle(playerid,&Float:distance=0.0){
new v,Float:Pos[5]={10000.0,...},cveh=-1;
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
for(; v < MAX_VEHICLES; ++v){
if(!IsValidVehicle(v))continue;
Pos[3] = GetVehicleDistanceFromPoint(v, Pos[0],Pos[1],Pos[2]);
if(Pos[4] > Pos[3]){
Pos[4] = Pos[3];
cveh = v;
no=false;
}
}
distance = Pos[4];
return cveh;
}Da jemand solch eine funktion gepostet hatte habe ich diese mal neu geschrieben und erweitert
damit ist es möglich die id des nächsten zu einem spieler sich befindeten autos zu bekommen als auch die distance in zwei versionen einmal jedes auto und einmal nur leere
Autos.Was wichtig ist das ihr dies oben benutzt
native IsValidVehicle(vehicleid);da sich dieses native sich nicht in der a_samp include befindet aus einem mir nicht ersichtlichen grund warum überhaupt.
-
Ja sollte gehen es wäre auch noch einfacher möglich mit
GetVehicleDistanceFromPoint zu arbeiten
hab kurz eine fünktion dazu geschrieben hier wird dir die distanz noch zurück gegeben
native IsValidVehicle(vehicleid);
oben im skript
stock GetClosestVehicle2(playerid){
new i,Float:Pos[5],cveh;
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
for(; i < MAX_VEHICLES; ++i){
if(!IsValidVehicle(i))continue;
Pos[3] = GetVehicleDistanceFromPoint(i, Pos[0],Pos[1],Pos[2]);
if(Pos[4] > Pos[3] || Pos[4] == 0){
Pos[4] = Pos[3];
cveh = i;
}
}
return cveh;
}Hab mich gestern ihrgend wie verlesen du bekommst nur raus welches auto am nächsten zu einem spieler ist nicht ob es leer ist
dazu müsste man noch eine schleife machen sollte so perfekt gehen
stock GetClosestVehicle(playerid){
new p,v,Float:Pos[5],cveh=-1,bool:no;
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
for(; v < MAX_VEHICLES; ++v){
if(!IsValidVehicle(v))continue;
for(p=0; p < MAX_PLAYERS; ++p){
if(!IsPlayerInVehicle(p, v))continue;
no=true;
break;
}
if(!no){
Pos[3] = GetVehicleDistanceFromPoint(v, Pos[0],Pos[1],Pos[2]);
if(Pos[4] > Pos[3] || Pos[4] == 0){
Pos[4] = Pos[3];
cveh = v;
no=false;
}
}
}
return cveh;
} -
Hallo :),
ich habe nun schon ein paar mal gesehen dass Leute bei SetObjectMAterialText 2 Schriftfarben genommen haben, manchmal auch verschiedene Schriftarten.
Wie ist sowas möglich?Also Schriftfarben einzubinden kannst entweder per define jedoch müssen diese im RGB format sein
beispiel:
#define WHITE FFFFFF
#define RED FF8200SetObjectMaterialText(myobject, "SA-MP {"#WHITE"}0.3{008500}e {"#RED"}RC7", 0, OBJECT_MATERIAL_SIZE_256x128,\
"Arial", 28, 0, 0xFFFF8200, 0xFF000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);ohne define auch möglich
SetObjectMaterialText(myobject, "SA-MP {FFFFFF}0.3{008500}e {FF8200}RC7", 0, OBJECT_MATERIAL_SIZE_256x128,\
"Arial", 28, 0, 0xFFFF8200, 0xFF000000, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);Bei Fonts oben zu sehen Arial du kannst jede font benutzen es ist jedoch empfehlenswert nur WIndowsfonts zu benutzen da nicht jeder zum beispieldie Font Bebas hat.
-
Naja es steht ja schon drinne du brauchst auch die neuste include
Seite:
http://forum.sa-mp.com/showthread.php?t=102865Hier der Link und vergesse nicht die include in deinen includes ordner pawno\include reinzustecken.
Es sollte auch der Ordner sein von dort du auch pawno startest.
http://samp-streamer-plugin.go…mer_plugin_v2_6_1_r84.zip -
Liebe Userschaft,
da ich mit HTML sowie allen anderen Programmiersprachen ein Noob bin,
jedoch für die kleine Seite keinen eigenen Programmierer anschaffen
will, bitte ich euch hier freundlichst um Rat. Und zwar geht es darum: http://biservices.funpic.de/site/#!/clientsHier will ich nämlich, dass alle Menüpunkte anklickbar sind, und dass auch beim jeweiligen Menüpunkt der jeweilige Text steht.
Ich bitte um eure Hilfe!
Also in wie fern anklickbar willst eine neue seite aufrufen oder die verlinkung zu der Firma oder wie.
Eine normale verlinkung via html ist über
Code<a href= "Hier die Verlinkung zu einer Seite oder die jeweilige datei" target="_blank">Hier der jeweilige Text oder Bild</a>
mit target="_blank" kannst du ein neuen Tab aufrufen. -
Hier bitte sehen genau so aus wie die welche du haben wolltest nur die Fonts ist nicht die gleiche
Dennoch hier mal ein Beispiel Bild ich lad dir die .psd auch noch hoch dann kannst du ja die Grafiken noch etwas verändern bei belieben.
-
Wie ich es schon geschrieben habe muss das bei OnPlayerGiveDamage rein...
Es ist sinnvoller OnPlayerTakeDamage zu benutzen als OnPlayerGiveDamage da gibt es in der synchronisation immer noch unterschiede.
Zu dem ist das was hier schon gepostet wurde richtig
public OnPlayerTakeDamage(playerid,issuerid,Float: amount, weaponid) // DMG Machen oO
{
PlayerPlaySound(issuerid,17802,0.0,0.0,0.0);
return 1;
}mann sollte nur noch schauen wegen dem zufügen der eigenen damage
-
Du veränderst hier autozahl nicht oder auch anders ausgedrückt setzt es vllt auch wieder auf 0.
Da ist es kein wunder das du immer in LV raus kommst
if(psautohaus[autozahl] <= psautohaus[35])
entspricht der wert hinter psautohaus[0] psautohaus[35] oder ist kleiner als psautohaus[35]
-
Textdraw4
Großartige Fehler finde ich hier nicht wirklich du kannst falls die Kills , FPS etc unteinander sind diese auch in ein PlayerTextdraw packen da du mit
~n~ einen zeilenbruch machen kannst.
Zu dem benutz eine Array aufgrund dessen das es verschiebungen geben kann von den Textdraws in der id.
daher
PlayerText:Textdraw4[MAX_PLAYERS];Beim formatieren reicht 1 string der wird so gesehen zuletzt überschrieben.
Bei dem Timer benutzt SetTimer anstatt SetTimerEx für jeden spieler falls du dies so hast oder benutzt du y_timers.
Ich kann mir nur vorstellen das die FPS nicht angezeigt wird also der Wert das Textdraw jedoch schon.
Falls es mit dem updaten probleme gibt kann man das textdraw erst ausblenden per PlayerTextdrawHide und danach den string ändern und wieder anzeigen lassen.
-
Mal so eine generelle Frage existieren bei dir auf deinem server keine anderen Pickups
sonst würde ich zu sowas greifen und den inhalt des arrays auf eine Zahl setzen -1 aufgrund das alle ids der Pickups wie bei den Objecten auch von 0 an beginnen.new TotenKopf[MAX_PLAYERS]={-1,...};