[SAMMELTHREAD] Kleine Scripting Fragen

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
  • Boah danke es klappt :D
    Habe gedacht es sei komplexer.



    Vielen Dank dafuer!!! Aber wie funktioniert das Ampersand & Symbol in PAWN eigentlich? Identisch wie in C?


    Nochwas:


    Gibt es irgendwelche einfachen Anticheat Loesungen die man per Include, FS oder wie auch immer direkt einbauen kann, und fertig?


    Weiterhin will ich mein Report System so anpassen, dass wenn man einen Report abruft als Admin, immer der letzte angezeigt wird, also wie in einer Queue, aber leider scheinen Queues in PAWN nicht realisierbar zu sein.


    Gibts da ne andere Loesung? Vielleicht ein Array der groesse MAX_PLAYERS, und das dann von vorne nach hinten mit strings auffuellen?

  • Aber wie funktioniert das Ampersand & Symbol in PAWN eigentlich? Identisch wie in C?

    Wenn du damit die Binary UND-Operation meinst, dann ja wie in C.


    Gibt es irgendwelche einfachen Anticheat Loesungen die man per Include, FS oder wie auch immer direkt einbauen kann, und fertig?

    Kommt darauf an..für was du ein Anti-Cheat haben magst..aber theoretisch wäre das über gute Hooks realisierbar, aber es gibt kein öffentliches :)


    Gibts da ne andere Loesung

    Also entweder verkehrt herum einfügen.


    Oder verkehrt herum ausgeben :)


    C
    new Reports[][] = {"0", "1", "2", "3"};
    
    
    for(new i=sizeof(Reports)-1; i!=-1; i--) print(Reports[i]);
    //Gibt 3 2 1 0 aus :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Kurze Frage, habe einen Dialog mit einem String.
    Ist es mir irgendwie möglich den Dialog anzeigen zu lassen, ohne den String wieder jedesmal zu formatieren?

    Code dazu;

    strdel(DialogString, 0, sizeof(DialogString));
    format(DialogString, sizeof(DialogString), "Hier befindet sich der Login %s. \n\n(Bitte beim Entwickler melden, dieser Dialog muss geändert werden!)", GetName(playerid));
    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, ""#SERVER_NAME": Login", DialogString, "Bestätigen", "Verlassen");

  • Hey,
    Wie kann ich, wenn ich jetzt zB von einem Namen nur einen Teil kenne (Sagen wir von "Edward_Murphy" habe ich nur "rd_Mu"), in meiner MySQL DB nach diesem Teil suchen und mir alle Namen mit diesem Teil anzeigen lassen?

    Dafür kannst du LIKE benutze.
    https://dev.mysql.com/doc/refm…comparison-functions.html

    SQL
    SELECT * FROM tabellenname WHERE name LIKE '%$name%'
  • probiere es mal so :)


    Funktioniert immer noch nicht ;(?


  • Warum gibt es eigentlich den ganzen Stuff mit GetClientVersion etc.?


    Weil man kann ja nur mit der Client Version verbinden die auch der entsprechenden Server Version entspricht oder nicht?
    Oder kann man mit 0.3.7 auf nen 0.3a Server verbinden? Wenn nicht machen die ganzen Funktionen mit den Client Versionen ja nicht wirklich viel sinn

  • Beitrag von MGPK-1323 ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Stehe mal wieder auf der Leitung:
    Das Auto wird erstellt und auch ein Eintrag in der Liste, aber überall wird 0 eingetragen. Aber warum?
    cmd:fcreate(playerid,params[])
    {
    new modelid,frakid,Float:PosX2,Float:PosY2,Float:PosZ2,Float:PosA2,color1,color2;
    if (SpielerInfo[playerid][uAdmin] <= 2) return SendClientMessage(playerid,FARBE_KEINERFOLG,"[FRAKTIONSCAR]: Du bist kein Admin !");
    if(sscanf(params,"dddd",modelid,frakid,color1,color2)) return SendClientMessage(playerid,0x00FF00FF,"Benutze: /fcreate [Model ID] [Fraktion ID] [Color 1] [Color 2])");
    new query[128];
    new fc = FreeFrakCheck();
    mysql_format(handle,query,sizeof(query),"INSERT INTO frakcars (id) VALUES ('%d')",fc);
    mysql_pquery(handle,query);
    GetPlayerPos(playerid,PosX2,PosY2,PosZ2);
    GetPlayerFacingAngle(playerid,PosA2);
    FractionCars[fc][fModelID] = modelid;
    FractionCars[fc][fPos][0] = PosX2;
    FractionCars[fc][fPos][1] = PosY2;
    FractionCars[fc][fPos][2] = PosZ2;
    FractionCars[fc][fPos][3] = PosA2;
    FractionCars[fc][fCol][0] = color1;
    FractionCars[fc][fCol][1] = color2;
    FractionCars[fc][fFraction] = frakid;
    FractionCars[fc][fCarid] = CreateVehicle(FractionCars[fc][fModelID],FractionCars[fc][fPos][0],FractionCars[fc][fPos][1],FractionCars[fc][fPos][2],FractionCars[fc][fPos][3],FractionCars[fc][fCol][0],FractionCars[fc][fCol][1],-1);
    SendClientMessage(playerid,FARBE_GELB,"[FRAKTIONSCAR]: Du hast das Auto erfolgreich erstellt!");
    mysql_format(handle,query,sizeof(query),"UPDATE `frakcars` SET `Ersteller` = '%s'",PlayerName(playerid));
    //SendClientMessage(playerid,COLOR_YELLOW,"[FRAKTIONSCAR]: Vergiss aber nicht es später mit /fpark umzuparken!");
    //SendClientMessage(playerid,COLOR_YELLOW,"[INFO]: Für weitere Befehle verwende /fcarinfo");
    PutPlayerInVehicle(playerid,FractionCars[fc][fCarid],0);
    SaveFractionCars();
    return 1;
    }
    stock FreeFrakCheck()
    {
    new Cache:result;
    new bedin[128],query[128];
    for(new i;i<MAX_FRACTION_CARS;i++)
    {
    format(bedin,sizeof(bedin),"id='%i'",i);
    format(query,sizeof(query),"SELECT * FROM frakcars WHERE %s",bedin);
    result = mysql_query(handle,query);
    result = cache_save();
    if(cache_num_rows()==0) return i;
    }
    cache_delete(result);
    return 0;
    }
    stock CreateFraktionsVehicle(vehiclemodelid,fraktid,Float:xpos,Float:ypos,Float:zpos,vworld,interior,Float:angle,FrColor1,FrColor2,respawntime,preis)
    {
    new queryone[450],querytwo[300],mainquery[800];
    new fv;while(fv<MAX_FRACTION_CARS)
    {
    if(Fahrzeug[fv][Fraktion] == 0)
    {
    Fahrzeug[fv][Carkey] = fv;
    Fahrzeug[fv][Fraktion] = fraktid;
    Fahrzeug[fv][FraktionsRang] = 0;
    Fahrzeug[fv][modelid] = vehiclemodelid;
    Fahrzeug[fv][Colour1] = FrColor1;//FVehicleInfo[fraktid-1][FColor1];
    Fahrzeug[fv][Colour2] = FrColor2;//FVehicleInfo[fraktid-1][FColor2];
    Fahrzeug[fv][Paintjob] = -1;
    Fahrzeug[fv][posx] = xpos;
    Fahrzeug[fv][posy] = ypos;
    Fahrzeug[fv][posz] = zpos;
    Fahrzeug[fv][posa] = angle;
    Fahrzeug[fv][Interior] = interior;
    Fahrzeug[fv][VirtualWorld] = vworld;
    Fahrzeug[fv][Spoiler] = 0;
    Fahrzeug[fv][Wheels] = 0;
    Fahrzeug[fv][Nitro] = 0;
    Fahrzeug[fv][Roof] = 0;
    Fahrzeug[fv][Hood] = 0;
    Fahrzeug[fv][Sideskirt] = 0;
    Fahrzeug[fv][Lamps] = 0;
    Fahrzeug[fv][Exhaust] = 0;
    Fahrzeug[fv][Stereo] = 0;
    Fahrzeug[fv][Hydraulics] = 0;
    Fahrzeug[fv][VentRight] = 0;
    Fahrzeug[fv][VentLeft] = 0;
    Fahrzeug[fv][FrontBumper] = 0;
    Fahrzeug[fv][RearBumper] = 0;
    Fahrzeug[fv][Preis] = preis;
    Fahrzeug[fv][HP] = 1000.0;
    Fahrzeug[fv][Tank] = VehicleInfo[vehiclemodelid-400][vtankvolumen];
    format(Fahrzeug[fv][Nummernschild],64,"SA-%s-%i",FVehicleInfo[fraktid-1][FNumbPlate],Fahrzeug[fv][Carkey]);
    Fahrzeug[fv][Vehicle] = CreateVehicleEx(vehiclemodelid,xpos,ypos,zpos,angle,FrColor1,FrColor2,respawntime,false);
    LinkVehicleToInterior(Fahrzeug[fv][Vehicle],Fahrzeug[fv][Interior]);
    SetVehicleVirtualWorld(Fahrzeug[fv][Vehicle],Fahrzeug[fv][VirtualWorld]);
    SetVehicleNumberPlate(Fahrzeug[fv][Vehicle],Fahrzeug[fv][Nummernschild]);
    SetVehicleHealth(Fahrzeug[fv][Vehicle],Fahrzeug[fv][HP]);
    GetVehicleParamsEx(Fahrzeug[fv][Vehicle],engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(Fahrzeug[fv][Vehicle],engine,lights,alarm,VEHICLE_PARAMS_ON,bonnet,boot,objective);
    Fahrzeug[fv][Abgeschlossen] = 1;
    format(queryone,sizeof(queryone),"INSERT INTO `"#DATENBANKTAG"_fraktion_vehicles` (`id`,`Fraktion`,`Rang`,`modelid`,`Farbe1`,`Farbe2`,`Paintjob`,`HP`,`posx`,`posy`,`posz`,`posa`,`Interior`,`VirtualWorld`,`Abgeschlossen`,`Abgeschleppt`,`AbgeschlepptPreis`,`AbgeschlepptGrund`,`Nummernschild`,`Spoiler`,`Hood`,`Roof`,`Sideskirt`,`Lamps`,`Nitro`,`Exhaust`,`Wheels`,`Stereo`,`Hydraulics`,`FrontBumper`,`RearBumper`,`VentRight`,`VentLeft`,`KaufPreis`,`Motorschaden`,`Tank`)");
    format(querytwo,sizeof(querytwo),"VALUES ('%d','%d','%d','%d','%d','%d','%d','%f','%f','%f','%f','%f','%d','%d','%d','0','0','NONE','%s','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','%d','0','%f')",
    Fahrzeug[fv][Carkey],Fahrzeug[fv][Fraktion],Fahrzeug[fv][FraktionsRang],Fahrzeug[fv][modelid],FrColor1,FrColor2,Fahrzeug[fv][Paintjob],Fahrzeug[fv][HP],Fahrzeug[fv][posx],Fahrzeug[fv][posy],Fahrzeug[fv][posz],Fahrzeug[fv][posa],Fahrzeug[fv][Interior],Fahrzeug[fv][VirtualWorld],Fahrzeug[fv][Abgeschlossen],Fahrzeug[fv][Nummernschild],Fahrzeug[fv][Spoiler],Fahrzeug[fv][Hood],Fahrzeug[fv][Roof],Fahrzeug[fv][Sideskirt],Fahrzeug[fv][Lamps],
    Fahrzeug[fv][Nitro],Fahrzeug[fv][Exhaust],Fahrzeug[fv][Wheels],Fahrzeug[fv][Stereo],Fahrzeug[fv][Hydraulics],Fahrzeug[fv][FrontBumper],Fahrzeug[fv][RearBumper],Fahrzeug[fv][VentRight],Fahrzeug[fv][VentLeft],Fahrzeug[fv][Preis],Fahrzeug[fv][Tank]);
    format(mainquery,sizeof(mainquery),"%s%s",queryone,querytwo);
    mysql_function_query(MySqlConnection,mainquery,false,"","");
    SaveFractionCars();
    return fv;
    }
    }
    return 1;
    }
    cmd:fpark(playerid,params[])
    {
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    new fc;while(fc<MAX_FRACTION_CARS)
    {
    if(FractionCars[fc][fModelID] >= 400 && FractionCars[fc][fModelID] <= 611)
    {
    if(GetPlayerVehicleID(playerid) == FractionCars[fc][fCarid])
    {
    if(SpielerInfo[playerid][uFMember] == FractionCars[fc][fFraction] && SpielerInfo[playerid][uFRang] >= 7 || IsPlayerAdmin(playerid))
    {
    new Float:fX,Float:fY,Float:fZ,Float:fA;
    GetVehiclePos(FractionCars[fc][fCarid],fX,fY,fZ),GetVehicleZAngle(FractionCars[fc][fCarid],fA);
    FractionCars[fc][fPos][0]=fX;
    FractionCars[fc][fPos][1]=fY;
    FractionCars[fc][fPos][2]=fZ;
    FractionCars[fc][fPos][3]=fA;
    SendClientMessage(playerid,FARBE_GELB,"[FRAKTIONSCAR]: Du hast das Fraktionsfahrzeug erfolgreich umgeparkt.");
    return SaveFractionCars();
    }
    else
    {
    return SendClientMessage(playerid,FARBE_ROT,"[FRAKTIONSCAR]: Du bist dazu nicht berechtigt.");
    }
    }
    }
    fc++;
    }
    return SendClientMessage(playerid,FARBE_KEINERFOLG,"[FRAKTIONSCAR]: Du sitzt in keinem Fraktionsfahrzeug.");
    }
    return SendClientMessage(playerid,FARBE_KEINERFOLG,"[FRAKTIONSCAR]: Du sitzt in keinem Fahrzeug oder bist nicht der Fahrer.");
    }

  • public OnPlayerDeath(playerid, killerid, reason)
    {
    if(KrankenhausAktiv == 1 && SpielerInfo[playerid][AdminLevel] <= 6)
    {
    SpielerInfo[playerid][IstImKrankenhaus] = 1;
    }
    return 1;
    }


    ich erstelle keine Objekte beim sterben. das ist wohl von SAMP aus.
    Mal ist es eine Flasche, mal eine qualmende Zigarette

    Mit freundlichen Grüßen,
    Dachdecker

  • public OnPlayerDeath(playerid, killerid, reason){ if(KrankenhausAktiv == 1 && SpielerInfo[playerid][AdminLevel] <= 6) { SpielerInfo[playerid][IstImKrankenhaus] = 1; } return 1;}


    ich erstelle keine Objekte beim sterben. das ist wohl von SAMP aus.
    Mal ist es eine Flasche, mal eine qualmende Zigarette

    Ah jetzt weiss ich was du meinst. Es wird kein Pickup erstellt sondern der Skin hat die Objekte in der Hand?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen