---
viel mehr gibt es kaum zu sagen / fragen, auser noch, wie fängt man mit ner INC an? also das hat doch sicher kein include <samp> oder so
was muss alles rein, damit es funzt?
und wie mache ich dann ein cmd? wie zb ich möchte SetPlayerHealth kürzen in SetHealth oder so, wie macht man das?^^
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
-
-
Eine include kann eigentlich ein .pwn File sein.
In ner include sollte #include <a_samp> sein.
Dann kannst dort Funktionen einbauen etc.
Am besten solche die nicht gegenwärtige Funktionen/Callbacks IM GM überschneiden. -
kannst du mir zeigen wie ein rohling aussieht mit der SetPlayerHealth funktion pls? ich habe keine ahnung wie ich anfangen soll, wie denn auch? o.o
-
Zuerst als Include definieren:
#if !defined _IncName_included
#define _IncName_included
#endifDanach Funktionen erstellen. Da gibts zwei Möglichkeiten.
1. Ein Define-Makro:
Ein define-Makro kannst du wie der Name schon sagt per #define erstellen.
Kleines Beispiel für ein "Add"-Makro:
#define add(%1,%2) %1+%2
%1 und %2 stehen dabei für die Parameter. Dabei muss jeder Parameter um 1 größer sein als der vorherige.
Also: 1,2,3,.... usw.Möglichkeit 2 wäre:
Custom Function:
Eine in Pawn erstelle, nicht-native, Funktion:
stock /* Optional | "stock" gibt an dass die Variable wenn sie nicht benützt wird quasi auf den Müll kommt und nicht beachtet wird */ Kill(playerid)
{
SetPlayerHealth(playerid, 0.0);
return 1;
}In dieser Funktion kannst du quasi alles einbauen. Du kannst auch Variablen die NICHT in der Include sind mit einbeziehen, allerdings brauchst du diese Variablen dann bei Benutzen der Funktion.
Wenn du dir genug Funktionen eingebaut hast speicherst du das ganze als "Name.inc" im Pawno/Includes Ordner ab und bindest die Include dann per #include Name ein.
-
1. muss das included hinten vom IncName_included dran bleiben? also hier?
#if !defined _IncName_included
#define _IncName_included2. also wie mach ich nun eine "abkürzung" von SetPlayerHealth zu SetHealth? das interessiert mich jetzt am meinsten^^ 3. danke schonmal im vorraus
-
Also so eine Abkürzung soltle sogar schon so funktionieren:
#define SetHealth SetPlayerHealth
Obs das nu bringt, weis ich auch nicht -
#if !defined _IncName_included
#define _IncName_included
#endifbraucht man nicht unbedingt
nimm ne Blank inc Datei und erstelle wie Bright es erklärt hat einfach deine Funktionen
und zusätze, am ende einbeziehen und Fertig,
a_samp inc muss nicht rein da inc von Prinzip aus nicht Kompiliert werden , wenn du a_samp in deinem
Skript hast wo es genutzt werden soll reicht das.Ausserdem können auch public Classes erstellt werden:
forward myclass();
public myclass()
{
return <integer-value>; // zahlen wert
} -
also ... muss das dann so aussehen?
stock /* Optional | "stock" gibt an dass die Variable wenn sie nicht benützt wird quasi auf den Müll kommt und nicht beachtet wird */ Kill(playerid)
{
SetPlayerHealth(playerid, Float:Health);
}
{SetHealth(playerid, Float:Health);
return 1;
}
-
Was kann stock ?
stock ist wie public, kann aber nicht nur Zahlen zurück geben sondern auch Strings, Float , hex etc.
stock muss nicht deklariert werden wie eine Öffentliche Standard Klasse
stock wird nicht als unbenutzt angezeigt wenn diese Funktion nicht verwendet wirdBeispiel:
stock Spielername(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
return name;
} -
achsoooooooooooooooo^^
gibts noch mehr als MAX_PLAYER_NAME* (editiert) oder wie das hieß? zb für den floot:health?
dann könnte ich los legen, brauch nur kurz bissl help^^
€: aso ups ja hehe^^
aber ich versteh nicht wie man solche zahlen machen soll also wie +1 oder -1 ect. mit float:number? geht nicht pls help^^
lol blackfox antwortet net, denke sein postfach ist voll.
//edit2: bitte, ich brauche nur noch diese eine info, dannach bin ich fertig :D:D:D -
new Float:healt;
GetPlayerHealth(playerid,health);
SetPlayerHealth(playerid,health-100.0);Meinst du sowas
-
das habe ich ja schon längst, aber ich meinte mit zahlen wie +1 oder -1, halt das man auch SetPlayerScore kürzen kann^^ (das habe ich net vor zu kürzen, dannach hat es mit SetPlayerScore zutun.) dafür brauch ich den float namen der zahlen. habe auch 'score' versucht, aber geht net, gibt nur error
bei StePlayerHealth ist es ja float:health was ja dabei is. aber wie heißt es für die zahlen? -
Bei Zahlen brauchts kein Tag welches die Variable bestimmt deklariert.
stock integeroutput(int) {
printf("%d", int);
return 1;
} -
nein du verstehst das net
hier ml ein beispiel an einem Tag wo immer ein error kommt weil ich den code net weiß -.-^^stock AddScore(playerid, score //was soll da hin?)
{
SetPlayerScore(playerid, score //was soll da hin?);
return 1;
}
oder hab ich dein komisches profi zeugs net verstanden? -
SetPlayerScore(playerid,GetPlayerScore(playerid)+1);
-
ja ach nee, aber man soll ja wenn man das eingibt ja wariieren können! damit man nicht nur +1 machen kann. zb so: AddScore(playerid, -4 */-1 +3 ect/*);
-
AddScore(playerid, score = 1) {
SetPlayerScore(playerid, GetPlayerScore(playerid) + score);
return 1;
}
=> Wenn "score" ausgelassen wird, wird der Score um 1 erhöht. -
stock AddScore(playerid,score)
{
SetPlayerScore(playerid,GetPlayerScore(playerid)+score);
}Sowas ???
-
lol genau blackfox ich geh kurz testen, danke schonmal.
aber wieso +score? könnte doch auch - sein oder net? soll ja net nur + sein >:=P
fu** so wie immer:
D:\Programme\SAMP Server\pawno\Include\Abkürzungen.inc(13) : error 013: no entry point (no public functions)
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase1 Error.
stock AddScore(playerid,score)
ich habe doch auch schon score versucht, aber er erkennt es scheinbar net! -
#define _IncName_included
Nach ganz oben. -