Wo er das Fahrzeug erstellt:
Da in dem Insert Query...setz es doch einfach auf 0.
Local hast du vielleicht Default Value 0 und auf dem Server nicht ![]()
Wo er das Fahrzeug erstellt:
Da in dem Insert Query...setz es doch einfach auf 0.
Local hast du vielleicht Default Value 0 und auf dem Server nicht ![]()
und dieser fällt dann auch irgendwann, sodass es auf dem Dach landet.
...sogut wie nicht umsetzbar, sry.
- Ansonsten fällt mir das system von Ryder ein zur Grapple Hook
Ah lol, ja genau das war die Ursprüngliche Idee, nur er hat es ja ohne Seil gemacht, das ja dann n Witz xD
Aber danke für die Ideen, das gefällt mir ![]()
Was passiert mit dem Seilzug wenn man ihn in den Himmel schießt?
Nichts, man muss auch schon was treffen xD
Brauche ja Ziel Koordinaten: http://wiki.sa-mp.com/wiki/OnPlayerWeaponShot
//Edit:
Grad noch ein älteres Thema gefunden, wurde wohl doch schon mal umgesetzt:
http://forum.sa-mp.com/showthread.php?t=563425
Dort aber mit Neon Tubes, sieht aber dennoch sehr lustig aus hahaha xD
Hast du mal crashdetect geladen und in den MySQL Log geschaut (aktiviere den mit mysql_log(LOG_ALL); )? ![]()
Wie immer, einfach mal ein Geiles System, obwohl nicht so viele Funktionen drin sind.
Lies den Text erstmal xD
Das ist nur das Grundsystem.
Wollte ja gerade wissen, ob ihr Ideen habt, außer, dass der Spieler dann zu dem Punkt gezogen wird xD
Hallöchen liebe Brotfische,
hier noch mal ein Spaß System wie man schnell Seile aufhängen kann xD
Der Ursprüngliche Gedanke war, dass man Seile verschießt, so wie in dem Video, dann eine unsichtbare Plattform erstellt wird unter dem Spieler und mit MoveObject wird er dann dahin gebracht.
Der komplizierte Teil ist natürlich nur die Berechnung der Seile, der Rest ist ja dann nur ein Create- & MoveObject ![]()
Wollte mal fragen, wie ihr das so findet, also das ist nicht ein Seil (logischerweise) sondern mehrere die dann so gut es ging aneinander gereiht werden.
Habt ihr hierzu Ideen, was man damit noch alles anstellen könnte?
Lasst mich doch mal eure Meinungen dazu hören ![]()
Mit freundlichen Grüßen
Euer Kalle
Wow, eine Wahnsinns Vorstellung, Respekt!
Also ein paar Dinge dazu:
Also bitte...man muss ja echt nicht viel schreiben, aber wenigstens etwas ![]()
In Zeile 33 von meinem Code nutzt du die MD5 Hash Funktion um das Passwort von dem Spieler zu hashen und in der Datenbank zu speichern.
Das ist auch erstmal gut so, Passwörter sollten nie in Klartext gespeichert werden.
Aber hier werden 2 Fehler gemacht.
Ich war mal so frei und hab deinen Code ein wenig angepasst:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case DIALOG_REGISTER:
{
if(!response) return Kick(playerid);
SetPVarString(playerid,"passwortvar",inputtext);
if(strlen(inputtext) >= 4)
{
ShowPlayerDialog(playerid,DIALOG_INFO1,DIALOG_STYLE_MSGBOX,"Informationen 1/3","Welches Geschlecht hast du?","Männlich","Weiblich");
}
else
{
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registration","{FFFFFF}Wilkommen auf {B08EFF}Enjoy your Life, Roleplay{FFFFFF}\nDieser Account ist bei uns noch nicht registriert!\nGib hier dein gewünschtes Passwort ein.\n\nNach deiner erfolgreichen Registration wirst du automatisch von unserem System gespawnt!","Registrieren","Abbrechen");
}
}
case DIALOG_INFO1:
{
pInfo[playerid][pGeschlecht] = (response)?1:2;
ShowPlayerDialog(playerid,DIALOG_INFO3,DIALOG_STYLE_INPUT,"Information 3/3","Gib hier nun dein Alter an\n Zwischen 12 und 50 Jahren","Bestätigen","Abbrechen");
}
case DIALOG_INFO3:
{
if(!response) return Kick(playerid);
//new alterabfrage=strval(inputtext);
if(IsNummeric(inputtext) && strval(inputtext)>=12 && strval(inputtext) <=50)
{
pInfo[playerid][pAlter]=strval(inputtext);
pInfo[playerid][pEingeloggt]=pInfo[playerid][pNeuling]=1;
new query[256],passworteingabe[128];
GetPVarString(playerid,"passwortvar",passworteingabe,128);
mysql_format(Handle, query, sizeof(query), "INSERT INTO user (Username, Passwort) VALUES ('%e',MD5('%e'))",Spielername(playerid),passworteingabe);
mysql_function_query(Handle,query,true,"OnPlayerRegister", "i",playerid);
printf("%s",query);
}
else
{
ShowPlayerDialog(playerid,DIALOG_INFO3,DIALOG_STYLE_INPUT,"Information 3/3","Gib hier nun dein Alter an\n {FF0000FF}Zwischen 12 und 50 Jahren","{FFFFFF}Bestätigen","Abbrechen");
}
}
case DIALOG_LOGIN:
{
if(!response)return Kick(playerid);
new query[256];
mysql_format(Handle,query,sizeof(query),"SELECT * FROM user WHERE Username='%e' AND Passwort=MD5('%e')",Spielername(playerid),inputtext);
mysql_tquery(Handle,query,"OnPasswordResponse","i",playerid);
}
case DIALOG_FAHRZEUGVERLEIH1:
{
new geld[] = {394,326,316},model[] = {510,481,509},name[][] = {"Mountenbike","Bmx","Fahrrad"};
if (pInfo[playerid][pMietfahrzeug1]!=0) return SendClientMessage(playerid,-1,"{bc4343}Du hat dir bereits ein Fahrzeug gemietet, und kannst dir kein zweites mieten!");
new string[128];
if (pInfo[playerid][pGeld] < geld[listitem]) return format(string,sizeof(string),"{bc4343}Du brauchst $%d um dir das %s zu mieten!",geld[listitem],name[listitem]),SendClientMessage(playerid,-1,string);
GetPlayerPos(playerid,X,Y,Z),GetPlayerFacingAngle(playerid,A);
pInfo[playerid][pMietfahrzeug1] = CreateVehicle(model[listitem], X, Y, Z, A, -1, -1, -1);
PutPlayerInVehicle(playerid,pInfo[playerid][pMietfahrzeug1],0);
GivePlayerMoney(playerid,-geld[listitem]);
pInfo[playerid][pGeld] -= geld[listitem];
}
case DIALOG_SERVICE1:
{
switch(listitem)
{
case 0:
{
if (pInfo[playerid][pGeld] < 966) return SendClientMessage(playerid,-1,"{bc4343}Du brauchst $966 um den Motor zu raperieren!");
SetVehicleHealth(GetPlayerVehicleID(playerid), 1000);
SendClientMessage(playerid, -1, "Der Motor wurde erfolgreich raperiert!");
}
case 1:
{
if (pInfo[playerid][pGeld] < 3299) return SendClientMessage(playerid,-1,"{bc4343}Du brauchst $3299 um dir die leichte Panzerung zu kaufen!");
SetVehicleHealth(GetPlayerVehicleID(playerid), 1250);
SendClientMessage(playerid, -1, "Das Fahrzeug wurde mit der leichten Panzerung ausgestattet!");
}
}
}
}
return 1;
}
Alles anzeigen
Hoffe du siehst den Unterschied und lernst etwas ![]()
PS: MD5 solltest du nicht mehr nutzen, ist überhaupt nicht mehr save xD Da kannst es auch lassen ![]()
weiss zwar nicht mehr wie es in PAWNO war aber in C# müsstest du nach jedem case ein break; setzen damit der auch wenn er in den case geht danach auch aufhört
Das muss man in Pawn (so heißt die Sprache, Pawno ist der Editor) nicht machen ![]()
Deine Klammerung ist der letzte Schrott.
Manchmal steht über einem switch Block einfach ein if-Statement ohne Klammern...was soll das?! (486,559)
Und über 559 wurde der switch Block nicht geschlossen...
Achte einfach auf deine Klammerung...die ist schrecklich.
Überall, auch darüber und so ![]()
Und musst schauen, dass alle switch Statements geschlossen sind ![]()
Schau mal:
if(dialogid == DIALOG_SERVICE1)
{
switch(listitem)
{
case 0:
{
if (pInfo[playerid][pGeld] > 966)
{
new vehicleid = GetPlayerVehicleID(playerid);
SetVehicleHealth(vehicleid, 1000);
SendClientMessage(playerid, -1, "Der Motor wurde erfolgreich raperiert!");
}
else
{
SendClientMessage(playerid,-1,"{bc4343}Du brauchst $966 um den Motor zu raperieren!");
}
}
case 1:
{
if (pInfo[playerid][pGeld] > 3299)
{
new vehicleid = GetPlayerVehicleID(playerid);
SetVehicleHealth(vehicleid, 1250);
SendClientMessage(playerid, -1, "Das Fahrzeug wurde mit der leichten Panzerung ausgestattet!");
}
else
{
SendClientMessage(playerid,-1,"{bc4343}Du brauchst $3299 um dir die leichte Panzerung zu kaufen!");
}
}
}
}
Alles anzeigen
Du musst Klammern setzen bei dem if oben und unten immer ![]()
Kannst du nochmal mehr Code darüber zeigen? ![]()
Genau das dachte ich mir xD
Also du musst hier eine ID noch angeben, z.B.:
#define DIALOG_SERVICE1 1337
Am besten in der Reihenfolge von deinen Dialogen, also der Erste Dialog 0, dann der zweite 1 usw.
Wichtig ist, dass sich die Dialogids nicht überschneiden, also es nicht 2x die 1337 gibt, sonst kommt es natürlich zu Komplikationen.
Schön geht das, wenn man die einfach in ein Enum klatscht, dort werden die nämlich automatisch nummeriert:
Hast du auf den Link mal geklickt?
Hier auch nochmal auf Deutsch: http://wiki.sa-mp.com/wiki/AttachObjectToVehicle_DE
Da ist ja auch ein Beispiel gegeben...
Du musst einfach das Objekt und das Fahrzeug wie dort gezeigt erstellen und dann die Funktion aufrufen, die dann das Objekt an das Fahrzeug klebt an der Position, die du angibst ![]()
DIALOG_SERVICE1
Wie hast n das definiert? ![]()
Das liegt an einem Klammerfehler ![]()
Ich denke in Zeile 592 sollte das eine } sein, anstatt einer { ![]()
Einfach mit [wiki]AttachObjectToVehicle[/wiki] ![]()
Ja, dieses Objekte ist dafür halt nicht geeignet.
Musst du dich wohl mit Alternativen begnügen, wie z.B. 3374, 14873, 14875
oder du packst ein unsichtbares Objekt davor, sodass man die Heu Ballen nicht touchen kann ![]()
Gibt es eine Möglichkeit das Object ( 2901 ) als standhaftes Object zu machen dass man dieses nicht rumschubsen/schießen kann ?
Nein, keine die wirklich gut zu gebrauchen wäre.
Die Frage ist, wofür willst du das denn?!
Das Include was dir Vorgeschlagen wurde, hat damit nichts zu tun.