Beiträge von Jeffry

    Bei OnPlayerCommandText:
    if(!strcmp(cmdtext, "/fahrrad", true))
    {
    new Float:x, Float:y, Float:z, Float:a;
    GetPlayerPos(playerid, x, y, z);
    GetPlayerFacingAngle(playerid, a);
    new vID = CreateVehicle(509, x, y, z, a, -1, -1, -1);
    PutPlayerInVehicle(playerid, vID, 0);
    SendClientMessage(playerid, 0xFF00FFFF, "Fahrrad!");
    return 1;
    }

    Lass es mal so laufen:
    Was kommt im Log, wenn du auf Löschen drückst?
    case DIALOG_ACSUP:
    {
    printf("response: %d", response);
    if(response == 1)
    {
    new string[128];
    SupInfo[SupIDauswahl[playerid]][bearbeitung]=true;
    format(SupInfo[SupIDauswahl[playerid]][Admin],MAX_PLAYER_NAME,"%s",SpielerName(playerid));
    SupInfo[SupIDauswahl[playerid]][AdminID]=playerid;
    format(string,128,"%s hat dein Support Ticket geöffnet, du kannst einfach im Chat mit ihm schreiben",SpielerName(playerid));
    SCM(SupInfo[SupIDauswahl[playerid]][SpielerID],orange,string);
    SCM(playerid,orange,"Du hast das Ticket geöffnet, du kannst im Chat mit dem User schrieben.");
    ImSupport[playerid]=true;
    ASupportID[playerid]=SupIDauswahl[playerid];
    ImSupport[SupInfo[SupIDauswahl[playerid]][SpielerID]]=true;
    SupIDauswahl[playerid]=0;
    }
    else
    {
    printf("playerid: %d", playerid);
    printf("SupIDauswahl: %d", SupIDauswahl[playerid]);
    new string[128];
    format(string,128,"Du hast das Ticket von %s gelöscht",SupInfo[SupIDauswahl[playerid]][Name]);
    printf("string: %s", string);
    SCM(playerid,orange,string);
    format(string,128,"%s hat dein Support Ticket gelöscht",SpielerName(playerid));
    printf("string: %s", string);
    SCM(SupInfo[SupIDauswahl[playerid]][SpielerID],orange,string);
    subgesendet[SupInfo[SupIDauswahl[playerid]][SpielerID]]=false;
    SupInfo[SupIDauswahl[playerid]][erstellt]=false;
    ImSupport[playerid]=false;
    ASupportID[playerid]=-1;
    printf("%d", SupInfo[SupIDauswahl[playerid]][SpielerID]);
    ImSupport[SupInfo[SupIDauswahl[playerid]][SpielerID]]=false;
    SupIDauswahl[playerid]=0;
    }
    }

    Jeweils mit ShowPlayerDialog und DIALOG_STYLE_INPUTTEXT.
    Dann nimmst du die Teile von OnPlayerText (?) und ersetzt eben "text" mit "inputtext".


    Versuche es mal selbst, ob du das hinbekommst.
    Ansonsten poste hier den Teil von OnPlayerText noch.

    Was wird geprintet, wenn du es so laufen lässt, wenn du im Fahrzeug sitzt?

    Spoiler anzeigen
    COMMAND:carlock(playerid,params[])
    {
    new Float:CarPos[3],string[144];
    printf("state: %d", GetPlayerState(playerid));
    if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
    for(new i;i<MAX_VEHICLES;i++)
    {
    GetVehiclePos(i,CarPos[0],CarPos[1],CarPos[2]);
    if(IsPlayerInRangeOfPoint(playerid,3,CarPos[0],CarPos[1],CarPos[2]))
    {
    new x = IsAPlayerCar(i);
    if(x != -1)
    {
    if(!strcmp(PlayerName[playerid],CarInfo[x][c_Owner],true))
    {
    GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
    if(!doors)
    {
    SetVehicleParamsEx(i,engine,lights,alarm,1,bonnet,boot,objective);
    format(string,sizeof(string),"~w~%s ~r~abgeschlossen",GetVehicleName(i));
    GameTextForPlayer(playerid,string,2000,4);
    CarInfo[x][Locked]=1;
    return 1;
    }
    else
    {
    SetVehicleParamsEx(i,engine,lights,alarm,0,bonnet,boot,objective);
    format(string,sizeof(string),"~w~%s ~g~aufgeschlossen",GetVehicleName(i));
    GameTextForPlayer(playerid,string,2000,4);
    CarInfo[x][Locked]=0;
    return 1;
    }
    }
    }
    }
    }
    }
    else if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    printf("vehicleid: %d", vehicleid);
    new x = IsAPlayerCar(vehicleid);
    printf("x: %d", x);
    if(x != -1)
    {
    printf("%s",PlayerName[playerid]);
    printf("%s", CarInfo[x][c_Owner]);
    if(!strcmp(PlayerName[playerid],CarInfo[x][c_Owner],true))
    {
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(!doors)
    {
    printf("Zu");
    SetVehicleParamsEx(vehicleid,engine,lights,alarm,1,bonnet,boot,objective);
    format(string,sizeof(string),"~w~%s ~r~abgeschlossen",GetVehicleName(vehicleid));
    GameTextForPlayer(playerid,string,2000,4);
    CarInfo[x][Locked]=1;
    return 1;
    }
    else
    {
    printf("Auf");
    SetVehicleParamsEx(vehicleid,engine,lights,alarm,0,bonnet,boot,objective);
    format(string,sizeof(string),"~w~%s ~g~aufgeschlossen",GetVehicleName(vehicleid));
    GameTextForPlayer(playerid,string,2000,4);
    CarInfo[x][Locked]=0;
    return 1;
    }
    }
    }
    }
    return 1;
    }

    Dann ändere mal in SetPlayerSpawn:
    if(PlayerInfo[playerid][pTut] == 0)
    zu:
    if(PlayerInfo[playerid][pTut] == 0 && gPlayerAccount[playerid] == 0)


    Irgendwie ist der Zusammenhang des Codes nicht komplett. Versuche es mal so, wenn's nicht geht überlege ich mir was anderes.

    Schreibe es mal so. Deine Schleifen waren etwas zu viel.


    COMMAND:carlock(playerid,params[])
    {
    new Float:CarPos[3],string[144];
    if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
    for(new i;i<MAX_VEHICLES;i++)
    {
    GetVehiclePos(i,CarPos[0],CarPos[1],CarPos[2]);
    if(IsPlayerInRangeOfPoint(playerid,3,CarPos[0],CarPos[1],CarPos[2]))
    {
    new x = IsAPlayerCar(i);
    if(x != -1)
    {
    if(!strcmp(PlayerName[playerid],CarInfo[x][c_Owner],true))
    {
    GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
    if(!doors)
    {
    SetVehicleParamsEx(i,engine,lights,alarm,1,bonnet,boot,objective);
    format(string,sizeof(string),"~w~%s ~r~abgeschlossen",GetVehicleName(i));
    GameTextForPlayer(playerid,string,2000,4);
    CarInfo[x][Locked]=1;
    return 1;
    }
    else
    {
    SetVehicleParamsEx(i,engine,lights,alarm,0,bonnet,boot,objective);
    format(string,sizeof(string),"~w~%s ~g~aufgeschlossen",GetVehicleName(i));
    GameTextForPlayer(playerid,string,2000,4);
    CarInfo[x][Locked]=0;
    return 1;
    }
    }
    }
    }
    }
    }
    else if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    new x = IsAPlayerCar(vehicleid);
    if(x != -1)
    {
    if(!strcmp(PlayerName[playerid],CarInfo[x][c_Owner],true))
    {
    GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
    if(!doors)
    {
    SetVehicleParamsEx(vehicleid,engine,lights,alarm,1,bonnet,boot,objective);
    format(string,sizeof(string),"~w~%s ~r~abgeschlossen",GetVehicleName(vehicleid));
    GameTextForPlayer(playerid,string,2000,4);
    CarInfo[x][Locked]=1;
    return 1;
    }
    else
    {
    SetVehicleParamsEx(vehicleid,engine,lights,alarm,0,bonnet,boot,objective);
    format(string,sizeof(string),"~w~%s ~g~aufgeschlossen",GetVehicleName(vehicleid));
    GameTextForPlayer(playerid,string,2000,4);
    CarInfo[x][Locked]=0;
    return 1;
    }
    }
    }
    }
    return 1;
    }



    stock IsAPlayerCar(vehicleid)
    {
    for(new i=0;i<MAX_CARS;i++)
    {
    if(vehicleid == CarInfo[i][c_ID])
    {
    return i;
    }
    }
    return -1;
    }

    Die Sprache an sich ist schon relativ einfach. Man kann sich die Befehle natürlich auch umändern, so wie es in deinem Beispiel mit dem Plugin gemacht wurde, dann kommt sowas dabei raus (kann man natürlich auch sinnvoller benennen):
    http://forum.sa-mp.com/showthread.php?t=255246 :D



    Wenn du PAWN nicht magst (warum?), dann kannst du dir das hier mal anschauen, vielleicht liegt dir Java mehr, falls du es inzwischen kannst:
    [ PLUGIN ] [UPDATE][0.3z] Project Shoebill 1.1 - SA-MP Java Development Kit - SNAPSHOT von mk124



    Ansonsten ist die Sprache wie sie ist.

    GetPlayerName(playerid, plname, sizeof(plname));
    format(string, sizeof(string),"/Accounts/%s.ini", plname);
    if(fexist(string)) gPlayerAccount[playerid]=1;
    else gPlayerAccount[playerid]=0;
    printf("string:%s Account:%d Logged:%d", string, gPlayerAccount[playerid], gPlayerLogged[playerid]);
    if(gPlayerAccount[playerid] == 1 && gPlayerLogged[playerid] == 0)
    {


    format(string,sizeof(string)," Willkommen zurück!\n {B0C4DE}Account: %s \n TIPP: Verwende dein Passwort nie auf anderen Servern! Du solltest es auch nicht\n an eine Zweite Person weitergeben!\n Bitte logge dich mit deinem Passwort ein...",plname);
    print(string);
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"{B0C4DE}Willkommen zurück auf ---{FFFFFF}",string,"Login","");
    }
    else if(gPlayerAccount[playerid] == 0 && gPlayerLogged[playerid] == 0)
    {
    new string1[250];
    format(string1,sizeof(string1),"Herzlich Willkommen auf ---, um auf unserem Server spielen zu können\nbenötigst du einen Account!\nMöchtest du dir einen Account in unserer Datenbank registrieren?\nDein Nickname: %s\nBitte gebe nun dein gewolltes Passwort ein.",plname);
    ShowPlayerDialog(playerid,DIALOG_REG2,DIALOG_STYLE_PASSWORD,"--- Register Panel",string1,"Register","");
    }
    return 1;
    }


    Was steht im Log wenn du in den Server kommst?

    format(string, sizeof(string),"/Accounts/%s.ini", plname);
    Zu
    format(string, sizeof(string),"/Accounts/%s.ini", plname);
    if(fexist(string)) gPlayerAccount[playerid]=1;
    else gPlayerAccount[playerid]=0;

    Ändere
    strmid(PlayerInfo[playerid][pKey], valtmp, 0, strlen(valtmp)-1, 255);
    Zu
    strmid(PlayerInfo[playerid][pKey], valtmp, 0, strlen(valtmp), 255);


    Wenn es nicht geht poste nochmal den Print und wie du pKey im enum deklariert hast.