Okey das wäre nicht das Problem aber was mache ich mit der der Varriable a ?
Das Object hat ja Sichtrichtung ?
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Okey das wäre nicht das Problem aber was mache ich mit der der Varriable a ?
Die bekommst du aus GetObjectRot.
Wenn du zusätzlich noch die Blickrichtung des Spielers abgleichen willst, musst du prüfen, ob die Blickrichtung im Rahmen der Angle ist.
Sprich:
(playerAngle + 180) Modulo 360 minus objectAngle muss zwischen +15 und -15 liegen.Modulo ist das % Zeichen in PAWN.
-
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 ? -
Hab gerade aber gesehen beim Streamer gibt es die Funktion GetDynamicObjectRot nicht.
Doch, die gibt es.
https://github.com/samp-incogn…eamer-plugin/wiki/NativesBeispiel für die Blickrichtung:
new Float:diff = ((playerAngle + 180) % 360) - objectAngle;
if(diff < 15 && diff > -15)
{
//Schaut die Mülltonne an der Front an.
}playerAngle = GetPlayerFacingAngle-Wert
objectAngle = GetDynamicObjectRot-WertDie Positionsprüfung ist ja im Link beschrieben, mit einem Beispiel, du musst nur die beiden Vehicle-Funktionen austauschen.
-
Okey das hab ich Kapiert aber wie soll ich GetDynamicObjectRot das machen da er mir Ja 3 ausgibt ?
Theoretisch den Y-Wert oder ?
-
da er mir Ja 3 ausgibt ?
In der Regel ist die Blickrichtung der dritte Rotationsparameter.
Prüfe am besten in einem Map Editor, mit dem Mülleimer-Objekt, welche der drei Rotationen du verändern musst, damit sich die "Blickrichtung" des Mülleimers ändert. Diesen Parameter musst du dann als objectAngle nehmen. -
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; }
-
Und jetzt ist gut. Kindergarten hier.
Klar wer kennt es nicht, man speichert Konstante Strings in Variablen, wäre ja auch zu einfach Konsten für Konsten und Variablen für Variablen zu nutzen.
new Float:diff = ((playerAngle + 180) % 360) - Pos[1];
new Float:diff = (floatround(playerAngle + 180) % 360) - Pos[1];Modulo ist hier nur für Integer definiert, also aus dem Float einfach einen Integer machen.
-
new Float:diff = ((playerAngle + 180) % 360) - Pos[1];// Diese Zeile
if(diff < 15 && diff > -15)
{
return true;
}Der Part hier darf nicht in die Funktion, die muss zu der Abfrage hin, nach IsPlayerInRangeOfPoint.
Sprich:
if(IsPlayerInRangeOfPoint(…))
{
if(diff < 15 && diff > -15)
{
//steht vor einem Mülleimer, und schaut ihn an
//mache etwas
return 1;
}
}
return SendClientMessage(playerid, 0xFF0000FF, "Du stehst vor keinem Mülleimer.");Zwecks dem Error:
Sorry, mein Fehler, habe nicht auf das Float geachtet. Am besten du schreibst es dann gleich so:
new diff = (floatround(playerAngle + 180) % 360) - floatround(objectAngle);
Die Nachkommastellen sind hier nicht wichtig. -
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
-
-
Hallo Community,
ich versuche jetzt seit längerem aus Spaß ein Script zu erstellen anhand der neuen MRMonat Tutorial Reihe. Nun tritt bei mir folgendes Problem auf zum Thema Autos laden & speichern.
Wenn ich mir ein Auto vom Autohaus kaufen erscheint es und Geld wird abgezogen aber wenn ich es da hin stelle wo ich es gerne haben möchte spwant es zurück zum Autohaus nach einem Relog.
Ähnliches Problem mit /setcar (/createcar je nach dem) Auto spawnt, wird in der Datenbank gesavet bleibt auch da stehen wo ich es zuletzt abgestellt habe aber es wird eine Kopie am Spawnpunkt erstellt?
Wo liegt der Fehler? Finde ihn nicht und hab ihn mit seinem Tut-Script verglichen, bei ihm Funktionierts
enum carEnum{
id_x,model,
besitzer,
Float:c_x,
Float:c_y,
Float:c_z,
Float:c_r,
db_id
}new cInfo[50][carEnum];
public OnPlayerDisconnect(playerid, reason)
{
for(new i=0; i<sizeof(cInfo); i++)
{
if(cInfo[i][id_x]==0)continue;
if(cInfo[i][besitzer]!=sInfo[playerid][db_id])continue;
GetVehiclePos(cInfo[i][id_x],cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z]);
GetVehicleZAngle(cInfo[i][id_x],cInfo[i][c_r]);
new query[256];
format(query,sizeof(query),"UPDATE autos SET x='%f',y='%f',z='%f',r='%f' WHERE id='%i'",cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z],cInfo[i][c_r],cInfo[i][db_id]);
mysql_function_query(dbhandle,query,false,"","");
DestroyVehicle(cInfo[i][id_x]);
cInfo[i][id_x]=0;
}public carSaveToDB(carid)
{
cInfo[carid][db_id]=cache_insert_id(dbhandle);
return 1;
}saveCarToDB(playerid,carid)
{
new query[128];
format(query,sizeof(query),"INSERT INTO autos (besitzer,model,x,y,z,r) VALUES ('%i','%i','%f','%f','%f','%f')",sInfo[playerid][db_id],cInfo[carid][model],cInfo[carid][c_x],cInfo[carid][c_y],cInfo[carid][c_z],cInfo[carid][c_r]);
mysql_function_query(dbhandle,query,true,"carSavedToDB","i",carid);
return 1;
}createPlayerCar(playerid,modelid,Float:x,Float:y,Float:z,Float:r)
{
for(new i=0; i<sizeof(cInfo); i++)
{
if(cInfo[i][id_x]!=0)continue;
cInfo[i][besitzer]=sInfo[playerid][db_id];
cInfo[i][c_x]=x;
cInfo[i][c_y]=y;
cInfo[i][c_z]=z;
cInfo[i][c_r]=r;
cInfo[i][model]=modelid;
cInfo[i][id_x] = CreateVehicle(modelid,x,y,z,r,-1,-1,-1);
new string[128];
format(string,sizeof(string),"Das Auto cInfo[%i] wurde erstellt.",i);
SendClientMessageToAll(Rot,string);
saveCarToDB(playerid,i);
return 1;
}
return 1;
}getFreeCarID()
{
for(new i=0; i<sizeof(cInfo); i++)
{
if(cInfo[i][id_x]==0)return i;
}
return 0;
}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);
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;
}loadPlayerCars(playerid)
{
new query[128];
format(query,sizeof(query),"SELECT * FROM autos WHERE besitzer='%i'",sInfo[playerid][db_id]);
mysql_function_query(dbhandle,query,true,"OnPlayerCarsLoad","i",playerid);
return 1;
}public OnPasswordResponse(playerid)
....
loadPlayerCars(playerid);
... -
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?
-
@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?
-
Hallo!
Ich versuche gerade meinen /n Chat zu Berichtigen da er nicht funktioniert.
ocmd@2:neuling,n(playerid, params[])
{
#pragma unused params
if(Eingeloggt[playerid] == 0)return SendClientMessage(playerid, GRAU, "Du bist nicht eingeloggt!");
new string[128];
if(SpielerDaten[playerid][pLevel] > 3 /*&& SpielerInfo[playerid][pAdminlevel] == 0 && SpielerInfo[playerid][pEinweiser] == 0*/)
return SendClientMessage(playerid,ROT,"Du bist kein Neuling mehr!");
if(sscanf(params,"s[128]",string))return SendClientMessage(playerid, WEISS,"Befehl: /n [Nachricht]");
if(SpielerDaten[playerid][pAdmin] == 1)
{
format(string, sizeof(string), "[Helfer] %s: %s",SpielerDaten[playerid][pName],string);
}
else if(SpielerDaten[playerid][pAdmin] > 1)
{
format(string, sizeof(string), "[%s] %s: %s",GetAdminRangName(playerid),SpielerDaten[playerid][pName],string);
}
else
{
format(string, sizeof(string), "[Neuling] %s: %s",SpielerDaten[playerid][pName],string);
}
SendLevelMessage(0x00F5FFFF, string);
return 1;
}
Neulinge können schreiben, nur Admins eben nicht.
Was ist da falsch? -
GetPlayerFacingAngle(playerid, playerAngle);
zu:
GetPlayerFacingAngle(playerid, a);
undnew Float:diff = (floatround(playerAngle + 180) % 360) - Pos[1];
zu:
new diff = (floatround(a + 180) % 360) - floatround(Pos[1]);Unter der Annahme, dass Pos[1] korrekt ist.
Neulinge können schreiben, nur Admins eben nicht.
Was passiert, wenn ein Admin etwas schreibt?
-
-
Du bist kein Neuling mehr! steht dann da @Jeffry
if(SpielerDaten[playerid][pLevel] > 3 /*&& SpielerInfo[playerid][pAdminlevel] == 0 && SpielerInfo[playerid][pEinweiser] == 0*/)
return SendClientMessage(playerid,ROT,"Du bist kein Neuling mehr!");
zu:
if(SpielerDaten[playerid][pLevel] > 3 && SpielerInfo[playerid][pAdminlevel] == 0 /*&& SpielerInfo[playerid][pEinweiser] == 0*/)
return SendClientMessage(playerid,ROT,"Du bist kein Neuling mehr!"); -
if(SpielerDaten[playerid][pLevel] > 3 /*&& SpielerInfo[playerid][pAdminlevel] == 0 && SpielerInfo[playerid][pEinweiser] == 0*/) return SendClientMessage(playerid,ROT,"Du bist kein Neuling mehr!");zu:
if(SpielerDaten[playerid][pLevel] > 3 && SpielerInfo[playerid][pAdminlevel] == 0 /*&& SpielerInfo[playerid][pEinweiser] == 0*/) return SendClientMessage(playerid,ROT,"Du bist kein Neuling mehr!");Ich hab vergessen zu erwähnen, das es pAdminlevel nicht gibt sondern nur pAdmin. Dein Vorschag klappt leider nicht.
-
Ich hab vergessen zu erwähnen, das es pAdminlevel nicht gibt sondern nur pAdmin. Dein Vorschag klappt leider nicht.
if(SpielerDaten[playerid][pLevel] > 3 && SpielerInfo[playerid][pAdmin] == 0 /*&& SpielerInfo[playerid][pEinweiser] == 0*/)
return SendClientMessage(playerid,ROT,"Du bist kein Neuling mehr!");Falls die Meldung trotzdem kommt, bist du kein Admin und hast ein höheres Level als 3, somit bist du kein Neuling mehr.
PS:
Unterlasse bitte zukünftig diese Vollzitate. Es ist absolut unnötig, den Code, den ich gepostet habe, zu zitieren.
Zitiere die notwendigen Stellen, oder nutze die Erwähnungsfunktion (@) -
Ich bin Rang 7 also Projektleiter. Abgesehn davon sollte SpielerInfo SpielerDaten sein.
MfG