[Problem] Befehle funktionieren nicht richtig.......

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
  • Du musst zb nur /sperrcar SP-1234 1200 Falschparken eingeben, ohne die eckigen Klammern.


    -Ja Rocky war schneller, wollte es nur nochmal so erklären, da Quelle ja evtl auch noch Grund usw. dahinter schreibt ;) - Nichts gegen Dich, aber man weiß ja nie :D


    MfG

  • Ich habe dir mal eine PN geschrieben....


    Ja supaa ^^ Hier mal ein Bsp:


    if(strcmp(cmd,"/sperrcar",true)==0)
    {
    if(IsPlayerInFrac(playerid,18))
    {
    new kz[32],preis,grund[128];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid,0xFF0000FF,"FEHLER: /sperrcar [Kennzeichen] [Preis] [Grund]");
    strmid(kz, tmp, 0, strlen(tmp), 32);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid,0xFF0000FF,"FEHLER: /sperrcar [Kennzeichen] [Preis] [Grund]");
    preis = strval(tmp);
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid,0xFF0000FF,"FEHLER: /sperrcar [Kennzeichen] [Preis] [Grund]");
    strmid(grund, tmp, 0, strlen(tmp), 128);
    if(!ON_KZExistiert(kz)) return SendClientMessage(playerid,0xFF0000FF,"Dieses Kennzeichen wurde nicht registriert.");


    if(preis < 1) return SendClientMessage(playerid,0xFF0000FF,"Der Sperrpreis darf nicht unter 1$ sein.");
    new kzveh = GetCarFromKZ(kz);
    if(!IsDtCarGesperrt(kzveh))
    {
    new modell = GetVehicleModel(kzveh);
    new vname[128];
    if(modell >= 400 && modell <= 611)
    {
    format(vname, 128, "%s", CarName[modell-400]);
    new gpid = GetOwner(kzveh);
    new gpidname[MAX_PLAYER_NAME];
    GetPlayerName(gpid,gpidname,sizeof(gpidname));
    new stringmiep[256];
    for(new x=0;x<MaxVeh;x++)
    {
    if(strcmp(PlayerCar[gpid][x][CarNumber],kz,true)==0)
    {
    PlayerCar[gpid][x][CarGesperrt] = 1;
    PlayerCar[gpid][x][CarSperrpreis]=preis;

    format(stringmiep,sizeof(stringmiep),"Du hast das Kennzeichen %s (User: %d || Name: %s || Fahrzeug: %s)",kz,gpid,gpidname,vname);
    SendClientMessage(playerid,0x00FFFFFF,stringmiep);
    format(stringmiep,sizeof(stringmiep),"für %d$ mit folgendem Grund gesperrt: %s",preis,grund);
    SendClientMessage(playerid,0x00FFFFFF,stringmiep);
    new pnn[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pnn,sizeof(pnn));
    format(stringmiep,sizeof(stringmiep),"%s hat dein Fahrzeug %s mit dem Kennzeichen %s",pnn,vname,kz);
    SendClientMessage(gpid,0xFF0000FF,stringmiep);
    format(stringmiep,sizeof(stringmiep),"für %d$ mit folgendem Grund gesperrt: %s",preis,grund);
    SendClientMessage(gpid,0xFF0000FF,stringmiep);
    return 1;
    }
    }
    }
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid,0xFF0000FF,"Du bist kein Ordnungsamtmitglied.");
    return 1;
    }
    return 1;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


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

  • Danke könntest du mir das mit dem Befehlen auch bitte machen wer echt nett.

    "/entsperrcar""/searchcar""/parkkralle"


    Du sollst dabei auch was lernen, also schreibe es einfach selber, ich habe dir doch schon ein Bsp gegeben ^^


    mfg. :huh:

    ast2ufdyxkb1.png


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

  • Komplett falsch -.-'


    Da darf kein sscanf mehr drinnen stehen, sondern nur noch strtok ^^


    PS: Schau dir nochmal meinen Code an !


    mfg. :rolleyes:

    ast2ufdyxkb1.png


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

  • tmp = strtok(cmdtext, idx);
    if(ON_KZExistiert(kz))
    {


    das was ich rot makiert habe löschen, dann ist es richtig ^^


    mfg. :thumbup:

    ast2ufdyxkb1.png


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

  • Bei dem Befehl ist das etwas anders, mache es so:


    lösche das new x_nr[256];


    und ersetze das x_nr bei den strcmp Abfragen mit tmp ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


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

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


    if(strcmp(cmd, "/parkkralle", true) == 0)
    {
    if(SpielerInfo[playerid][sMember] == 18)
    {
    tmp = strtok(cmdtext,idx);
    new Float:bX,Float:bY,Float:bZ;
    GetPlayerPos(playerid,bX,bY,bZ);
    new Float:aX,Float:aY,Float:aZ;
    if(!strlen(tmp)) return SendClientMessage(playerid,0xFF0000FF,"==[Parkkralle]== /parkkralle [name] >>> [Anbauen oder Abbauen]");
    if(strcmp(tmp,"Anbauen",true) == 0)
    {
    for(new vid;vid!=MAX_VEHICLES;vid++)
    {
    GetVehiclePos(vid,aX,aY,aZ);
    if((floatabs(bX-aX)<3.0)&&(floatabs(bY-aY)<3.0)&&(floatabs(bZ-aZ)<3.0)&&(vid!=GetPlayerVehicleID(playerid)))
    {
    if(!IsADtCar(vid))
    {
    SendClientMessage(playerid,0x33CCFFAA,"Du kannst nur an Spielerfahrzeugen eine Parkkralle anbringen!");
    return 1;
    }
    else
    {
    //Wird gemacht
    new theOwner = GetOwner(vid);
    new xid;
    for(new x;x!=MaxVeh;x++)
    {
    if(Dtc_PlayerHaveCar[playerid][x])
    {
    if(vid == PlayerCar[theOwner][x][CarId])
    {
    xid = x;
    break;
    }
    }
    }
    PlayerCar[theOwner][xid][Kralle] = 1;
    format(globquery,256,"UPDATE `carsystem` SET `Kralle`='1' WHERE `CarOwner`='%s_%d'",GetName(playerid),xid);
    mysql_query(globquery);
    format(globquery, sizeof(globquery), "* %s baut eine Parkkralle an das Fahrzeug.", GetName(playerid));
    ProxDetector(30.0, playerid, globquery, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    return 1;
    }
    }
    }
    }
    else if(strcmp(tmp,"Abbauen",true) == 0)
    {
    for(new vid;vid!=MAX_VEHICLES;vid++)
    {
    GetVehiclePos(vid,aX,aY,aZ);
    if ((floatabs(bX-aX)<3.0)&&(floatabs(bY-aY)<3.0)&&(floatabs(bZ-aZ)<3.0)&&(vid!=GetPlayerVehicleID(playerid)))
    {
    new theOwner = GetOwner(vid);
    new xid;
    for(new x;x!=MaxVeh;x++)
    {
    if(Dtc_PlayerHaveCar[playerid][x])
    {
    if(vid == PlayerCar[theOwner][x][CarId])
    {
    xid = x;
    break;
    }
    }
    }
    PlayerCar[theOwner][xid][Kralle] = 0;
    format(globquery,256,"UPDATE `carsystem` SET `Kralle`='0' WHERE `CarOwner`='%s_%d'",GetName(playerid),xid);
    mysql_query(globquery);
    format(globquery, sizeof(globquery), "* %s baut die Parkkralle des Fahrzeugs ab.", GetName(playerid));
    ProxDetector(30.0, playerid, globquery, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_WHITE, "============= [Parkkralle] =============");
    SendClientMessage(playerid, COLOR_RED, "FEHLER: /parkkralle [name]");
    SendClientMessage(playerid, COLOR_GREY, "Verfügbare Namen: Anbauen, Abbauen");
    SendClientMessage(playerid, COLOR_WHITE, "============= [Parkkralle] =============");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du gehörst nicht zum Ordnungsamt!");
    return 1;
    }
    return 1;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


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