@Jeffry:
Der Download Link ist Down
Beiträge von reaL.
-
-
OK sry wenn ich es etwas unverständliche Erklärt habe.
Ich habe mir die beiden Position
CodeGetDynamicObjectRot(obj, Pos[0], Pos[1], Pos[2]); GetPlayerFacingAngle(playerid, a); x -= (dist * floatsin(-Pos[2], degrees)); y -= (dist * floatcos(-Pos[2], degrees)); if(Pos[2] > 0) { diff = (floatround(a) % 360) - floatround(Pos[2]); }
A und Pos[2] mal Printen lassen es kam raus
A = 170 und Pos[2] = 380 ( nicht genau so aber weiß es gerade nichtmehr )
Dann habe ich eine Tonne auf die Z-Rotation also in diesem Fall Pos[2] auf 170 gedreht und es hat Funktioniert weil A 170 - Pos[2] 170 Ja zwischen -15 und 15 Liegt.
Dann habe ich es mit -170 Probiert da ging es nicht dann habe ich die eine Rechnung hinzugefügt und nun Funktioniert es egal welche Rotation die Mülltonne hat.@Jeffry:
Gibt es ein Timerinclude was 100% richtig Funktioniert ?
bzw nahezu 100%ig ? -
-
-
Habe gerade iwie ein Kleines Problem.
Ich habe ein System wo ich mit Float Daten Arbeite aber das Multiplizieren Funktioniert nicht.
Bei dem Preis Kommt 0 Raus aber wieso ?Codenew Fichte = 1, Pappel = 1, Tanne = 1, Eiche = 1, Buche = 1; new Float:hf_q1 = 0.0, Float:hf_q2 = 0.25, Float:hf_q3 = 0.5, Float:hf_q4 = 0.75, Float:hf_q5 = 1.0;
Code
Alles anzeigenforward Float:GetPreis(playerid, i); stock Float:GetPreis(playerid, i) { new Float:Preis; if(Holzfb[Holzf[playerid][holzf_hladei][i]][holzfb_typ] == 1) { switch(Holzfb[Holzf[playerid][holzf_hladei][i]][holzfb_qualitat]) { case 0: { Preis = floatmul(hf_q1, Fichte); } case 1: { Preis = floatmul(hf_q2, Fichte); } case 2: { Preis = floatmul(hf_q3, Fichte); } case 3: { Preis = floatmul(hf_q4, Fichte); } case 4: { Preis = floatmul(hf_q5, Fichte); } } } if(Holzfb[Holzf[playerid][holzf_hladei][i]][holzfb_typ] == 2) { switch(Holzfb[Holzf[playerid][holzf_hladei][i]][holzfb_qualitat]) { case 0: { Preis = floatmul(hf_q1, Pappel); } case 1: { Preis = floatmul(hf_q2, Pappel); } case 2: { Preis = floatmul(hf_q3, Pappel); } case 3: { Preis = floatmul(hf_q4, Pappel); } case 4: { Preis = floatmul(hf_q5, Pappel); } } } if(Holzfb[Holzf[playerid][holzf_hladei][i]][holzfb_typ] == 3) { switch(Holzfb[Holzf[playerid][holzf_hladei][i]][holzfb_qualitat]) { case 0: { Preis = floatmul(hf_q1, Tanne); } case 1: { Preis = floatmul(hf_q2, Tanne); } case 2: { Preis = floatmul(hf_q3, Tanne); } case 3: { Preis = floatmul(hf_q4, Tanne); } case 4: { Preis = floatmul(hf_q5, Tanne); } } } if(Holzfb[Holzf[playerid][holzf_hladei][i]][holzfb_typ] == 4) { switch(Holzfb[Holzf[playerid][holzf_hladei][i]][holzfb_qualitat]) { case 0: { Preis = floatmul(hf_q1, Eiche); } case 1: { Preis = floatmul(hf_q2, Eiche); } case 2: { Preis = floatmul(hf_q3, Eiche); } case 3: { Preis = floatmul(hf_q4, Eiche); } case 4: { Preis = floatmul(hf_q5, Eiche); } } } if(Holzfb[Holzf[playerid][holzf_hladei][i]][holzfb_typ] == 5) { switch(Holzfb[Holzf[playerid][holzf_hladei][i]][holzfb_qualitat]) { case 0: { Preis = floatmul(hf_q1, Buche); } case 1: { Preis = floatmul(hf_q1, Buche); } case 2: { Preis = floatmul(hf_q1, Buche); } case 3: { Preis = floatmul(hf_q1, Buche); } case 4: { Preis = floatmul(hf_q1, Buche); } } } printf("%0.2f", Preis); return Preis; }
-
@Jeffry:
Okey habe den Fehler nun Gefunden Trotzdem Vielen Dank für deine Hilfe habe das Oben durch deine Erklärung Super Verstanden.Der Fehler war wenn die Mülltonne im - bereich war dann hat es nicht Funktioniert und wenn sie zu weit im + bereich lag ebenfalls nicht.
Habe dann eine Mülltonne hingestellt die dann ca 170 entsprach und siehe da es FunktioniertHabe aber eine andere frage.
Ich habe es so gemacht dass man an der Mülltonne eine Animation macht aber manchmal hört die auf bevor der Balken Voll ist oder man abbricht.
Weiß Jemand warum ?CodeApplyAnimation(playerid, "BD_FIRE", "BD_Panic_Loop", 4.1, 1, 0, 0, 0, 4700, 1); pfandupdate[playerid] = SetTimerEx("Updatepfandbar",45,true,"i",playerid);
Code
Alles anzeigenpublic Updatepfandbar(playerid) { new Float:Value; Value = GetPlayerProgressBarValue(playerid, pfandbar[playerid]); Value += 1.0; SetPlayerProgressBarValue(playerid, pfandbar[playerid], Value); if(Value == 100) { KillTimer(pfandupdate[playerid]); TextDrawHideForPlayer(playerid,Pfandtd); HidePlayerProgressBar(playerid, pfandbar[playerid]); SetPlayerProgressBarValue(playerid ,pfandbar[playerid],0); new i = GetPVarInt(playerid,"pfandmti"), string[128]; if(pfandi[i][pfand_flaschen] == 0) { SendClientMessage(playerid, COLOR_RED, "Die Mülltonne ist Komplett leer."); return 1; } else { new rand = randomEx(0, pfandi[i][pfand_flaschen]); if(rand == 0) { SendClientMessage(playerid, COLOR_RED, "Du hast nichts Gefunden."); return 1; } if(rand == 1) { pfandi[i][pfand_flaschen] -= rand; mysql_format(handle, string, sizeof(string),"UPDATE Pfandmulltonnen SET pfand_flaschen = '%d' WHERE ID = '%d'",pfandi[i][pfand_flaschen], i); mysql_pquery(handle,string); format(string,sizeof(string),"Du hast %d Pfandflasche gefunden.", rand); SendClientMessage(playerid, COLOR_RED, string); return 1; } pfandi[i][pfand_flaschen] -= rand; mysql_format(handle, string, sizeof(string),"UPDATE Pfandmulltonnen SET pfand_flaschen = '%d' WHERE ID = '%d'",pfandi[i][pfand_flaschen], i); mysql_pquery(handle,string); format(string,sizeof(string),"Du hast %d Pfandflaschen gefunden.", rand); SendClientMessage(playerid, COLOR_RED, string); return 1; } } return 1; }
-
-
Immernoch nichts
-
Position von der Mülltonne:
[table][tr][td]1097.5[/td][td]-312.7[/td][td]73.4922[/td][td]0[/td][td]0[/td][td]0[/td][/tr][/table]Printf:
[17:55:13] a: 182.470703 / Pos2: 0.000000
[17:55:13] a: 219.951843 / Pos2: 0.000000
[17:55:15] a: 181.112945 / Pos2: 0.000000 -
@Jeffry:
Hab das nun so aber Jetze geht es garnichtCode
Alles anzeigenstock GetPosVorObj(obj, playerid, Float:dist) //©Jeffry { new Float:Pos[3], Float:a, Float:x, Float:y, Float:z; GetDynamicObjectPos(obj, x, y, z); GetDynamicObjectRot(obj, Pos[0], Pos[1], Pos[2]); GetPlayerFacingAngle(playerid, a); x += (dist * floatsin(-a, degrees)); y += (dist * floatcos(-a, degrees)); new diff = (floatround(a + 180) % 360) - floatround(Pos[2]); if(IsPlayerInRangeOfPoint(playerid, dist, x, y, z)) { if(diff < 15 && diff > -15) { return true; } } return false; }
Hast du noch eine Idee ?
-
@Jeffry:
Hab das nun so aber Jetze geht es garnichtCode
Alles anzeigenstock GetPosVorObj(obj, playerid, Float:dist) //©Jeffry { new Float:Pos[3], Float:a, Float:x, Float:y, Float:z; GetDynamicObjectPos(obj, x, y, z); GetDynamicObjectRot(obj, Pos[0], Pos[1], Pos[2]); GetPlayerFacingAngle(playerid, a); x += (dist * floatsin(-a, degrees)); y += (dist * floatcos(-a, degrees)); new diff = (floatround(a + 180) % 360) - floatround(Pos[2]); if(IsPlayerInRangeOfPoint(playerid, dist, x, y, z)) { if(diff < 15 && diff > -15) { return true; } } return false; }
-
@Nebo:
Wir sind ja keine Sauberer oder nicht Jeder kennt die Tutorial Reihe von Mr.Monat
Zeige uns mal das Ganze Car Enum.
Aber Probiere erstmal ob das Funktioniert.
Schaue mal in der Mysql Log Datei nach ob dort ein Fehler hinterlegt ist und ob die Positionen nach dem Abstellen ( Parken ? ) die Koordinaten Aktualisiert werden in der Datenbank.Ändere das einmal
Code
Alles anzeigenpublic 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); CreateVehicle(cInfo[id][model],cInfo[id][c_x],cInfo[id][c_y],cInfo[id][c_z],cInfo[id][c_r],-1,-1,-1); } return 1; }
Zu
Code
Alles anzeigenpublic 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],-1,-1,-1); } return 1; }
sscanf warning: Strings without a length are deprecated, please add a destination size.
ocmd:setsname(playerid,params[])
{
new pid,name[128],getter[128];
if(sscanf(params,"us", pid,name))
{
return SendClientMessage(playerid, COLOR_WHITE, "FEHLER: /setaname [playerid] [Funktion] ");
}Befehl funktioniert, aber woher der warning?
-
Okey Funktioniert an sich wie ich es mir vorstelle aber manchmal Funktioniert es und manchmal iwie nicht ?
Code
Alles anzeigenfor(new i = 0; i < sizeof(pfandi); i++) { if(!GetPosVorObj(pfandi[i][pfand_ID], playerid, 1)) continue; //if(!IsPlayerInRangeOfPoint(playerid,5,pfandi[i][pfand_x],pfandi[i][pfand_y],pfandi[i][pfand_z])) continue; if(pfandi[i][pfand_ID] == 0) continue; if(PRESSED(1024)) { ShowPlayerProgressBar(playerid, pfandbar[playerid]); TextDrawShowForPlayer(playerid,Pfandtd); ApplyAnimation(playerid, "BD_FIRE", "BD_Panic_Loop", 4.1, 1, 0, 0, 0, 4700, 1); pfandupdate[playerid] = SetTimerEx("Updatepfandbar",45,true,"i",playerid); SetPVarInt(playerid,"pfandmti",i); return 1; }
Code
Alles anzeigenstock GetPosVorObj(obj, playerid, Float:dist) //©Jeffry { new Float:Pos[3], Float:a, Float:playerAngle, Float:x, Float:y, Float:z; GetDynamicObjectPos(obj, x, y, z); GetDynamicObjectRot(obj, Pos[0], Pos[1], Pos[2]); GetPlayerFacingAngle(playerid, playerAngle); x += (dist * floatsin(-a, degrees)); y += (dist * floatcos(-a, degrees)); new Float:diff = (floatround(playerAngle + 180) % 360) - Pos[1]; if(IsPlayerInRangeOfPoint(playerid, dist, x, y, z)) { if(diff < 15 && diff > -15) { return true; } } return false; }
Habe das Problem wenn ich gmx eingeben Stürzt der Server ab
Hier der Server LogCode
Alles anzeigenConsole input: gmx [23:02:37] [debug] Server crashed due to an unknown error [23:02:37] [debug] Native backtrace: [23:02:37] [debug] #0 00401700 in ?? () from samp-server.exe [23:02:37] [debug] Registers: [23:02:37] [debug] EAX: 351cc72b EBX: 0002fc8a ECX: 02bce6d8 EDX: 0019fb70 [23:02:37] [debug] ESI: 64bf7ffb EDI: 00017e45 EBP: 00000000 ESP: 0019fb44 [23:02:37] [debug] EIP: 00401700 EFLAGS: 00010206 [23:02:37] [debug] Stack: [23:02:37] [debug] ESP+00000000: 00017e45 02c27b50 0040174f 02c27b50 [23:02:37] [debug] ESP+00000020: 0019fbbc 6a25a888 0002fc8b 00000000 [23:02:37] [debug] ESP+00000040: ffff5968 6a1376e8 0019fb98 6a0f4485 [23:02:37] [debug] ESP+00000060: 02c27b50 6a25a888 0019fc10 0019fd2c [23:02:37] [debug] ESP+00000080: 02c27b50 6a25a888 0019fc10 884a5bd1 [23:02:37] [debug] ESP+000000a0: 00006058 0101049e 77223a56 95bb58f5 [23:02:37] [debug] ESP+000000c0: 02c27b50 006e0000 0070f628 ffffffff [23:02:37] [debug] ESP+000000e0: 6a25a880 6a25a888 02c27b50 6a25a889 [23:02:37] [debug] ESP+00000100: 02dc5b28 1d00001d ffffdfb8 19000019 [23:02:37] [debug] ESP+00000120: 006e0000 00000000 95bb599d 00000046 [23:02:37] [debug] ESP+00000140: 00000000 000007ff 006e0000 0000002f [23:02:37] [debug] ESP+00000160: 00000001 000000d0 006e0000 0019fd60 [23:02:37] [debug] ESP+00000180: 00000048 000000d8 000207d0 00000001 [23:02:37] [debug] ESP+000001a0: 0019fd54 6a2533ad ffffffff 0019fd60 [23:02:37] [debug] ESP+000001c0: 6a25a888 6a25a880 00000428 007a2298 [23:02:37] [debug] ESP+000001e0: 6a22c4c0 0071a0e8 006e0000 006e0260 [23:02:37] [debug] ESP+00000200: 00000000 00000000 0000000f 884a5a41 [23:02:37] [debug] ESP+00000220: 6a246688 00000428 007a2298 0019fdf0 [23:02:37] [debug] ESP+00000240: 007a77b0 0019fdc4 6a22c52e 0019fdb4 [23:02:37] [debug] ESP+00000260: 6a23c5eb 00000001 00000000 0000000f [23:02:37] [debug] ESP+00000280: 0019fdf4 6a22dc7f 00000428 007a2200 [23:02:37] [debug] ESP+000002a0: 0000000f 006fd438 006fd450 0071a0e0 [23:02:37] [debug] ESP+000002c0: 024a058c 00000000 006fd450 0019fe9c [23:02:37] [debug] ESP+000002e0: 747ff750 747ff700 0048d4db 00000000 [23:02:37] [debug] ESP+00000300: 00010101 00000032 00001e61 0000024c [23:02:37] [debug] ESP+00000320: 00003531 004c4020 004c401c 00249000 [23:02:37] [debug] ESP+00000340: 0049d208 004ba2f8 ffffffff 0049b4a1 [23:02:37] [debug] ESP+00000360: ffffffff 0049cca6 00000001 024a1428 [23:02:37] [debug] ESP+00000380: 000023f0 00000002 00000000 00000000 [23:02:37] [debug] ESP+000003a0: 00000000 00000000 00000000 00000000 [23:02:37] [debug] ESP+000003c0: 00000000 00000000 00000000 00000000 [23:02:37] [debug] ESP+000003e0: 00000000 00000000 00000000 00000000 [23:02:37] [debug] Loaded modules: [23:02:37] [debug] 00400000 - 00519000 samp-server.exe [23:02:37] [debug] 771e0000 - 77370000 ntdll.dll [23:02:37] [debug] 74790000 - 74870000 KERNEL32.DLL [23:02:37] [debug] 76e20000 - 77004000 KERNELBASE.dll [23:02:37] [debug] 748c0000 - 75c0a000 SHELL32.dll [23:02:37] [debug] 73ce0000 - 73d9f000 msvcrt.dll [23:02:37] [debug] 768f0000 - 76929000 cfgmgr32.dll [23:02:37] [debug] 75c10000 - 75d2e000 ucrtbase.dll [23:02:37] [debug] 76960000 - 769e8000 shcore.dll [23:02:37] [debug] 746d0000 - 74790000 RPCRT4.dll [23:02:37] [debug] 73aa0000 - 73ac0000 SspiCli.dll [23:02:37] [debug] 73a90000 - 73a9a000 CRYPTBASE.dll [23:02:37] [debug] 76410000 - 76468000 bcryptPrimitives.dll [23:02:37] [debug] 74870000 - 748b4000 sechost.dll [23:02:37] [debug] 75d60000 - 75fbc000 combase.dll [23:02:37] [debug] 74030000 - 745ea000 windows.storage.dll [23:02:37] [debug] 73da0000 - 73e18000 advapi32.dll [23:02:37] [debug] 73e20000 - 73e65000 shlwapi.dll [23:02:37] [debug] 73e70000 - 73e92000 GDI32.dll [23:02:37] [debug] 76670000 - 767d4000 gdi32full.dll [23:02:37] [debug] 73c60000 - 73cdd000 msvcp_win.dll [23:02:37] [debug] 73ea0000 - 7402d000 USER32.dll [23:02:37] [debug] 763e0000 - 763f7000 win32u.dll [23:02:37] [debug] 75fd0000 - 75fdf000 kernel.appcore.dll [23:02:37] [debug] 76940000 - 76958000 profapi.dll [23:02:37] [debug] 75fe0000 - 76025000 powrprof.dll [23:02:37] [debug] 767f0000 - 767f8000 FLTLIB.DLL [23:02:37] [debug] 72d60000 - 72d84000 WINMM.dll [23:02:37] [debug] 6aae0000 - 6aae8000 WSOCK32.dll [23:02:37] [debug] 76470000 - 764d7000 WS2_32.dll [23:02:37] [debug] 72be0000 - 72c03000 winmmbase.dll [23:02:37] [debug] 75d30000 - 75d56000 IMM32.DLL [23:02:37] [debug] 6a5d0000 - 6a620000 crashdetect.DLL [23:02:37] [debug] 5f310000 - 5f379000 MSVCP100.dll [23:02:37] [debug] 6a510000 - 6a5cf000 MSVCR100.dll [23:02:37] [debug] 6a220000 - 6a26e000 mysql.DLL [23:02:37] [debug] 6b360000 - 6b37a000 log-core.dll [23:02:37] [debug] 72f00000 - 72f15000 VCRUNTIME140.dll [23:02:37] [debug] 6a150000 - 6a21d000 libmariadb.dll [23:02:37] [debug] 72e40000 - 72eb1000 MSVCP140.dll [23:02:37] [debug] 73ac0000 - 73c56000 CRYPT32.dll [23:02:37] [debug] 75fc0000 - 75fce000 MSASN1.dll [23:02:37] [debug] 6aaf0000 - 6aafa000 Secur32.dll [23:02:37] [debug] 6db00000 - 6db11000 napinsp.dll [23:02:37] [debug] 6dab0000 - 6dac6000 pnrpnsp.dll [23:02:37] [debug] 6da90000 - 6daa3000 NLAapi.dll [23:02:37] [debug] 6db20000 - 6db76000 mswsock.dll [23:02:37] [debug] 6da00000 - 6da8e000 DNSAPI.dll [23:02:37] [debug] 76930000 - 76937000 NSI.dll [23:02:37] [debug] 737b0000 - 737e0000 IPHLPAPI.DLL [23:02:37] [debug] 6d9f0000 - 6d9fc000 winrnr.dll [23:02:37] [debug] 6d9c0000 - 6d9e1000 mdnsNSP.dll [23:02:37] [debug] 720a0000 - 720a8000 rasadhlp.dll [23:02:37] [debug] 6a0f0000 - 6a14a000 streamer.DLL [23:02:37] [debug] 10000000 - 1000f000 sscanf.DLL [23:02:37] [debug] 02940000 - 02950000 MapAndreas.DLL [23:02:37] [debug] 72030000 - 72036000 iTD.DLL [23:02:37] [debug] 72050000 - 7209f000 fwpuclnt.dll [23:02:37] [debug] 72c70000 - 72c89000 bcrypt.dll
-
Habe diesen Fehler
error 004: function "operator%(Float:,_:)" is not implemented
Code
Alles anzeigenstock GetPosVorObj(obj, playerid, Float:dist) //©Jeffry { new Float:Pos[3], Float:a, Float:playerAngle, Float:x, Float:y, Float:z; GetDynamicObjectPos(obj, x, y, z); GetDynamicObjectRot(obj, Pos[0], Pos[1], Pos[2]); GetPlayerFacingAngle(playerid, playerAngle); x += (dist * floatsin(-a, degrees)); y += (dist * floatcos(-a, degrees)); new Float:diff = ((playerAngle + 180) % 360) - Pos[1];// Diese Zeile if(diff < 15 && diff > -15) { return true; } return false; }
-
Okey das hab ich Kapiert aber wie soll ich GetDynamicObjectRot das machen da er mir Ja 3 ausgibt ?
Theoretisch den Y-Wert oder ?
-
Okey Super dank dir.
Stehe gerade ein bisschen aufm Schlauch um Ehrlich zu sein.
Könntest du mir das an einem Beispiel erklären damit ich es auch verstehe ? -
Okey das wäre nicht das Problem aber was mache ich mit der der Varriable a ?
Das Object hat ja Sichtrichtung ? -
Nabend,
Ich habe ein Mülltonnen System wo man Pfandflaschen Suchen kann und habe folgende frage, kann man irgendwie abfragen ob ich vor der Mülltonne stehe ?
Es ist ein Dynamisches System -
Was ist der Unterschied bei den Versionen
-
Danke /Close