Guckst du hier, müsst auch nen Beispiel drinne sein
http://dracoblue.net/download/dmap-04/52/
und das von Bread
[ TUTORIAL ] delux gta live map nutzen
Guckst du hier, müsst auch nen Beispiel drinne sein
http://dracoblue.net/download/dmap-04/52/
und das von Bread
[ TUTORIAL ] delux gta live map nutzen
wie dini Funktioniert was wohl jeder aber wie man es noch nutzen kann z.b. ich will alle für einen bestimmten Spieler was Speichern aber alles in einer Datei bzw. ini Datei
new Zahl[MAX_PLAYERS];
new formaten[128];
new name[128];
GetPlayerName(playerid,name,sizeof(name));
format(formaten,sizeof(formaten),"key_%s",name);
if(dini_Exists("EineDatei.ini"))
{
Zahl[playerid] = dini_Int("EineDatei.ini",formaten);
}
So wird aus dem Schlüssel mit dem Namen des Spielers drinne der wert gelesen und man muss nicht mehrere Dateien verwenden
einfach bestimmte werte formatieren und verwenden und als Pfad z.b. man hat einen eigenen ordner wo man was reinspeichern will
einfach im Dateinamen z.b.
"Ordner/MeineDatei.ini"
Aber niemals vergessen wenn dieser Ordner nicht exestiert Crasht euer script
Ich glaube du musst den Typ für das Pickup anders setzen , dazu steht was im Sa-mp Wiki , fürs Auto war glaub 14 aber bin mir nicht sicher
Ich hör nur mal ab und zu Rap aber ansonsten Jumpstyle
Hier versuchs mal damit
wenn du if statements machst ohne klammer achte bitte darauf das , das was geschehen soll direkt dahinter ist ansonsten { }
naja ich bin am rumm Tüffteln , will mal was anderes probieren als die normalen Funktionen
//EDIT
Hier ist nochwas um den Text zu "Spiegeln"
stock TextSpiegeln(const String[])
{
new output[128];
new i = 0;
new wert=strlen(String);
while(i<strlen(String))
{
wert--;
output[i] = String[wert];
i++;
}
return output;
}
Hier is noch Strcmp aber diesmal Kommplett Selfmade
stock StrCmps(const String1[],const String2[])
{
new trues = 0;
for(new index = 0;index<strlen(String1);index++){
if(String1[index] == String2[index]){
trues++;}}
if(trues == strlen(String2) && strlen(String1) == strlen(String2)){
return true;}
else{
return false;}
}
Er geht index für index durch sobald die Index Stelle überein stimmt Zählt 'trues' + 1 wenn trues am ende
die Länge vom String hat also die Länge des Textes und String 1 und String2 die gleiche Länge haben erkennt er es als Richtig
andernfalls Falsch
Jetz muss ich nix mehr in ne Inc Packen xD
Hab nochmehr Funktionen wenn möchtest
Ne vereinfachte strcmp Funktion bzw. es ist noch strcmp nur halt kürzer und man versteht besser , damit kann man checken ob 2 Text werte miteinander übereinstimmen:
stock strmatch(const String1[], const String2[])
{
if ((strcmp(String1, String2, true, strlen(String2)) == 0) && (strlen(String2) == strlen(String1))){return true;}
else{return false;}
}
Da braucht man nicht soviel tippen, einfach nur wert 1 z.b. ne variable , mit dem Spielername überprüfen
Timer vllt nicht gesetzt ?
new IsAfk[MAX_PLAYERS];
new IsNowAfk[MAX_PLAYERS];
forward afktimer(playerid);
if (strcmp("/afk", cmdtext, true, 10) == 0)
{
if(IsAfk[playerid] == 0)
{
SendClientMessage(playerid,COLOR,"Du wirst in 15 Sekunden afk sein!");
SetTimerEx("afktimer",15000,0,"d",playerid);
IsAfk[playerid] = 1;
}
else
{
SendClientMessage(playerid,COLOR,"Du bist schon im Afk modus!");
}
return 1;
}
if (strcmp("/back", cmdtext, true, 10) == 0)
{
if(IsAfk[playerid] == 1)
{
new xformat[128];
new name[128];
GetPlayerName(playerid,name,sizeof(name));
format(xformat,sizeof(xformat),"%s ist nun Zurück!",name);
}
return 1;
}
public afktimer(playerid)
{
new formaten[128];
new Playername[128];
if(IsAfk[playerid] == 1 && IsNowAfk[playerid] == 0)
{
IsNowAfk[playerid] = 1;
TogglePlayerControllable(playerid,0);
GetPlayerName(playerid,Playername,sizeof(Playername));
format(formaten,sizeof(formaten),"%s ist nun afk!",Playername);
SendClientMessageToAll(COLOR,formaten);
}
return 1;
}
Am besten erstellst du noch ne Variable und lädst das Spielerteam neu und lässt dann überprüfen ob er in der Fraktion ist
Super Arbeit Monti
Einfach in OnPlayerDeath
GivePlayerMoney(playerid,-1000);
GivePlayerMoney(killerid,1000);
mehr braucht man nicht
Eine Variable mit dem gleichem namen 'tmp' ist bereits definiert daher musst gucken wo du sie nochmal hast
new counter;
counter++;
new wiedergabe[128];
format(wiedergabe,sizeof(wiedergabe),"%d",counter);
TextDrawSetString(textdraw,wiedergabe);