du hast 2 klaamern zu viel zugemacht
Beiträge von Optiimal
-
-
Yaaaaaa Funkt
-
SetPlayerCheckpoint(playerid, 1224.3978,-1814.8796,16.5938,3.0);
Ja danke
-
if(dialogid == gpsmenu)
if(response)
{
if(listitem == 0) // Autohaus
{
SetPlayerCheckpoint(2,playerid,2128.7495,-1136.9591,25.5209);
}
if(listitem == 1) // Kleidergeschäft
{
SetPlayerCheckpoint(2,playerid,1468.8552,-1173.6022,23.9747);
}
if(listitem == 2) // Stadthalle
{
SetPlayerCheckpoint(2,playerid, 1224.3978,-1814.8796,16.5938);
}
if(listitem == 3) // Polizei
{
SetPlayerCheckpoint(2,playerid,1542.6882,-1675.3882,13.5550);
}}
}
return 1;
}
ich kann die einzelnen zwar anklicken im menu aber es kommt kein Checkpoint wie soll ich das machen -
Könnte mir bitte einer ein Filterscript oder sonstiges erstellen mit einer fraktion arzt oder o-amt oder sonstiges ich verstehe die ganzen sachen nicht die hier im forum sind
habe schon alles versucht nur nichts hilft hoffe es ist einer so nett ich arbeite an einen Selfmade
MFG Mipu -
Ok vielen dank funkt so (=
-
ahh danke schön (=
Edit: Muss das bei Onplayercommandtext hin oder
unter ondialogresponse ?? -
if(dialogid == SHmenu) {
if(response)
{
if(listitem == 0) // Fuehrerschein
{GivePlayerMoney(playerid, -2000);
Spieler[playerid][aFuhrerschein] = 1;
}}
}return 1;
}else if(strcmp("/fuehrerschein", cmdtext, true) == 0)
{
if (IsPlayerInRangeOfPoint(playerid, 3, 361.8758,173.7471,1008.3828){
ShowPlayerDialog(playerid, SHmenu, DIALOG_STYLE_LIST, "fuehrerschein","fuehrerschein", "Auswählen", "Abbrechen");}
else
SendClientMessage(playerid, COLOR_RED, "Du bist nicht in der Stadthalle");
}Wie mache ich das das wenn man nicht genug geld hat das man sich denn nicht Kaufen kann
und wenn man schon einen hat will ich auch das man keinen kaufen kann -
Hey das ist sehr nett von dir vielen vielen dank (=
-
forward PlayerInfo(playerid);}
enum pInfo
aFuhrerschein
}else if (strcmp("/fuehrerschein", cmd, true, 10) == 0)
{
if(PlayerToPoint(3.0,playerid,361.8758,173.7471,1008.3828))
{
SendClientMessage(playerid, COLOR_WHITE,"Du hast dir denn Fuehrerschein Gekauft");
GivePlayerMoney(playerid, -2000);
{
PlayerInfo[playerid][aFuhrerschein] = 1;
}
}
}
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\myrl.pwn(598) : warning 217: loose indentation
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\myrl.pwn(601) : warning 217: loose indentation
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\myrl.pwn(625) : warning 217: loose indentation
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\myrl.pwn(636) : warning 217: loose indentation
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\myrl.pwn(723) : warning 217: loose indentation
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\myrl.pwn(724) : warning 217: loose indentation
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\myrl.pwn(796) : warning 217: loose indentation
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\myrl.pwn(956) : error 028: invalid subscript (not an array or too many subscripts): "PlayerInfo"
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\myrl.pwn(956) : warning 215: expression has no effect
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\myrl.pwn(956) : error 001: expected token: ";", but found "]"
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\myrl.pwn(956) : error 029: invalid expression, assumed zero
C:\Program Files\Rockstar Games\GTA San Andreas\gamemodes\myrl.pwn(956) : fatal error 107: too many error messages on one lineCompilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
was ist hier falsch
EDIT: Hat sich erledigt hab e selber gefixt
-
Danke das ist sehr nett von dir (=
-
Ja sowas wäre interessant vill hat da jemand eine idee
-
Ne das ist nicht das Problem das weis ich eh aber es ist ein Dialog login system und der dialog fürs einlogen kommt nicht mehr habe nichts verändert oder nsonstiges hat auf einmal nicht mehr gefunkt
-
Ihr beginnt damit eine normale Struktur aufzubauen, mit allen Daten die ihr braucht
Pawn-Quelltext
1
2
3
4
5
6
7
enum spieler_daten
{
wanted,
skin,
Float:lastx,Float:lasty,Float:lastz,
eingeloggt
}nun möchten wir das ganze auch nutzen können für die Gesamten Spieler , man könnte das natürlich gleich alles mit MAX_PLAYERS hinklatschen aber so
macht ihr alles nur Unordentlicher & unübersichtlicher ( vom Ressourcen verbraucht mal ganz abgesehen )Pawn-Quelltext
1
new Spieler[MAX_PLAYERS][spieler_daten];Wie ihr seht die Variable ,,Spieler´´ mit 200 Slots & 200x den gleichen Inhalt also spieler_daten , warum mache ich das so ?
Nun ja so wird das ganze noch einmal ein Stück besser da man sich keine Zahlen oder extra Variablen merken muss & zudem ist
das ganze Strukturierter aufgebaut.Als nächstes geht ihr erst einmal in die Klasse/Callback ,,OnPlayerDisconnect´´ & löscht die Daten bzw. setzt sie zurück damit nicht Später ein anderer Spieler eure Daten hat,
außerdem Speichern wir alle wichtigen Dinge vorher, wir müssen aber auch abfragen ob der Spieler schon eingeloggt war damit nicht irgendwelche Daten gespeichert werden.Pawn-Quelltext
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
new pname[MAX_PLAYERS],accFormat[128];
GetPlayerName(playerid,pname,sizeof pname);
format(accFormat,sizeof accFormat,"%s.datei",pname);
if(fexist(accFormat) && Spieler[playerid][eingeloggt])
{
dini_IntSet(accFormat,"wanted",Spieler[playerid][wanted]);
dini_IntSet(accFormat,"skin",Spieler[playerid][skin]);
dini_FloatSet(accFormat,"lastx",Spieler[playerid][lastx]);
dini_FloatSet(accFormat,"lasty",Spieler[playerid][lasty]);
dini_FloatSet(accFormat,"lastz",Spieler[playerid][lastz]);
}
Spieler[playerid][eingeloggt] = 0;
Spieler[playerid][wanted] = 0;
Spieler[playerid][skin] = 0;
Spieler[playerid][lastx] = (0.0);
Spieler[playerid][lasty] = (0.0);
Spieler[playerid][lastz] = (0.0);So fürs erste war es das , nun geht es weiter mit den Dialog ID's , ihr definiert nun oben die Dialog ID's , ihr könnt natürlich auch gleich irgendwelche Zahlen nehmen aber
so verliert man die Übersicht nicht & weiß welchen Dialog man schon belegt hat.Pawn-Quelltext
1
2
#define DIALOG_LOGIN 3
#define DIALOG_REG 4Das tut ihr am besten in den Kopf des Skripts wo die von außerhalb einbezogenen Inc Dateien auch ihren Platz finden.
So also unser Login Dialog hat ID 3 & die 4 bekommt der Dialog für die Registrierung.Fahren wir weiter fort mit dem erkennen des Accounts & abfragen dazu gehen wir in OnPlayerConnect & fragen ab ob die Datei mit unserem Nickname existiert.
Pawn-Quelltext
1
2
3
4
5
6
7
8
9
10
11
new pname[MAX_PLAYERS],accFormat[128];
GetPlayerName(playerid,pname,sizeof pname);
format(accFormat,sizeof accFormat,"%s.datei",pname);
if(fexist(accFormat))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
}
else
{
ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Abbrechen","Weiter");
}So nun Suchen wir ,,OnDialogResponse´´ auf Fragen die Dialog Daten ab.
Pawn-Quelltext
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new pname[MAX_PLAYERS],accFormat[128];
GetPlayerName(playerid,pname,sizeof pname);
format(accFormat,sizeof accFormat,"%s.datei",pname);
if(response)
{
switch(dialogid) // dialogid auswählen
{
case DIALOG_LOGIN: // ID Login
{
if(!strlen(inputtext))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
}
if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0) // Passwort Direkt aus der Datei Laden
{
Spieler[playerid][wanted] = dini_Int(accFormat,"wanted");
Spieler[playerid][skin] = dini_Int(accFormat,"skin");
Spieler[playerid][lastx] = dini_Float(accFormat,"lastx");
Spieler[playerid][lasty] = dini_Float(accFormat,"lasty");
Spieler[playerid][lastz] = dini_Float(accFormat,"lastz");
Spieler[playerid][eingeloggt] = 1; // Spieler ist nun erfolgreich eingeloggt
SendClientMessage(playerid,0xFFFFFFFF,"Du wurdest erfolgreich eingeloggt.");
}
else
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
}
}
case DIALOG_REG: // ID Registrieren
{
if(!strlen(inputtext)) // Text darf nicht = Null sein Null im Sinne von nichts
{
ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Abbrechen","Weiter");
return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist zu kurz!");
}
dini_Create(accFormat);
dini_Set(accFormat,"Passwort",inputtext);
Spieler[playerid][eingeloggt] = 1;
SendClientMessage(playerid,0xFFFFFFFF,"Account wurde angelegt und du wurdest eingeloggt.");
}
}
}
else
{
switch(dialogid)
{
case DIALOG_LOGIN:ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Bitte logge dich ein","Abbrechen","Weiter");
case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Bitte Registriere dich","Abbrechen","Weiter");
}
}
return 1;
}So wie man sieht Frage ich ab ob der Button 1 genutzt wird ,,if(response)´´ und fahre fort , dann wechsele ich zur richtigen Dialog ID und handle dementsprechend wie in einem normalen Login/Register System, der Unterschied ist dabei das wir nicht abfragen müssen ob der Spieler schon eingeloggt oder Registriert ist , denn der Spieler kann die Dialoge ja nicht Manuell abrufen wann er möchte denn das wird
bei OnPlayerConnect erledigt.Zum Schluss muss ich noch sagen , das ihr die Daten wir Wanted noch im Spieler übernehmen bzw. könnt ihr eure Variable nehmen oder sie setzen wie Beispielsweise mi SetPlayerWantedLevel
oder die Position bei OnPlayerSpawn , hier mal eben gemacht , also wie gesagt einfach selber übernehmen , hier geht es nur um die Verbindung zwischen GUI & Interaktiven Funktionen etc.Pawn-Quelltext
1
2
3
4
5
6
7
new pname[MAX_PLAYERS],accFormat[128];
GetPlayerName(playerid,pname,sizeof pname);
format(accFormat,sizeof accFormat,"%s.datei",pname);
if(dini_Isset(accFormat,"lastx"))
{
SetPlayerPos(playerid,Spieler[playerid][lastx],Spieler[playerid][lasty],Spieler[playerid][lastz]);
}Hier habe nichts verändert oder sonstiges!
-
Hallo habe probleme habe mir von hier ein Gui Login nachgemacht und hat auch prima gefunkt doch jetzt funkt es auf einmal nicht mehr habe nicht wirklich etwas gemacht
und habe es nochmal kontrolliert mit dem hier im forum stimmt alles überein was kann da los sein -
wenn ich denn samp server runterlade und speicher kommt immer das ich virus hab und muss das prog löschen ich habs runtergeladen von http://www.sa-mp.com
-
Hallo ich hätte gerne eine funktion das man auf einen bestimmten punkt denn Führerschein kaufen kann
und wenn man keinen hat wird man aus dem auto geschmissen habe es selber schon versucht aber das funkt nicht vill kann mir jemand helfen
MFG mipu -
Ok werde ich machen danke trozdem (=
-
ja danke dir kannst du mir vill auch den code schreiben weil ich verstehe nicht wie ich das sonst machen soll wäre nett von dir
danke -
Ja eben das weis ich nicht ich hab mir halt mal gedacht ich versuche das so vill geht das ja^^ ich habe auch kP
deswegen frage ich die breadis das sie mir helfen^^