[Blockierte Grafik: http://s1.directupload.net/images/111212/keeaskad.png]
Guten Tag liebe User, ich wollt euch mal zeigen wie ihr unterschiedliche Tasten für einige Befehle und/oder Funktionen nutzt.
Nunja fangen wir damit an uns mit Pawno auseinander zu setzen. Dazu könnt ihr euch diese Erklärung durchlesen.
Pawno - Erklärung
So wenn ihr dies getan habt, dann kommen wir zu den Callbacks. Die sog. "Callbacks" sind beispielsweise "OnPlayerCommandText" oder "OnGamemodeinit" also etwa alles was mit public anfängt. Natürlich kann man diese durch "Function" oder "DurcheurenWunsch" ersetzen, dazu lest ihr euch des hier durch.
Codeschnipsel
Nun jetzt habt ihr zwei Möglichkeiten, entweder weiter mit "forward Define();" arbeiten und dem nach auch mit "public Define()", oder ihr benutzt den Codeschnipsel "systems"
Bei normalem Weitermachen müsst ihr mit "forward" neue Callbacks definieren, sollte nicht so schwer sein, bei "systems" könnt ihr einfach ein neuen Callback erstellen etwa so.
[pwn]systems Define()
{
//Code
return 1;
}[/pwn]
Egal wie ihr weitermacht es wird euch Beides zum selben Ergebnis führen, die Funktion "system" ist wesentlich Ressourcen sparender.
Jetzt kommen wir zu dem eigentlichem Punkt.
[pwn]OnPlayerKeyStateChange(playerid, newkeys, oldkeys)[/pwn]
Hier drunter könnt ihr eure Tastenfunktionen definieren, sprich, was passiert wenn ich "X" drücke.
Fangen wir gleich damit an die Keys durchzuschauen.
Struktur:
KEY_ACTION
1
~k~~PED_ANSWER_PHONE~
~k~~VEHICLE_FIREWEAPON~-
KEY_CROUCH
2
~k~~PED_DUCK~
~k~~VEHICLE_HORN~
KEY_FIRE
4
~k~~PED_FIREWEAPON~
~k~~PED_FIREWEAPON_ALT~
~k~~VEHICLE_FIREWEAPON~
~k~~VEHICLE_FIREWEAPON_ALT~
KEY_SPRINT
8
~k~~PED_SPRINT~
~k~~VEHICLE_ACCELERATE~
KEY_SECONDARY_ATTACK
16
~k~~VEHICLE_ENTER_EXIT~
~k~~VEHICLE_FIREWEAPON_ALT~
KEY_JUMP
32
~k~~PED_JUMPING~
~k~~VEHICLE_BRAKE~
KEY_LOOK_RIGHT
64
-
~k~~VEHICLE_LOOKRIGHT~
KEY_HANDBRAKE
128
~k~~PED_LOCK_TARGET~
~k~~VEHICLE_HANDBRAKE~
KEY_LOOK_LEFT
256
-
~k~~VEHICLE_LOOKLEFT~
KEY_SUBMISSION
512
-
~k~~TOGGLE_SUBMISSIONS~
KEY_LOOK_BEHIND
512
~k~~PED_LOOKBEHIND~
~k~~VEHICLE_LOOKBEHIND~
KEY_WALK
1024
~k~~SNEAK_ABOUT~
-
KEY_AIM*
128
~k~~PED_LOCK_TARGET~
~k~~PED_LOCK_TARGET~
KEY_ANALOG_UP
2048
-
~k~~VEHICLE_TURRETUP~
KEY_ANALOG_DOWN
4096
-
~k~~VEHICLE_TURRETDOWN~
KEY_ANALOG_LEFT
8192
~k~~VEHICLE_LOOKLEFT~
~k~~VEHICLE_TURRETLEFT~
KEY_ANALOG_RIGHT
16384
~k~~VEHICLE_LOOKRIGHT~
~k~~VEHICLE_TURRETRIGHT~
KEY_YES**
65536
~k~~CONVERSATION_YES~
~k~~CONVERSATION_YES~
KEY_NO**
131072
~k~~CONVERSATION_NO~
~k~~CONVERSATION_NO~
KEY_CTRL_BACK**
262144
~k~~GROUP_CONTROL_BWD~
~k~~GROUP_CONTROL_BWD~
Weiter Keys hier: wiki.sa-mp.com/wiki/GetPlayerKeys
Nehmen wir an ihr wollt mit Enter etwas bewirken, in diesem Fall irgendwo reingehen.
[pwn]if(newkeys == KEY_SECONDARY_ATTACK)// Abfrage welche Taste gedrückt wird
{//Klammer auf
if(IsPlayerInRangeOfPoint(playerid,4.0,1462.4657,-1011.3002,26.8438))//Abfrage wo er gerade ist, in diesem Fall in LS bei der Bank "Standart"
{//Noch eine auf
SetPlayerPos(playerid,1381.2601,-992.4224,5665.418);// Wenn der also die Taste Enter drückt und vor der Bank steht, dann wird seine Position geändert.
SetPlayerInterior(playerid,6);// Genau sein Interior
SetPlayerFacingAngle(playerid,358.0127); //Die Blickrichtung
SendClientMessage(playerid,COLOR_GREEN,"Du hast die Bank betreten");// Eine Nachricht wird gesendet.
}// Klammer zu
}// Klammer zu
[/pwn]
So und genau so geht es weiter .... Ihr könnt auch was anderes daraus machen.
Ich hoffe ihr versteht es und habt auch einige Verbesserungen, Tipps und Informationen über Rechtschreibung etc.. einfach per PN rühren, danke.
[Blockierte Grafik: http://streetlifehistory.net/icon/statisticsM.png] Bewertungen sind erwünscht.
[Blockierte Grafik: http://streetlifehistory.net/icon/userS.png] iPsy systems
Guten Tag liebe User, ich wollt euch mal zeigen wie ihr unterschiedliche Tasten für einige Befehle und/oder Funktionen nutzt.
Nunja fangen wir damit an uns mit Pawno auseinander zu setzen. Dazu könnt ihr euch diese Erklärung durchlesen.
Pawno - Erklärung
So wenn ihr dies getan habt, dann kommen wir zu den Callbacks. Die sog. "Callbacks" sind beispielsweise "OnPlayerCommandText" oder "OnGamemodeinit" also etwa alles was mit public anfängt. Natürlich kann man diese durch "Function" oder "DurcheurenWunsch" ersetzen, dazu lest ihr euch des hier durch.
Codeschnipsel
Nun jetzt habt ihr zwei Möglichkeiten, entweder weiter mit "forward Define();" arbeiten und dem nach auch mit "public Define()", oder ihr benutzt den Codeschnipsel "systems"
Bei normalem Weitermachen müsst ihr mit "forward" neue Callbacks definieren, sollte nicht so schwer sein, bei "systems" könnt ihr einfach ein neuen Callback erstellen etwa so.
[pwn]systems Define()
{
//Code
return 1;
}[/pwn]
Egal wie ihr weitermacht es wird euch Beides zum selben Ergebnis führen, die Funktion "system" ist wesentlich Ressourcen sparender.
Jetzt kommen wir zu dem eigentlichem Punkt.
[pwn]OnPlayerKeyStateChange(playerid, newkeys, oldkeys)[/pwn]
Hier drunter könnt ihr eure Tastenfunktionen definieren, sprich, was passiert wenn ich "X" drücke.
Fangen wir gleich damit an die Keys durchzuschauen.
Struktur:
Define
Value
Gametext-Key on Foot
Gametext-Key in Vehicle
KEY_ACTION
1
~k~~PED_ANSWER_PHONE~
~k~~VEHICLE_FIREWEAPON~-
KEY_CROUCH
2
~k~~PED_DUCK~
~k~~VEHICLE_HORN~
KEY_FIRE
4
~k~~PED_FIREWEAPON~
~k~~PED_FIREWEAPON_ALT~
~k~~VEHICLE_FIREWEAPON~
~k~~VEHICLE_FIREWEAPON_ALT~
KEY_SPRINT
8
~k~~PED_SPRINT~
~k~~VEHICLE_ACCELERATE~
KEY_SECONDARY_ATTACK
16
~k~~VEHICLE_ENTER_EXIT~
~k~~VEHICLE_FIREWEAPON_ALT~
KEY_JUMP
32
~k~~PED_JUMPING~
~k~~VEHICLE_BRAKE~
KEY_LOOK_RIGHT
64
-
~k~~VEHICLE_LOOKRIGHT~
KEY_HANDBRAKE
128
~k~~PED_LOCK_TARGET~
~k~~VEHICLE_HANDBRAKE~
KEY_LOOK_LEFT
256
-
~k~~VEHICLE_LOOKLEFT~
KEY_SUBMISSION
512
-
~k~~TOGGLE_SUBMISSIONS~
KEY_LOOK_BEHIND
512
~k~~PED_LOOKBEHIND~
~k~~VEHICLE_LOOKBEHIND~
KEY_WALK
1024
~k~~SNEAK_ABOUT~
-
KEY_AIM*
128
~k~~PED_LOCK_TARGET~
~k~~PED_LOCK_TARGET~
KEY_ANALOG_UP
2048
-
~k~~VEHICLE_TURRETUP~
KEY_ANALOG_DOWN
4096
-
~k~~VEHICLE_TURRETDOWN~
KEY_ANALOG_LEFT
8192
~k~~VEHICLE_LOOKLEFT~
~k~~VEHICLE_TURRETLEFT~
KEY_ANALOG_RIGHT
16384
~k~~VEHICLE_LOOKRIGHT~
~k~~VEHICLE_TURRETRIGHT~
KEY_YES**
65536
~k~~CONVERSATION_YES~
~k~~CONVERSATION_YES~
KEY_NO**
131072
~k~~CONVERSATION_NO~
~k~~CONVERSATION_NO~
KEY_CTRL_BACK**
262144
~k~~GROUP_CONTROL_BWD~
~k~~GROUP_CONTROL_BWD~
Weiter Keys hier: wiki.sa-mp.com/wiki/GetPlayerKeys
Nehmen wir an ihr wollt mit Enter etwas bewirken, in diesem Fall irgendwo reingehen.
[pwn]if(newkeys == KEY_SECONDARY_ATTACK)// Abfrage welche Taste gedrückt wird
{//Klammer auf
if(IsPlayerInRangeOfPoint(playerid,4.0,1462.4657,-1011.3002,26.8438))//Abfrage wo er gerade ist, in diesem Fall in LS bei der Bank "Standart"
{//Noch eine auf
SetPlayerPos(playerid,1381.2601,-992.4224,5665.418);// Wenn der also die Taste Enter drückt und vor der Bank steht, dann wird seine Position geändert.
SetPlayerInterior(playerid,6);// Genau sein Interior
SetPlayerFacingAngle(playerid,358.0127); //Die Blickrichtung
SendClientMessage(playerid,COLOR_GREEN,"Du hast die Bank betreten");// Eine Nachricht wird gesendet.
}// Klammer zu
}// Klammer zu
[/pwn]
So und genau so geht es weiter .... Ihr könnt auch was anderes daraus machen.
Ich hoffe ihr versteht es und habt auch einige Verbesserungen, Tipps und Informationen über Rechtschreibung etc.. einfach per PN rühren, danke.
[Blockierte Grafik: http://streetlifehistory.net/icon/statisticsM.png] Bewertungen sind erwünscht.
[Blockierte Grafik: http://streetlifehistory.net/icon/userS.png] iPsy systems
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von iPsy ()