stock GivePlayerHP(playerid,Float:HP)
{
new Float:Health;
GetPlayerHealth(playerid,Health);
SetPlayerHealth(playerid,Health+HP);
return 1;
}
Beiträge von BlueSpider
-
-
Du könntest es natürlich verschenken verkaufen was auch immer, aber ich würde es an deiner Stelle verbessern , optimieren und neue Systeme einbauen.
Lass es als kleines Hobby/kleine nebenbeschäftigung liegen. Zu verbessern gibt es nämlich immer was -
jetzt wirds komplex
#define dia_gangcar 0
#define MAX_GANGCAR 5
enum gangcar_e
{
carid,
float:car_x,
float:car_y,
float:car_z,
gang,
modell,
}
new gangcar[MAX_GANGCAR][gangcar_e];//Ongamemodeinit - Lese Vorgang
new Fahrzeugverzeichnis[64];
format(Fahrzeugverzeichnis,sizeof Fahrzeugverzeichnis,"Gangautos.txt");
new string_read[128];
for(new i = 0; i < MAX_GANGCAR; i++)
{
format(string_read,sizeof(string_read),"Groove_%d_Modell",i);
gangcar[i][modell] = dini_Int(Fahrzeugverzeichnis,string_read);
}//Befehl
if (strcmp("/gangautos", cmdtext, true, 10) == 0)
{
new string[128];
for(new i = 0; i < MAX_GANGCAR; i++)
{
format(string,sizeof(string),"%s \n %d - CARID: %d",string,i,gangcar[i][modell]);
}
ShowPlayerDialog(playerid,dia_gangcar,DIALOG_STYLE_LIST,"GangAutos",string,"jojo", "nene");
return 1;
}Ich hoffe mal das dass hilft
€dit//
Added & logik fehler fixed
In der enum fehlt übrigens noch eine Variable für das Fahrzeugmodell -
naja d.h. eine enum Klasse mit vielen variablen.
#define MAX_GANGCAR 5
enum gangcar_e
{
carid,
float:car_x,
float:car_y,
float:car_z,
gang,
}
new gangcar[MAX_GANGCAR][gangcar_e];// Ongamemodeinit - Lese Vorgang
new Fahrzeugverzeichnis[64];
format(Fahrzeugverzeichnis,sizeof Fahrzeugverzeichnis,"Gangautos.txt");
new string_read[128];
for(new i = 0; i < MAX_GANGCAR; i++)
{
format(string_read,sizeof(string_read),"Groove_%d_Modell",i);
gangcar[i][carid] = dini_Int(Fahrzeugverzeichnis,string_read);
CreateVehicle(gangcar[i][carid],..
}Als Beispiel.
Edit//
Ups
Ich glaub ich brauche eine Brille
format(string,sizeof(string),"%s \n %d - CARID: %d",string,i,GetVehicleModel(Fraktionscar[i]));Musste doppelt zu
-
Ohne Besitzer & Gang Angabe ?
-
Achso...
Also was du da bauen möchtest ist ein halbes Car system und erfodert einen Aufwand von 1000Zeilen +. -
#define dia_gangcar 0
#define MAX_GANGCAR 5
new gangcar[MAX_GANGCAR];//---
if (strcmp("/gangautos", cmdtext, true, 10) == 0)
{
new string[128];
for(new i = 0; i < MAX_GANGCAR; i++)
{
format(string,sizeof(string),"%s \n %d CARID: %d",string,i,GetVehicleModel(gangcar[i])
}
ShowPlayerDialog(playerid,dia_gangcar,DIALOG_STYLE_LIST,"GangAutos",string,"jojo", "nene");
return 1;
}Das ist nur der erste teil.
Ansonsten bitte noch etwas genauer beschreiben was du meinst. -
Also ich würde das problem ja jetzt noch unter OnPlayerSpawn suchen.
-
[Mit Rusischen Akzent lesen]
Weißt du noch ?
hmmm ?
Als SA-MP.de eigenen sa-mp Server machen wollte ..?
ähmmmm ..
Das war scheiße .....
ähmmm...[/Mit Rusischen Akzent lesen]
Kurz gesagt : Organisation = katastrophe.
-
Was soll der Code eigetnlich bewirken ?
Erklärung wäre nett -
new freeze;
if (strcmp("/freezeall", cmdtext, true, 10) == 0)
{
if(freeze==1)
{
TogglePlayerControllable(playerid,1);
freeze=0;
return 1;
}
TogglePlayerControllable(playerid,0);
freeze=1;
return 1;
}Beim wiederholen des befehls wenn alle schon gefreezt sind werden sie wieder entfreezt.
-
Naja Direkt nicht. Ich glaube das man dort zu der y achse circa 10 dazu addieren müsste.
Ganz genau weiß ich es jetzt aber auch nicht.
Probieren geht über Studieren ? -
Oke danke soweit aber bei mir kommt immer keine rückmeldung, mache ich villt etwas falsch ?
also nochmal, ich mache es so:Gamemode --> pwn datei --> in pawno öffnen compile und dann crash
Klammer Fehler.
-
Nicht komplett weg machen ..
Nur die "//" weg machen.
Der Fehler der jetzt kommt sagt nichts anderes aus das du OnDialogResponse nicht geschlossen hast. ( } ) -
Also hier wäre meine Variante :
#define MAX_BOMB 5
new dynamit[MAX_PLAYERS][MAX_BOMB]; /* 0 = false ; 1 = true */
new object_dyna[MAX_PLAYERS][MAX_BOMB];//Bombe setzen
else if(SpielerInfo[playerid][sKlasse] == 9 && GetPlayerWeapon(playerid) == 0 && SpielerInfo[playerid][sTeam] == 1)
{
new Float:px, Float:py, Float:pz, Float:pa;
GetPlayerFacingAngle(playerid,pa);
GetPlayerPos(playerid, px, py, pz);
if(pa >= 0.0 && pa <= 22.5) //n1
{
new i;
for(new g = 0; g < MAX_BOMB; g++)
{
i++;
if ( dynamit[playerid][i] == 0){ g = MAX_BOMB; }
}
OnePlayAnim(playerid,"GRENADE","WEAPON_throwu",4.1,0,0,0,0,0);
SendClientMessage(playerid,COLOR_YELLOW,"Gehe soweit wie möglich weg und gebe /det ein, betätige den Detonator um das Dynamite hochzujagen >).");
dynamit[playerid][i] = 1;
object_dyna[playerid][i] = CreateObject(1654, px, py+3, pz-0.785, 0.0, 0.0, 0.0);
printf("Bomb Set, ID : %d",i);
}
}//Bombe zünden
else if(GetPlayerWeapon(playerid) == 40)
{
new Float:bx, Float:by, Float:bz;
new i;
new i;
for(new g = 0; g < MAX_BOMB; g++)
{
i++;
if ( dynamit[playerid][i] == 1){ g = MAX_BOMB; }
}
GetObjectPos(object_dyna[playerid][i],bx,by,bz);
CreateExplosion(bx, by, bz, 6, 10.0);
DestroyObject(object_dyna[playerid][i]);
object_dyna[playerid][i] = 0;
dynamit[playerid][i] = 0;}
// alle Bomben zünden
else if(GetPlayerWeapon(playerid) == 40)
{
new Float:bx, Float:by, Float:bz;
for(new i = 0; i < MAX_BOMB; i++)
{
if ( dynamit[playerid][i] == 0) return 1;
GetObjectPos(object_dyna[playerid][i],bx,by,bz);
CreateExplosion(bx, by, bz, 6, 10.0);
DestroyObject(object_dyna[playerid][i]);
object_dyna[playerid][i] = 0;
dynamit[playerid][i] = 0;}
}// Nach ID zünden
else if(GetPlayerWeapon(playerid) == 40)
{
/* i = ID */
new Float:bx, Float:by, Float:bz;
GetObjectPos(object_dyna[playerid][i],bx,by,bz);
CreateExplosion(bx, by, bz, 6, 10.0);
DestroyObject(object_dyna[playerid][i]);
object_dyna[playerid][i] = 0;
dynamit[playerid][i] = 0;
}Ungetestet , deinen Code blick ich nicht mehr so wirklich
-
stock ini_Isset(filename[],key[]) {
/* (c) Draco Blue - DINI 1.6*/
new key_length = strlen(key);
if (key_length==0 || key_length+2>255) return false;new File:fohnd;
fohnd=fopen(filename,io_read);
if (!fohnd) return false;new tmpres[255];
while (fread(fohnd,tmpres)) {
if (
tmpres[key_length]=='='
&& !strcmp(tmpres, key, true, key_length)
) {
// We've got what we need
fclose(fohnd);
return true;
}
}
fclose(fohnd);
return false;
}Am Ende des Scripts einfügen.
----
if (ini_Isset("admins.cfg",sname))
{
PlayerInfo[playerid][pAdmin] = INI_ReadInt(sname);
AdminSystemCheck[playerid] = PlayerInfo[playerid][pAdmin];
format(stringtext, sizeof(stringtext), "SERVER: Du hast dich als Admin eingeloggt level: %d ",PlayerInfo[playerid][pAdmin]);
SendClientMessage(playerid, COLOR_WHITE,stringtext);
}Das dürfte das problem erstmal lösen. Ist zwar nicht optimal aber das dürfte hinhauen.
Entweder schreibst du dir die Funktion selbst oder holst dir ein anderes INI System. -
Nein.
Dem Compiler fehlt die Funktion, in der Include fehlt schlichtweg die Funktion.
Was kommt nach der if abfrage ?
Kommt da noch ein else ?€dit //
Wie lautet die datei Variable ? -
Du rufst die SA-MP.com seite auf.
Downloads -> Windows Server -> Archiv runterladen.
Archiv entpacken. In den pawno ordner wechseln und pawno.exe ausführen.File -> Open , dein script öffnen.
Und danach auf Build -> Compile.
Mit Glück hast du dann eine AMX datei. -
Weil er den Code von oben nach unten liest.
Erst beim zweiten Aufruf von OnGamemodeInit ( die callback wo diese abfargen drin sind ) würde die erste Abfrage zutreffen und die definierung OnGamemodeInit würde gelöscht werden.
Ich verstehe nur nicht gerade was du dir davon erhofft hast ?Ps. Sinn = 0.
-
Das ganze würde dann so aussehen :
SetPlayerPos(playerid,dini_Float(spielerdatei,PosX),dini_Float(spielerdatei,PosY),dini_Float(spielerdatei,PosZ));Ansonsten kannst du auch hier noch nachschlagen : [ SCRIPTING ] DINI - Grundfunktionen
Da sind alle Funktionen von DINI aufgelistet und halbwegs erklärt